tdlmake
preprocesses TIFF, PNG, JPEG, GIF, IFF(6), SGI, PIC(7), PSD(8), TGA(9), "bake," Radiance and OpenEXR files to convert them into an efficient texture format suitable to 3Delight. It can also convert a zfile into a shadow map. We recommend running tdlmake
on all textures before rendering, for two reasons:
tdlmake
creates a mipmapped version of the original texture, allowing 3Delight to produce nicer images more efficiently.- 3Delight employs a caching mechanism for texture data which works well with tiled images. Using raw (striped) non-converted TIFFs may degrade overall performance.
Note that a converted file is a normal TIFF that can be viewed with any image viewer. We suggest using a `.tdl' extension for 3Delight texture files.
Command Line Parameters
Working With Large Textures
As mentioned, tdlmake has been designed to adapt very well to huge textures. One exception is compressed TIFFs that have a large "rows per strip" value. Here is an example output of tiffinfo on a large texture file that can cause problems for tdlmake:
% tiffinfo earth.tif Image Width: 43200 Image Length: 21600 Resolution: 72, 72 (unitless) Bits/Sample: 8 Compression Scheme: AdobeDeflate Photometric Interpretation: RGB color FillOrder: msb-to-lsb Software: "ImageMagick 5.5.7 07/22/03 Q16 http://www.imagemagick.org" Document Name: "earth.tif" Orientation: row 0 top, col 0 lhs Samples/Pixel: 3 Rows/Strip: 21600 Planar Configuration: single image plane Predictor: horizontal differencing 2 (0x2)
There is only one strip, made of 21600 (total image height) rows. This means that accessing any scanline in this TIFF forces the TIFF reading library to uncompress the entire file(12). In order to lower memory usage for such large files, it is suggested that a lower "rows per strip" count be used. Typically, 16 or 32 scanlines is a good choice. tdlmake
prints a warning if it encounters a file that has the aforementioned problem:
tdlmake: warning, reading texture 'earth.tif' may take a large tdlmake: amount of memory. Please refer to user's manual if you are tdlmake: unable to convert this file.
Examples