Vertex SOP

From Derivative
Jump to: navigation, search


The Vertex SOP allows you to edit/create attributes on a per-vertex (rather than per-point) basis. It is similar to the Point SOP in this respect. It supports two inputs, and will inherit the first input source by default. If the second input have less primitives than the first input, it will cycle through the primitives and match the vertices. If the primitive in the first input has more vertices than the matching primitive in the second input, the extra vertices are ignored.

There are currently three vertex attributes supported:

  • Diffuse Color
  • Alpha
  • Texture Coordinates

When the attribute is defined, it can only occur on either points or vertices, but not both. Thus, if the input geometry has a point attribute for diffuse color, the attribute will automatically be "elevated" to be a vertex attribute (if diffuse colors are added in the Vertex SOP).

The SOP processes every vertex of every primitive. For each vertex processed, there are variables which allow you to know the:

  • Vertex number of the primitive being processed
  • The number of vertices in the primitive being processed
  • The point which is referenced by the vertex
  • The primitive which contains the vertex
  • The total number of points
  • The total number of primitives

There are also local variables to find out the values of some point attributes (i.e. position, normal - if they exist), in addition to vertex attributes. To access the attributes of the second input source, append a 2 to the variable.


Parameters - Page

Group group - If there are input groups, specifying a group name in this field will cause this SOP to act only upon the group specified. Accepts patterns, as described in Pattern Matching.

Color doclr - - Select from the pop-up menu in order to pass through, create, or remove vertex color attributes from incoming geometry.

Color diff -

  • Red diffr -
  • Green diffg -
  • Blue diffb -

Alpha alpha - Select from the pop-up menu in order to pass through, create, or remove vertex alpha (transparency) attributes from incoming geometry.

Using the local variables $CA in an expression allows you to alter the existing vertex alpha attribute.  

Texture douvw - - Select from the pop-up menu in order to pass through, create, or remove vertex texture attributes from incoming geometry.

Texture map- -

"" mapu -

"" mapv -

"" mapw -

Crease docrease - - Select from the pop-up menu in order to pass through, create, or remove crease attributes from incoming geometry.

The Crease Weight attribute can be used to set individual edge crease weights for sub-division surfaces (see Subdivide SOP ). This vertex attribute defines the weight for the edge which goes from that vertex to the next vertex in the polygon. For example, with a triangle (which has vertices 0, 1, 2), the attribute for vertex 1 defines the crease weight for the edge (1, 2). The attribute for vertex 2 defines the crease weight for edge (2, 0). The crease weight should be greater than 0. The larger the value for crease weights, the sharper the edge will be when sub-divided.

Crease attributes can be visualized by passing them into a Subdivide SOP.

Crease crease -  

Custom Attrib custom1 -

Custom Attrib Type custom1type - -

Value custom1val- -

"" custom1val1 -

"" custom1val2 -

"" custom1val3 -

"" custom1val4 -

Custom Attrib custom2 -

Custom Attrib Type custom2type - -

Value custom2val- -

"" custom2val1 -

"" custom2val2 -

"" custom2val3 -

"" custom2val4 -

Custom Attrib custom3 -

Custom Attrib Type custom3type - -

Value custom3val- -

"" custom3val1 -

"" custom3val2 -

"" custom3val3 -

"" custom3val4 -

Custom Attrib custom4 -

Custom Attrib Type custom4type - -

Value custom4val- -

"" custom4val1 -

"" custom4val2 -

"" custom4val3 -

"" custom4val4 -



vertex/cr = $BBX
vertex/cg = $CG2
vertex/cb = $CB - $CB2

Texture Offsets

You can have set of images in a TOP, and apply all of them in one material to different parts of an object. This allows you to have a pre-rendered animation clip with the clip playing at different speeds and time offsets on different surfaces.

You can adjust the material frame time by the first vertex/point texture W component (texture coordinated are U (horizontal), V (vertical) and W (one of a set of texture images). A texture (W) value of -1 moves back in time 1 frame. This lets you apply different frames to many polygons simultaneously using the Vertex SOP, or Point SOP.

Add • Alembic • Align • Arm • Attribute Create • Attribute • Basis • Blend • Bone Group • Boolean • Box • Bridge • Cache • Cap • Capture Region • Capture • Carve • CHOP to • Circle • Clay • Clip • Convert • Copy • CPlusPlus • Creep • Curveclay • Curvesect • DAT to • Deform • Delete • Divide • Extrude • Facet • File In • Fillet • Fit • Font • Force • Fractal • Grid • Group • Hole • Experimental:Import Select • In • Introduction To SOPs id• Inverse Curve • Iso Surface • Join • Joint • Kinect • Lattice • Limit • Line • Line Thick • LOD • LSystem • Magnet • Material • Merge • Metaball • Model • Noise • Null • Object Merge • Oculus Rift • OpenVR • Out • Particle • Point • Polyloft • Polypatch • Polyreduce • Polyspline • Polystitch • Primitive • Profile • Project • Rails • Ray • Rectangle • Refine • Resample • Revolve • Script • Select • Sequence Blend • Skin • Sort • Sphere • Spring • Sprite • Stitch • Subdivide • Superquad • Surfsect • Sweep • Switch • Text • Texture • Torus • Trace • Trail • Transform • Trim • Tristrip • Tube • Twist • Vertex • Wireframe • ZED

An Operator Family that reads, creates and modifies 3D polygons, curves, NURBS surfaces, spheres, meatballs and other 3D surface data.

An Operator Family that creates, composites and modifies images, and reads/writes images and movies to/from files and the network. TOPs run on the graphics card's GPU.