位置: 编程技术 - 正文

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

  • 基础电信服务税率和增值电信服务税率
  • 间接税和直接税哪个容易转嫁
  • 涉及免所得税及减半所得税的业务如何做账
  • 进口货物的完税价格不包括
  • 金税盘交钱
  • 每月记账报税客户怎么填
  • 电梯广告租赁属于哪类
  • 增值税专用发票可以开电子发票吗
  • 什么时候用以前年度损益调整什么时候用年初未分配利润
  • 税务局可以委托公司代征税,你觉得可能吗?
  • 两金占流动资产比重
  • 生产经营行业
  • 税务登记证注销证明
  • 月末本年利润余额怎么算
  • 税收编码名称是什么
  • 计入资本公积的固定资产转出
  • 培训费用可以开专票吗
  • 固定资产进项税的账务处理
  • 花椒油的税率
  • 火车票飞机票计入什么费用
  • 税务大厅申报社保需要资料
  • 产品成本差异总额计算公式
  • 增值税价外费用开票内容
  • 个税计算方法举例讲解
  • 进料进口
  • 宏基笔记本电脑售后电话
  • 会计估计变更的会计处理方法
  • 负债率是什么指标
  • 什么叫冲减进项税额
  • 小企业原材料包括
  • 增值税要不要计入固定资产的成本中?
  • php 生成验证码
  • 苹果客服人工24小时
  • 总公司拨给分公司款需要交税吗
  • 进程program
  • 大家在抢红包怎么回复
  • 公益性捐赠申报填列
  • 应酬用的香烟
  • “网络爬虫”
  • 抵免法的缺点主要有以下几点
  • 在西伯利亚森林中是真实故事吗
  • 表格uplook
  • 小企业会计准则财务报表至少包括
  • thinkphp dump
  • 申请个人所得税
  • 运输公司汽车折旧年限
  • gpt参数
  • javascriptj
  • python制作chm
  • php入门实例
  • 确认应付职工薪酬如何计算
  • 财务费用汇兑损失是什么
  • 深入理解linux内核
  • 营业外支出会计科目
  • java线程的执行体
  • 商业汇票利息账务处理如何做?
  • php定义变量的方法
  • 销售佣金的税务比例一般是多少啊
  • 一般纳税人认定书是什么样子
  • 核定征收的三种方式
  • 现金支票存根联和正联怎么盖章
  • 签发空头支票的罚款
  • 出纳建账账户名称怎么写
  • mysql分区表优劣分析
  • ubuntu18.04单网卡多ip
  • window系统怎么截屏屏幕
  • windows的视频
  • win8 设置
  • windows10无法安装
  • Cocos2dx ParticleEditor粒子编辑器
  • opengl oes纹理
  • js正则 \w
  • nodejs获取get请求参数
  • python3 mongodb
  • Javascript中Array.prototype.map()详解
  • python+flask
  • 一般纳税人出售房产怎么开票
  • 如何在税务系统增加开票人员
  • 用于赞助的消费品需要缴纳消费税吗
  • 公务员考试税局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设