LWJGL的Billboarding

时间:2013-05-02 21:07:51

标签: opengl 3d 2d lwjgl

我正在制作一部带有3d和2d项目的“2.5D”游戏。我已经创建了3d世界,现在正在处理2d项目。我一直在寻找广告牌教程,但它们似乎都没有用(因为我是一个菜鸟,可能搞砸了)。我需要知道的是如何设置glTranslate和glRotate,以便下一个渲染序列渲染一个垂直于相机平面的对象,换句话说,就像2d但是在3d世界中。

以下是我正在使用的内容:

GL11.glPushMatrix();
GL11.glTranslatef(0, 0, 0);
GL11.glRotatef(360.0f - Player.camera.vector.x, 0, -1.0f, 0); 
GL11.glRotatef(Player.camera.vector.z, -1.0f, 0, 0);
renderDroppedItems();

提前致谢!

1 个答案:

答案 0 :(得分:1)

您的代码中存在错误:

GL11.glRotatef(360.0f - Player.camera.vector.x, 0, -1.0f, 0); 

它应该是:

GL11.glRotatef(360.0f - Player.camera.vector.x, -1.0f, 0, 0);