Working with Geometry Shaders

Here are a few things to keep in mind when using geometry shaders.

Transforming Geometry Shader Objects

The geometry shader object acts as a placeholder in your scene for the geometry created by the shader. Any scaling, rotation, and translation of the object is applied to the geometry before rendering.

Applying Materials to Geometry Shader Objects

You can apply any material to the geometry shader object; the object does not need to be branch-selected first. The material is automatically propagated to the geometry created by the shader.

Modifying Materials in the Render Tree

If you select a geometry shader object and then open or update the render tree, the geometry shaders are displayed.

To display and work with the material instead, choose it from the list box at the top.

For more information on materials and the render tree in general, see Material Basics and The Render Tree.

Using Displacement with Geometry Shader Objects

If you want to use displacement maps or shaders on a geometry shader object, then the geometry shader must set max displace to a non-zero value.

mental ray requires that an object that is displaced with a displacement shader must contain a max displace statement that specifies the maximum displacement of the object. For example, if the max displace value is 2.5, then no displacement shader may move the surface more than 2.5 units in any direction. Without max displace, mental ray will truncate any displacement to 0.0, actually disabling displacement.

Refer to the mental ray manual (available in the Doc\mental_ray subfolder of the directory where Softimage is installed) for more information about max displace and other mental ray parameters.

Applying Textures to Geometry Shader Objects

You can use only purely implicit texture projections with geometry shader objects. You cannot use texture control objects or edit texture UVs. For more information about purely implicit projections, see Creating Purely Implicit Projections [Texturing].

Alternatively, you can define the UVs in the geometry shader itself.

Limitations of Geometry Shader Objects

There are some limitations of geometry shader objects:

  • Output shaders do not work on geometry shader objects.

  • Because geometry shader objects have no geometry until render time, you cannot use them to create hair, emit particles, or perform other operations that depend on having a surface or geometry.