Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to use graphics and sound in C?

  1. Aug 23, 2008 #1
    I would like to write a C program that outputs graphics and sound.
    I use DevC++.

    How can I do it?
  2. jcsd
  3. Aug 23, 2008 #2
    Well, what type of graphics? Aimed at what operating system? In windows, you can use GDI (graphics device interface) to do 2D vector graphics, and also use bitmaps. You might want to use a cross platform graphics library such as OpenGL to do your graphics if you want to port your application to other operating systems.
  4. Aug 28, 2008 #3
    I don't know anything about graphics types. I just want to find any way to put colored points on the screen on the specified coordinates calculated in C. I use windows. Can you tell me more about GDI? Is this a program that I can download? And how can I transfer information between C and GDI? I suppose data calculated in C must be put to a file in a specific format?
  5. Aug 28, 2008 #4


    User Avatar
    Science Advisor
    Homework Helper

    GDI is the Windows graphics subsystem - it's the set of commands to draw a point/line etc in a window. There is also opengl, a more complicated but industry standard way of drawing 2d and 3d objects.
    Look at http://www.codeproject.com/KB/GDI/ for samples of windows programming, I assume from the dev c++ you are on windows?.
  6. Aug 29, 2008 #5


    User Avatar
    Staff Emeritus
    Science Advisor
    Gold Member

    You cannot do these tasks directly from C/C++ alone -- you need to use some kind of a library. The GDI is an interface to Windows directly, and I advise that you do not use it. It's very cumbersome and, of course, locks you into using Windows.

    Instead, I'd recommend that you take a look at the various cross-platform GUI toolkits and pick one that suits your needs best. wx, Qt, and GTK+ are all good choices.

    Using these toolkits from C/C++ is by no means easy. You'll actually need to be a fairly sophisticated programmer to use them. As a result, I strongly recommend ditching C/C++ entirely, and using a platform like wxPython for your work.

    - Warren
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook