Graphical Programming in C++

Hello! I was wondering if can give me advice on graphical programming. What I mean by this is I want to be able to program with graphics, so I guess like a video game. Also, I want to know how to do win32 programming. I have searched many sites but I haven't found one that has meaning to me. Any help would be appreciated!
Then you probably havent checked http://www.cplusplus.com/articles/
I would recommend SFML and Open GL
OpenGL and DirectX are both good. I've found just installing SFML can be a pain, but I can't say much past that. I hear good things about it though.
I had SFML installed for a while and it was really good. It made OpenGL much easier to work with. However I got a new machine and the installation process for SFML is just not worth it. Everytime I set it up, it takes me 10+ hours. Boost (which is way more complicated) only took me about half an hour (including compilation time).
SFML is really no more difficult to set up then any other external library. Compile libs compatible with your setup and set your include and linker settings correctly (this is where I believe most of the trouble is). I set up SFML2 with a fresh code::blocks install a few days ago with no issues. I'll try in a VM if I get some time and see if I can come up with some straight forward instructions.

Side note: I am having some issues with SFML.Net, but has nothing to do with installation.
Last edited on
if you want to do Graphics, first of, what dimension are you aming for? 2d or 3d?

if 2d :
SDL is a good way to start, it´s easy and easy to use and got tons of good tutorials and docs.
you can find a good start into sdl here :

http://wiki.libsdl.org/moin.cgi/Tutorials
http://lazyfoo.net/SDL_tutorials/

if 3d:
OpenGL & DirectX are abit harder to get started with than 2d, in most cases 2d dont use advanced stuff like the 3d api´s do.

Both GL&DX is good api´s (I Prefer dx on pc and OpengGL ES on other devices)
To get started with one of them on a pc, you probablt should look at some windows api code, but you dont need to realy know every corner of it to be sucsessfull.

And to add, you got to know what graphics card you have when chosing a apropriet version of this SDK´s, since the latest requier a pretty good card. (with tessellation and stuff).


A good place to start with dx 9-11 is :
http://directxtutorial.com/Tutorial9/tutorials.aspx
http://directxtutorial.com/Tutorial10/tutorials.aspx
http://directxtutorial.com/Tutorial11/tutorials.aspx

Aswell as skimming around in the DXSDK, wich you will need to be able to dev towards dx.

A good place to start with og is :
http://nehe.gamedev.net/
http://www.khronos.org/developers (opengl es)

And to get more help around gamedeving and graphics and stuff, check out
http://www.gamedev.net/

Lots of talk in the forum and hobby projects to dedicate your time to.

Cheers :)
Thanks for the help everyone! It seems like the top choices are Open GL and SMFL (and maybe Direct X). Can someone tell me the goods and bads of all of them? Also, what IDE should I use? At the moment I use Code::Blocks but I have visual studio installed.
Your IDE isn't a big deal. But code::blocks and VS are both good. VS seems to have more overhead and run slower though.
We can argue all day over OpenGL and DirectX. I like both, but DirectX is for Windows only, and OpenGL and cross platform. For starting out, that's all that really matters. I wouldn't say one is easier than the other.
If you choose DirectX then use Visual Studio, I don't think other IDE works without issues with this.
I prefer using Visual studio, Visual Studio is allso a industry standard so it´s good to know and know how to use.

As ResidentBiscuit states, We can argue all day long over OGL or DX, the one dont make more difference than the other, they do the same thing. Render triangles.

but i can list some pro´s & Con´s about DX (not on ogl since im working with dx with dx only nowdays)

Pros -
MS supports the development and have lots of cash.
It´s free to use.
the debugger is greate!
the pix debugger is super greate!

Cons -
Bad documentation on some subjects.
Bad tutorials on internet explaning all the basic stuff.
Can be hard to get into for the first time.

And ofc, this is a personal view, and may differ from person to person!
Feel free to add your own pro/con list.
Topic archived. No new replies allowed.