Installed OSL Shaders (Maps)

The OSL category of shaders (maps) includes several general shaders as well as several subcategories.

Image that reads: Updated.

Tip: When exploring OSL shaders, remember you can find a short description at the top of the interface.
General OSL Shaders
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.
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.
Image reading: New. 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.
Compositing OSL Shaders
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.
Environment OSL Shaders
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.
Math OSL Shaders
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.
Projection OSL Shaders
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.
Scene Attributes OSL Shaders
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.
Switchers OSL Shaders
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.
Textures OSL Shaders
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.
Image reading: New. 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.
Utility OSL Shaders
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.
UVW OSL Shaders
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.
Image reading: New. 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.

Image reading: New. 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.
Values OSL Shaders
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.