Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.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
C++ 如何在OpenGL 3.2中绘制全屏四边形?_C++_Opengl - Fatal编程技术网

C++ 如何在OpenGL 3.2中绘制全屏四边形?

C++ 如何在OpenGL 3.2中绘制全屏四边形?,c++,opengl,C++,Opengl,我一直在试图让OpenGL3.2工作时遇到问题,在花了几个小时试图找出问题所在后,我意识到它不支持glBegin。我在我的引擎中使用该命令大约50-100次来绘制全屏四边形和GUI元素。那么,用OpenGL 3.2绘制矩形的简单方法是什么呢?我真的需要创建一个顶点缓冲区、片段着色器和顶点着色器来完成这么简单的事情吗 我真的需要创建一个顶点缓冲区、片段着色器和顶点着色器来完成这么简单的事情吗 是的,核心档案中没有免费赠品 我真的需要创建一个顶点缓冲区、片段着色器和顶点着色器来完成这么简单的事情吗

我一直在试图让OpenGL3.2工作时遇到问题,在花了几个小时试图找出问题所在后,我意识到它不支持glBegin。我在我的引擎中使用该命令大约50-100次来绘制全屏四边形和GUI元素。那么,用OpenGL 3.2绘制矩形的简单方法是什么呢?我真的需要创建一个顶点缓冲区、片段着色器和顶点着色器来完成这么简单的事情吗

我真的需要创建一个顶点缓冲区、片段着色器和顶点着色器来完成这么简单的事情吗

是的,核心档案中没有免费赠品

我真的需要创建一个顶点缓冲区、片段着色器和顶点着色器来完成这么简单的事情吗


是的,Core profile中没有免费赠品。

如果你想使用现代api,那么是的,你必须创建顶点和碎片着色器。。。固定管道已经消失,除非您使用兼容性扩展。您可以始终恢复到兼容性配置文件,但使用较新版本后将一无所获。使用固定管道也没有意义。可编程管道不是未来,它已经存在。如果您想使用现代api,那么是的,您必须创建顶点和片段着色器。。。除非您使用兼容性扩展,否则固定管道将消失。您可以始终恢复到兼容性配置文件,但在使用较新版本时,您将一无所获。此外,使用固定管道获取内容也没有意义。可编程管道不是未来,它已经存在。@Stevefacto:不太可能。与处理固定函数管道中涉及的所有状态管理相比,编写着色器的工作量要少得多。使用着色器,它只是一个简单的
glUseProgram
,固定管道有无数的
glEnable
glDisable
调用,至少设置投影和模型视图,设置十几个glTexEnvi调用以获得正确的纹理,等等。最终会更好,但转换我的整个图书馆会很糟糕。@Stevefacto转换旧东西有点麻烦,但值得付出努力。最近,我确实彻底放弃了所有固定管道的东西,完全放弃了兼容模式。我想说,这让事情变得更干净、更简单。更不用说一个相当不错的性能提升了。@Grimmy实际上,我一直在努力让它工作,不管我做什么,它都不会工作。我相信这是CG造成的,但我不能不使用CG。。。也许你会知道我做错了什么?什么意思?我确实发布了另一个带有代码的问题。我把它链接到上面了^@Stevefacto:不太可能。与处理固定函数管道中涉及的所有状态管理相比,编写着色器的工作量要少得多。使用着色器,它只是一个简单的
glUseProgram
,固定管道有无数的
glEnable
glDisable
调用,至少设置投影和模型视图,设置十几个glTexEnvi调用以获得正确的纹理,等等。最终会更好,但转换我的整个图书馆会很糟糕。@Stevefacto转换旧东西有点麻烦,但值得付出努力。最近,我确实彻底放弃了所有固定管道的东西,完全放弃了兼容模式。我想说,这让事情变得更干净、更简单。更不用说一个相当不错的性能提升了。@Grimmy实际上,我一直在努力让它工作,不管我做什么,它都不会工作。我相信这是CG造成的,但我不能不使用CG。。。也许你会知道我做错了什么?什么意思?我确实发布了另一个带有代码的问题。我把它链接到上面^