Paint surface node

Lets you paint color or other attributes on geometry.

See also: , UV Brush

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 For Rendering 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, in the viewport and select the operation for or .

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.

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.

Usages in other examples

Example name Example for

Attrib Copy surface node

Load | Launch

Smoke Object dynamics node

Load | Launch