位置: 编程技术 - 正文

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

  • 所得税季度预缴纳税申报表
  • 月度税率表和综合所得税率表区别
  • 免税是什么税
  • 增值税留抵抵欠税政策解读
  • 税金及附加减半征收政策2022最新
  • 建材公司小规模纳税人税率
  • 发票第一联需要保存多久
  • 关联方交易的会计处理方法
  • 小规模纳税人怎么变成一般纳税人
  • 红字专用发票能作废吗
  • 保安服务业务
  • 公司收入是否应优先支付工资
  • 股权投资公司如何找项目合作
  • 合伙做生意账目
  • 保证金抵扣货款分录
  • 补记上年度计提所得税费用的会计分录
  • 企业报税盘入账应该记入哪个科目?
  • 部分销售退回怎么开票
  • 企业一般户可以扣税吗
  • 企业咨询服务费合同
  • 缴纳了土地增值税怎么退
  • 税控盘开票显示操作未授权
  • 本年已预缴所得税
  • 营改增后房地产公司税种及税率
  • 金税盘发票报送状态未报送
  • 清除cmos有什么后果
  • 返利给客户的账务处理
  • macos10.15.7
  • 关于出售使用过的车辆
  • 行政单位预算外资金收入上缴财政专户的方式不包括
  • Eclipse PHPEclipse 配置的具体步骤
  • 基于Laravel5.4实现多字段登录功能方法示例
  • 符合资本化的研发支出不影响利润总额吗
  • 餐费发票怎么做账务处理
  • 企业和银行未达账项
  • 织梦好用吗
  • phpcms教程
  • 住房公积金的账号怎么查询
  • 垃圾处置费的收费标准
  • 销售服饰
  • 一般纳税人只有进项怎么报税
  • vj刷题
  • 终止经营损益列报 举例
  • 企业内部研发支持方案
  • 公司帐户转到法人私卡备用金行吗
  • 政府会计资产处置费用科目
  • 所得税申报的资产总额是哪里的数据
  • 营业成本指的什么
  • 长期待摊费用好处
  • 旧设备出口可以退税吗
  • 增值税专用发票几个点
  • 个人转租房需要注意什么
  • 优惠的会计分录
  • 交易性金融资产的账务处理
  • 加计抵扣会计处理
  • 税控系统专用设备抵减增值税账务处理
  • 进项税额转出之后怎么处理
  • 主营业务成本如何做分录
  • 商品进销存台账
  • 营业外收入主要来源
  • linux内核构成
  • 笔记本带u
  • 微软平板电脑surface pro2参数
  • 使用u盘安装win10
  • 笔记本电脑bios更新
  • win2玩魔兽世界
  • win7系统计算机管理打不开
  • 如何打开win7
  • linux基本环境怎么选
  • Win10 Mobile 10586.107怎么更新?Lumia950/XL/550可升级
  • Extjs ajax同步请求时post方式参数发送方式
  • 从头开始绘制一幅画图片
  • node.js创建服务
  • unauthorizedAccessException
  • JavaScript SweetAlert插件实现超酷消息警告框
  • python爬虫详解
  • 轮廓理论
  • dom4j解析xml字符串步骤
  • 吉林省政府公开电话
  • 河北税务登录密码是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设