opengl glRasterPos *()更改参数

时间:2015-04-23 20:03:45

标签: opengl

这是我的代码的一部分,它的结果是opengl / c ++(使用visual studio 2013):

GLint *raspos = new GLint[];

glRasterPos2i(56, 56);

glGetIntegerv(GL_CURRENT_RASTER_POSITION, raspos);

cout << " , X : " << raspos[0] << " and " << " Y : " << raspos[1];

结果

  

X:125和Y:125

我无法理解发生了什么!为什么glRasterPos2i会更改参数?

2 个答案:

答案 0 :(得分:1)

传递给glRasterPos的坐标受转换管道的约束。您检索的值是经历这些转换后窗口坐标中的栅格位置。

答案 1 :(得分:1)

因为栅格位置是由当前投影和模型视图矩阵变换的,就像普通顶点一样,但是查询GL_CURRENT_RASTER_POSITION正在检索窗口空间坐标。