我试图将我的大脑包裹在OpenGL ES着色器中:
顶点: 因此,顶点着色器正在处理glDrawXXX中所有对象/网格的顶点。就像你有两个三角形网格形成一个方形/盒子。这样可以在每个顶点周围移动,设置颜色等等吗?
片段: 这是顶点之间的一切吗?
如何对此进行心理可视化?
答案 0 :(得分:0)
在最简单,最简单的情况下;
为基元的每个顶点调用顶点着色器。 100个顶点=活动顶点着色器的100个调用。然后,后一阶段从顶点生成三角形。
现在,对于由顶点着色器生成的每个三角形,它被栅格化以生成片段(即,潜在像素)。光栅化器在三角形的每个顶点之间线性插值以生成三角形的片段位置。你感到困惑的地方可能是认为片段着色器与顶点着色器一起被称为1对1。不,可能会产生零到数百万个碎片 - 这取决于产生的三角形的大小(视觉上)。在生成的每个片段上调用片段着色器。它取决于顶点着色器输出的顶点。
如果三角形远离视点,则可能是一些碎片。如果它靠近屏幕,它可以占用整个视口。