Question

I don't know if I should use opengl to make my game, or a game engine. I have decided on java, so I would use lwjgl to work directly with opengl, and if I were to use a game engine I would probably use JME3.

Personally, I hate using things without understanding them. That is why I want to use opengl, so I will learn about graphics, the raster engine, etc. However, I've been studying what opengl does a bit, and It seems like it abstracts many things for you, like the matrices that are used for rasterizing, back face culling, and more.

The raster process was the thing that most intrigued me to use opengl, but since it seems that opengl abstracts this for you, should I just use a game engine instead of opengl?

Was it helpful?

Solution

Quite a lot! OpenGL's a rendering library, where a game engine usually does considerably more, and may even use OpenGL for the rendering it requests. Some potential techniques that you'd need to implement yourself if you use only OpenGL would be:

  1. object culling methods - view frustum culling, portal culling, etc.
  2. render-state management - optimizing your rendering activities by organizing the drawing of objects by common rendering attributes (e.g., color, textures, etc.)
  3. scene graph management - most game engines store objects in a hierarchical data structure, and traverse that data structure to determine what actions should occur per frame (e.g., who should be drawn; updated positions, velocities; etc.)

All of these are great techniques to learn, if you have the time and are doing it for the experience. If you want to ship a "product" (i.e., where the game's the goal regardless of technology), then use a game engine - you'll save tons of time.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top