如何在OpenGL中使用相机视角渲染和成像?

时间:2014-03-13 09:58:19

标签: opengl-es cocos2d-iphone

enter image description here

好的我已经在cocos2d中使用CCCamera完成了这几天,这里是一个链接: How do you make a CCSprite appear as slanting like the star wars intro?

即将推出的cocos2d版本已不再使用CCCamera了,所以我只是通过OPENGL的硬核方式。

那么我将如何使用OPENGL进行此操作?这仅适用于渲染时的每个图像或精灵。

2 个答案:

答案 0 :(得分:1)

这种相机设置在OpenGL中称为透视投影。精灵中的“倾斜外观”是由于几何体的透视划分。

如果功能固定,您可以使用该功能 gluPerspective(45.0, float(Width)/float(Height), 0.1, 100.0)

请查看this Python example以获取更多详细信息,将矩形替换为矩形。

建议使用可编程管道。 你可以找到介绍here

关于how to implement perspective projection in shader的非常好的教程

答案 1 :(得分:0)

来自Cocos2d的人向我指出了一个简单的解决方案。这是为了覆盖绘制/访问方法并使用OpenGL代码来完成这个技巧。

-(void)visit
{
  kmGLPushMatrix();
  kmGLRotatef( 45.0f, 1.0f, 0.0f, 0.0f );
  [super visit];
  kmGLPopMatrix();
}

我将一个特定节点(Sprites)子类化,现在一切都按计划运行。 但我很感激并完全同意你的答案@Raxvan和@Bansal。

我现在正在深入研究OPENGL编程,这是必不可少的。所以我不太依赖游戏引擎。