I've learned the basics of c++

Now, I want to develop and enter the graphics world, Any suggestions?

Recommended Answers

All 5 Replies

Well, the first thing to know is that C++ doesn't have any standard graphics system the way that, say, Java does. So the question of the platform you are working on (e.g., Windows, Linux, MacOS) is relevant. You also need to decide if you want to target just that one system, or several systems; if you have only a single system in mind, you can use the API of the system directly, but if you want portability, you need to use a third-party library such as Qt, GTK+ or wxWindows, which abstract the user interface in a way that does not reference system-specific directly.

Even if you are targetting a single system, such libraries are often a better than the raw system API in any case, as they are usually designed with programmer convenience in mind.

Note that even with a portable UI library, you'll still need to be aware of the differences between systems and their capabilities. Just because the library you are using is portable doesn't automatically make the program work on all the platforms.

The next thing is the question of what you are trying to build. If you are looking for a conventional UI, then the libraries I mentioned are the sort you'll need. On the other hand, if you are looking to do game programming, that would take an entirely different set of libraries, and possibly a full rendering engine, and which one would be most appropriate would depned on the kind of game you are writing. For really high performance graphics, like in a modern professional-quality game, or a video editing package... well, let's not get ahead of ourselves, shall we?

So, if you could give us more information about your goals, we'd be happy to help out.

To add to what Schol-R-Lea said, there are a large number of graphics libraries for C++, many of which can be used on many operating systems (Windows, Linux, OSX). A very popular one is Qt. It is powerful, robust, and very cross-platform. I have used it without much fussing on Windows and Linux, both.

I am not a real software developer therefore I won't understand some words of what you are saying but from what I understand is that you want me to use an alternate system, What do you suggest and where to start?

Not an alternate system; a way to make it easier to use the system you have.

Put simply, if you want your operating system to show graphics, you have to ask it nicely. Your operating system, or the chosen window manager of your operating system, will have provided a number of functions for you to call to do this.

As a general rule, this will be rather difficult.

Because it's difficult, a number of libraries have been written to make it simpler for you. You ask the library, the library asks the operating system for you.

What do you mean when you say you want to do graphics? Do you want to be able to show an image file on screen Do you want to be able to draw straight lines and other shapes and colours yourself? Do you want complete control over every pixel colour in a window? What are you trying to do first?

i was about to recommend SFML-dev.org or libsdl.org, but nevermind.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.