The valence of a vertex is the number of edges connected to that vertex. In Arnold, the maximum valence is 255 (that’s because of the data type we use to store the valence; we minimize the memory requirements since this is stored per-vertex).
If a mesh in the scene has a vertex with more than 255 edges, you’ll get a WARNING like this:
[polymesh] example_mesh: mesh has at least a vertex with valence higher than 255, disabling subdivision
But if the adaptive subdivision results in a vertex with too many edges, you’ll get an ERROR:
ERROR: [arnold] [subdiv] example_mesh: edge (144578,287741) in face 263433 has a vertex that exceeded the max valence limit of 255
To show you where the polygon mesh subdivision settings are in Softimage, I’m going to start in Arnold and work back into Softimage via SItoA.
So, let’s start with an Arnold polymesh shape, which has a number of subdivision parameters:
C:\solidangle\Arnold-220.127.116.11\bin>kick -info polymesh | find "subdiv"
ENUM subdiv_type none
BYTE subdiv_iterations 1
FLOAT subdiv_pixel_error 0
NODE subdiv_dicing_camera (null)
ENUM subdiv_adaptive_metric auto
ENUM subdiv_uv_smoothing pin_corners
BOOL subdiv_smooth_derivs false
In Softimage, you access most of these subdivison parameters by adding an Arnold Parameters property to a polygon mesh (you can’t add new parameters to Softimage built-in objects like a PolygonMesh, so we have to use a custom property).
- subdiv_smooth_derivs (Shape group)
Other Arnold subdiv parameters are mapped to existing Softimage parameters:
- subdiv_uv_smoothing is mapped to Smooth when subdividing in the
Texture Projection Property Editor. If Smooth when subdividing is enabled, then subdiv_uv_smoothing is set to pin_corners; otherwise, it’s set to linear.
- subdiv_type is mapped to the Subdivision Rule list in the Polygon Mesh property editor. Linear goes to linear, and anything else (XSI-Doo-Sabin, Catmull-Clark) goes to catclark.
Finally, subdiv_dicing_camera is on the Subdivision tab of the global Render Settings.