# Library of Pre-Built Shader Objects

The IDL distribution includes two shader objects that subclass from IDLgrShader. These pre-built shader objects let you quickly add the functionality of a shader to an image processing application without having to write any GLSL code. These subclasses also provide a software fallback mechanism to apply the image processing step to the image data in the absence of shader hardware. The shader code and the corresponding equivalent IDL code (software fallback) are contained within a single object, which lets you easily add this functionality to an application.

The two pre-built shader objects are:

- IDLgrShaderBytscl — highlights features by modifying the input and output levels of the associated IDLgrImage object.
- IDLgrShaderConvol3 — defines a convolution filter to smooth, sharpen, perform edge detection, or perform a custom convolution operation when associated with an IDLgrImage object. See “Filter Chain Shaders” for an example.