Textures

 
 
 

2D Textures

In general, using large texture files or a high number of textures in a scene will slow down rendering. Each 2D texture file must first be loaded into memory. This can result in memory swapping (transferring data between RAM and disk), which increases rendering time.

For more information about 2D textures, see Image Textures [Texturing].

  • Consider a texture to be "large" when it is over 1000 pixels in any direction.

  • For preview renders, use small, low-resolution texture files. For the final render, swap the low-resolution textures files for their high-resolution counterparts.

    You can write a script to swap images quickly, or you can use the Search and Replace function in the External Files Manager (File External Files from the main menu).

  • For highly detailed textures, activate elliptical filtering. This will slow down rendering slightly, but will reduce the amount of noise, distortion, and/or flickering in the texture.

    With elliptical filtering active, you'll likely be able to decrease the antialiasing sampling values without losing image quality.

  • Once you've finished setting up your scene, delete all of the unused texture images from the scene file by choosing Get Clip Delete Unused Sources and Clips from the Render toolbar.

Procedural Textures

Whereas 2D textures are created from an existing file, procedural or 3D textures are mathematically calculated on demand. As a result, they take longer to render than projected 2D textures. Procedural textures do give a better rendered result close up, because pixels can be recomputed (rather than interpolated) at close proximity.

For more information about procedural textures, see Procedural Textures [Texturing].

Bump Maps and Displacement Maps

Bump maps and displacement maps affect rendering performance to varying degrees, depending on the number of calculations required to render them. Generally, bump maps take much less time to render since they do not actually modify the geometry of the objects to which they're applied. Whenever possible, use bump maps instead of displacement maps. Bump maps require fewer calculations and will render much faster than highly tessellated models.

If you are rendering with displacement maps, you can select the Sample Displacement Before Rendering checkbox on the Render Type tab of the mental ray Render Options Property Editor [Properties Reference]. This option can help speed up displacement rendering by providing mental ray with the correct bounding boxes for its calculations. This can provide faster overall render times.

For moving objects with displacement, you can optimize the displacement approximation based on how fast the object is moving by setting the Shutter Settings option on the Render Type tab of the mental ray Render Options Property Editor [Properties Reference]. The automatic reduction of displacement detail on moving objects has a significant impact on rendering performance and memory consumption by cutting down on the typically huge amount of tessellation data that gets generated.

The displaced geometry should have a geometry approximation property applied to it and motion blur must be enabled for the render region and/or the render pass. See Applying and Editing Geometry Approximation [Scene Elements] and Defining and Rendering Motion Blur [Cameras and Motion Blur].

For more information about bump and displacement maps, see Bump Maps and Displacement Maps [Texturing].

Environment Maps

You can speed up rendering considerably by using environment maps instead of raytraced reflection. Environment maps use a texture to simulate the environment that should be reflected by objects in the scene.

For more information about environment maps, see Using Environment Map Shaders [Texturing].

  • When using environment maps, use scanline mode to render whenever possible. However, you will need to activate raytracing if there is any refraction or distortion from a lens shader.

  • Use non-raytraced reflection maps wherever possible. If the object's surface shader supports reflection, go to the reflection tab of the shader's property editor and change the reflection mode to Environment Only.

Memory-Mapped Textures

Rendering textures can be done quicker with the use of memory–mapped textures. Memory–mapped textures are not loaded into memory but are accessed directly from the disk whenever the shader needs it. Softimage recognizes a memory–mappable texture and automatically maps it. Only the map image-file format (with the .map extension) can be mapped.

For detailed information about memory mapped textures, see Using Memory-Mapped Textures [Texturing].

Multi-Resolution Texture Mapping ("MipMapping")

Pyramid mapping performs a type of pre–blur on a texture according to the texture's distance from the camera. In turn, this prevents having to increase the antialiasing settings and removes flickering that is often associated with detailed textures being far from the camera. Pyramid mapping can be used on both 2D and 3D textures.

For more information on how to set pyramid mapping options, see Using MipMaps (Pyramidal Mapping) [Texturing].

Image Resolution and Subregions

If you are testing settings, you can decrease the resolution to obtain an image more quickly. Another possibility for test images is to render only a subregion. See Setting Output Format and Resolution.

Image Management

In Softimage, you have the option to define how your image clips will be managed. This is especially useful if you are working with several large images or across a network of several machines.

You can define the Broadcast, Use from Disk, or Load in Memory options per image from the material node's property editor. The options are defined as follows:

  • Load in Memory — Softimage opens the file and sends the pixel data to mental ray, which then sends the pixel data to slaves. The mi file will have the texture in-line.

  • Use from disk — Softimage passes the path directly to mental ray, which then loads the image and sends the pixel data to slaves.

    • If echo verbatim is on, the mi file will have the texture inline.

    • If echo verbatim is off, then the mi file will only have a path reference of the texture.

    Note

    Softimage supports approximately 20 image formats. When using this mode, the file must be compatible with mental ray.

    The .pic / .tga / .tif / .sgi / .jpg formats are supported by both Softimage and mental ray; this ensures correct behavior when changing image management mode.

  • Broadcast — Softimage passes the path directly to mental ray, which then opens the texture file and broadcasts the path to the render slaves.

    • If echo verbatim is on, the mi file will have the texture inline.

    • If echo verbatim is off, the mi file will only have a path reference of the texture.

    Note

    The texture file must be compatible with mental ray. The .pic / .tga / .tif / .sgi / .jpg formats are supported by both Softimage and mental ray.

    You can set all of the clips' management options at once by typing the following in the script-editor text box:

    SetValue "Clips.*.ImageDefinitionType", 1

    0= Load in Memory

    1= Use from disk

    2= Broadcast