Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.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绘图调用后会发生什么?_C++_Opengl - Fatal编程技术网

C++ openGL绘图调用后会发生什么?

C++ openGL绘图调用后会发生什么?,c++,opengl,C++,Opengl,我正在尝试为一个项目反转一个图像,它应该像按(1,-1,1)缩放投影矩阵一样简单。然而,屏幕是在一个API中绘制的,我没有访问该API的权限,也没有相关文档(这个项目非常古老)。因此,执行这种缩放基本上没有任何作用(我假设是因为投影矩阵在API调用中重置) 绘图调用后,我是否仍可以访问绘图信息,或者是否已清除?如果信息仍然存在,我如何获取它 顺便说一下,从程序员的角度来看,我使用的是openGL 1.1,openGL是一种最糟糕的短期失忆症。一旦一个绘图调用从程序员的角度返回,OpenGL已经将

我正在尝试为一个项目反转一个图像,它应该像按(1,-1,1)缩放投影矩阵一样简单。然而,屏幕是在一个API中绘制的,我没有访问该API的权限,也没有相关文档(这个项目非常古老)。因此,执行这种缩放基本上没有任何作用(我假设是因为投影矩阵在API调用中重置)

绘图调用后,我是否仍可以访问绘图信息,或者是否已清除?如果信息仍然存在,我如何获取它


顺便说一下,从程序员的角度来看,我使用的是openGL 1.1,openGL是一种最糟糕的短期失忆症。一旦一个绘图调用从程序员的角度返回,OpenGL已经将所有东西都转换成彩色像素,并且完全忘记了它刚才做的事情

所以

绘图调用后,我是否仍可以访问绘图信息,或者是否已清除

不,您在绘图后无法访问它,而且实际上,它已被清除



但是,您提到遗留代码很旧。因此,它很有可能不了解着色器,即不会禁用或加载其自定义着色器。因此,我要尝试的是加载一个具有一个较旧GLSL版本配置文件的着色器,该配置文件仍然具有映射到旧的固定函数管道的内置变量,并编写着色器,使其与旧代码的需要相匹配。

在固定函数管道中,在通过绘制调用发送几何体后,您可以做的事情不多。我想也许你应该澄清一下,你是想反转单个模型、纹理还是整个场景?答案在每种情况下都不同。您可以尝试交叉/记录opengl命令。应该有一些可用的调试工具()racarate-我的目标是翻转整个场景,从mirror.RedAgito反射出来-不幸的是,使用任何第三方软件(合法的opengl调试工具或其他工具,如VisualLeak detector)可能需要数年时间才能完成。您添加的代码是否仅限于opengl 1.1?或者仅仅是使用1.1的遗留代码?datenwolf-感谢您的回复。我已经在这个项目上3个月了,据我所知,没有着色器。我看看我能用这个做什么!一个着色器会让我的生活变得很简单。