位置: 编程技术 - 正文

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

  • 应交税费负数调整到其他流动资产
  • 房产税应该怎么申报
  • 工伤在门诊的收据能报销吗
  • 支票上的法人章和财务章是央行盖吗
  • 小规模发票冲红怎么申报
  • 消防公司支付劳务费会计处理
  • 应交税费减免科目金额的计算
  • 小规模旅行社差额征税的账务处理
  • 商家发票可以随便开金额吗
  • 注册公司认缴资本不缴可以吗
  • 房产税的纳税义务
  • 每个月固定发工资
  • 营改增之前房地产开发企业交什么税
  • 外聘人员劳务费入什么科目
  • 红字冲销增值税专用发票怎么写
  • 管理费用是负的是什么意思
  • 办公用品报销项目怎么写
  • 餐厅的市场
  • 开具增值税专用发票承诺函
  • 已认证未抵扣进项税如何做账
  • 差额纳税销项税额抵减
  • 发票一定要房东开的才能报销吗?
  • 账本印花税怎么缴纳
  • 关税减免有哪些类型?
  • 培训过程中出现的问题及解决办法
  • 二千万注册资金是多少
  • 差额征税的计算方式
  • 一个公户从农业银行开户
  • php 7z
  • 交增值税还交营业税吗
  • 企业补缴个人所得税罚款
  • 资产减值损失的借贷方向
  • 航天信息服务费发票哪里打印
  • 公司给员工付个税怎么算
  • 退休返聘人员是否享受工会福利
  • 补计提去年所得税费用会计分录
  • 买税控盘的钱怎么做账
  • 广告代理费收取比例
  • 铡刀演示
  • 多缴税金抵税会怎么样
  • 小企业准则季度汇总
  • 增值税普通发票怎么开
  • 购买图书可以开增值税专票么?
  • 哪些企业不需要做安评
  • mysql常见操作
  • 发票可以付款前开吗
  • 工资结算汇总表怎么填
  • 工地会计内账
  • 暂存的凭证是怎么做的
  • 存货是指企业在生产经营过程中为销售或耗用
  • 研发费用形成无形资产的摊销怎么处理
  • 赊销应收款余额怎么算
  • 为什么要办理外地身份证
  • 对于相关人员培训存在的问题
  • 漏缴增值税处罚规定
  • 出口退税没有进项就退不了税吗?
  • 长期挂账其他应付款违反了哪项制度
  • 押金为什么要一个月才退
  • 现金支票作用
  • 党委经费是国家政府出吗?
  • 应付账款不需要付情况说明
  • 企业应交税金包括印花税吗
  • 新开公司没有领失业金
  • ipad文件使用技巧
  • linux中的用户管理主要涉及用户账号文件
  • linux scp命令的用法详解
  • win7系统怎么备份文件
  • window10快捷键不能用
  • ubuntu20.04怎么用
  • linux系统中怎么输入中文
  • win8.1新建桌面
  • grid sheet
  • 在下次启动计算机时会自动关机。重起后恢复正常(“绿色版”)
  • u3d脚本语言
  • js原生dialog
  • android 属性动画改变view大小
  • 国土国税垂管部主任是谁
  • 个人所得税全年不到60000,单月超过
  • 审批制改为备案制有什么区别
  • 发票税额小数点打印不全能报销吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设