chickadee » hypergiant » define-alpha-pipeline

(define-pipeline PIPELINE-NAME . SHADERS)syntax
(define-alpha-pipeline PIPELINE-NAME . SHADERS)syntax

Accepts arguments identical to glls’ define-pipeline, but additionally defines a render-pipeline object with the name PIPELINE-NAME-render-pipeline. This render-pipeline object should be passed to add-node, and contains all the functions necessary to render the pipeline’s renderables. In other words, this creates managed Hyperscene pipeline objects that you don’t need to worry about. Additional work occurs if you evaluate (i.e. don’t compile) a program that uses define-pipeline.

The functions in the Hyperscene pipelines created by define-pipeline correspond to the begin render, render, and end render “fast” functions created by glls. Setting the unique-textures? parameter, to #f (for syntax), if a pipeline is known to use only one texture (for each sampler type), may improve speed.

define-alpha-pipeline works the same, but the creates a pipeline that is potentially transparent to some degree. This additional macro is necessary since Hyperscene renders alpha objects at a different stage, in a different order from opaque objects.