位置: 编程技术 - 正文

对Android opengl ES世界坐标系和纹理坐标系的理解(安卓opengl es)

编辑:rootadmin

推荐整理分享对Android opengl ES世界坐标系和纹理坐标系的理解(安卓opengl es),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android opengles2.0,android opengl es教程,opengl es android,android opengles2.0,andriod opengl,andriod opengl,andriod opengl,andriod opengl,内容如对您有帮助,希望把文章链接给更多的朋友!

初学opengl ES,每一个教你在屏幕上贴图的opengl版hello world都有这么两数组:

但是几乎都不解释,所以我学的时候都不明白这些点为什么要这么写,前后顺序有没有什么规律。于是各种查资料试验,终于搞懂了。

1.坐标系

PS:本人学opengl es主要是为了2D贴图,所以不涉及Z轴

如图,图一是opengl的世界坐标系,这个基本没啥问题,主要是很多教程说纹理坐标是左下原点。实践得出在Android上应该是最右边的图那样,以左上为原点。 个人猜测纹理吧其实就是一组颜色点组成的数组,Android由于UI坐标是以左上为原点,所以把数组里颜色点的存储顺序改了一下,于是坐标系就不一样了。

2.示例代码

其中 GLES.glDrawArrays(GLES.GL_TRIANGLE_STRIP, 0, 4); 由于openglES本身就是opengl的缩略版,所以能直接画的形状就只有三角形,别的复杂的都要由三角形来组成。GLES.GL_TRIANGLE_STRIP指的就是一种三角形的绘制模式,对应这个顶点数组:

实际绘制的就是顶点1,2,3组成的三角形和顶点2,3,4组成的三角形合并成的一个矩形,如果有更多点,依次类推(比如有5个点,就是1,2,3 2,3,4 3,4,5三个三角形组成的图案)。如下图:

3.纹理顶点顺序

纹理的点和世界坐标的点之间是对应的:

对Android opengl ES世界坐标系和纹理坐标系的理解(安卓opengl es)

显示结果如图:

如图中箭头,opengl会把纹理中颜色顶点绘到对应的世界坐标顶点上,中间的点则按一定的规律取个平均值什么的,所以可见实际显示的图被上下拉伸了,因为原图是1:1,而在该程序里 GLES.glViewport(0, 0, width, height); 赋予的显示区域是高大于宽的(这里涉及到opengl世界坐标和屏幕坐标的映射,和本文主旨关系不大就不多说了)。

其实也就是只要世界坐标和纹理坐标数组里的点能够对的上,顺序不是问题 代码里的四组坐标的显示效果都是一样的:

不信的可以在这里都替换了试试:

为了加深理解,甚至可以玩点花样出来,比如这样

结果如下图:

4.Demo源码地址

版权声明:本文为博主原创文章,未经博主允许不得转载。

Tutorial2 Hello dot! 本文源自:

opengl 绘制绕远点转的飞机 1、绘制飞机方法draw_plane()voiddraw_plane(){floatscale=1.0f;glLineWidth(6.0f);glColor3f(1.0,0.0,1.0);glPushMatrix();glScaled(0.f*scale,0.f*scale,0.f*scale);glPushMatrix();glRotated(.0f,

opengl 4.X off-screen rendering openGL可以渲染屏幕的framebuffer,自然可以渲染不直接显示的framebuffer,把数据存入非直接显示的framebuffer中以便后续的渲染需求,或者直接存入纹理贴图te

标签: 安卓opengl es

本文链接地址:https://www.jiuchutong.com/biancheng/368433.html 转载请保留说明!

上一篇:作战仿真 基于 osg 含有态势显示 客户端(作战仿真理论与技术)

下一篇:Tutorial2 Hello dot!

  • 购买土地缴纳的费用
  • 加班费计入个税吗
  • 个体摊贩
  • 小规模企业所得税多少
  • 收到商业承兑汇票到期付款通知单,据此登记相关账簿
  • 公司购买汽车的折旧年限
  • 年终奖可以不计入年总收入吗
  • 公司没有业务了 可以办理停业
  • 无形资产摊销怎么计算
  • 报表的应付款太大怎么调?
  • 厂家核销费用直接抵扣
  • 医院的固定资产是由财务负责的吗?
  • 非盈利企业账务处理
  • 买车的保险可以砍价吗
  • 营改增金融商品范围
  • 国家税务总局关于取消增值税扣税凭证
  • 房地产企业预收款什么时候确认收入
  • 坏账核销谁来审批
  • 付尾款会没货吗
  • 个体工商户变更法人
  • 事业单位是否需要章程
  • 长期待摊费用提前清理
  • 小规模投资创业
  • 供热公司向用户提供
  • 出口报关单中有哪些内容
  • 财政专项资金不征税收入
  • wifi不让输入密码怎么办
  • 仓库库存周转率高
  • 委托加工代收代缴增值税吗
  • 如何在win11上安装旧版ie
  • 折旧计算表属于外来原始凭证吗
  • 股权投资借差
  • 取得的进项税发票抵扣
  • 最贵的电脑键盘
  • list集合过滤
  • axios是干嘛的
  • 应交增值税一般是多少
  • 年终企业所得税怎么结转
  • 滴滴发票抬头怎么修改
  • 企业出租专利技术收取的租金不得确认为收入对吗
  • mysql组合
  • 税号指的是什么
  • 接受捐赠的固定资产按什么入账
  • 免税设备是什么意思
  • 出口转内销怎么做
  • 非本公司员工的火车票可以报销么
  • 应计利息是什么类科目核算
  • 单独入账的土地为啥不提折旧
  • 关于购买安保器材的报告
  • 外聘老师的费用如何做账
  • 收到保险公司的发票怎么做账
  • 毁损的原材料怎么处理
  • 申报个税劳务报酬按20%扣
  • 甲公司控股乙公司
  • 以前年度应收账款少记怎么处理
  • 进项税额允许抵扣分录
  • 其他资本公积核算哪些内容
  • mysql 数据库
  • win7传真和扫描
  • mac怎么复制文件路径地址
  • 制作win7系统安装u盘系统
  • Win7系统重装后鼠标键盘不能用怎么办
  • process32first 进程信息为空
  • win8的VPN连接报942错误(xp、win7下均可使用)
  • 网站备份是什么意思
  • win7软件包
  • python列表详解
  • cocos2dx4.0入门
  • bootstrap 组件库
  • node.js基础入门
  • js 获取ua
  • js链式编程的原理
  • Android 使用的字体
  • nodejs excel转json
  • three. js
  • unity3d摄像机视角
  • javascript高级程序设计最新版
  • unity坐标系转换
  • 济南市中区税务局办税大厅
  • 纳税申报的具体内容
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设