Introduction

Home ] [ Introduction ] Installation ] Basic Lessons ] Just Enough C++ ] Advanced Lessons ] Reference Manual ] Packages ] Demos ]

GrafiX is a set of C++ files for graphics and animation programming in a Windows environment using the Visual Studio C++ compiler.  GrafiX provides functions for drawing, coloring, animating, responding to user inputs, and using sound.  The core GrafiX system is extensible by means of GrafiX packages.

With GrafiX You Can

  1. Draw points, lines, circles, rectangles, and about a dozen other basic shapes.
  2. Modify drawings to produce shapes which are hollow, filled, block 3D, or perspective 3D.
  3. Use text in a variety of fonts, sizes, rotations, and alignments.
  4. Change the color of nearly anything: the background, shape boundaries, shape interiors, and text using a wealth of named colors or custom colors.
  5. Alter properties which affect such things as the style and width of lines and how 3D effects are rendered.
  6. Ignore the Windows environment and concentrate on your own graphics.
  7. Work with an animation toolkit that hides the details of double buffering and clock synchronization so that you can begin animating with a few lines of code.
  8. Work within a system in which the literally hundreds of available functions have a consistency of naming and parameters, making it easy to "guess" new functions.
  9. Call ranges which allow animated objects to blend from one color to another, move from one position to another, and change from one position or shape to another.  Any property can be made to change smoothly during an animation.
  10. Use .wav sound files along with your graphics and animation.
  11. Detect and respond to user key-presses and mouse clicks.
  12. Quickly put a graphical face on that graphically-challenged console window program you wrote.  (Anyone for checkers rendered in asterisks on a console window?)
  13. Access a large set of lessons and references for learning and using GrafiX at http://www.carthage.edu/ewheeler/grafix
  14. Customize GrafiX.  The source code is freely available to be modified, extended, or studied.

 

What GrafiX is not

  1. GrafiX is not for anything but Windows.  Sorry.  C++ allows no facilities for graphics other than the ability to call the facilities provided by something else.  I've called the Windows GDI (Graphics Device Interface.)
  2. GrafiX has not been tested in compilers other than the Visual Studio C++ compiler.  In theory GrafiX uses only standard C++ and the Windows API and so should work on many Windows C++ compilers...
  3. GrafiX is not for super-high-speed performance.  First, the GDI is inherently slow compared to something like DirectX.  Second,  I've made ease-of-use for the user the overwhelming priority.  What good is a graphics toolkit to a beginning programmer if it is too difficult to use?  But on the other hand, "slow" by today's standards is blazing fast by the the standards of a few years ago.  GrafiX is sufficiently fast for many applications.
  4. GrafiX is not for sale.  It is free.  I don't want a donations.  I wrote it for my students and for anyone else who wants to have the fun of graphical programming.  If you enjoy it, then let me know.
  5. GrafiX is not Flash(TM).  It is not for importing bitmap images and animating them.  There are plenty of wonderful environments for doing that with which I make no attempt to compete.  GrafiX makes programming graphics easy, but it is for programmers.
  6. GrafiX is not a GUI environment.  There is no built-in palette of button or list box widgets to call into your program.  Again, if that is what you want to do, there are plenty of environments for that.
  7. GrafiX is not spelled correctly.  I know.  But it taps into the mystique of the letter X (Generation X, Direct X, X files, Xbox).

If you have any suggestions for improvements or find bugs, then please contact me: ewheeler@carthage.edu

Home Introduction Installation Basic Lessons Just Enough C++ Advanced Lessons Reference Manual Packages Demos