位置: 编程技术 - 正文

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

  • 矿产资源补偿费计入管理费用吗
  • 增值税纳税申报时间
  • 房产税一律按房产价值计征
  • 购买办公用品属于会计对象吗
  • 视同销售发放福利的会计分录
  • 转让费和押金的区别
  • 分公司承担总公司差旅
  • 福利费计提多了如何处理
  • 小微企业城建税及附加减半
  • 发票进项和销项差一个字
  • 中介费要求开发票中介公司不开
  • 网上申报中月平均工资怎么计算
  • 土地转让的税费怎么算
  • 哪些收入减免所得税
  • 房屋租赁后转租合法吗
  • 预计销售退回的钱怎么算
  • 关税现金流量表项目
  • 留样检测的产品计入什么科目?
  • 餐馆的前期投资预算
  • 公司注销取不到采购发票怎么汇算清缴?
  • 盈余公积可以随便用吗
  • 手撕发票的税点是多少
  • 免征增值税的税额还要交个人所得税吗
  • 研发费用税前加计扣除
  • 系统日志在哪里打开
  • 设备拆装费计入什么科目
  • 冲暂估成本会计分录怎么做
  • pow是什么意思中文翻译
  • 被收购企业会提出什么条件
  • 存货出租的会计分录
  • 企业一部分房屋出租后怎样缴纳房产税
  • 营改增后固定资产报废处置收入计税
  • nginx静态文件服务器
  • 委托贷款业务是资产业务吗
  • vue setstate
  • halt关机命令
  • 发票税金计入什么会计科目
  • 研发失败的费用允许加计扣除吗
  • pandas遍历某一列将字符串转换为列表
  • 帝国cms什么语言
  • 织梦面包屑导航最后的分隔符大于号去掉方法
  • python导入模块的本质
  • 应收账款收不回来做坏账处理分录
  • 现金短缺或溢余指的是什么
  • 网购会计如何确认成本
  • 合同权益转让 范本
  • 一般纳税人外地预缴税率
  • 单位卖二手车如何交税
  • 玉米收购厂
  • 支付水电费会计
  • 农民专业合作社是企业法人吗
  • 企业建账的流程是怎样的
  • 职工福利费核算哪些内容
  • 怎么用公式计算结果填充单元格
  • casewhen嵌套查询
  • 动态sql语句怎么写
  • fedora安装apt
  • solaris8+apache2+weblogic813+db2_82客户端+128 安装过程
  • win10安装固态硬盘打开软件卡
  • xp系统好奇怪哦
  • 苹果电脑mac设备怎么删除
  • centos建站教程
  • windows7开始菜单不见了
  • windows10的操作中心
  • win7怎么录屏为什么不是视频
  • datatable.load
  • 游戏开发那些事
  • angularjs阻止冒泡
  • jQuery基于xml格式数据实现模糊查询及分页功能的方法
  • echarts.on
  • jquery图片
  • jquery的fadein
  • jquery console.log
  • 开发Blog整理
  • js教程
  • css实现遮罩层
  • js函数的声明方式
  • jquery的实现原理
  • 四川纳税互动平台app
  • 公积金扣800一个月多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设