我正在绘制一个由点组成的星场(D3D11_PRIMITIVE_TOPOLOGY_POINTLIST)。如果一个点离摄像机近一点,我就把它放大一倍。OpenGL 1.x使用glPointSize(2.0f)可以很好地实现这一点,在Windows 8上有DirectX 11的实现方法吗?我需要的是一种使呈现的点在某些自定义值上看起来更大的方法。
任何想法都是非常感谢的。
发布于 2014-05-27 23:31:22
在D3D11中没有原生的sprite类型。您的最佳选择是使用实例与单个四VB和每个实例点VB。您可以通过将四点三角洲除以视图深度,或者应用标准的透视投影矩阵(尽管后者也会导致点本身在更高的距离上收敛)来进行缩放。
https://stackoverflow.com/questions/23874808
复制相似问题