Real-time Final Ideas

Below are some ideas for real-time graphics features you could think about incorporating into your final project!

Wobbly Leaves and Pivot Caching: storing vertex attributes in textures, then using vertex shaders to make performant animations.

Wobbly Leaves Tree
Figure 1: Example of Pivot Caching

Pixel Shader w/ Outlines: a simple, if slightly brittle shader (plus, interactive demo).

Pixel Shader Gem
Figure 2: Example of Pixel Shader

Boids: bird-like flocking behavior; something that you might easily add to any realtime project to spice it up a little :) (Another interactive demo).

Flocking Example
Figure 3: Example of Boids Flocking with boid criteria

Wave Function Collapse: generating random maps, etc, using a set of pieces and pre-defined constraints on how they fit together. This algorithm was invented by a current Brown Visual Computing Ph.D. student!

WFC Example
Figure 4: Example of Wave Function Collapse

Portals: lots of trickery involved—mesh and camera duplication, slicing, rotated clipping planes, just to name a few.

Portals Example
Figure 5: Example of Portals

Anime Eyes and Stencil Buffers: render anime-style eyes-over-hair using stencil buffers, the lesser known sibling of depth and color buffers.

Stencil Buffer Example
Figure 6: Example of Stencil Buffers

Noise, Clouds, and (Cheap) Volumetric Rendering: Worley noise and some volumetric rendering tricks help make clouds look good.

Clouds Example
Figure 7: Example of Real-time Volumetric Clouds

"Interactive" Snow: many of the coolest things you see in video games are actually just textures and shaders in disguise. This is another one of those things!

Snow Example
Figure 8: Example of Interactive Snow

Water and Scrolling Displacement Maps: a pretty simple way to efficiently implement something like a lapping / flowing water texture.

Scrolling Displacement Example
Figure 9: Example of Scrolling Displacement Maps

Original list made by Zack Cheng '23.