2013-05-02 3 views
1

Я делаю игру «2.5D» с элементами 3d и 2d. Я создал 3D-мир, и теперь я работаю над элементами 2d. Я искал все для агитационных обучающих программ, но никто из них, похоже, не работал (потому что я ноб и, вероятно, что-то испортил). Все, что мне нужно знать, это настроить glTranslate и glRotate, чтобы следующая последовательность рендеринга отображала объект, перпендикулярный плоскости камеры, другими словами, как 2d, но в 3D-мире.Billboarding in LWJGL

Вот что я использую:

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(); 

Заранее спасибо!

+0

Если вы нуб, вы должны сначала научиться OpenGL.There много способы делать афиши в OpenGL, например, точечные спрайты. И в Интернете есть много учебников. Какие учебники вы говорите, на что вы смотрите? Здесь вы должны задать конкретный вопрос. Вы не ожидаете, что кто-нибудь здесь напишет вам все решение? Вот хороший учебник, например: http://www.lighthouse3d.com/opengl/billboarding/index.php?billCheat –

ответ

1

вы должны научиться OpenGL первым, и б ошибка в коде:

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

должен быть:

GL11.glRotatef(360.0f - Player.camera.vector.x, -1.0f, 0, 0); 
Смежные вопросы