要绘制一个球体,除了它的位置和半径外,不需要知道任何其他信息。因此,除非您需要逐顶点颜色或其他此类功能,否则通过传递三角形网格来渲染球体听起来效率很低。尽管谷歌搜索,搜索D3D11 documentation和阅读 Introduction to 3D Programming with DirectX 11 , 没看懂
- 是否可以通过仅将球体的位置和半径传递给 GPU 来绘制球体?
- 如果不是,我误解的主要原则是什么?
- 如果是,怎么做?
我的最终目标是稍后传递更多参数,这些参数将被着色器效果使用。
最佳答案
您将需要实现 Geometry Shader .此着色器应将球体中心和半径作为输入并发出一组顶点以进行光栅化。通常,这称为点 Sprite 。
关于c++ - 如何在给定位置和半径的情况下在 D3D11 中绘制球体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54400613/