位置: 编程技术 - 正文

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

  • 停车费手撕票如何填写申报表
  • 税控盘及服务费会计分录
  • 改革性补贴是否属于规范的津贴补贴
  • 企业一般户怎么注销
  • 个税三代手续费返还增值税报表怎么填
  • etc预付发票可以抵税吗
  • 人民币报关出口跨境
  • 小企业长期股权投资的核算
  • 收到政府给的公维基金怎么开票报销
  • 销售给客户红包,说给的现金,如何把控
  • 2018年业务宣传费与广告费税前扣除标准及依据
  • 适用简易计税方法的口诀
  • 列举20种不征增值税产品
  • 公司之间借款收据要领导签字吗
  • 子公司注销后人员怎么安置
  • 税务公司属于什么性质
  • 移动纸质发票
  • 非流动资产基金对应哪个会计科目
  • 自然报废产生的固定资产净损失计入什么科目
  • 工会经费的会计分录2022
  • win7如何取消关机
  • 信息化投入费用包括哪些
  • 上个月留抵进项税额分录
  • 所有者权益变动表图片
  • 怎么查开出去的发票原票
  • centos6.5下载
  • arm on windows
  • linux 数字加减
  • 苹果系统的声音
  • 报税时漏报进项怎么办
  • 单位代缴住房公积金分录
  • php lee
  • 固定资产终止确认的会计处理
  • 无形资产使用寿命不确定需要摊销吗
  • 权重值的确定可以依据什么
  • php网站配置
  • 混合销售行为的税务处理
  • 黄金旧料卖出收据怎么写
  • 开关电源pcb布线规则
  • vscode搭建vue开发环境
  • 基于stm32的毕业设计
  • 我的年终总结怎么写
  • 个体工商户一年要交多少税
  • 减免残保金的操作方法
  • 员工的交通费发票可以报销嘛
  • 13个点的普票可以抵税吗
  • 股权转让个人转个人要交什么税
  • 抵债不动产处置如何征税
  • 个体工商户免费开票额度
  • mysql5.6设置密码
  • 业务招待费的扣除标准60%什么意思
  • 广告业和一般服务性行业有何异同?
  • 流动资产周转率和总资产周转率
  • 进口关税如何记账
  • 金蝶迷你版为什么打不开
  • 贷款服务有哪些项目
  • 从银行提取现金分录
  • 税控盘超过15号还可以抄报吗
  • w10预览版21343下载
  • window8系统更新
  • centos7编译安装内核
  • msmpeng.exe是什么进程
  • iis搭建php环境
  • win8电脑触摸屏没反应怎么办
  • linux rpm包安装
  • centos还原到初装
  • macbook截
  • ksysslim.exe是什么
  • 如何解决windows激活问题
  • c/s模式的例子
  • android遇到的难题,怎么解决的
  • html label标签的使用教程
  • 安卓手机都这样
  • 手把手教你用python破解wifi
  • 房产契税发票在哪里查询
  • 关于明确干部挂职工作期间有关待遇的
  • 浙江通用电子发票注册申请怎么填
  • 生产企业税点
  • 河北省国家税务局电话
  • 可以抵扣的消费税计入什么科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设