【发布时间】:2018-04-23 04:45:16
【问题描述】:
我使用 OpenGL 着色器来绘制图形。图的每个跨度都具有以下形式:
顶点着色器只是将 a 和 b 传递给几何着色器,然后计算 max_vertices 点处的曲线。
问题是有时几何着色器似乎变得“过载”并停止吐出点:
两条曲线实际上具有完全相同的值,但由于某种原因,底部的一条几何着色器无法生成点。
当我在几何着色器的以下行中更改 max_vertices 时:
layout (triangle_strip, max_vertices = ${max_vertices}) out;
从 1024(gl.glGetInteger(gl.GL_MAX_GEOMETRY_OUTPUT_VERTICES) 的结果)到 256,然后我得到想要的输出:
发生了什么?真正的最大顶点数是多少?为什么顶部的图表不受影响,但底部的图表已损坏?它们具有相同的数据。
【问题讨论】:
标签: opengl glsl geometry-shader