Page 1 of 1

Creating own simple 3D engine

Posted: Wed Nov 30, 2016 8:15 pm
by Heldighenrik
Hi

Im completely new to this topic, but I would like to learn how to create my own 3D engine. A simple one which can show a 3D tetrahedron for an example. It doesn't need to be in realtime or anything fancy like that.
It's a huge topic, and i've had trouble finding a starting point. I know the basic math needed to create the objects, I just dont know how to create them in a computer. Any help is much appreciated.

Regards,
Heldighenrik

Re: Creating own simple 3D engine

Posted: Wed Nov 30, 2016 8:32 pm
by CuteAlien
Study an opensource engine (like Irrlicht...). In our case the most important stuff to get started would probably be the devices (that's the stuff to set up a window and make it fullscreen etc) and the drivers (those are the classes which send the 3d data to opengl or direct3d).
So for Irrlicht it could be CIrrDeviceLinux (or CIrrDeviceWin32 if your are more interested in that) and COpenGLDriver. Those 2 classes should give you a basic idea how to communicate with the operating system and with the graphic card drivers.

Re: Creating own simple 3D engine

Posted: Wed Nov 30, 2016 9:36 pm
by Heldighenrik
Thank you, im gonna take a look at it tomorrow. Didn't expect an answer so quickly. I'll give a heads up in this thread if there is anything that confuses me.

Re: Creating own simple 3D engine

Posted: Tue Dec 06, 2016 7:36 am
by Virion
I've been learning 'raw' OpenGL 3 (core profile) lately and the math is driving me nuts xD

Re: Creating own simple 3D engine

Posted: Tue Dec 06, 2016 10:32 am
by CuteAlien
There is a good book out there: Game Engine Architecture from Jason Gregory. It also contains a lot of general game programming basics. And some nice math chapters about the usual vector/matrix math you need in 3D.

Re: Creating own simple 3D engine

Posted: Tue Dec 06, 2016 11:51 pm
by REDDemon
When you will realize how to do it and how much time it takes to change from your version to what you think is now good. you could already have done several games.

Re: Creating own simple 3D engine

Posted: Wed Dec 07, 2016 12:47 am
by Mel
That's one of the major disadvantages of the current 3D API, the time they take to learn... but then, if they were easy, there wouldn't be that many engines, right?

Anyway, i'd start also by pointing something. You're doing an engine... for what? a 3D engine per se isn't really appealing. If you're doing a game you might want to have an engine for that specific game, if your aim is to create physical visualizations, perhaps you want to focus on precission instead of speed. I'd say that you had something in mind for what you need an engine, and if the current engines don't fill your needs, well, go ahead and build one.

Also, a great help could be a maths library and GLM, for instance gives a lot being focused mainly on OpenGL, so it might be your shot at maths libs. Good luck!

Re: Creating own simple 3D engine

Posted: Wed Dec 07, 2016 8:27 am
by Virion
I would suggest you to try several game engines first (unity, ue4, gamemaker, etc.), it will help you to understand how a game engine works before trying to make your own (most of the time you will be reinventing the wheels anyway). I personally used quite a number of game engine before, I just learn OpenGL for fun.