Where to begin with 3D programming?

Oct 28, 2014 at 7:22am
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...
Oct 28, 2014 at 8:02am
For portability you might want to look at SDL, it also handles the audio and input devices.
Oct 28, 2014 at 8:50am
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.
Oct 28, 2014 at 9:18am
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?
Oct 28, 2014 at 9:41am
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 Oct 28, 2014 at 9:42am
Oct 28, 2014 at 11:18am
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?
Oct 28, 2014 at 11:55am
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.
Oct 28, 2014 at 12:06pm
closed account (SNybRXSz)
Thanks a lot. I will look into it!
Topic archived. No new replies allowed.