The OSL category of shaders (maps) includes several general shaders as well as several subcategories.
Shader name | Description |
---|---|
4-point Gradient | Generates gradient based on 4 locations such as TopLeft, BottomRight, etc. |
Advanced Wood | The implementation of the Advanced Wood map as an OSL shader. The representation in the viewport matches the render. |
Bitmap Lookup | Looks up a bitmap from UV coordinates through OpenImageIO. Useful to lookup and load UDIM, with ability to see all textures in viewport.
Note: Playback of animated bitmaps is slow if the viewports are set to Standard mode because a new bitmap is generated every frame. To improve playback speed, set the viewports to High Quality or turn off textured display.
|
Bitmap Random Tiling | Looks up a bitmap from UV coordinates and modifies each repetition so tiling is not evident. The shader has a mode to properly transform normal maps. It outputs the modified UV so it can be hooked up to other Bitmap Lookup shaders so you can apply the identical randomness, in addition, it outputs the Random Index itself to drive downstream synchronized modifications. |
Color Correction | Multi-stage color correction, including channel remapping, hue-range limiting, and three-tone color tinting. |
Curves (color) | Transforms an input using an arbitrary curve, that can be used for gradients or as a color correcting tool. |
Curves (float) | Transforms an incoming float value to an outgoing value defined by a curve. |
Lift/Gamma/Gain | Simple lift/gamma/gain color modifier. |
Noise | Generates advances noise. |
Noise (3D) | Generates more advanced noise in 3D, for color, vector, or individual component outputs. |
Noise (Gabor) | Generates Gabor noise and exposes its specific options. |
Organic Noise | Modulates and filters OSL noises to produce organic looking noises. Garden variety of caustic, fleshy and abstract noises. |
Randomized Bitmaps | Randomly places (and alpha blends) a set of bitmaps on top of something else. |
Simple Gradient | Generates gradient with six inputs. Code can be edited to add more inputs if required. |
Tri-tone | Color corrects an input color using highlights/midtones/shadows. |
Tweak/Levels | Tweaks a color. |
UberBitmap | Loads a bitmap via OpenImageIO. Includes UVW channels and transforms in a monolithic version. |
UberNoise | Adds complex types of noise such as Perlin, Fractal, Cell, fBm, and Worley. |
Wireframe | Creates a wireframe with a fixed width relative to rendered pixels, with a square every 1x1 unit square in UV space.
Tip: Use with a UVW Map and set to 'Face Map' to get a classic wireframe look.
|
Shader name | Description |
---|---|
Color Key | Simple color key shader for rough green/blue screen keying. Can do simple edge cutoffs in UV space and apply a garbage mask if needed. |
Composite | Alpha-composites one color over another. |
Shader name | Description |
---|---|
Environment/Background Switcher | Uses one map as a background and another as an environment map, to provide environmental reflections. |
HDRI Environment | Controls the positioning and final look of the environment both in the viewport and the final render. |
HDRI Lights | Places HDR photos of real-world lightsources that dynamically update the scene. |
Subtype | Shader name | Description |
---|---|---|
Color | Add (color) | Adds and optionally scales two colors. |
Clamp (color) | Clamps a color. | |
Color Space | Converts RGB/HSV/YIQ/XYZ/xyY. | |
Components (color) | A utility to combine or split components. | |
Divide (color) | Divides two colors. | |
Interpolate (color) | Interpolates two colors based on a third color. | |
Invert (color) | Inverts (complements) a color number (1-input). | |
Max (color) | Returns the maximum of two colors. | |
Min (color) | Returns the minimum of two colors. | |
Mix (color) | Mixes two colors based on a float. | |
MultiMixer (color) | Mixes many pairs of color inputs driven by a single Mix input. | |
Multiply (color) | Multiplies two colors. | |
Random by Index (color) | Returns a randomized color based on an inputted integer index. | |
Scale (color) | Multiplies a color by a float | |
SmoothStep (color) | A smooth step function between two boundaries. | |
Subtract (color) | Subtracts and optionally scales two colors. | |
Float | Abs | Absolute value of a float. |
ACos | Arc cosine of a float in radians. | |
Add | Adds two float numbers (A+B). | |
Angle | Angle of a 2D vector in radians. | |
ASin | Arc sine of a float in radians. | |
ATan | Arc tangent of a float in radians. | |
Clamp | Clamps a float. | |
Complement | Complements a float number (1-input). | |
Cos | Cosine value of an angle in radians. | |
Degrees to Radians | Converts degrees to radians. | |
Divide | Divides two float numbers (A/B). | |
Exp | Computes ex. | |
Float to Int | Turns a float into an integer. | |
Interpolate | Interpolates two floats based on a third. | |
Log | Computes logex. | |
LogX | Computes logbasex. | |
Maximum | Returns the maximum of two floats. | |
Minimum | Returns the minimum of two floats. | |
Modulo | Modulo (remainder of division) between two floats. | |
Multiply | Multiplies two float numbers (A*B). | |
Negate | Negates a float number (-input). | |
Power | Raises a float to the power of another float (AB). | |
Radians to Degrees | Converts radians to degrees. | |
Random by Index | Returns a randomized float based on an input integer index. | |
Range/Remapper | Maps one range of float numbers into another. | |
Reciprocal | Reciprocates a float number (1.0/input). | |
Sin | Sine value of an angle in radians. | |
SmoothStep | A smooth step function between two boundaries. | |
Square Root | Computes the square root. | |
Subtract | Subtracts two float numbers. | |
Tan | Tangent value of an angle in radians. | |
Vector | Add Vector | Adds and optionally scales two vectors. |
Components (vector) | A utility to combine or split vector components. | |
Cross Product (vector) | Cross product between two vectors. | |
Distance (vector) | Distance between two points. | |
Divide (vector) | Divides two vectors. | |
Dot Product (vector) | Dot product between two vectors. | |
Invert (vector) | Inverts a vector. | |
Length (vector) | Length of a vector. | |
Max (vector) | Returns the maximum of two vectors. | |
Min (vector) | Returns the minimum of two vectors. | |
Mix (vector) | Mixes two vectors based on a float. | |
Multiply (vector) | Multiplies two vectors. | |
Normalize (vector) | Normalizes a vector. | |
Random by Index (vector) | Returns a randomized vector based on an input integer index. | |
Scale (vector) | Multiplies a vector by a float. | |
Subtract (vector) | Subtracts and optionally scales two vectors. |
Shader name | Description |
---|---|
Camera Projection | Projects from a camera. |
Object Projection | Projects textures in the space of a selected object. |
Spherical Projection | Spherically projects textures in the space of a selected object. |
Shader name | Description |
---|---|
Frame Number | Returns the current frame number. |
Material ID | Returns the Material ID (or the Particle ID for Particles) as a color or a number. |
Named Attribute | Returns any named attribute, as well as user-defined per-object properties. |
Node Handle | Returns the NodeHandle as a number. Useful for driving a per-object based randomizer. |
Node Name/Hash | Returns the node name or its hash for use in randomization. |
Normal | Returns the normal in the specified coordinate space. |
ObjectID | Returns the object id as set in the Object Properties dialog as a color or a number. |
Particle Age | Returns the normalized particle age. |
Time (seconds) | Returns the current time in seconds. |
Wire Color | Returns the wireframe color. |
Shader name | Description |
---|---|
1 of N (color) | Picks one of the numerous inputs. |
1 of N (filename) | Picks one of the numerous inputs. |
1 of N (float) | Picks one of the numerous inputs. |
Compare | Returns different colors/floats depending on whether the two values are less than, equal to, or greater than each other. |
Greater Than | Returns two different colors for values that are greater than or not. |
Random Index by Number/Color | Returns a random index based on an input number or color. |
Shader name | Description |
---|---|
Candy | Creates random circles with random colors and a turnable bump output. Useful for random dots or candy sprinkles. |
Checker | Creates a simple checkerboard. |
Digits | Emulates a 7-segment display of numbers. Useful for debugging and showing numbers in SME. |
DotMatrix | Dot Matrix Font String Shader. |
Halftone Dots | Halftone dots that work well with toon shaders. |
Mandelbrot | Generates 4D mandelbrot/julia set. |
Rivets | Adds rivets along the edges of UV space in 1x1 squares. Squares can be bent for unevenness. |
Simple Tiles | Generates various types of tiling. The Tiling Offset modifies the base parameter of the layout and can generate different effects. |
Threads | Generates threads on a bolt. Apply as a bump or displacement to a cylinder. |
Toon Width | Toon Edge Width is based on how close the surface normal when converted to screen space is to the given direction. |
Weave | Generates a simple threaded weave. Useful for everything from cloth to carbon fiber. |
Shader name | Description |
---|---|
Blackbody | Modulates a color between two Kelvin temperatures. |
Falloff | Generates a value from white to black based on the angular falloff of the face normals. |
PBR Mixer | Mixes all parameters for two sets of PBR materials. |
Spec/Gloss to Physical | Inputs the specular and glossiness maps from a Spec/Gloss PBR shader. |
Waveform (animated) | Generates various animated waveforms. The output wave is the raw value of the waveform, and an interpretation between the two colors. |
WaveLength | Modulates a color between two wavelengths of light. |
Shader name | Description |
---|---|
Named Coord Space | Converts to a named coordinate system. |
UVW Channel | Returns a UVW coordinate from a 3ds Max map channel. |
UVW Environment | Environment mapping. |
UVW MatCap | Generates MatCap UV coordinates. Connects to a Bitmap Lookup containing an image of a MatCap material sphere. |
UVW Object Space | Returns an object space coordinate. |
UVW Randomizer (2D) |
Takes a set of 2D UVW coordinates (defaulting to Map Channel 1) and applies a random Scale, Offset and Rotation to them. Can be driven by a seed (such as NodeID or similar) for per-object randomness for each effect. |
UVW Randomizer (3D) |
Takes a set of 3D UVW coordinates (defaulting to Object Space) and applies a random Scale, Offset and Rotation to them. Can be driven by a seed (such as NodeID or similar) for per-object randomness for each effect. |
UVW Row Offset | Offsets each row of a UVW coordinate in the U direction. Allows you to create effects like stacking bricks. |
UVW Transform | Scales, tiles and rotates UVW coordinates. |
Shader name | Description |
---|---|
Color | Returns a color value. |
File Name | Returns a filename. |
Float | Returns a float value. |
Integer | Returns an integer value. |
Numbered File Name | Appends a 4 digit number to a filename (for image sequence). |
String | Returns a string value. |
Vector Value | Returns a vector value. |