OpenGL几何体着色器,设置输入大小

OpenGL几何体着色器,设置输入大小,opengl,opengl-4,geometry-shader,Opengl,Opengl 4,Geometry Shader,我成功地编写了我的第一个几何体着色器。它接收直线并在每个直线的中心输出一个小三角形。 我可以很容易地对三角形做同样的事情,但是立方体呢?有没有办法让几何体着色器对任意数量的点进行操作,或者至少对3个以上的点进行操作?我知道我可以自己计算中心并进行另一个绘图操作,但我想知道在着色器内部是否可能 谢谢。几何体着色器将a作为输入,而不是许多顶点。我的意思是,是的,一个特定的原语是由特定数量的顶点组成的。但GS不接受顶点计数;他们接受原语 有许多特殊的基本体类型允许GS访问比基本基本基本体类型中更多的顶

我成功地编写了我的第一个几何体着色器。它接收直线并在每个直线的中心输出一个小三角形。 我可以很容易地对三角形做同样的事情,但是立方体呢?有没有办法让几何体着色器对任意数量的点进行操作,或者至少对3个以上的点进行操作?我知道我可以自己计算中心并进行另一个绘图操作,但我想知道在着色器内部是否可能


谢谢。

几何体着色器将a作为输入,而不是许多顶点。我的意思是,是的,一个特定的原语是由特定数量的顶点组成的。但GS不接受顶点计数;他们接受原语

有许多特殊的基本体类型允许GS访问比基本基本基本体类型中更多的顶点。但是这些用于引用与主基本体顶点相邻的顶点,并且很难尝试将它们作为消费X顶点的通用机制

因此,只能使用与a:1、2、3、4或6匹配的顶点计数。除了这些特定的顶点计数之外,你不能让GS做你想做的事情

您可以尝试采用细分,因为面片顶点计数由用户指定(尽管受实现的限制)。但就生成顶点而言,细分更具限制性