Traditional DirectX lighting models define ambient lighting as coming from all directions, and is added as a constant on all surfaces regardless of the geometry. Ambient occlusion acts as a factor to ambient lighting to take into account the cavities and concave areas in a model, or how much a surface is hidden from its environment.
StaticAmbientOcclusion.rar [6.8 Mb] – VB 2005 (VS.NET 2005)
Continue reading Static Ambient Occlusion
Bloom.rar [10mb] – C# 2.0 (VS.NET 2005)
After seeing a couple of people using nVidia’s Bloom shader and be dissatisfied with its looks and perfomance, and more importantly because my employer asked me to do it, I made a Bloom shader from scratch.
It is highly customizable, supports FSAA and supports Pixel Shaders 2.0 up to 3.0.
Continue reading Bloom
A follow-up to this article with clarifications and corrections to the “real-world considerations” can be found here.
I researched gaussian blur while trying to smooth my Variance Shadow Maps (for the Shadow Mapping sample) and made a pretty handy reference that some might like… I figure I’d post it for my first “Tips” blog post. :)
The full article contains a TV3D 6.5 sample with optimized Gaussian Blur and Downsampling shaders, and shows how to use them properly in TV3D. The article also contains an Excel reference sheet on how to calculate gaussian weights.
Update : I added a section about tap weight maximization (which gives an equal luminance to all blur modes) and optimal standard deviation calculation.
Continue reading Gaussian Blur Experiments
Both downloads are Visual Basic.NET 2005 projects.
Refraction.rar [408Kb] – Simpler first version
Refraction_v2.rar [665Kb] – Second version, now with backface rendering (double-sided refraction) and more test models
A specular-capable, normal-mapped, double-sided refraction shader that can be applied to pretty much any TVMesh, originally asked by forum user WEst.
Continue reading Double-Sided Bumped Refraction
HeightBasedLandscape.rar [152Kb] – C# 2.0 (VS.NET 2005)
A über-simple landscape shader that maps a color ramp to a landscape’s height. Basically, it demonstrates that shaders on landscapes is possible, and can be a nice addition to a visual landscape editor.
Continue reading Landscape Height-Based Coloring
HLSLBluePlanet.rar [8.9Mb] – C# 2.0 (VS.NET 2005)
This demo is the remake of an old 6.2 demo I had made to test materials and lighting. I was always decieved by that lack of proper bump-mapping in 6.2… so I remade it in 6.5 with custom shaders, very high-resolution textures and normal-maps, and even the moon!
Continue reading The Blue Planet
Bullets.rar [1.3Mb] – C# 2.0 (VS.NET 2005)
This screen-space shader simulates the hot-air trail left behind by a flying bullet, with chromatic dispersion; similar to the effect that can be seen in the Slo-Mo mode of F.E.A.R. It was originally made for TV3D forum user BeDi.
Continue reading Bullet Trails