具有3d字符的OpenGL 2d位图

时间:2013-10-22 21:56:17

标签: c++ opengl 3d bitmap 2d

有一段时间我一直在寻找一个很好的教程,它教你OpenGL for 2D(bitmapping / topdown游戏)能够添加3D角色,遗憾的是我还找到了一个很好的教程。

差不多2年前,我已经从http://www.sdltutorials.com/完成了2D的SDL教程,但现在我希望能够将3D角色添加到自上而下的游戏中,所以我必须使用OpenGL。

所以,如果你知道一个很好的教程,教你2D OpenGL的基础知识,包括能够添加3D角色和对象,请告诉我!

以下是我希望能够创建的示例:http://imgur.com/BWeIdIS(游戏:Gun Bros),如您所见,世界是在2D位图系统中创建的,但字符是在3D中。

这里有几个我自己发现的教程网站,但不是百分百确定这些网站是否真的可以帮到我:
www.videotutorialsrock.com - 纯3D编程。
lazyfoo.net/tutorials/OpenGL/ - 纯2D编程(这是我认为2D部件需要的基础知识)
www3.ntu.edu.sg/home/ehchua/programming/opengl/CG_Introduction.html - 也是2D,但我还没有看过它。

2 个答案:

答案 0 :(得分:-1)

如果你想深入了解openGL,我会推荐the orange book。我们在课堂上使用它,它有很多非常好的信息。如果您正在为网络开发此内容,我强烈推荐this webGL tutorial。我从那个教程中学到了很多东西。至于自上而下游戏的具体实现,我没有遇到过教程。您可以使用非常简单的.obj,然后对它们进行凹凸贴图。将纹理映射到3d对象需要uv映射。对于uv映射,我是this uv tutorial

的粉丝

答案 1 :(得分:-1)

我无法找到任何你想要的教程,但我确实有想法实现它。

目前在2D教程中你有一个正交相机。而且你可以保留你迄今为止所做的一切。

要在其上施加3D图形,您需要专门用于3D模型和透视相机的相机。

像往常一样渲染2D,然后在其上绘制3D场景。我只能假设您在2D场景中没有使用深度缓冲区,但如果您是这样,则需要在渲染3D场景之前将其清除。

glClear(GL_COLOR_BUFFER_BIT);
SetOrthoGraphicProjection();
Draw2DScene();

glClear(GL_DEPTH_BUFFER_BIT);
SetPrespectiveProjection();
Draw3DScene();

这至少应该让你开始。