Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 几何体着色器和绘制调用_C++_Opengl_Geometry Shader_Arb - Fatal编程技术网

C++ 几何体着色器和绘制调用

C++ 几何体着色器和绘制调用,c++,opengl,geometry-shader,arb,C++,Opengl,Geometry Shader,Arb,我正在处理一个使用几何体着色器的旧代码库。它使用“GLProgramParameterExt(…)来启用和指定GS的输入/输出 GS的输入(通过上述方法,而不是在GLSL中使用布局说明符)是GL_LINES_Adjacence,输出是GL_TRIANGLE_STRIP。在实际的GLSL几何体着色器中,代码按照GL_LINES的预期吐出两个EmitVertex()。最终在执行drawcall时,glDrawElements(GL_LINES,…)是使用的。绘图调用是否不应该与GS(即GL_TRIA

我正在处理一个使用几何体着色器的旧代码库。它使用“GLProgramParameterExt(…)来启用和指定GS的输入/输出

GS的输入(通过上述方法,而不是在GLSL中使用布局说明符)是GL_LINES_Adjacence,输出是GL_TRIANGLE_STRIP。在实际的GLSL几何体着色器中,代码按照GL_LINES的预期吐出两个EmitVertex()。最终在执行drawcall时,glDrawElements(GL_LINES,…)是使用的。绘图调用是否不应该与GS(即GL_TRIANGLE_STRIP)输出的内容匹配?我对几何体着色器不太熟悉,因此我肯定遗漏了一些内容。如果是这样,openGL在被告知绘制线的同时如何绘制三角形


谢谢!

primitivegeometry着色器从输入原语生成原语。draw调用确定输入原语类型;GS确定输出原语类型“它在画三角形,因为这是GS说要画的。GS是OpenGL的一部分;不是某些外来实体妨碍了OpenGL。

基本体几何体着色器从输入基本体生成基本体。draw调用确定输入原语类型;GS确定输出原语类型。OpenGL“发现”它正在绘制三角形,因为GS就是这么说的。GS是OpenGL的一部分;不是一些外来实体妨碍了OpenGL。

这是有道理的。同样的逻辑也适用于细分着色器吗?这是有道理的。同样的逻辑是否也适用于细分着色器?