顶点着色器:计算最左侧的顶点

时间:2017-05-04 10:14:40

标签: opengl-es-3.0

目标:OpenGL ES> = 3.0

我的应用:

1) creates several complicated Meshes 
2) for each Mesh, renders it:   
  a) runs vertex shader which distorts the Mesh' vertices in nontrivial ways    
  b) nothing special in fragment shader

3) Again for each Mesh:    
  a) postprocess the area taken by it

现在,为了使后处理更有效,我调用glScissor并仅使包含Mesh的最小矩形通过Scissor测试。为了做到这一点,我需要知道边界矩形,并计算,我需要知道网格

   a) leftmost
   b) rightmost
   c) topmost
   d) bottom-most

窗口坐标中的顶点。如果顶点着色器不会扭曲网格的顶点(上面的步骤2a),那就不会是一个大问题。

我通过设置变换反馈处理它,以便在步骤2之后,我在CPU中有变换后的顶点。然后,我通过一个循环计算最左边的(和其他3个),但是所有这些循环。

虽然有数十万个顶点,但我在想是否这个工作不能由Vertex Shader本身完成。

问题:顶点着色器 - 修改顶点位置的一个 - 可以找出最左边的一个并且只将它传回给它(以及另外三个'极端'顶点)?

0 个答案:

没有答案
相关问题