位置: 编程技术 - 正文

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

  • 增值税专用发票可以开电子发票吗
  • 所得税税前扣除项目及扣除标准
  • 怎么修改金税盘登录密码
  • 一般纳税人税率有几种
  • 增值税少企业所得税多说明什么
  • 企业卖车需要交印花税吗
  • 支付税盘服务费怎么做账
  • 航空运单可以作为提货凭证吗
  • 辅导期一般纳税人
  • 收到货款开的增值税发票怎么写分录
  • 红字发票做进项转出还是红字负数
  • 企业助学捐款分录怎么写
  • 增值税专用发票和普通发票的区别
  • 驻外人员医保报销
  • 个人独资企业法人承担什么责任
  • 冲回资产减值准备
  • 培训费可以抵扣企业所得税
  • 个税申报状态失败
  • 事业单位固定资产报废的账务处理
  • 公司成立之后有人投资怎么做分录?
  • 劳务派遣个税怎么扣
  • 跨年红冲发票影响所得税吗
  • 货代发票税率是多少
  • 纺织厂收购棉花如何计税?
  • 基本户和一般户的区别和用途
  • win7系统如何设置热点
  • 安全库存的三种算法
  • 商业承兑汇票如何签收
  • 收到外运公司托收海运运费单据1000美元
  • 苹果手机怎么刷机
  • 汇算清缴审计报告收费标准
  • createrectrgn
  • php foo
  • PHP:disk_total_space()的用法_Filesystem函数
  • 售后回购不符合法律规定
  • 区分不同情形
  • 稳岗补贴支付范围
  • 微信公众号web开发
  • zendstudio怎么创建php项目
  • php模板源码
  • php中面向对象
  • python单子
  • Yii2中使用asset压缩js,css文件的方法
  • ps快速选择工具抠图后怎么拉出来
  • 资产负债率 70%
  • FPGA实现64点IFFT(VHDL)
  • 运输发票怎么做账
  • 向境外支付赔偿款是否需要税务备案
  • 小规模企业免税收入会计分录
  • 预付发票能入账吗
  • 劳务所得税税率表2023年1月
  • 公司举办活动的好处
  • 管理费用收入缴纳增值税吗
  • 租房子租一半不租了违约金付的,房东不肯退钱怎么办
  • 非营利医疗机构免征哪几种税
  • 废品损失的计算方法及废品损失的范围
  • mysql深入理解
  • 统计得到的一组数据有80个
  • Win10预览版桌面图标和任务栏不翼而飞怎么办?
  • windows2008 iis7如何取消目录执行权限的详细图文介绍
  • linux如何查询
  • windows使用痕迹在哪里
  • ubuntu查看内存占用最多的进程ID
  • centos6 systemctl
  • win10打开此电脑的快捷键
  • win7开始菜单在哪里
  • win10桌面图片预览
  • perl教程 pdf
  • 一系列优秀的Android开发资料
  • Jquery ajax加载等待执行结束再继续执行下面代码操作
  • bat批量命名
  • ssh登录后自动执行命令
  • python微信查单删
  • jquery动态添加div
  • 税收和社保不在同一地缴纳怎么办
  • 河南商丘联通宽带最低多少钱
  • 陕西地方税务局2017年2号公告
  • 税务师事务所牌匾
  • 涉嫌虚开增值税专用发票罪
  • 全国书法等级考试官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设