Normals, smooth animation & music
Published September 29, 2009
Hello everyone!
I'm still fighting with proper lighting in Ogre shaders. I've redone Berserk mesh, by manual silhouette outlining, as a result I've got cleaner normal map, however during render there is a still a bunch of unsightly bugs on it. In spite that World Space Normals gave benefits to avoid any addition calculation in shader related to tangent space & stuff, I've concluded that idea with these normals don't worth it, because:
World space normals need higher texture resolution to get same smooth result - but that not the worsest, I guess data amount is comparable with providing "normals & tangent vectors information with mesh data + tangent normal map" On UVW Unwrap borders of the mesh there are visible darken areas, because normal blends with background. It is solvable by disable antialiasing during normal map rendering, however light fracture is visible anyway in place where UVW was unwrapped. As an example, let's consider ring as a mesh. When you're unwrapping continuous, looped 3d ring surface to non-wrapped 2d surface, there must be a cut somewhere, so along this cut you'll see fracture during rendering, because normals, which was naturally blended on 3d mesh, can't be blended anymore because they're located on the opposite borders of the texture. This issue can be solved in some particular situations by using 2d texture wrapping (for example, I still believe that for continuous mappings, like Spherical mapping, it'll work flawlessly), but generally for complicated unwrapped mesh this is not possible. Tangent space normal maps almost lacks this problem (or the effect is neglible), because they're representing just a deviation from regular 'normal map'. On World Space Normal map you simply can't draw additional noise, make corrections in Photoshop. I'm tired to cope with a number of issues & bugs in export software, relating World Space Normal maps. I guess it happens due to infrequent usage of this kind of maps.Anyway, normal maps issue is solvable. I started to make smooth track approximation by having only 3d points & orientation in point. I was trying to use
OgreQuaternion::Intermediate, OgreQuaternion::Squad API, however it seems nobody really knows how these 2 functions are working coupled. So, after observing some twitching weird rotations with my Berserk's, I've read some documents and found
SimpleSpline, RotationalSpline classes, which seems hiding from me quaterion spherical interpolation particulars.
I'll try them today.
And the last, I've had to do this long time ago, but better later then even more later
. Two new wonderful music tracks for Tachyon Wars, generously provided by
Jake=]:
Ambient piano track for starmap screen Ship design screen trackEnjoy