Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

How to enable a 3D rendering in LWJGL

Neon mode Гуру (3119), на голосовании 1 год назад
I wrote LWJGL program, and it can render only 2D, but not 3D. How to enable 3D?
Голосование за лучший ответ
Professional Professional Мудрец (15955) 1 год назад
In order to render 3D objects in LWJGL, you will have to follow several steps:

1. Initialize OpenGL to use a 3D context. You can do this by specifying that you want to use a 3D perspective in your initialization code.

GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GLU.gluPerspective(60.0f, ((float)width)/((float)height), 0.1f, 100.f);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glLoadIdentity();


2. Load or create 3D model data. You can do this by manually specifying the vertices and triangles that make up the 3D shape, or by loading a model from a file.

3. Draw the model in your render function. This typically involves switching to model view, specifying the model position and then calling the function that loads and draws the model.

GL11.glClear(GL11.GL_COLOR_BUFFER_BIT | GL11.GL_DEPTH_BUFFER_BIT);
GL11.glPushMatrix();
GL11.glTranslatef(posX, 0, posZ);
GL11.glRotatef(rotX, 1, 0, 0);
GL11.glRotatef(rotY, 0, 1, 0);
renderModel();
GL11.glPopMatrix();


Please note that working with 3D graphics is much more complex than 2D. It requires understanding of additional topics such as lighting, shading, perspective, depth buffering, model representation and more. You'd need to extensively learn about these concepts to effectively carry out 3D rendering in LWJGL, or in any similar library.

Also note that OpenGL is deprecated in MacOS since version 10.14, and it's better to use libraries which operate with Metal or Vulkan like LWJGL3.
Neon modeГуру (3119) 1 год назад
Thank you very much, young man :)
Neon modeГуру (3119) 1 год назад
Btw, what package is the GLU class in?
Похожие вопросы