Houdini 20.0 Nodes Geometry nodes

Paint geometry node

Lets you paint color or other attributes on geometry.

This node type is deprecated. It is scheduled to be deleted in an upcoming revision of Houdini.

Use the Attribute Paint node instead.

(Since version 18.0.)

On this page

Tip

To paint an arbitrary attribute instead of color, turn on Override color and set the attribute name.

Tip

To see the surface colors without lighting affecting the colors, do the following:

  1. Create a VEX Constant shader and assign it to the object.

  2. In the parameter editor for the shader, click the Gear menu and choose Edit Rendering Parameters.

  3. In the Render Properties tab, open SHOP Options > OGL and drag the “Use Lighting” property over to the Existing Parameters side to add it to the shader’s interface.

  4. Click Accept.

  5. In the shader’s parameter editor, turn off Use Lighting.

Parameters

Operation

Operation

The operation used by Apply To All.

Paint

Paints your new color onto the geometry.

Eye Dropper

sets the foreground color to the color nearest the center of your brush.

Smooth

Blends the colors of points under the brush.

Erase Changes

Restores the colors under the brush to the pre-paint values.

Note

This parameter only affects the flood fill options. To change the current paint mode, RMB in the viewport and select the operation for LMB or MMB.

Merge Mode

How the color is to be applied to the surface.

Replace

The result is a blend between the original color and the brush color according to the brush alpha.

Add

The scaled brush color is added to the original geometry color.

Subtract

The scaled brush color is subtracted from the original geometry color.

Multiply

The result of multiplying the brush color by the original geometry color is blended into the original color by the brush opacity.

Screen

The colors are mixed together in an additive manner that clamps at one. This only really works if the existing color and painted color are in the 0..1 range.

Hue

The hue of the original color is replaced by that of the brush color. The result is blended into the original color.

Saturation

The saturation of the original color is changed to that of the brush color. The result is then blended into the original color.

Lightness

The lightness of the original color is changed to the brush color. The result is then blended with the original color.

Red

Replace only the red (first) channel.

Green

Replace only the green (second) channel.

Blue

Replace only the blue (third) channel.

Invert

Does not use the brush color. Instead, does a replace operation with the inverse (1.0 - orig) of the original color.

Custom

When in custom mode, the brush color will be re-evaluated for every point. The evaluated color is then blended using replace semantics. Local variables are present, so you can paint with ($BBX, $BBY, $BBZ).

Accumulate To Stencil

See about accumulate to stencil . By default, the operation is applied and the stencil cleared after every brush stroke. When this option is on, Houdini does not apply the stencil until you click Apply and Clear Stencil.

Apply & Clear Stencil

Applies the operation and clears the stencil. This is equivalent to right-clicking in the viewport.

Foreground/Background

Colors to apply unless bitmap stamping is enabled. If Accumulate To Stencil is on, the left mouse does foreground and the middle mouse erases.

Stamp Bitmap Instead Of FG/BG Color

If set, the color channels of the bitmap are used directly rather than the brush color.

Apply To All

Paints all of the selected geometry.

Operation for All

Operation to use for Apply to All.

You can not use this parameter to switch the Paint SOP into other operations. You can only use the RMB in the viewport to set these operations.

For example, if you set this parameter to Erase Changes, but the RMB menu is set to Paint, this parameter will switch to Paint as soon as you click in the viewport.

Reset All Changes

Restores geometry to initial state.

Create Missing Color And Alpha Attributes

Adds the Cd and Alpha point attributes if not present and not overridden and required.

Accumulate Alpha

When set gives a paint-on-glass effect. The painting on the surface will increase the alpha, so painted areas become visible. Note this has no effect on areas with alpha of one.

Alpha values are accumulated, so you probably want to reset the Alpha attribute to 0 using a Point node before the Paint node.

Override Color

If enabled, lets you paint values of the specified attribute instead of the default Cd (diffuse color).

Only Cd and Alpha affect the display of surfaces in the viewport (and Transparency on the Misc tab of the display options must be on to see Alpha). The Override color and Override Alpha options let you paint alternate attributes, but they won’t automatically show up as color and transparency in the viewport like Cd and Alpha do. (You can use Visualize attribute to show a non-color attribute as false colors.)

Override Alpha

If Accumulate alpha is on, this node will use the Alpha attribute to accumulate alpha data (based on the opacity of the brush). If enabled, this parameter stores the stroke opacity data in the specified attribute instead of the default Alpha, similarly to Override color.

You could instead use Override color set to Alpha to paint directly into the Alpha channel. In that case, the value of the color would be set as the alpha value, instead of the opacity of the brush being accumulated.

Visualize Attribute

Whether to do a false color visualization of the overridden attribute and what range to map to. See also visualizing attributes.

Visualize Mode

How to map the attribute value to a color.

