CS 455 Lecture 11 – Perspective and Camera
Before Class Perspective Watch http://youtu.be/k3dhGlAx_DA. For another perspective, read http://www.songho.ca/opengl/gl_projectionmatrix.html. Camera Watch http://youtu.be/-c62eQ_QpBE. For a similar implementation, read http://ogldev.atspace.co.uk/www/tutorial13/tutorial13.html. In Class It’s time to test out that perspective projection with long corridors. Your task in this class is to code up a maze traverser. Grab the maze.obj file in W455. The entrance to the maze starts roughly at (0, […]
Feature 2 Post Mortem
Generating terrain from a height map was not necessarily a very difficult task, but of course, I managed to make it difficult anyway. Honestly, the craziest part for me was simply figuring out how to actually access the pixel color values of an image. I scoured the web for simple ways to read in a .png file […]
CS 330 Lecture 15 – Makefiles, For Real
Agenda what ?s the need for separate compilation the way to manage separate compilation: make polymorphism in C: unions TODO Write a midterm exam question on something you read or something discussed in lecture. Turn it in on a quarter sheet. Some portion of the upcoming midterm will be comprised of your questions. In addition […]
CS 455 Lecture 10 – Terrain and the Diamond Square Algorithm
Before Class Terrain and the Diamond Square Algorithm Watch http://youtu.be/WqnEnkx_svM. Read http://www.gameprogrammer.com/fractal.html. In Class It’s a work day.
CS 330 Lecture 14 – Postfix Calculator and Make
Agenda what ?s hw2 grading script ready and untested program this! making stack reusable managing compilation with make TODO Read section 8.3 in your book. Quarter sheet. On the valgrind logo: http://valgrind.org/gallery/artwork.html. Program This Code strappend.c stack.c stack.h stack_user.c Haiku
CS 330 Lecture 13 – Data Structures in C, Make
Agenda what ?s riddle variable-length arrays distinct ideas: memory is addressable heap memory can be allocated dynamically generating stereo tones pointer arithmetic a stack data structure without classes typedef separate compilation and header files a postfix calculator managing separate compile with make Variable-length Arrays The C99 standard allows arrays whose sizes are only known at […]
CS 455 Lecture 9 – Trackball Interface and Lighting++
Before Class Trackball Interface Watch http://youtu.be/CT1WO7gTls4. Read http://www.opengl.org/wiki/Trackball. Lighting++ Browse https://www.google.com/search?q=cel+shading+opengl&tbm=isch. Watch http://youtu.be/urgJXkjyVIU. Read pages 50-54 and 97-100 in your book. In Class Implement per-fragment toon shading using a positional light source. Use the right-mouse button to place the light source on a virtual sphere centered over your viewport. If you have time, use the left-mouse button to apply trackball […]
CS 330 Lecture 12 – Malloc, Classless Data Structures, and Make
Agenda what ?s what does this do? two primary reasons for heap storage: functions can return data cheaply memory needs not always known at compile time an EZMALLOC macro aplay -c 2 -f S16_LE -r 22050 file pointer arithmetic fopen, fwrite, fclose a stack API the need for separate compilation and header files makefiles What […]
CS 455 Project
See the PDF.
CS 330 Lecture 11 – Call by *, Addresses, Malloc
Agenda what ?s call by value call by reference dereferencing: turning an address into a value what pointers support cheap sharing multiple “return” values functions returning data: make_path the heap aplay -c 2 -f S16_LE -r 22050 pointer arithmetic malloc and free TODO Optionally, for the curious: http://cm.bell-labs.com/cm/cs/who/dmr/chist.html. Read sections 3.7 and 3.8. Quarter sheet. Code […]