小白学opengl之 获取模型视图矩阵和投影矩阵

这篇博客介绍了如何在OpenGL中获取模型视图矩阵和投影矩阵,并通过示例代码展示了它们在场景变换中的作用。作者通过键盘事件改变肩部、肘部和手指的角度,演示了矩阵如何影响3D对象的位置和旋转。同时,文章指出OpenGL中的模型视图矩阵和投影矩阵是全局变量,初始值为单位矩阵,且视景体大小由投影变换函数确定。
摘要由CSDN通过智能技术生成
<pre name="code" class="cpp">#include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <GL/glut.h>
#include <GL/glu.h>

using namespace std;

static int shoulder=0,elbow=0,finger=0;
void init(void)
{
	glClearColor(0,0,0,0);
	glShadeModel(GL_FLAT);
}

void display(void)
{
	//printf("use display\n");
	
	glClear(GL_COLOR_BUFFER_BIT);
	float mat[16];
	glGetFloatv(GL_MODELVIEW_MATRIX, mat);
	for(int i=0;i<16;++i)
	{
		printf("%f ",mat[i]);
	}
        printf("\n");
	glGetFloatv(GL_PROJECTION_MATRIX, mat);
	for(int i=0;i<16;++i)
	{
		printf("%f ",mat[i]);
	}
	printf("\n");
	glPushMatrix();
	glTranslatef(-3,0,0);//1
	glRotatef((GLfloat)shoulder,0,0,1);//2
	glTranslatef(1,0,0);//3
	
	glPushMatrix();//top 1,2,3
	glScalef(2,0.4,1);
	glutWireCube(1);
	
	glPopMatrix();//1,
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值