His dark materials
If texture mapping is a crude workaround, is there any alternative? Yes, there is: procedural textures, which are generated by an algorithm rather than sampled from the real world. And despite their mathematical nature, procedural textures do not need to look computer generated. Let’s move on from the simple orange to the humbler, but considerably more challenging, potato. To generate a realistic procedural potato-skin texture, you need to create a pattern of varying patches of brown, with the occasional darker eye and some surface cracking, overlaid with patches of dirt that should show a grainier texture to suggest soil. Each of these separate elements can be mathematically described as recoloured gradient greyscale patches, vein structures and random noise, which when combined produce the desired result – a believable potato material.
Procedural textures address all the major limitations of texture maps: they are infinitely scalable with their output resolution only determined during rendering; their memory requirements are minimal; they contain no pre-lighting cues and so fit perfectly into any scene; they can handle difficult materials like fire and water as easily as any other; and by changing the parameters over time, they can be simply and realistically animated. Most important of all, procedural textures can be applied to any 3D shape without distortion or seams. For example, that bowl’s surface would look as if it had been carved out of real wood.
Another advantage of procedural textures is that they can be varied according to scene-based factors like distance and angle, enabling effects like the automatic addition of dust, rust or snow to top surfaces, which hugely boosts believability. Lastly, they provide one more unbeatable advantage: because they are mathematically described, procedural textures can be quickly tweaked to produce a completely new and original material fine-tuned to the task in hand.
These advantages are compelling, but so are the downsides. We are talking about generating and regenerating the texture on demand for every rendering, and the more complex the texture the slower this process will be. Ever-faster computers make this processing overhead more bearable, and professional 3D packages can ease the pain – at least during test renders – by temporarily hiding some objects or swapping materials. The most advanced packages even let you ‘bake’ your procedural textures down into fixed texture maps, although you will lose editability and become subject to resolution issues again.
The biggest downside, though, is not intrinsic but a matter of implementation: whereas all packages support material shaders and texture mapping, support for procedural textures is treated as an optional extra, with different applications providing widely different procedural texture functionality. Even the best support is ad hoc and arbitrary, providing, for example, simple wood or fire but not clouds or smoke. Worse still, for those few applications that do try to deliver a more general-purpose procedural engine – such as Poser with its node-based shader trees – the results are so complex they will send non-technical users screaming.
Dark Tree of Materials
What’s needed is a more universal procedural solution in terms of application support, the textures it can generate and usability, and that’s exactly what a little-known program called DarkTree 2.5 from Darkling Simulations provides (demo version included on this month’s PC Pro cover disc or from www.darksim.com). As a standalone, third-party program, you can benefit from DarkTree whatever 3D modeller you use, a particular advantage when many people use more than one. And as soon as you open DarkTree, it becomes clear that the program takes an all-encompassing approach to creating procedural textures. From its Library panel, you can explore hundreds of preset textures and the range is extraordinary: bricks, moss, planking, stucco, leather, snow, sand, lunar rocks, solar flares, cave walls, glass blocks and much more, and their quality is exceptional. Where most 3D applications’ built-in wood or marble textures look like pale imitations, the DarkTree versions look like photos or even the real thing.