Math 155A - Introduction to Computer Graphics Fall 2022
Instructor: 
Sam Buss,  University of California, San Diego

Project #0 - Learn to login and use Visual C++ with OpenGL, GLFW and GLEW

Goals:  In this assignment, you get oriented to using Visual C++ or other development environment, learn how to create a new C++ programs, and learn some simple debugging techniques.  See the "Summary of Work" at the bottom of this document for a list of what you must do.

DUE DATE: Friday, April 1, by 11:00pm.

What to hand in:  When you successfully complete this assignment, you fill out a google docs form as described below, and answer the questions that are included with the assignment.  You may in addition post related questions and answers to the piazza bulletin board.

The google form for your answers is at: https://forms.gle/oYscdjwxoMN5QMDTA.

If you have problems and cannot complete the work by the due date, you must promptly contact Professor Buss or one of the TAs to discuss the problems.

Turn in procedures (Only for Future Assignments -- NOT THIS ASSIGNMENT.)  You will upload one or more source files and a PDF file. Grading will be personalized and one-on-one in a zoom session with Professor Buss or one of the TAs.

OpenGL will run on many environments, including Windows, Linux, and older Macintosh systems.  See the "Graphics resources on the main course web page for help on getting your computer to work with OpenGL. You are recommended to do your work (A) on the APM Computer Lab computers, or (B) on CloudLabs at cloudlabs.ucsd.edu, or (C) on your own computer, or some combination of these.

FOR PROJECT #0, PLEASE DO THE FOLLOWING STEPS #1 - #3.

1.      Be using a system with Visual Studio C++ and associated GLEW and GLFW files on a Windows machine (possibly via cloudlabs.ucsd.edu), or using a similar environment on a non-Windows machine.

2.      Download the PDF file VChelp.pdf. Follow the instructions in that document. (The full URL for this file is http://www.math.ucsd.edu/~sbuss/CourseWeb/Math155A_2022Spring/Project0/VChelp.pdf.)

3.      Write short answers for questions A, B, C, and D.

4.      Fill out the google form at, at https://forms.gle/oYscdjwxoMN5QMDTA; answering the four questions; and letting us know whether you have finished the assignment. If any of your answers are long, please consider emailing Professor Buss with them, or, even better, posting to the piazza.com course bulletin board.

Congratulations: you have learned how to use Visual C++. Summary of work:  You should have completed the following tasks:

1.      Setup a Visual Studio C++ development environment, or other development environment on your own system, or on cloudlabs.

2.      Created a new HelloWorld project.

3.      Learned how to use the interactive debugger, including
a.  How to set a breakpoint,
b.  How to single step through your code,
c.  How to watch the value of variables as you single-step through the code, and
d.  How to step into a function call.

4.      Downloaded, compiled, and run the SimpleDrawModern program, using Modern OpenGL with GLFW and GLEW.

5.      Experimented with different color values.  Seen an example of how the values for Red/Green/Blue (RGB values) affect the color you see on the screen.

6.      Learned how an OpenGL program can receive key strokes as input.

7.      Grading for future project will be done in-person in the APM computer labs. If not using the lab machines or cloudlabs, you should learn how to compile, run C++ with OpenGL code, and how to transfer code to the lab and get it to work there under Visual C++.

DUE DATE: Friday, April 1, by 11:00pm. Please email the instructor and TAs if you are not able to meet the due date. This can be done with a private piazza post.

---------------------------------------------------------------------------------------------