首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将投影矩阵移动到特定的X,Y,Z点?OpenGLES 2.0 - iOS

将投影矩阵移动到特定的X,Y,Z点?OpenGLES 2.0 - iOS
EN

Stack Overflow用户
提问于 2013-10-28 18:22:23
回答 1查看 828关注 0票数 3

假设我正在使用下面的代码设置一个投影视图:

代码语言:javascript
复制
float aspect = fabsf(self.view.bounds.size.width / self.view.bounds.size.height);
GLKMatrix4 projectionMatrix = GLKMatrix4MakePerspective(GLKMathDegreesToRadians(65.0f),     aspect, 4.0f, 10.0f);    
self.effect.transform.projectionMatrix = projectionMatrix;

如果我现在想让镜头看到我的场景中的一个特定点,我如何才能最好地做到这一点?目前,我正在更改modelViewMatrix,以移动对象,使其以视图为中心,但我想知道是否可以通过某种方式操作projectionMatrix来实现同样的目标。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-28 23:23:29

任何好的3D编程基础教程(比如这一个)都会告诉你.

  • model 矩阵将顶点坐标从模型空间(指定网格的坐标空间,通常不知道要在场景中放置模型的位置)转换为世界空间(场景的概念空间)。
  • 视图矩阵从世界空间转换为眼睛空间(即相对于与场景竞争的“摄像机”的坐标系统)。
  • 投影矩阵从眼睛空间转换为剪辑空间(a-1.0到1.0立方体表示屏幕加上一定的深度,然后GPU将其转换为像素空间)。

投影矩阵已经相对于视点起作用了--你已经确定了眼睛的位置和它所看到的点,所以投影矩阵只改变你的视场角度,纵横比,以及近和远的剪贴面。如果要更改所查看的点,请为视图矩阵指定不同的LookAt转换。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19642263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档