I want to make a minimally functioning 3d engine, something Super Mario 64 grade. I'm aware engine programming is difficult, but I'm currently studying CS, so I have knowledge of C/C++.
How to get started with game engine in OpenGL
Other urls found in this thread:
learnopengl.com
en.wikipedia.org
nehe.gamedev.net
twitter.com
bump
have a bump, I attempted this learn OpenGL, learn game engines.
pop LSD & install TempleOS
learnopengl.com
is a good place to learn the basics of OpenGL.
OpenGL ES 2.0 For Android a quick start guide is the best by far I think. Yes it is ES but the knowledge translates perfectly over to the full version and the book really explains all the matrix calculations. Also look at libgdx for making it as well
apt-get install unity3d-for-human-beings
Use the library SDL2 in C/C++, whatever you choose.
You can probably get a window up with some input control in an afternoon, then start looking into OpenGL.
Find some tutorial online on how to create and use shaders. Just DuckDuckGo something like "SDL and opengl", you'll find tons. You can probably get a basic 2D quad rendered in a weekend if you spend enough time. From there its just adding more and more support to the basic system you have. Move to 3D by adding new proj/view matricies, create lights via Phong lighting model, normal mapping, bump mapping, parallax mapping, etc. Its all just basic shaders and the data sent to them.
You want to write a graphics engine or whole game engine? Because the latter is composed of many parts, including graphics, sfx/music, physics, asset support etc.
Anyway, start by reading on en.wikipedia.org
>physics
classical mechanics
>I want to make a minimally functioning 3d engine, something Super Mario 64 grade.
You want to do something that took Nintendo an elite programming team and hardware people many years? Be realistic.
Actually it's not that crazy, it took years then but opengl will ease things up and it's not like op is trying to make a commercial engine, sounds like he's just learning. I did the same thing a few years ago and I found the neon helium tutorials to be the best resource for me.
nehe.gamedev.net
>nehe.gamedev.net
I'm doing the same, good luck to you OP!
Correct me if im wrong but I think the nehe tutorials are considered depreciated
Use Vulkan, it's better
How is it compared to OpenGL?
Maybe but they can still be followed and you can bet chaining transformation matrices together hasn't changed too much. I'm sure it's still a good learning resource.
PyOpenGL
>shilling the low level meme
enjoy thousands of lines of boilerplate code
Look at DOOM
OP if you are just getting started I would highly suggest picking up this book. It's the closest thing to an official tutorial that there is. You don't need to read the whole thing but in order to make a basic 3d engine with modern technology you'll need to have a pretty strong grasp on:
- 3d geometry, matrices and vector calc
- GPU operation & memory management (shaders, programs, textures, buffers, vertex arrays)
- lighting algorithms (gouraud, phong)
- the rendering pipeline (projection, matrix stacks, z buffering)
In addition, if you want the game to not be shit then you'll probably need to familiarize yourself with:
- rudimentary newtonian physics, so you can actually move stuff around convincingly in the world
- 3d modeling to make things to put in your game (use blender)
If it's for learning that's not a bad thing.