关于 OpenGL 中平移矩阵变换与实体对象坐标平移的关系分析结论

简介: 关于 OpenGL 中平移矩阵变换与实体对象坐标平移的关系分析结论 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

关于 OpenGL 中平移矩阵变换与实体对象坐标平移的关系分析结论

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。


除题目中所提及的平移矩阵变换和对象坐标平移,还有旋转的中心点设定(弄不好,旋转后,看不到几何体)以及摄像机视角两个未明确问题,仍需进一步研究明确,才不至于被隐形的几何体搞得无所适从。


言归正传,本人近期研究的结果是:

1、平移这种矩阵变换,只是对场景中所有几何体进行了平移,好像和观察视角是一个道理,但确实还不太知道,是否就是摄像机视角;

2、对象坐标平移,是真实的去移动几何体在场景中的位置,这个需要从几何体的顶点坐标着手,进行整体坐标量的加减,对于一个大的或细节较多的几何体来说,计算量稍显庞大,尚不知性能如何,猜测本人目前遇到的问题,可能就是需要通过这一技巧才能解决;最主要的是,几何体的坐标一改变,顶点缓存就要重建,这样就无形增加了与GPU通讯所带来的性能问题,理论上是这样的,也还需要进一步细化分析,修改完善代码进行测试才能知晓。


通过看别人的展示效果,感觉实际操作中,

一是要能从各个角度去看这个场景及场景中的物体,这个就是矩阵变换中平移、旋转、缩放所要做的事情了,只需更新变换参数到GPU中即可,相对附加工作量要小很多;

二是实际场景中,将几何体从一个位置移到另一个位置,这个并不涉及观察视角的问题,而是视角保持不变,而几何体要进行移动,涉及到几何体顶点坐标的修改与GPU中顶点缓存的更新,相对更新量要大一些;尚不知这种作法是否是正确的和常用的,有待进一步搜集资料后,再做研究、调测;


说来,以上两种改变几何体在屏幕中位置的作法,真的是根本不同的两种东西,不过一直以来,我是在拿第一种作法当作第二种问题的解决方式,故而达不到预期效果,从分析来看,应该是符合情理的。


以上仅为一种问题的分析思路,并不一定符合实际情况,仅供参考。

后续针对以上分析研究结论,再行实际修改、调测,希望能如我所愿,达到预期效果,届时再更新本文。



目录
相关文章
|
Java 数据安全/隐私保护 Android开发
Opengl ES之矩阵变换(下)
Opengl ES连载系列
130 0
|
Java API 数据安全/隐私保护
Opengl ES之矩阵变换(上)
Opengl ES连载系列
148 0
|
存储 Java Android开发
Android OpenGL ES(六)----进入三维在代码中创建投影矩阵和旋转矩阵
Android OpenGL ES(六)----进入三维在代码中创建投影矩阵和旋转矩阵
191 0
Android OpenGL ES(六)----进入三维在代码中创建投影矩阵和旋转矩阵
|
Linux
全网首发:分析及解决com.jogamp.opengl.GLException: J3D-Renderer-1: createImpl ARB n/a but required
全网首发:分析及解决com.jogamp.opengl.GLException: J3D-Renderer-1: createImpl ARB n/a but required
258 0
|
存储 API
九、OpenGL 基础变化与矩阵堆栈
OpenGL 基础变化与矩阵堆栈
266 0
九、OpenGL 基础变化与矩阵堆栈
八、了解OpenGL中的向量、矩阵
了解OpenGL中的向量、矩阵
215 0
八、了解OpenGL中的向量、矩阵
OpenGL有关压栈和矩阵相乘
压栈 PushMatrix();矩阵相乘 MultMatrix(mObjectFrame);出栈 PopMatrix();
95 0
OpenGL有关压栈和矩阵相乘
|
机器学习/深度学习 存储 Windows
【OpenGL】二十一、OpenGL 矩阵压栈与出栈 ( 不同类型矩阵变换先后顺序 | 渲染前不设置单位阵 | 压栈出栈原理分析 | 代码示例 )(二)
【OpenGL】二十一、OpenGL 矩阵压栈与出栈 ( 不同类型矩阵变换先后顺序 | 渲染前不设置单位阵 | 压栈出栈原理分析 | 代码示例 )(二)
157 0
【OpenGL】二十一、OpenGL 矩阵压栈与出栈 ( 不同类型矩阵变换先后顺序 | 渲染前不设置单位阵 | 压栈出栈原理分析 | 代码示例 )(二)
|
6月前
|
XML 小程序 Java
【Android App】三维投影OpenGL ES的讲解及着色器实现(附源码和演示 超详细)
【Android App】三维投影OpenGL ES的讲解及着色器实现(附源码和演示 超详细)
126 0