What is a good C++ Framework?

Started by
4 comments, last by Dave Hunt 10 years, 10 months ago

Hey guys I have been practicing C++ a bit and I wanted to know which frameworks are good for Windows games? OpenGL, Allegro, SDL, or DirectX? Right now I'd rather use a more community based framework(Or SDK) since those tend to have more tutorials for beginner level programmers!

Advertisement

there is no one good framework they are all good frameworks.

you need to realize that some are cross-platform and some don't like DirectX

for a beginner level is should recommend SDL or SFML good for 2D programming.

SDL supports also Sounds.

you can also try DirectX or OpenGL . The only THING that you need on DirectX is a Windows OS machine

DirectX supports both dimensionals (2D (Direct2D) and 3D (Direct3D))

OpenGL is Also very good but is quite hard for people who just started programming (beginners level) but there are some books for that :D

also OpenGL supports 2D en 3D but OpenGL is actually mostly for 3D.

if you want to use OpenGL you can start with GLUT and later use Glew

see they are all good frameworks it's actually how you want to develop you're self by (learning)

if you don't know nothing about graphics development is strongly recommend using SDL or SFML biggrin.png .

i hope i've informed you enough :D

regards

HyperV

Hey guys I have been practicing C++ a bit and I wanted to know which frameworks are good for Windows games? OpenGL, Allegro, SDL, or DirectX? Right now I'd rather use a more community based framework(Or SDK) since those tend to have more tutorials for beginner level programmers!

Everything uses OpenGL or DirectX under the hood. If you get started with SDL, SFML or Allegro (or any of the others I don't remember offhand) you can later add in some low level OpenGL code of your own, or even stop using the framework's high level graphics facilities entirely. In that situation the framework would still serve you for input, networking, etc.

You need to ask yourself, what is your motivation, and what do you want to learn or produce from it,
With the answers of these questions, you can find a framework that suits your needs.

For instance, if you want to learn how to use a pretty high level framework, use SFML. However SFML can also be used for low-level OpenGL programming too.

If you want to be individual and invent the wheel again, then create everything yourself using Windows API and OpenGL/Directx contexts to setup some nice graphics.
When it comes to the decision between OpenGl and Directx, you need to compare your experience level with your program specifications. Today, Directx is so simple to implement using Visual Studio 2012, and the Windows SDK. It even exists a template for it. So you don't need to use time to setup, but can code right away. Unfortunately, it will only work on windows. Use OpenGL if you want to support a lot of platforms, but keep in mind that OpenGL is harder to learn, especially in the beginning. Also, if you are not experienced with cross-platform coding, you will pretty fast find it a nightmare from time to time, since compilers work differently. So your code may look as a mess, because of all the compiler specific stuff. However it is a good thing to learn how to structure code for more than one platform. And remember the best way to learn is by your faults.

But again, what do you want? If you want to learn as much as possible, then you better invent the wheel again. And if you want to make a game, and you got a team of artists, then stick to UDK, Unity3D, Torque3D, C4 etc.

I found allegro to be very simple comparatively. Especially using Mike Geig's tutorial http://fixbyproximity.com/2d-game-development-course/

This question has been asked at least a thousand times and a quick search of the forums would turn up plenty of thoughts and opinions on the subject. Do we really need yet another one of these threads?

This topic is closed to new replies.

Advertisement