位置: 编程技术 - 正文

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实例)

  • 小型微利企业的从业人数和资产总额
  • 一般纳税人开劳务专票多少个点
  • 企业有利润要交什么税
  • 应交税费贷方有余额,怎么销账
  • 运输公司租赁车辆开几个点的发票
  • 固定资产的净值等于
  • 业务招待费所得税前扣除标准
  • 应交税费贷方余额怎么算
  • 付款然后付的手续费如何做账?
  • 企业收到财政补助项目款
  • 辞退福利应该计入什么科目
  • 退免税指的是增值税还是消费税?
  • 月饼税收分类属于哪一类食品
  • 五年之内,企业可追补应扣支出
  • 信托公司如何投资
  • 库存商品的账面余额是什么意思
  • 离职补偿金的税率
  • 资产负债表是一年一次吗
  • 工程和技术研究和试验发展
  • 利润表有盈利能力吗
  • 关税保险费计算方法
  • 广告业年终总结
  • 库存现金银行存款用什么凭证
  • 政府性基金收入来源
  • window清除临时存储文件夹
  • 企业所得税计税依据
  • win10蓝牙无法连接可以尝试以下操作
  • 织梦地图插件
  • 采购员出差预借差旅费时,应借记
  • php实现微信公众号分享
  • 城镇土地使用税纳税义务发生时间
  • 狮子岩斯里兰卡
  • php addslashes函数
  • php常用设计模式(大总结)
  • 公司账户的钱怎么少了
  • php实现留言板功能
  • 客户多付款入哪个科目
  • uniapp怎么引入elementui
  • 如何办理出口退税备案
  • 质量赔偿金 计入什么科目
  • 增值税销项税红字应如何报税
  • 账簿启用交接表图片
  • 现金折扣属于什么
  • 综合所得年度自行申报怎么操作
  • 个人所得税专项扣除2023最新政策
  • mysql的环境配置
  • 劳务费个税账务处理办法
  • 固定资产溢余
  • 代扣个税返还需要交增值税吗
  • 雇主责任险为什么理赔很慢
  • 万达对赌协议是什么
  • 成本费用占营业收入比重
  • 代收开票收入怎么做账
  • 企业商品销售收入确认条件
  • 金税盘忘记清卡了怎么办
  • 发票右上角打印缺数字
  • 什么叫建账
  • mysqlbinlog -vvv
  • mysql 5.7.13 winx64安装配置方法图文教程(win10)
  • 苹果发布会最新消息
  • 苹果mac太卡
  • Linux开机启动文件
  • linux free 命令
  • linux重启shell
  • win10系统锁屏广告怎么取消
  • 九九乘法表vb
  • javascript简明教程
  • shell判断文件
  • js 延迟函数
  • Unity3D中Enabled、Destroy与Active的区别
  • ug编程代码意思
  • android上吹一吹功能的实现代码
  • Android开发工具
  • onInterceptTouchEvent onTouchEvent 的坑 坑死了
  • jquery实例
  • 税务局每月征期是什么时候
  • 国家税务局何时上班
  • 民营非盈利医院能转让吗
  • 多缴税款可以抵顶以后欠费的税款吗
  • 诺诺网电子发票下载到手机
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设