Other Notes

The following topics are included in this section:

Texture Implementation Limitations

Texturing in EnSight is done using OpenGL and the multi-texture extension. If your graphics card/driver does not support this extension, texturing will not be allowed in EnSight and the button used to bring up the Textures dialog will be removed. OpenGL works best with textures that are powers of two in size and every graphics card has a different limit on the maximum size of a texture. EnSight will internally scale any input texture (via bilinear interpolation) to fill the nearest power of two sized rectangle. This can result in much larger textures being used than users might expect and it can cause interpolated pixels to be used in textures. Also, if textures are too large, EnSight will down-sample them to the resolution the driver supports. For maximum performance and efficiency, use natural power of two sized textures where possible and avoid extremely large textures.

A common performance issue users encounter with textures in modulate or replace mode revolves around transparency. If a texture includes transparent pixels (or transparent border pixels), it is possible that the part could become transparent. In this case, EnSight is required to sort the polygons of the part to ensure proper occlusion. This process can be very expensive and slows down rendering significantly. The user can avoid requiring the expensive sorting, by using textures with solid (or no) alpha channel. If a texture uses only entirely opaque or transparent pixels and the interpolation option is set to nearest neighbor, EnSight will recognize that it is not possible to have translucent pixels and will not be required to sort the polygons. This can be used to improve interactive performance and further enable the use of textures as selective clipping operations in modulate mode.