位置: 编程技术 - 正文

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

  • 车辆出现质量问题
  • 普通增值税有什么用
  • 变更税务流程登记流程和资料
  • 小规模纳税人怎么办理
  • 出口报关单价比合同价高
  • 没达到起征点需要申报吗
  • 企业所得税季初不能是0
  • 机器设备一般折旧几年
  • 银行对公回单可以在家打印吗
  • 个税缴款三方协议
  • 电子税务局上财务制度备案错误是啥意思
  • 处置无形资产取得的收入计入
  • 房屋及建筑物属于什么会计要素
  • 向境外分配股息
  • 不能确认收入的应收账款怎么做账
  • 长期挂账应付款的审计
  • 工程施工的保障措施
  • 季度所得税申报表营业收入怎么填
  • 外资企业需要遵守哪些法律
  • 农产品进项税抵扣计算例题
  • 固定资产处置流程
  • 实行简易征收
  • 固定资产报废的净损失计入哪里
  • 房屋租赁公司和公寓管理公司区别是什么
  • 合同终止后发生的效果包括
  • 稿酬计入工资所得吗
  • 小规模纳税人销售货物税率是多少
  • service.exe是什么进程
  • php insert into
  • 兼职如何交税款
  • c语言 cmd
  • php-xml
  • 理财收益如何计税
  • ajax向php传值
  • 私人医院需要缴纳哪些税费
  • 增值税进项发票丢失最新处理办法
  • 改进的拼音
  • thinkphp自定义标签
  • laravel日志管理系统
  • ajax调用php接口
  • 什么是免抵调库税额
  • 待抵扣进项税额的账务处理
  • 对企业采取以旧换新方式销售的应税产品
  • 工会经费月月都缴纳吗?
  • 销售的百分点怎么计算
  • 个人在平台销售怎么做
  • 公司转让注册海外公司
  • sql报数字溢出
  • aspcms标签
  • 经营租赁会计的核算原则
  • 2021新旧会计准则的比较分析
  • 未使用的固定资产
  • 个税出现负数是什么意思
  • sqlceil函数用法
  • mysql分页怎么实现
  • 行政单位基建管理办法
  • 企业会计本年利润
  • 文化建设费税率
  • 第三方代销什么意思
  • 应纳税调增调减科目是什么
  • 不良品扣款会计分录
  • 提取盈余公积金
  • 收到对方公司退款
  • 关税的计税方式一般可以分为
  • 免税收入怎么申报增值税
  • sql server怎么创建表语句
  • sql语言包括哪三种类型
  • 如何重置win10
  • linux操作系统b
  • windows10玩游戏卡吗
  • win7怎么看磁盘
  • css3兼容性问题
  • 骨头动漫头像
  • node.js设置环境变量
  • jquery 列表控件
  • 服务器限制流量
  • html里的标签
  • 淘宝模拟生成器
  • javastudio
  • 信用社股金转让 办理要多少时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设