Der*_*k F 7 c++ opengl polygon wavefront
因此,使用此处定义的wavefront对象文件:http: //en.wikipedia.org/wiki/Wavefront_.obj_file
我该如何渲染在opengl中有超过4个顶点的面.我承诺如果它有3个顶点我使用GL_TRIANGLES,如果它有4我使用GL_QUADS,但如果它有5或更多,我应该使用什么?有标准吗?在我的互联网搜索中我还没有能够提出任何东西和样本打开gl代码我发现只支持最多4个顶点.
首先,您应该告诉任何导出工具不要导出具有那么多顶点的面.面应该有3个顶点,句点.
如果导出工具无法执行此操作,则加载工具应将多边形分解为3个顶点面.我非常确定Asset Importer库可以做到这一点.
OBJ导出器将以每个面的合理顺序(反/顺时针)导出顶点,只要你的面是共面和凸面(它们应该是血腥的!) - 你可以使用GL_TRIANGLE_FAN.
我不同意Nicol Bolas的观点,即面部应该总是有3个顶点,尽管是傻瓜式的,如果您的多边形遵循上述规则,使用GL_TRIANGLE_FAN
简化代码并减少系统内存消耗.没有什么会改变GPU方面,因为无论如何多边形将被分解为三角形.