在openGL绘制调用之后会发生什么?

时间:2015-06-04 23:38:57

标签: c++ opengl

我正在尝试反转项目的图像,这应该像将投影矩阵缩放(1,-1,1)一样简单。但是,屏幕是在我无法访问的API中绘制的,并且没有文档(此项目非常陈旧)。因此,执行该缩放实际上什么都不做(我假设因为投影矩阵在API的调用中被重置)。

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

P.S。 - 我正在使用openGL 1.1

1 个答案:

答案 0 :(得分:0)

从程序员的角度来看,OpenGL是可以想象的最糟糕的短期失忆症。一旦绘图调用从程序员的角度返回,OpenGL就已经把所有内容都变成了彩色像素,完全忘记了它刚刚做了什么。

因此...

  

我是否仍然可以在平局调用后访问绘图信息,还是清除它?

不,您在绘图后无法访问它,并且所有实际操作都会被清除。

但是您提到遗留代码是。因此,很有可能它不知道着色器,即不会禁用或加载其自定义着色器。所以我要尝试的是使用一个旧的GLSL版本配置文件加载一个着色器,它仍然有内置的变量映射到旧的固定功能管道的东西并写入着色器,以便它与遗留代码匹配&# 39;需要。