Archive for February, 2009

I3D 2009 : Day 1

Friday, February 27th, 2009

Today was the first day of I3D 2009. It’s in Boston this year so I don’t have to travel far to attend. I3D is my favorite conference because of its small size and real-time focus. It was great to see many familiar faces and meet some new ones.

The conference starts early tomorrow so I’ll just post a few highlights. These are my high level understandings of the papers, I may be missing the point entirely :)

GigaVoxels: Ray-Guided Streaming for Efficient and Detailed Voxel Rendering

Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre, Elmar Eisemann

The GigaVoxels paper is a sparse voxel rendering technique that improves on some of the limitations of previous work in this area. For example, instead of raycasting the voxels directly (like in the Olick demo that was shown at SIGGRAPH08), 3D volumes are stored at nodes. This enables tri-linear filtering, fixing some of the aliasing previously present in rendering. They also have improvements in storage representation and memory layout (over Gobbetti et al’s work). Definitely want to give this one more of a read later on…

paper link

Multiresolution Splatting for Indirect Illumination

Greg Nichols, Chris Wyman

I’ve been wanting to write something about this paper for awhile. I’ll probably write more later because I have an implementation of this working and have quite a few suggestions for anyone else who is interested in implementing it themselves.

Anyway, this method allows splatting techniques such as Splatting Indirection Illumination by Dachsbacher and Stamminger to operate at multiple resolutions, saving on fill-rate. The intuition here is that for diffuse indirect illumination, high frequency changes in illumination (in image-space) occur near geometric discontinuities. By generating min-max maps of depth and normals, discontinuities can be detected at any resolution, and illumination can be splatted at the lowest resolution possible. A semi-intelligent upsampling technique is used to combine these multi-res illumination images smoothly. I think this upsampling technique could be used in other algorithms with some tweaking. More on this later.

paper link

Hair Self Shadowing and Transparency Depth Ordering Using Occupancy Maps

Erik Sintorn, Ulf Assarsson

Another great hair rendering paper from Sintorn and Assarsson. This one introduces Occupancy Maps, which is basically fast voxelization used in an intelligent manner for hair rendering. The occupancy map, in conjunction with something called a slab map, allows each rendered hair to figure out how many hairs are between it and the camera. If you assume that every hair has the same opacity, you can calculate the alpha value of the nth hair in pixel based on the n-1 hairs in front of it, allowing them to be correctly composited for viewing. On the shadowing side, the same sort of operation can be performed from the light view to figure out a volumetric shadow value for every hair fragment.

paper link

Approximating Dynamic Global Illumination in Image Space

Tobias Ritschel, Thorsten Grosch, Hans-Peter Seidel

I have to be honest that when I first read this paper, I kind of didn’t give it a chance. At first glance, it appeared to just be an obvious extension of SSAO. And judging from some posts I’ve seen on message boards, I’m not the only one who did this. But the fact is that image-space indirect illumination is just a small part of this paper.

In my opinion, the best part of this paper is the directional occlusion information that you get per-pixel. This allows you to incorporate directional occlusion into environment lighting, which looks really nice. I actually had a similar idea, but in a much more expensive approach. When the NVIDIA guys started talking about Horizon-Based AO, it seemed really obvious to me that if you’re going to generate horizon information for AO, you might as well use that information to figure out the region of the hemisphere that is visible. So if you know the size of the “aperture” above a point, you can choose from a few different pre-convolved environment maps to get illumination from the right portion of the hemisphere. Also, calculating a bent normal from the same horizon info allows you to adjust where you sample that convolved environment map. But the HBAO technique is a bit expensive (computing a tangent frame, etc), while the technique in this paper is a little lighter weight, but probably more prone to artifacts. Definitely want to play around with this stuff.

paper link

I look forward to meeting more people tomorrow!