The Paint SOP uses the Cd attribute to store color data. The Override Color parameter lets you specify a different attribute to use for the color data. Similarly, if Accumulate Alpha is enabled, the Paint SOP will use the Alpha attribute to accumulate alpha data. The Override Alpha parameter lets you specify a different attribute to use for the alpha data. Alpha values are accumulated so you often wish to initialize the Alpha value to 0.

Note

If the geometry contains attributes named Cd and Alpha, they will be used when rendering in the viewport. Overriding the names in the Paint SOP let you manipulate a different set of attributes but the viewport will only recognize Cd and Alpha as having special meaning.

Brush

Shape

The basic shape of the brush: circle, square, or bitmap.

Bitmap

What bitmap to use. The alpha channel becomes the brush.

Radius

The radius of the brush when painting in the 3d viewport.

UV Radius

The radius of the brush when painting in the 2d viewport.

Radius Pressure

This controls how much effect the pressure of a stylus will have on the radius. A value of 1 means the radius will go from 0 to the amount in Radius. A value of 0 will mean the radius will always be constant, regardless of pressure. A value of 0.5 will mean the radius will be scaled between one half of Radius and Radius.

Depth

If set, this limits how far the brush will paint along its axis. This can be used if connectivity is disabled to limit the effect of the brush. The first parameter is how deep below the surface the brush should penetrate. The second is how high above the surface it should stop. These values can be negative.

Brush Angle

How far to rotate the brush.

Brush Squash

Amount to squash the brush in the y direction before rotation.

Opacity

The amount to affect the stencil mask.

Opacity Pressure

This controls the how much effect the pressure of a stylus will have on the opacity. It obeys the same scaling as the Radius Pressure.

Brush Splatter

A random noise in the brush’s opacity based upon the position on the brush.

Paper Grain

A random noise on the object’s stencil mask based on the object position.

Soft Edge

Percentage of the brush to be rolled off.

Kernel Function

Which metaball kernel to use for the roll off.

Up Vector Type

How the brush should be oriented on the surface:

Stroke Direction

Oriented in the direction in which the brush moves.

Fixed

Oriented as specified in the Up Vector field.

Up Vector

The fixed up vector to orient brush to.

Symmetry

Reflective

If set, the brush will perform reflective symmetry. Any strokes will be mirrored along the plane of symmetry.

Rotational

If set, the brush will perform rotational symmetry. Any strokes will be rotated around the axis of symmetry.

Axis

This defines the normal of the plane of symmetry for reflection and the axis of symmetry for rotation.

Origin

This defines the origin of the plane of symmetry for reflection and the origin of the axis of symmetry for rotation.

Number of Rotate

This defines the degree of rotational symmetry. A degree of 3 means the stroke will be applied 3 times at 120 degree separation. A value of 5 will perform the stroke 5 times with 72 degrees of separation.

Reflection Dist

This is the distance of the plane of symmetry from the origin of symmetry.

UV Reflective

If set, the brush will reflect when brushing is done in the UV viewport.

UV Origin

The origin of the line of reflection in the UV viewport.

UV Angle

The angle of the line of reflection in the UV viewport. 0 will mirror about the U axis, 90 will mirror about the V axis.

Stroke

Orient Brush To Surface

Switches between the brush being perpendicular to the surface or always oriented along the view direction. If you are having trouble with a shaky brush, try turning this off. Turn this off in order to brush on disconnected points, (point clouds).

Use Connectivity

If set, the tool will only affect points connected to the closest point to the intersection. This is usually a good thing, as it avoids accidentally painting through the geometry (but see the depth parameter), but can prevent smoothly painting across seams. This should usually be turned off in order to brush on disconnected points, (point clouds), since they are not connected to each other.

Use Normals

If set, the tool will only affect points facing in the same direction as the closet point to the intersection. This is usually good to avoid accidentally painting the backfacing parts of geometry, but if you want a pure depth brush can be turned off.

Realtime Mode

Set this to paint geometry as it’s deforming.

Direction

The current direction of the brush. If orient to surface is on, this is the normal direction of the surface hit by the brush. Otherwise, it is the direction from the eye to the surface.

Hit Location

The current location of the brush. This tracks the surface as the brush moves along it.

Hit Primitive

The primitive number of the primitive the current brush is centered at.

Hit UV

The location the current brush is on the current primitive. Note this is a parametric UV location, not the texture UV location.

Hit Pressure

The amount of force the brush is currently applying. This is only meaningful when a tablet interface that supports pressure is used.

Hit Point

The point closest to the current brush’s center.

Event

Controls the current state of the brush. When it is on No-op, the values of the stroke tab are ignored and no updating of the geometry is done. Other values are set automatically as you brush the surface, allowing the SOP to update in response to your actions.

Examples

PaintAttributes

This example demonstrates how to use the Paint SOP to paint an attribute onto geometry, and then use the attribute to modify the geometry.

PaintColour

This example demonstrates how to paint color onto geometry using the Paint SOP.

PaintPoints

This example demonstrates how to paint scattered points onto the surface of your geometry with a set number of points per area.

See also

Geometry nodes