So this week's assignment, for me, has been to make some objects.
Well I did that. I made 5 lamps, a barrel, and a crate, and I decided
to do a quick lighting test, because I was worried that the models and
textures alone didn't create enough definition. That worked out great.
Afterwards, I decided to do a mid-scale test of the light-mapping
workflow. That didn't work so great. at all. I had 2 problems: time and
quality. As it turns out, baking light maps in Maya takes considerably
longer than the equivalent render, for some reason. I don't know why.
Well, I can see it taking a bit longer, but not as much as it does.
Secondly, it took a 4k light map texture just to look acceptable. Mind
you, that was only for those 7 objects, not including the floor. The
problem was really just texture bleeding. Both from the space in between
UV shells, and internal, hard edges. The result was that edges that
were cut were outlined with black, which is fixable in Photoshop, and
edges that weren't cut looked soft. If the light across an edge gets
blurred, it looks... blobby. Not cool.
So that
pretty much murders the whole light mapping idea entirely, unless
someone else has a better idea of how to go about it, which is sad,
because that means we can't do nearly as much cool stuff with lighting.
It wasn't a total loss, though. I still figured out how to do make the
lamps work in XNA. In Maya, I used incandescence maps to fake
back-lighting on the paper, there. Essentially, incandescence just adds
directly to the result color. That is, if lambertian shading is light *
diffuse color (where light is sum( light vector . surface normal) across
all lights), then lambertian shading with incandescence is light *
diffuse color + incandescence. Using what I learned from writing the
light map shader, I could pretty easily modify a lambert shader to
include incandescence.

No comments:
Post a Comment