Please enable JavaScript to view this site.

Clarisse 5.0 Reference Guide

Texture operators are a special class of items that define one or multiple output values meant to be connected to attributes in order to drive their values. While they are mainly used for materials, they are also used on any items defining texturable attributes such as scatterers, point clouds etc... To learn more about texturable attributes please refer to the Attribute Editor and Material Editor.

 

Texture operators can also be extended by 3rd party renderer vendors in order to declare their specific set of textures and materials for their custom rendering engines. Since Clarisse may not be able to interpret/evaluate these textures, Clarisse built-in materials/textures prevents any incoming connections to unsupported textures and materials.

Note

Texture operators can be viewed using the Texture View widget.

 

Clarisse provides quite a few different built-in textures performing many types of operations. They internally rely on a texture context which consists of a geometric fragment among other things and all return a single 4D floating point vector output that represents anything from a color to a single value. There are two types of textures to consider in Clarisse: the ones directly inheriting from the Texture class which are usually operators and the others that inherit from Texture Spatial which define spatial projections for texturing. Most textures have a pretty explicit class name defining their purpose. They are also sorted by categories:

Texture Category

Description

Color

Regroup textures generating or operating on colors

Map

Regroup textures generating color from a map (image map or vertex map)

Math

Regroup textures providing mathematical operations

Normal

Regroup textures generating shading normals

OSL

Regroup textures supporting Open Shading Language (OSL). Please refer to OSL for more information.

Procedural

Regroup procedural texture maps such as Fractal Noise

Raytrace

Regroup textures relying on Raytracing

Utility

Regroup general utility textures

Spatial Projections

All textures inheriting from Texture Spatial provide many quite a few attributes to control the spatial projection of the texture.

Attribute

Description

Projection

Sets the implicit projection mode

Space

Sets texture mode as 2D or 3D texture. In 3D space all components are used to evaluate the texture (useful for 3d noise textures)

Axis

Sets the projection axis.

Camera

Sets the camera used for projection when in Camera projection mode

UV Slot

Sets which UV Slot to use

Object Space

Sets if the texture reference frame is in Object/Instance/World. In World space object transformations deformations affect texturing.

Reference Object

Use the transformation of the specified scene item for control the projection transformation matrix.

Projection Translate

Translates the position of the texture projection

Projection Rotate

Rotates the texture projection

Projection Scale

Scales the texture projection

UV Translate

Translates the uv coordinate

UV Rotate

Rotates the uv coordinate

UV Scale

Scales the uv coordinate

UV Projection

In Clarisse, textures can be shared between materials and geometries which is why UV maps are defined as application wide items called UV Slots. UV Slots are globally mapping UV Maps by index. They are statically generated project items that are not saved in the project. They can be found in the default:// context. The maximum number of UV Slots in the project is always equal to the maximum number of different UV Maps that are in the geometries of the project. For example if one of your geometries has 10 UV Maps while others have less, the total number of UV Slots declared will equal to 10.

 

When a texture is using a UV Slot that doesn't exist in the rendered object, the texture returns pure black (0.0, 0.0, 0.0, 0.0).

 

All the geometries share the same material. UV Mode and UV Slot set to Use First Available (default). Since the cylinder is black we can assume it doesn't declare any UV maps

All the geometries share the same material. UV Mode and UV Slot set to Use First Available (default). Since the cylinder is black we can assume it doesn't declare any UV maps

Here we set UV Slot to default://uv_slot_1. Only the box declares this UV

Here we set UV Slot to default://uv_slot_1. Only the box declares this UV

 

Note

It is possible to list the number of UV Maps declared by the objects by using the Texture View.

UV Property

Instead of specifying UV Slots you can alternatively use geometry properties as UV maps via the attribute Uv Property. In Clarisse, Geometry properties are named arbitrary properties that are declared directly by geometries. They are usually accessed through the texture node Extract Property. Unlike with UV Slots, assigning Uv Property via geometry properties is more robust as the mapping resolution is performed by name. As soon as you respect naming convention, this method allows you to reuse more easily existing texture networks as they don't really on the actual existence of geometries and corresponding UV Slot items.

 

Same material used on the sphere and the head. Note the Uv Property is only defined on the head.

Implicit Projections

The Projection attribute can be set to compute implicit projection on the geometric fragment during rendering. There are 4 types of implicit projections:

Attribute

Description

Planar

Compute a planar projection on the specified Axis

Cylindrical

Compute a cylindrical projection on the specified Axis

Spherical

Compute a spherical projection on the specified Axis

