选择简单的渲染任务时OpenGL版本应该考虑什么?
我有一个应用程序,我想在屏幕上画一些简单的3D几何图形——一个相对较少的没有阴影的纹理三角形。我已经决定使用OpenGL 应用程序不需要OpenGL 1.1中没有的任何功能,因此任何OpenGL版本都足够了选择简单的渲染任务时OpenGL版本应该考虑什么?,opengl,compatibility,Opengl,Compatibility,我有一个应用程序,我想在屏幕上画一些简单的3D几何图形——一个相对较少的没有阴影的纹理三角形。我已经决定使用OpenGL 应用程序不需要OpenGL 1.1中没有的任何功能,因此任何OpenGL版本都足够了 当决定使用哪种OpenGL版本时,我应该考虑什么?除了使用OGL 1.1以外,几乎没有理由不使用OGL。在OGL1.5中引入了VBO,这可能是我愿意采用的最低版本。在版本2中可以获得着色器。那通常是个不错的目标。OGL 3为您提供了VAO,它可以真正简化绘图调用、实例渲染以及均匀和纹理缓冲区
当决定使用哪种OpenGL版本时,我应该考虑什么?
除了使用OGL 1.1以外,几乎没有理由不使用OGL。在OGL1.5中引入了VBO,这可能是我愿意采用的最低版本。在版本2中可以获得着色器。那通常是个不错的目标。OGL 3为您提供了VAO,它可以真正简化绘图调用、实例渲染以及均匀和纹理缓冲区对象,这些对于更复杂的任务非常有用
如果你想要一些真正快速而肮脏的东西,OGL1.1是可以的。通常我不建议使用1.5版本,因为VBO并没有太大的跳跃性,可以让代码更容易调试,而且VBO的效率更高 总而言之,我建议您使用OGL2,这样您就可以使用可编程管道高效地处理您自己的矩阵,这样您就不必执行所有的推送/弹出矩阵,这会在复杂的渲染情况下让您头晕目眩。如果使用OGL3不是问题,那么您还可以使用VAOs使事情变得更干净。如果您决定以后需要更多的电源/功能,这也会给您更多的自由