位置: 编程技术 - 正文

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

  • 实际退税额怎么算
  • 长期未付款
  • 城建税的税目是哪些
  • 建筑工程发票来自哪里
  • 总公司如何分配股份
  • 餐饮服务属于什么票据类型
  • 上年其他应付款本年度付了怎么做账
  • 合伙企业有一般账户吗
  • 工程收到收据没有发票的会计分录怎么做?
  • 购买预付油卡的账务处理
  • 增值税发票本月没用完可以下月用吗
  • 借款合同 增值税
  • 防伪税控技术维护费是进项还是销项
  • 购买国债逆回购有股东限制
  • 增值税普票需要进项吗
  • 一般纳税人财务报表申报流程
  • 招商引资政府返税政策不兑现
  • 母公司向全资子公司划转土地
  • 此 google 帐号尚未与设备关联
  • mac系统 硬盘
  • 主营业务收入的计算公式
  • 银行退回手续费的账务处理
  • 应收账款与主营业务收入的比率
  • 新公司免税额度是多少
  • 账簿启用及交接表样图
  • ant design pro项目构建纯净版
  • node.js什么意思
  • 关基系统防SSL证书断供,知道创宇“包办式”国密改造方案省心又安全
  • 其他权益工具投资是什么意思
  • 如何扣除企业接单费用
  • sQlite常用语句以及sQlite developer的使用与注册
  • 一个人失恋了该怎么安慰她
  • 网上打印出来的手机买卖协议有效吗
  • 环保税计税依据怎么算
  • sql server 2005安装失败
  • 在业和存续的区别
  • mysql数据库死锁
  • 未开票收入如何计提增值税
  • 劳务外经证预缴税款
  • 境外所得税税收抵免操作指南
  • 主营业务收入记多栏还是三栏
  • 公司私账银行流水
  • 手撕定额发票可以抵扣吗
  • 实名汽车票抵扣
  • 公司劳务过账的法律依据
  • 这么查看
  • sql实现行列转换
  • mysql 5.7.33安装
  • ubuntu怎么装
  • macos怎么操作
  • win7怎么设置桌面位置
  • windows导航栏在左边
  • 苹果mac共享改名
  • centos彻底删除文件命令
  • wp7.8升级wp8
  • Windows任务计划程序服务
  • 如何升级win
  • linux纯文本浏览器
  • win7系统使用ituns设置iphone铃声图文教程
  • ssh直接输入密码 linux
  • Aero glass for win8.1开启aero透明磨砂效果图文教程
  • win7如何更改欢迎界面
  • win8系统打不开exe
  • unity中
  • 批处理/s
  • 狗刨好学吗
  • javascript例题
  • jquery触发点击操作
  • bootstrap 标签
  • dos 输出重定向
  • 浅谈如何实现乡村振兴论文
  • jquery编写页面载入事件
  • 农机行业的市场前景
  • 国家 税务 总局
  • 企业季度申报怎么报
  • 支部组织生活会流程
  • 如何提升基层党建质量
  • 浙江省税务师事务所排名
  • 河北省税金费率
  • 全国税收总收入完成59260.61
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设