Notes 98-04-08 -------------- HW1 had wanted us to use delta functions as duals. If you came up with the linear duals, that's just dandy. The Cornell box question: the "real" answer is: any meshing that you do to the floor that ignores the two boxes will have discontinuities where the mesh elements cross the box edges. It won't work very well right there. Pete: Has anybody used like splines for describing the intensity f'ns? Brian: Spline wavelet bases, perhaps. Not sure that was ever used. Harold did. Was not good. Higher-order basis f'ns are okay for the walls of the Cornell box, but for the floor where you have discontinuities, you get ringing. Today: What a good mesh is, and some of the practical problems that come with taking real world models and trying to do radiosity on 'em. 1st decisions: order of mesh and continuity. PW constant/linear we've been looking at. PW const has no coninuity. PW linear can have cont. by using the delta-fn duals or you can come up with linear duals that span the two patches, or you can chop the hats into two pieces. Disadvantage with patches is: if you area-sample them, and you have interlocking triangles, you can have some with pts in the light and some with bases in the light, and artifacts will result. Don't always want to average over the whole area. Other mesh thing is: density - more elements is better approximation. Shape of elements: usually quads or triangles. Sometimes rectangles or parallograms. You want your patches to be as close to circular (regular) as possible. Triangles should be close to equilateral. With quads, the artifacts look like the imperfections you have in walls and floors anyway. "The artifacts look good". It's important that mesh size varies smoothly throughout the environment: going from a region with subtle detail present to one without any detail is visually bad. Need to deal with colinear vertices, coincident (or near-coincident) vertices, and degenerate polygons as a preprocessing phase. Join coplanar surfaces that share edges and same material, etc. to avoid visual discontinuity at boundary due to meshing differences/artifacts. Once we have a big planar shape, we need to mesh it. Simple way is to just triangulate it with long skinny tris. Good thing for rectangular stuff is to turn it into quads. Then triangularize the quads in some smart way, maybe. This is called "multiblocking." If a block is sitting on the floor, remove the block's shape from the floor object since you're gonna have a discontinuity there. Preprocess to find these discontinuity events. [This is all perfect for alex stuff -- it's a design problem] Might also just superimpose a regular grid on top of the original "floor" object. Just chop it up.