文件名称:OpenGL图元重启基础绘制
文件大小:11KB
文件格式:RAR
更新时间:2020-10-04 09:12:51
图元重启
http://blog.csdn.net/yulinxx/article/details/77896541 在 http://blog.csdn.net/yulinxx/article/details/77894764 基础上添加 参考: 1 OpenGL ES 3.0: 图元重启(Primitive restart) - 皮斯卡略夫 - 博客园 作者:psklf 出处: http://www.cnblogs.com/psklf/p/5750783.html 2 OpenGL Separating Polygons Inside VBO - Stack Overflow 出处: https://*.com/questions/26944959/opengl-separating-polygons-inside-vbo You can use primitive restart. The downside of this is that you need an index array, which may not have been necessary otherwise. Apart from that, it’s straightforward. You enable it with: glPrimitiveRestartIndex(0xffff); glEnable(GL_PRIMITIVE_RESTART); 1 2 You can use any index you want as the restart index, but it’s common policy to use the maximum possible index, which is 0xffff if you use indices of type GL_UNSIGNED_SHORT. If you use at least OpenGL 4.3, or OpenGL ES 3.0, you can also replace the above with: glEnable(GL_PRIMITIVE_RESTART_FIXED_INDEX); 1 2 Then you set up an index array where you insert a 0xffff value at every position you want to start a new polygon, and bind the index array as usual. Then you can draw all the polygons with a single glDrawElements() call. 3. Best Practices for Working with Vertex Data 出处: https://developer.apple.com/library/content/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesforWorkingwithVertexData/TechniquesforWorkingwithVertexData.html
【文件预览】:
OGLGeometryShader.sln
OGLGeometryShader
----scoglgcodemodelparse.cpp(4KB)
----scgcodestring.cpp(5KB)
----Shader()
--------vertex.vx(383B)
--------geo.geo(527B)
--------frag.fg(128B)
----scoglgcodemodelparse.h(2KB)
----scgcodestring.h(1KB)
----Shader.cpp(6KB)
----Shader.h(498B)
----main.cpp(7KB)
----OGLGeometryShader.vcxproj.filters(2KB)
----OGLGeometryShader.vcxproj(8KB)