是否有开放式GLES/WebGL中GlpolyGonmode的替代品?
题
我想在线框模式下创建游戏,但是没有GlpolyGonemode命令,我不知道该怎么做。这是我可以用可用的内容编码的东西吗?我是OpenGL的新手。如果有人这样做并且有代码段,我很想看到它。任何帮助都将受到赞赏。
解决方案
可以想象,您可以使用GL_LINES渲染整个场景
其他提示
不幸的是,您可能实际上必须完全 将您的几何形状转换为线原语,并使用 GL_LINES
. 。但是,当然不是通过简单地替换来完成 GL_TRIANGLES
(或其他) GL_LINES
在您的抽奖电话中,您必须完全重新排序顶点以适应新的原始模式。这需要您至少使用不同的索引阵列 glDrawElements...
呼叫或无索引渲染(glDrawArrays...
),完全不同的顶点阵列(尽管您确实选择这样做,但这可能是切换到索引绘图的正确时机)。
但是,如果你有 几何着色器 可用(不过,似乎WebGL不支持它们,opengl es应该是3.2,就像Desptop GL一样 glPolygonMode
无论如何),并且没有将它们用于其他事情,事情变得更加容易。在这种情况下,您只需安装一个相当简单的 几何着色器和碎片处理之间的几何着色器,该处理占三角形并输出3行 对于他们每个人:
layout(triangles) in;
layout(line_strip, max_vertices=4) out;
void main()
{
for(int i=0; i<4; ++i)
{
// and whatever other attributes of course
gl_Position = gl_in[i%3].gl_Position;
EmitVertex();
}
}
如果使用适当的基于块的着色器接口,则应该能够将现有的顶点和碎片着色器用于其余部分,并将其在它们之间的几何形状着色器中挂钩,以用于基于三角形的原始类型的各种线框渲染。
不隶属于 StackOverflow