位置: 编程技术 - 正文

OpenGL矩阵API的使用方法(opengl arb)

编辑:rootadmin

推荐整理分享OpenGL矩阵API的使用方法(opengl arb),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl matrix,opengl画矩形函数,opengl模型变换矩阵,opengl画矩形函数,opengl 矩阵,opengl matrix,opengl mvp矩阵 理解 举例手写,opengl模型变换矩阵,内容如对您有帮助,希望把文章链接给更多的朋友!

在OpenGL 1.x中包含了一系列的矩阵操作函数,下面我对这些函数的使用方式做个总结。

在介绍这些函数之前,我先引入一些数学符号以便更简明的表达我的意思。下面就开始了:

1,M表示当前矩阵;

2,R表示旋转矩阵;

3,S表示缩放矩阵;

4,T表示平移矩阵;

5,K[i]表示当前矩阵栈的顶部元素, K表示一个数组,i表示栈的顶部元素的索引;

6,I表示单位矩阵。

好了,符号就这么几个,下面开始介绍各个函数的使用方式。

1,glMatrixMode(int mode);

这个函数用来设定哪种矩阵为当前的操作矩阵,mode的&#;可以为以下常量的一种:

(1) GL_PROJECTION

(2) GL_MODELVIEW

(3) GL_TEXTURE

(4) GL_COLOR (这个需要ARB_image扩展)

2, glLoadIdentity();

将当前矩阵设置为单位矩阵, 也就是

M = I.

3,glPushMatrix();

将当前矩阵保存到矩阵栈的栈顶,也就是

K[i&#;&#;] = M.

每种矩阵栈的深度是不一样的,MODELVIEW的深度至少为, 其它类型的深度至少为2.

每种矩阵栈的最大深度可以用glGetIntegerv方法查询出来,具体如下:

(1) glGetIntegerv(GL_MAX_MODELVIEW_STACK_DEPTH, &max) 获取MODELVIEW栈的最大深度

OpenGL矩阵API的使用方法(opengl arb)

(2) glGetIntegerv(GL_MAX_PROJECTION_STACK_DEPTH, &max) 获取PROJECTION栈的最大深度

(3) glGetIntegerv(GL_MAX_TEXTURE_STACK_DEPTH, &max) 获取TEXTURE栈的最大深度

同样的,去掉MAX_字符可以获取当前栈的深度。

4,glRotate(float angle, float x, float y, float z)

在当前矩阵上乘以一个旋转矩阵,也就是

M = M * R

angle表示要旋转多少度,该&#;是个角度&#;(degree, 0 - 度)的形式.

<x, y, z>表示旋转轴,一般为单位向量。

5,glScale(float x, float y, float z)

在当前矩阵上乘以一个缩放矩阵, 也就是

M = M * S

<x, y, z>表示相对应的顶点坐标的x,y,z的缩放比,默认&#;都是1.

6,glTranslatef(float x, float y, float z)

在当前矩阵上乘以一个平移矩阵, 也就是

M = M * T

<x,y,z>表示偏移量。

7, glPopMatrix()

将矩阵栈顶部的元素弹出并赋给当前矩阵

M = K[--i];

8,glLoadMatrix(GLfloat* m)

将m的&#;赋给当前矩阵

M = m;

9, glMultMatrix(GLfloat* m)

在当前矩阵上乘以另一个矩阵m, 也就是

M = M * m

opengl shader 学习 随笔四 一个典型的shader程序,看完这个基本shader的流程就没有问题了。constchar*vShader={//Vertexshader#versioncorenuniformUniforms{vec3translation;floatscale;vec4rotation;boolenable

OpenGL基础图形编程 转载:

OpenGL学习日记-..--简单裁剪 Opengl中,除了视景体的立方体裁剪平面之外,另外还可以额外指定多达6个裁剪平面,对视景体做进一步限制。每一个平面都由平面公式定义:AxByCzD=0.裁

标签: opengl arb

本文链接地址:https://www.jiuchutong.com/biancheng/373176.html 转载请保留说明!

上一篇:Begin OpenGL with Python-1st Day,draw a simple sample.

下一篇:opengl shader 学习 随笔四(opengl shader实例)

  • 减免税款会计分录
  • 无合同销售收入怎么算
  • 缴纳企业所得税会计分录怎么做
  • 小型微利企业认定标准最新
  • 个人申请代开发票流程怎么操作
  • 油费补贴计入什么科目
  • 供暖企业收取的容量热价费怎么计入收入
  • 销售补差怎么做分析
  • 合伙制创投企业
  • 冲回存货跌价准备计提递延所得税
  • 投资性房地产转换日公允价值大于账面价值
  • 支付宝已经支付的钱怎么退回来
  • 发放年终奖计提需要调减利润吗
  • 因质量出问题的事件
  • 增值税专用发票电子版
  • 护栏发票税点
  • 建筑业增值税专票抵扣后的税点是多少
  • 财税〔2017〕39号商业健康保险个人所得税
  • 赞助失败案例
  • 月底结账哪些科目有余额
  • 向购买方收取的价外费用
  • 高铁票财务怎么报销
  • Win10 Build 21354 太阳谷ISO镜像版体验报告 含下载地址
  • 苹果手机记事本提醒如何设置
  • 收入记借方
  • win7系统为什么没有无线网络连接
  • php mb_convert_encoding
  • 个人所得税计提缴纳会计分录
  • 怎样识别?
  • vue调整图标大小
  • 跟日期有关的名字
  • js匿名函数和命名函数
  • 造孽啊啥意思
  • 企业利润分配的通常去向包括
  • 小规模纳税人附加税会计分录
  • 免税进项抵扣要做账吗
  • rabbitmq如何解决消息堆积问题
  • python socket连接后发送数据被强行终止
  • mongodb数据库中使用哪个数据库可以设置用户名和密码
  • 交易性金融资产入账价值怎么计算
  • 在建工程会计科目明细
  • mysql备份模式
  • 应付账款暂估款的账务处理
  • 国库券利息收入属于企业所得税纳税调整项目
  • 去年未计提费用,今年付怎么做账
  • 付款方和发票抬头不一致会计处理
  • 商场进行打折促销活动,消费金额(p)
  • 外出经营必须办理外管证吗
  • 公司买东西算什么费用
  • 企业构建固定资产无形资产和其他长期资产支付
  • 流动资产周转天数下降说明什么
  • 公众责任险作用
  • 固定资产盘亏计入固定资产清理吗
  • 清空数据库中所有表的数据
  • macos怎么使用
  • Ubuntu安装VMware tools
  • 怎么在mac上看电视剧
  • linux CentOS WEB服务器分区方案
  • win8系统怎么设置开机密码
  • efs加密解除
  • win7系统电脑怎么连接wifi
  • linux配置文件命令
  • win7笔记本触摸板怎么开启
  • unity3d4个脚本
  • react常用框架
  • 我今天抽6
  • jquery validation
  • python中print函数的end参数
  • 安卓开发
  • node.js 微信小程序
  • jquery设计模式
  • js原型作用
  • 常见python函数
  • 有机肥料销售是做什么的
  • 甘肃税务局电子税务局客服电话
  • 购买房屋交契税
  • 2015年中国出口退税新政策
  • 建筑企业个人所得税管理办法
  • 武汉税务地区编号
  • 水厂管理经验
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设