iPhone 3D Programming
Bounding Box Computation with the GPU
Hoppe Subdivision
Noop's Odyssey
Tetrita
Bloom Tutorial
Flatland
PBRT Plug-Ins
Catmull-Clark Subdivision
PerfHUD ES
GLSLdemo
deLight
Color Charts

iPhone 3D Programming



I wrote a book on OpenGL ES development for Apple devices.
(go to O'Reilly)


Bounding Box Computation with the GPU



I wrote a gamedev.net article on how to compute a bounding box using DirectX 10.
(go to article)


Hoppe Subdivision


Loop's subdivision with a small stellated dodecahedron

without moving old vertices

with creases as described by Hoppe et al in Piecewise Smooth Surface Reconstruction


These images were generated with an OpenGL program that I wrote in vanilla C.
(hoppe.zip) (hoppe.tar.gz)


Noop's Odyssey


This is a silly game that I created in my college days.
(download Windows installer)
(watch a video)





tiny cross-platform OpenGL Tetris clone in C
(watch a video)

tetrita.tar.gz 328k source code with unix line-endings
tetrita.zip 640k includes win32 binary and source code
tetrita.exe 592k standalone win32 binary


Bloom Tutorial



how to make bloom effects with OpenGL
(go to tutorial)


Flatland



2D physics library at SourceForge.net
(go to Flatland home page)
(watch a video)


PBRT Plug-Ins


union (no CSG)

difference

intersection


outputing PNG film
pbrt-1.02/film/pngfilm.cpp
pbrt-1.02/win32/projects/pngfilm.vcproj

CSG intersections
pbrt-1.02/accelerators/csg.cpp
pbrt-1.02/win32/projects/csg.vcproj

parameterized pbrtObjectInstance (useful with the CSG plug-in)
pbrt-1.02/core/api.h
pbrt-1.02/core/api.cpp


Catmull-Clark Subdivision



tiny C++ OpenGL program that demonstrates Catmull-Clark subdivision
(download source zip)


PerfHUD ES



NVIDIA's graphics debugger tool for embedded devices
(watch a video)


GLSLdemo



demo for GLSL shaders that I wrote at 3Dlabs
(watch a video)


deLight



demo for lighting techniques that I wrote at 3Dlabs
(watch a video)


Color Charts



color charts for programmers
(go to color charts)