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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/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
选择简单的渲染任务时OpenGL版本应该考虑什么?_Opengl_Compatibility - Fatal编程技术网

选择简单的渲染任务时OpenGL版本应该考虑什么?

选择简单的渲染任务时OpenGL版本应该考虑什么?,opengl,compatibility,Opengl,Compatibility,我有一个应用程序,我想在屏幕上画一些简单的3D几何图形——一个相对较少的没有阴影的纹理三角形。我已经决定使用OpenGL 应用程序不需要OpenGL 1.1中没有的任何功能,因此任何OpenGL版本都足够了 当决定使用哪种OpenGL版本时,我应该考虑什么?除了使用OGL 1.1以外,几乎没有理由不使用OGL。在OGL1.5中引入了VBO,这可能是我愿意采用的最低版本。在版本2中可以获得着色器。那通常是个不错的目标。OGL 3为您提供了VAO,它可以真正简化绘图调用、实例渲染以及均匀和纹理缓冲区

我有一个应用程序,我想在屏幕上画一些简单的3D几何图形——一个相对较少的没有阴影的纹理三角形。我已经决定使用OpenGL

应用程序不需要OpenGL 1.1中没有的任何功能,因此任何OpenGL版本都足够了


当决定使用哪种OpenGL版本时,我应该考虑什么?

除了使用OGL 1.1以外,几乎没有理由不使用OGL。在OGL1.5中引入了VBO,这可能是我愿意采用的最低版本。在版本2中可以获得着色器。那通常是个不错的目标。OGL 3为您提供了VAO,它可以真正简化绘图调用、实例渲染以及均匀和纹理缓冲区对象,这些对于更复杂的任务非常有用

如果你想要一些真正快速而肮脏的东西,OGL1.1是可以的。通常我不建议使用1.5版本,因为VBO并没有太大的跳跃性,可以让代码更容易调试,而且VBO的效率更高

总而言之,我建议您使用OGL2,这样您就可以使用可编程管道高效地处理您自己的矩阵,这样您就不必执行所有的推送/弹出矩阵,这会在复杂的渲染情况下让您头晕目眩。如果使用OGL3不是问题,那么您还可以使用VAOs使事情变得更干净。如果您决定以后需要更多的电源/功能,这也会给您更多的自由