New technology: composite texture (2010/03/06)
It has been some time since last blog activity, more than it should be. It has two main reasons. The one is that I've been distracted with unrelated matters more than usual. The second is that I'm working on a new technology for Resistance Force's engine: something I called the composite texture.
|Screenshot from the map editor with
low resolution preview texture
|Composite Texture Editor - showing
high resolution texture and used layers
When I started working on extending the existing map and adding more details I've very soon ran across
a big problem with detail texturing of large areas like terrains. You can either repeat
some detail texture over and over (as done for regular "blocky" geometry, often called brushes), but
you'll lose control about any details. Or have one big texture for the whole area. But due to memory/speed
constraints you can't have really big textures.
Shows how are textures combined in
texture splatting (source)
Another interesting technique is MegaTexture developed by id Software. It allows you to have one really big texture for all geometry. The big texture is heavily compressed and stored on disk and dynamically streamed from it depending on what area player sees. The advantages are big: in engine it has practically constant performance characteristics so artists can go wild and touch any individual pixel they want to without worrying about anything. There are also disadvantages though: hugely increased amount of disk storage needed (even more for editing) and increased workload for artists, both not much indie friendly.
I've taken different approach for Resistance Force with composite texture: basically I took the idea of texture splatting and extended it by removing limit of number of detail textures (layers) and by ability to use it on any mesh, not just regular grid terrains. By having unlimited layers it also opens new possibilities such as placing any number of decals or even touching individual pixels by transforming some detailed area to decal and editing it in graphics editor. This way I have much more freedom when texturing while maintaining minimal disk storage and performance costs.
1. Unicornkill (2010/03/09 16:01)
Woups, you did it again!
I always hated texturing because it is so limited, this will really allow for some cool and easy effects and in general cut down texturing time by...alot.
Keep it up.