Where to begin with 3D programming?

closed account (SNybRXSz)
So I want to make a 3d RPG game (Maybe even an MMORPG) and I don't really have any experience with 3d programming in C++.

I have made games before in Java, but never in C++ as I just started learning it recently. I know most of the basics and I am pretty sure I am ready to start mobing on to more complicated stuff.

Yes I know how much work it will take and I will probably have other people who are more skilled then me do the art and design but I would like to get some experience before I worry about any of that.

My main question is where should I begin learning? This is my first time doing anything 3d so I don't really even know what I will have to learn other then OpenGL. I will probably use OpenGL rather than DirectX since I want it to be cross platform. I may learn DirectX later but I would learn OpenGL first.

I am not really sure if this is the right place to post this but I figured that since I am just beginning 3D programming this would work...
For portability you might want to look at SDL, it also handles the audio and input devices.
Firstly, I have to say that just don't start doing anything in 3D at your skill level.
If you wanna get to more complicated stuff, you should go first to basic 2D programming.
There are many good 2D libraries to get you into graphics, like SFML (C++) or SDL (C, works natively in C++).

SFML (http://www.sfml-dev.org/) has pretty nice Tutorials and Documentation about the API, so you should start there.
closed account (SNybRXSz)
I will take a look at SFML and SDL. I have actually done a lot of 2D game programming in Java, just not in C++. I am definitely still getting used to the language even though Java is not super different.

After that though, my question is still the same. VenomDev, you said to look into SDL too, I take it it's good for both 3D and 2D games?
Well, both SFML and SDL are basically done for 2D games. Thou you can use raw OpenGl with them.

My suggest would be to choose one of the 2D libraries (SFML if you like C++ style more and SDL if C style more) and when you handle your 2D good, you can get some of the 3D graphic libraries.
Last edited on
closed account (SNybRXSz)
That makes sense. So I know those libraries include everything you need for the graphics, but do they also include things like the game loop or do you need to make that yourself? Basically is it just graphics or is it a library specifically for making games?
Don't know much about SDL, but SFML supports graphics, audio and network, which is enough for games. For game loop, you usually just do your own game loop like
1
2
3
4
5
void gameLoop() {
while(running) {
//do something
}
}

SDL stands for Simple DirectMedia layer and SFML for Simple and Fast Multimedia Library and both can be used for making games.
closed account (SNybRXSz)
Thanks a lot. I will look into it!
Topic archived. No new replies allowed.