Cubic

Compute a cubic projection which is a planar projection that automatically set the proper axis based on the surface normal. It is possible to use a Triplanar texture instead that can let you choose which texture to apply for the 6 faces of the cube.

 

Implicit projections can be further controlled using dedicated projection attributes that control the projection transformation matrix. It is also possible to entirely drive the transformation of the projection by connecting Reference Object to an item of the scene.

 

Projection set to Planar and Axis set to X

Projection set to Planar and Axis set to X

Projection set to Planar and Axis set to Y

Projection set to Planar and Axis set to Y

Projection set to Planar and Axis set to Z

Projection set to Planar and Axis set to Z

 

Projection set to Cylindrical and Axis set to X

Projection set to Cylindrical and Axis set to X

Projection set to Cylindrical and Axis set to Y

Projection set to Cylindrical and Axis set to Y

Projection set to Cylindrical and Axis set to Z

Projection set to Cylindrical and Axis set to Z

 

Projection set to Spherical and Axis set to X

Projection set to Spherical and Axis set to X

Projection set to Spherical and Axis set to Y

Projection set to Spherical and Axis set to Y

Projection set to Spherical and Axis set to Z

Projection set to Spherical and Axis set to Z

Projection set to Cubic

Projection set to Cubic

 

Object Space

Object Space sets the reference space used for texturing. By default it is set to Object (Base) space which means the texture space uses the base geometry without transformation nor deformation. It is also possible to set it to Object (Deform) so that the texture space uses the deformed geometry instead of the base one. The texture spatial also provides two other modes: Instance and World. These modes are useful when you respectively work with combiners/scatterers and Camera maps.

 

Object Space set to Object: each box have the same texturing despite their transformation

Object Space set to Object: each box have the same texturing despite their transformation

Object Space set to Instance: each box have different texturing according to their transformation

Object Space set to Instance: each box have different texturing according to their transformation

 

When Object Space is set to Instance texturing behaves the same way as if it was set to World. However, when used in scatterers and combiners the texture isn't affected by the transformation of scatterers or combiners unlike in World space. Instance is extremely useful when building assets from multiple elements combined in a combiner.

 

All 3 modes in 3 combiners, note the one in World space (top right)

All 3 modes in 3 combiners, note the one in World space (top right)

 

Camera

Camera projection allows camera mapping. The viewpoint and the projection are defined by the camera connected to the Camera attribute. The texture uses the real projection of the camera it references as its projection. If you connect a panoramic camera, it creates panoramic camera mapping.

 

Same camera used both camera projection and rendering

Same camera used both camera projection and rendering

 

When setting the projection to camera, it is possible to enable Camera Occlusion which looks for potential occluders between the camera and the evaluated surface. When an occluder is found, the texture returns a pure black color (0,0,0,0). This is very handy when working with multiple camera projections to texture a scene.

 

Camera Occlusion Disabled

Camera Occlusion Disabled

Camera Occlusion Enabled

Camera Occlusion Enabled

Camera Occluders

It is also possible to specify a group of objects that are considered as occluders. This is very useful to exclude certain objects that are passing between the camera and the cam mapped objects. For example, imagine you have a spaceship moving between the camera and a city that is cam mapped. This would be problematic since the occlusion of the spaceship would affect the camera projection. By setting the occluders to the city objects, you aren't obliged to create a specific render layer to isolate the spaceship from the camera occlusion computations.

Parametric

Parametric projection uses the natural UV coordinates of primitives.

 

Environment

The Environment projection mode is view dependent since it projects the texture as if it was the reflection of infinite sphere surrounding the scene. This is especially useful when used in conjunction with the Shadow Catcher Material.

 

X axis

X axis

Y axis

Y axis

Z axis

Z axis

Reference Positions

By default, Clarisse considers the frame 0 to be the base pose of geometries. Instead of using the base geometry for texture space computations, it is possible to set explicit positions when they are properly exported as a geometric property. Alternatively, it is possible to use the Reference Frame attribute of Scene Objects. For more information please refer to Reference Frame.

Displacing UVs

It is possible to displace (offset) UV coordinates by texturing UV transforms attributes of spatial textures. This feature is extremely useful when you want to break obvious repetitions that are visible when using tiled textures.

 

Original texture

Original texture

Displaced texture

Displaced texture

Texture used as displacements for UVs

Texture used as displacements for UVs

 

Note

Displacing UV transform properly recomputes ray differentials.

 

Isotropix

Copyright (C) 2009-2022 Isotropix. All rights reserved.