位置: 编程技术 - 正文

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
  • 政府补贴需要缴纳企业所得税吗
  • 个体户免税金额现在是多少
  • 在建工程的范围
  • 三代手续费怎么申请返还
  • 物流进项税
  • 专项附加扣除项目的6项具体规定有哪些
  • 对公账户发工资1万要交税吗
  • 停工留薪期工资计算公式
  • 购买大型设备的会计科目
  • 2018年收入等级划分图
  • 被开除了怎么办理手续
  • 小企业发生销售折让的原因
  • 计提增值税附加税的会计科目
  • 分公司背书给总公司
  • 水利建设专项收入怎么计算
  • 2017年个税税率表及个税计算公式
  • 增值税普通发票有什么用
  • 转出未交增值税在借方是什么意思
  • 销售不动产扣除项目有哪些
  • 个税是应发工资扣,还是实发工资扣
  • 如何计算净利润增长率
  • 工程承包款要交多少税
  • Win10系统如何修改开机密码
  • 重装系统后分辨率1920x1080不见了
  • 冲回暂估分录
  • 加工制造业包括
  • 建筑公司预收账款一般是哪些
  • PHP:JDToFrench()的用法_日历函数
  • 对股权奖励的计算公式
  • 代开的发票需要企业盖章还是税务机关盖章?
  • 建筑业2021年享受核定征收吗
  • codeignitor
  • 深度学习环境配置(pytorch版本)----超级无敌详细版(有手就行)
  • 我用ChatGPT做直播技术选型,卷死了同事
  • vue使用技巧
  • thinkphp教程
  • 简单易学的前端框架
  • 古腾堡中文官网
  • 汇兑损益的现金流量
  • mysql索引最大数量
  • 一般计税增值税预缴税款怎么算
  • 小规模纳税人申报纳税详细流程
  • 应交增值税负数表示什么
  • 合伙企业的合伙人有下列情形中的当然退伙
  • 人工费用计入
  • 分公司注销怎么起诉公司
  • 为什么白条不能打白条
  • 向银行借的款属于什么会计要素
  • 所得税减免的企业税率
  • 车辆购置税计入税金及附加吗
  • 餐饮发票如何入账
  • 资产减值的含义与应用范围
  • 五险一金的正确说法
  • 自产产品与视同自产产品
  • 利润总额与应纳税所得额的差异国内动态
  • 建账的基本原则是什么
  • mysql批量删除数据库死锁
  • sqlserver响应好慢
  • 将u盘制作成u启动u盘启动盘
  • mac os10.11
  • WIN10系统睡眠后点不动
  • win8怎么查看ip地址
  • win8.1系统升级win10
  • win7 64位旗舰版设置插上耳机就能播放声音拔下耳机就自动禁音方法
  • linux系统怎么更改语言
  • IE6,IE7和firefox对DIV的支持区别
  • Unity3D游戏开发基础
  • jquery 选择
  • unity3d性能优化之贴图科普篇
  • 特征提取技术
  • unity游戏加密
  • python selectfrommodel
  • 2023河南新农合截止日期新规
  • 高新区地税办税服务厅
  • 可转债中签当天扣款吗
  • 湖北低保查询网站官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设