CS 455 Lecture 16 – Specular Lighting
Agenda what ?s diffuse lighting in eye space positional lighting vs. directional lighting specular reflection TODO As a lab exercise, implement specular lighting in the specular project. Send me a screenshot of your scene with highlights. Haiku
CS 330 Lecture 23 – Cisms Cont’d
Agenda what ?s enums and type safety the C preprocessor macro danger dynamic memory allocation memory allocation When do I dynamically allocate memory? When you don’t know how much memory you’ll need at compile time. You don’t know if the size depends on a function parameter. When you allocate memory within a function but need the […]
CS 455 Lecture 15 – Camera
Agenda what ?s where we are adding another space a Camera class the lookat function the view matrix advancing rolling pitching TODO Start Seen Scene homework. The specification’s not written yet, but it can be summarized as follows: construct a scene comprised of at least five lit and textured objects. As a lab exercise, add […]
CS 330 Lecture 22 – Cisms
Agenda what ?s exams Cisms types sizeof headers dynamic memory allocation addressable memory polymorphism Code sizes.cpp blackjack.c Haiku
Blocks as a Gateway
Since starting work on Madeup, I’ve been trying to read everything I can on procedural design. My most recent discovery is John Maeda’s Design by Numbers. The author makes it his mission to teach programming principles by drawing on a 100×100-pixel canvas with a very simple language called DBN. In chapter 6 of his book, which discusses […]
Madeup Circulating
Last week I started a Kickstarter campaign to support summer development for Madeup. The support I’ve found amongst my former students and coworkers has been very encouraging. I’m not surprised, however, because they are good people. What’s been more surprising is the support of random strangers. A Google search of madeup kickstarter reveals the following: […]
CS 330 Lecture 21 – Languages Working Together
Agenda what ?s calling C++ from Java strings arrays TODO Start the Timbre homework. Code Main.java Logger.java native.cpp makefile Note to copy and pasters: makefile rules need to be indented with real tabs, not spaces. Main.java Imogene.java native.cpp native.cpp.ours makefile Note to copy and pasters: makefile rules need to be indented with real tabs, not […]
CS 455 Lecture 14 – Perspective
Agenda what ?s the limits of orthographic perspective matrix derivation TODO As a lab exercise, alter one of your renderers to use a perspective projection. (Add a GetPerspective method to Matrix4). In orthographic projections, which don’t really have a physically realistic concept of an eye, we can put the image plane wherever we want, even […]
CS 330 Lecture 20 – Static vs. Dynamic
Agenda what ?s static vs. dynamic polymorphism in C enums in C enums in Java TODO Exam on Wednesday. Roughly, we’ve talked about the shell, regex, grammars, modeling programs with abstract syntax trees, assembly, and types. On Friday, we’ll be discussing JNI, which will be used in the next homework. Code charAt.html Haiku
CS 330 Lecture 19 – A Type Dichotomy
Agenda what ?s system vs. programmer-defined strong vs. weak static vs. dynamic TODO For a 1/4 sheet participation point, compose a midterm question about some topic we’ve discussed so far this semester. Follow these guidelines in forming your question: The question should require cognitive processes to answer. Merely recalling trivia does not. You can look […]