opengl 倒序执行
Posted qianbo_insist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opengl 倒序执行相关的知识,希望对你有一定的参考价值。
opengl 是倒序执行代码的
所以如果我们要把文字绕z轴旋转,再绕y轴旋转,代码应该如下:
void Draw3d()
glPushMatrix();
glDisable(GL_BLEND);
_dgiOgl3d->DrawCoordinate();
_dgiOgl3d->DrawGround(DGITextureManager::_GROUND, 200, 200);
_dgiOgl3d->SetTexture(DGITextureManager::_WALL);
glEnable(GL_TEXTURE_2D);
glColor3f(1, 1, 1);
//uint8_t * t = _Video.QueryFrameInternal();
//_dgiOgl.ReplaceCanvas("video", t);
//uint8_t *t2 = _RtspDecoder.GetDecodeBuffer();
//_dgiOgl.ReplaceCanvas("DHAU", t2);
_dgiOgl3d->DrawCanvas();
glPopMatrix();
glPushMatrix();
//GLfloat x = _move[0].lt.x;
//GLfloat y = _move[0].lt.y + 1;
//GLfloat z = _move[0].lt.z;
//glTranslatef(x, y, z);
//glRasterPos3f(x, y, z);
glTranslatef(0, 0, 80);
glRotatef(90, 0, 1, 0);
glRotatef(90, 0, 0, 1);
//glRotatef(90, 0, 1, 0);
//glRotatef(90, 0, 0, 1);
_dgiOgl3d->DrawTitle(0, 0.0f, 1.0, L"测试以我是一个中国人为值");
//glEnable(GL_BLEND);
glPopMatrix();
代码执行如下
1 glTranslatef(0, 0, 80);
2 glRotatef(90, 0, 1, 0);
3 glRotatef(90, 0, 0, 1);
事件上先执行 3 再执行2 再执行1
以上是关于opengl 倒序执行的主要内容,如果未能解决你的问题,请参考以下文章