位置: 编程技术 - 正文

对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!

  • 空壳公司如何报税
  • 公司货款退款怎么写
  • 税控系统技术维护费可以抵扣吗
  • 所得税退税怎么办
  • 收到就业补贴财务如何做账
  • 合同一方按手印另一方没按有效吗
  • 成本还原有什么作用
  • 委托加工的应税消费品收回后直接出售
  • 混合销售行为如何界定
  • 怎么去税务局报账流程
  • 免抵退税系统操作流程
  • 如何查询进项发票是否作废
  • 学校有没有纳税人识别号
  • 中方人员取得的工资、薪金所得,征收个人所得税有特别规定吗?
  • 个人非货币性资产投资的税务筹划
  • 生产负荷的计算
  • 当期免抵税额和当期留抵税额
  • 税控机减免会计分录
  • 做财务报表是什么岗位
  • 投资预算的编制方法
  • 查看所有共享文档
  • 买一个金蝶软件年费多少
  • 个贷系统平帐专户A贷
  • 无形资产一般采用直线法摊销也可采用加速法进行摊销
  • 旅行社开的发票怎么入账
  • 发票明细与实际送货清单不符
  • 补交之前年度税款怎么调账
  • 会计科目的设置应该符合国家统一会计准则的规定
  • 运输合同印花税税率
  • 房地产开发企业销售自行开发的房地产项目
  • ubuntu npm安装
  • 带着崽崽宠老公免费阅读
  • php发送邮箱
  • 金税盘锁死能正常报税吗
  • 网页单行文本框
  • php 统计
  • php504错误
  • php curl_exec
  • java是什么意思
  • 总公司与分公司合作协议范本
  • 社保已经扣款还可以减人员吗
  • 支付水电费如何做账务处理
  • 织梦会员系统
  • mysql 小时差
  • mongodb的索引种类
  • 当月没有发放工资是不是就不用申报个税
  • sqlserver导入导出数据库
  • 开发票该怎么操作?
  • 工会经费计提比例0.8%
  • 银行转账费用多少钱
  • 地下车库的成本和房子哪个高
  • 小规模纳税人采购需要发票吗
  • 材料采购合同印花税税率
  • 现金日记账支出写借方还是贷方
  • 在建工程项目包括
  • 企业哪些项目可以立项
  • 预付房租收到发票怎么写摘要
  • 咨询服务费计入哪里
  • 申报表怎么更正
  • 个人生产经营所得税怎么申报
  • sql删除重复数据只保留一条日期最大的
  • 正确使用气体钢瓶的原则
  • 安装完xp系统直接蓝屏怎么办
  • 事件查看器中"TermService" 服务的性能库问题处理
  • 进程cmd.exe
  • win8系统屏幕亮度调节
  • win7显卡属性在哪
  • 在linux系统中,用来存放系统所需要的配置文件
  • jquery()
  • git 登陆用户
  • perl命令
  • unity 3d代码
  • 绑定安卓
  • 数字动画文件格式有哪些
  • 面向对象的程序设计语言是
  • 成都市个人房屋出租税费
  • 纳税人欠缴税款数额在10万元以上
  • 小微企业企业所得税率
  • 国税增值税普通发票
  • 代扣app有哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设