Just wondering if anyone knows of anything i can read or watch that explains 3D graphics. i do not want to use any game engine like jogl etc. but i am looking for a way i can learn in detail how 3D works. preferably in java. I have used some game engines but would prefer to learn to make for myself.

I would also like to do it without the java3d library.

I have also watched some tutorials on 3d games in java, but would like to learn in more detail.


  • 3
    \$\begingroup\$ There's no correct answer to this. It's not a constructive question because of that. See the FAQ about where to get started. \$\endgroup\$
    – House
    Nov 29, 2012 at 4:56
  • \$\begingroup\$ I'm sorry for being a little off topic, but I would like to quote Carl Sagan here: "If you wish to make an apple pie (3d games in java) from scratch, you must first invent the universe." So good luck with that! \$\endgroup\$
    – rootlocus
    Nov 29, 2012 at 7:53

1 Answer 1


There are Engines, and then there are Frameworks or Libraries. JOGL is a library, whereas something like Unity would be an engine. Whilst it's great to avoid the engine and try and do it from the ground up, you will NEED a library in order to work with 3D in any modicum of effectiveness.

You would be most suited looking at something like LWJGL, which is designed pretty much for exactly your situation, someone who wants to work in Java, 3D and not use an existing engine. There are myriad tutorials and resources available via simple searching for it.

  • \$\begingroup\$ is it possible to learn without any of the above? totally from nothing? thats what im aiming for \$\endgroup\$ Nov 29, 2012 at 4:35
  • 1
    \$\begingroup\$ @dfhgdfnhgfn Unless you implement OpenGL from scratch, then no. LWJGL is very low level but provides some higher level features, like input, that you don't have to use. The bare minimum you'll need to do any graphics stuff is JOGL which is simply a java OpenGL binding. There's nothing wrong with using libraries. \$\endgroup\$
    – anthonyvd
    Nov 29, 2012 at 6:25
  • 1
    \$\begingroup\$ Yes, it is possible. You just have to build your own GPU, write a driver for it, and then write a software library that can communicate with it. I'm not entirely sure about this one, but you might actually also need to write your own operating system that can communicate with the GPU as well. Easy! \$\endgroup\$
    – Eric B
    Nov 29, 2012 at 14:08

Not the answer you're looking for? Browse other questions tagged .