· Become familiar with OpenGL and FLTK (Fast Light ToolKit) at a very basic level. Use OpenGL to draw some basic primitives and FLTK to create a GUI (Graphical User Interface) with some buttons/checkboxes etc.
· Figure out any administrative issues, technical difficulties or other problems.
Required Part:
· Plot the ESI evironmental index for a country of your choice (ESIData.txt). The files contain five values: Environmental Systems, Reducing Stresses, Reducing Human Vulnerability, Social and Institutional Capacity, Global Stewardship .
· Allow the user to change the visualization (bar graph or pentagonal graph etc.) and certain other options such as displaying actual values.
Extra Credit Part:
· Allow the user to input the filename using the GUI. The user can enter data filenames for more than one country. You will need to use appropriate colors/line styles for plotting data for more than one country.
· Provide user interface for selecting colors, changing styles (for example horizontal/vertical bar charts), line styles, widths etc.
· Take a look at the sample program output for UNIX (prog1OutputUNIX) or Windows (prog1OutputWIN32.exe).
· To get started here is some template code that you can use for UNIX (prog1TemplateUNIX.tar.gz) AND (text.h) or Windows (prog1TemplateWIN32.zip).
· The UNIX version contains a Makefile for building the template. The windows version contains Visual C++ project files and FLTK header and library files.
·
Please
note that the windows template is provided just so that you can test your code
on any PC. However the final version of the program must run on the BE 105 Suns.
· To submit the program log on to one of the CATS systems (unix, teach, learn, hawking, etc.) and type
% submit cmps160-skl.s07 prog1 file1 file2 ...
· To check what you submitted type
% peek cmps160-skl.s07 prog1
·
Submit
1. All
source/header files used
2. The
Makefile.
3. A
README file that explains your program in brief. The README is not a substitute
for source documentation. Please make sure that your code is appropriately
documented and indented.
4. Do
not submit the binaries as they unnecessarily fill up the locker space.
· OpenGL Primer: Parts of Chapter 1 and Chapter 2.
· OpenGL: Chapter 1 in the Red Book "Introduction to OpenGL" and also read the first half of chapter 2, up to and including the section on drawing Points, Lines and Polygons.
· FLTK: Chapter 2 & 3 of FLTK documentation.
· C++: You will need to know some very basic C++ fundamentals (classes, member variables/methods etc.)
If you have any questions regarding the programming assignment, please contact Jacob Telleen or Anton Kulikov with a CC to Suresh Lodha.