OpenGL(三)图形变换之矩阵堆栈

这篇博客探讨了OpenGL中的矩阵堆栈在图形变换中的应用。内容包括矩阵堆栈的工作原理,如何使用glPushMatrix和glPopMatrix函数保存和恢复矩阵状态,以及OpenGL维护的投影变换栈和几何变换栈。此外,还提到了在切换到GL_MODELVIEW模式时,系统会自动清空几何变换栈并压入单位矩阵。
摘要由CSDN通过智能技术生成

通过原子核动画 示例学习知识点:

<span style="font-size:18px;">#include<windows.h>
#include<gl/gl.h>
#include<gl/glut.h>


//还是以俯视理解


void SetupRC(void)
{

	glEnable(GL_DEPTH_TEST);//启动深度测试
	glFrontFace(GL_CCW);   //指定逆时针绕法表示多边形正面
	//设置窗口背景颜色为白色
	glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
}



void ChangeSize(int w, int h)
{
	if (h == 0)
		h = 1;
	//设置视区尺寸
	glViewport(0, 0, w, h);

	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();

	//设置修剪空间
	GLfloat fAspect = (float)w / (float)h;

	gluPerspective(45.0,fAspect,1.0,500.0);

	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();
}

void RenderScene(void)
{

	//绕原子核旋转的角度
	static float fElect1 = 0.0f;

	glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

	//设置当前操作矩阵为模型视图矩阵,并复位为单位矩阵

	//重置模型视图矩阵
	glMatrixMode(GL_MODELVIEW);
	glLoadIdentity();

	//将图形沿z轴负方向移动
	//越往z轴负方向,视图越小
	glTranslatef(0.0f, 0.0f, -250.0f);
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值