位置: 编程技术 - 正文

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

  • 商会费用会计分录
  • 应收账款贷方余额怎么调平
  • 企业返聘退休人员劳务合同
  • 残保金计入管理费用还是营业税金及附加
  • 盘亏的设备按正常报废处理是否符合会计制度要求
  • 累计纳税工资是什么意思
  • 开发票产品名称
  • 个人代人开普票个税怎么算
  • 住房补贴是不是编制才有
  • 公司车买保险怎么付款
  • 商业用房怎么缴税
  • 小微企业利息收入增值税
  • 非居民企业所得税计算公式
  • 库存商品检验合格标准
  • 出售固定资产取得的收入
  • 工程施工企业人工成本最高多少
  • 税控盘上开完发票发的邮件在哪查看
  • 物业公司取暖费收费标准
  • 现金折扣发票如何开具
  • 开业好不好
  • 一般纳税人企业所得税税率2023
  • 通用定额发票能用吗
  • 抄报汇总对比通用怎么写
  • 计提固定资产会计科目
  • 投资合伙企业对公司有债务责任吗
  • 短期借款有没有上年结转
  • 如何在虚拟机上下载软件
  • win10j截图
  • 公司在银行购买金币没有发票
  • 业务招待费扣除基数的收入包括哪些
  • 基本户是否可以冻结
  • 总公司欠分公司的借款可以计提坏账
  • 员工宿舍的物业费要交个税吗
  • 销售免税农产品进项税可以抵扣吗
  • 工会经费税前扣除标准2022
  • 怎么处理坏账准备的问题
  • 潜水时看到的鱼
  • thinkphp域名路由
  • Vue2 Element description组件 列合并
  • vue自定义页面
  • 非常好看的头像
  • 滴滴打车开具的电子发票可以抵扣吗
  • 终止cat命令
  • 与上级往来的会计科目的题目
  • 出口货物不予免、抵和退税为什么是按外销离岸价计算
  • 坏账准备检查情况表怎么填
  • python 列表sum
  • 个体户需要
  • 利润表和资产负债表
  • 公司个人借款如何做账
  • 同时运行多个MySQL服务器的方法
  • 履约保证金没有交足
  • 劳务外包会计分录最新
  • 税局代开专票如何做账务处理?
  • 购买税控系统的增值税怎么处理
  • 开发票的销售收入正规的做账如何做?
  • 残保金申报常见问题
  • 确认收入后销售怎么算
  • 车船税没有发票可以入账吗
  • 外资企业股权转让给内资企业流程
  • 调整以前年度的费用怎么做
  • 盈余和利润是不是一个概念
  • 房地产企业会计科目
  • 原始凭证怎么粘
  • win7卸载KB2952664/KB3035583补丁的详细图文教程
  • windows server 2008 r2激活密钥
  • dell t110服务器
  • jquery实现select选择框内容左右移动代码分享
  • linux nodejs
  • unity出现bug
  • jquery左右移动动画效果
  • fedora vlc
  • jq监听input框value值
  • python怎么获取命令行参数
  • jquery如何调用
  • jquery one
  • python爬取某人所有朋友圈
  • jquery的实现原理
  • jquery解析XML及获取XML节点名称的实现代码
  • 河南省土地使用税减免税优惠
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设