UIElement.onDrawPBR

PBR layer draw method. This function is meant to be overridden.

UIElement are drawn on the Raw layer by increasing z-order, or lexical order if lack thereof. However, all PBR stuff is composited and computed before Raw is drawn on top of that (cached) result.

The widgets who have non-overlapping positions are drawn in parallel if their flags allow it.

One MUST NOT draw outsides the given dirtyRects. This allows fast and fine-grained updates. A UIElement that doesn't respect dirtyRects WILL have bad rendering with surrounding updates.

class UIElement
protected nothrow @nogc
void
onDrawPBR
(
ImageRef!RGBA diffuse
,
ImageRef!L16 depth
,
ImageRef!RGBA material
,
box2i[] dirtyRects
)

Meta