MultipassCompositor

Compositor with series of successive passes. This owns an arbitrary number of passesn that are created in its constructor.

Constructors

this
this(CompositorCreationContext* context)

Destructor

~this
~this()
Undocumented in source.

Members

Functions

addPass
void addPass(CompositorPass pass)

Enqueue a pass in the compositor pipeline. This is meant to be used in a MultipassCompositor derivative constructor. Passes are called in their order of addition. That pass is now owned by the MultipassCompositor.

compositeTile
void compositeTile(ImageRef!RGBA wfb, const(box2i)[] areas, Mipmap!RGBA diffuseMap, Mipmap!RGBA materialMap, Mipmap!L16 depthMap, IProfiler profiler)

Note: the exact algorithm for compositing pass is entirely up to you. You could imagine intermediate mipmappingsteps in the middle. compositeTile needs complete power over the parallelization strategy.

getPass
inout(CompositorPass) getPass(int nth)
Undocumented in source. Be warned that the author may not have intended to support it.
numThreads
int numThreads()
Undocumented in source. Be warned that the author may not have intended to support it.
passes
inout(CompositorPass)[] passes()
Undocumented in source. Be warned that the author may not have intended to support it.
resizeBuffers
void resizeBuffers(int width, int height, int areaMaxWidth, int areaMaxHeight)
Undocumented in source. Be warned that the author may not have intended to support it.
threadPool
ThreadPool threadPool()
Undocumented in source. Be warned that the author may not have intended to support it.

Inherited Members

From ICompositor

resizeBuffers
void resizeBuffers(int width, int height, int areaMaxWidth, int areaMaxHeight)

Setup the compositor to output a particular output size.

compositeTile
void compositeTile(ImageRef!RGBA wfb, const(box2i)[] areas, Mipmap!RGBA diffuseMap, Mipmap!RGBA materialMap, Mipmap!L16 depthMap, IProfiler profiler)

From given input mipmaps, write output image into wfb with pixel format pf, for the output area area.

Meta