位置: 编程技术 - 正文

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

  • 个人企业征收什么税
  • 购销合同印花税按70%
  • 劳动合同扣税太狠了吧
  • 什么时候过路费是半价
  • 销项负数发票怎么做账
  • 分公司法人必须是总公司法人吗
  • 印刷宣传册是违法吗
  • 贸易公司成本核算不准确的后果
  • 本月进项留抵会计分录
  • 煤矿企业维简费税务规定
  • 招待用烟的会计处理
  • 融资发票是什么
  • 多开进来的发票怎么结算税点呢?
  • 代扣代缴个人所得税计入哪个科目
  • 只开增值税普通发票,需要申报税务吗
  • 营改增后建筑安装发票
  • 员工旅游费需要缴纳个人所得税吗
  • 借库存商品贷生产成本这笔会计分录反映的经济业务是
  • 厂家给返点算拿回扣吗
  • 登记变更是什么意思
  • 分公司需要核准名称吗
  • 坏账准备对利润表
  • 出口退税需要什么单据
  • 小规模企业现金规定最新
  • 进项负数发票怎么做账报税
  • 借用下属单位人员违反什么政策
  • win10系统的任务栏
  • 为什么ie浏览器打开是2345浏览器
  • 付款交单和承兑交单对卖方来说都有一定风险
  • php内存占用
  • windows11正式版本
  • fsrec.sys
  • dotnetfx35.exe
  • 营改增之前的房子现在出售怎么开票
  • 股东个人房产抵押贷款用于个人法人有责任么
  • 在建工程账务核算方法
  • php中pdo
  • 接受捐赠和对外捐赠分录
  • 公司外部人员的差旅费入什么科目
  • 纳税申报表填写说明
  • php图像识别
  • 有合同没有发票怎么入账
  • java 类型推导
  • mongodb bi
  • sql存储过程几个主要步骤
  • 报废的设备属于什么
  • 资本公积的用途有哪些
  • 预收账款的账务处理
  • 收到费用发票分录
  • 简易计税办法的有
  • 营业税金及附加税率
  • 餐饮企业原材料采购描述错误的是
  • 劳务派遣公司账务
  • 长期借款利息是财务费用吗
  • 如何计算债券实际收益
  • 打印的机票行程单怎么看
  • 其他综合收益是当期损益吗
  • 借款归还时的收据填写
  • 未达到起征点的税金怎么做凭证
  • 发票要不回来怎么办
  • win10如何设置快捷键
  • 移动u盘的作用
  • igfxsrvc module
  • win7链接联机id
  • window10自带的软件有哪些
  • linux 详解
  • linux 获取网页
  • win7ie8和ie11
  • win8怎么开启蓝牙
  • css实现弹窗
  • android系统架构图
  • opengl基础知识
  • vue项目中使用scss
  • 磁盘监视器在哪
  • jQuery的ajax和遍历数组json实例代码
  • python爬取电视剧
  • 农用三轮车免征增值税文件
  • 企业所得税的纳税期限按什么计征
  • 河北省职称证去哪里查
  • 一般纳税人增值税怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设