IDLgrFilterChain
Superclasses| Properties | Creation | Methods | Examples | Version History | See Also
An IDLgrFilterChain object is a specialization of the IDL_Container object that is designed to execute a sequence of image filtering shader objects according to their container order. The chain of shader objects must be "image filtering" shaders (those designed to modify an IDLgrImage object). To apply a chain of shaders to an image, set the IDLgrImage SHADER property equal to the filter chain object. Only shader objects (IDLgrShader objects and objects subclassing from IDLgrShader) can be added to the IDLgrFilterChain. See IDLgrShader for more information about shader objects.
When the sequence of shaders are executed, the output from the first shader is passed to each subsequent shader in the chain until the last shader is reached, the result of which is drawn to the destination device.
Note
This functionality requires support for OpenGL frame buffer object extension in addition to the standard hardware support require by IDLgrShader. See the IDLgrWindow::GetDeviceInfo methods's FRAMEBUFFER_OBJECT_EXTENSION keyword for details).
Note
To control the precision of the temporary storage used to pass data between shaders, use the OUTPUT_DATA_TYPE property of IDLgrShader.
If the GPU hardware does not provide sufficient support or if FORCE_FILTER is set, the software fallback is used. In such cases, the IDLgrShader::FILTER method (if provided) will be called for each shader in the filter chain. The array returned from FILTER must have the same dimensions as the incoming image. If the returned array from any IDLgrShader in the chain does not meet these requirements IDL draws the image with its original data. See Providing a Software Alternative to Shaders (Object Programming) for details.
Warning
Setting IDLgrImage RENDER_METHOD=1 (do not render image as texture-mapped polygon) disables all shader functionality including the software-based alternative.
Superclasses
Creation
Properties
Objects of this class have the following properties. See IDLgrFilterChain Properties for details on individual properties.
In addition, objects of this class inherit the properties of all superclasses of this class.
Methods
This class has the following methods:
In addition, this class inherits the methods of its superclass (IDL_Container).
Examples
See Image Filter Shaders (Object Programming) for examples.
Version History
See Also
IDLgrShader, IDLgrShaderBytscl, IDLgrShaderConvol3, IDLgrImage, Advanced Rendering Using Shader Objects (Object Programming)