As promised, I've been working on SW.NET a bit. I've been modifying features. I'm tempted to redo the entire rendering system again, but I really don't have time for that, so it probably won't happen. What has happened is the following:
-New normal calculations make lighting more realalistic (doesn't affect projected shadows)
-Lighting engine has been modified
-Export normal maps
-Export layer masks
-Export .x format
Patch (or lack there of)
Before I go to much further, I want to say that this patch is still a WIP (work in progress).
There is no update available yet. My goal is to have a patch available by the end of this weekend, provided there aren't a lot of personal interruptions.
.X
The .x format apparently was there for a while. I had forgoten that I had written it in, and I'm not sure it's in the downloadable version, but it will be there now. Also, if it is in the current version, I've tweaked it to generate UV data. It will generate only a UV for the overlay topography. There is no way in a .X, that I know of, to export a second set of UV coordinates.
Masks
Layer masks are a new feature which allows you to generate either a gray scale .bmp of a layer's mask or a white with alpha channel .png image of the mask. I've needed this feature, myself, for future projects, so I thought I'd throw it in for everyone. The idea here is that instead of using the vertex alpha component to smoothely blend detail layers, you can use the diffuse component of a texture to blend layers. The added benefit of this is that your blended layers do not suffer quality loss on level of detail based terrains. This feature has been tested and works for such terrains! The mask image is a conglomeration of affectors. (Big words aside) that means that if you use cliff drawing and also manually mask out a region, the exported mask will reflect cliffs in the appropriately masked regions.
Normals
You now have the ability to render normal maps off of your terrain. Using the terrain displacement map as well as the world horizontal and vertical scales, a 3D RGB normal map will be generated. This has two obvious benefits. The first benefit is similar to the benefits of the new texture masks on LOD terrains. Lighting will then be calculate per-texel instead of per-vector meaning no visual degredation in LOD terrains. The second use would be for people who would like to generate texture maps using Strata Works. If you have a careful hand and are clever enough, you can mix and match textures (works best with your own textures) to make walls for buildings and other nifty things. You could export a normal map for your texture to give it a more realalistic effect in lighted areas.
Lighting
It seems I'm forever modifying the lighting engine. I'm sure this won't be the last time. The lighting now takes advantage of more accurate normals in the terrain. This system replaces the embossed lighting system entirely now, and has a much more pleasing effect during pretests. Also to note is that the lighting system uses a different method for calculating the final color. The old system blended the sunlight color with the ambient color based on the amount of light hitting it (s * (1-i) + a * i). Now the system adds the light based on the intensity of the light hitting a cell (a + (s * (1-i))). The result is a more accurate representation of light, especially in DirectX based applications, as DX uses a similar way to calculate its lighting.
New Normal Calculation
The biggest addition to this as far as quality is the new normal calculation. It affects much of the above topics and creates an impressive visual experience compared to older models. I hope that when the patch comes out, the community enjoys the new visual enhencement.
Conclusion
Why have I not released a patch yet? The reason why is because the pretest issues are still bugging me. I'm not happy with the new pretest, and I'm certainly not happy with it not working on people's systems. I don't want to say too much, but I have an ace up my sleaves with the pretest. I don't know if my plans will make it for this weekend's deployment, but I'll see what I can do. It is likely, however, that you will need .NET 2.0 to use Strata Works (or at least the pretest) if my plans come to fruition. I'm starting to sound like a mad scientist, but I guess too much programming will do that to you.
Until next time (hopefully sooner then later)
-David (The Wendigo)
Home of DOOP, Strata Works, and Seva. djpeterson83@_!@hotmail.com