简单的问题: 是否总是更好地在Vertex Shader中进行硬计算,而不是在Fragment Shader中进行?即使是高网格模型,也有超过100.000个多边形(假设有一堆独特的顶点)? 不,它并不总是更好. 选择合
是否总是更好地在Vertex Shader中进行硬计算,而不是在Fragment Shader中进行?即使是高网格模型,也有超过100.000个多边形(假设有一堆独特的顶点)?
不,它并不总是更好.选择合适的计算位置的最佳方法是实验.尝试两者,看看哪些更适合您的约束和硬件.
但理论上,您可以估计处理的片段数量,并将其与顶点数量进行比较.现代GPU对顶点和片段着色器使用相同的处理单元,因此查看这些数字将使您了解微积分的位置.
在顶点着色器(如果不在CPU上)执行所有操作的建议来自于渲染的3D模型的像素到顶点比率应该始终很高的想法.如果您看到距离很远的物体,则不需要几何细节,这就是几何细节级别(LOD)的用途.因此,如果你以“好”的方式做到这一点 – 你需要在顶点水平上进行计算.如果你不遵循它 – 你是独立的.