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 倒序执行的主要内容,如果未能解决你的问题,请参考以下文章

c语言中如何实现输入一个整数实现倒序输出

java习题:倒序输出一行字符串

使用 NSSortDescriptor 按时间倒序对 CoreData 进行排序

如何在qt中执行opengl

OpenGL:QApplication的执行流程

OpenCV:是不是可以使用它执行 openGL 像素着色?