Skip to content

pipeline

FreeBodyEngine.graphics.pipeline #

GraphicsPipeline() #

Bases: Service

Abstract base for a rendering pipeline (e.g. PBRPipeline) - owns the actual sequence of passes/draw calls a frame goes through, built on top of a Renderer backend's low-level drawing primitives. Registers itself as the 'graphics' service and depends on 'renderer'.

Declares 'renderer' as a service dependency.

create_material(data) #

Builds and returns this pipeline's Material subclass from data (e.g. a parsed .fbmat file).

draw() #

Runs one frame's worth of render passes - called automatically every UpdatePhase.DRAW.

on_destroy() #

Unregisters draw() from UpdatePhase.DRAW and resize() from FRAMEBUFFER_RESIZE.

on_initialize() #

Registers draw() to run every UpdatePhase.DRAW, fetches the 'renderer' service, and subscribes resize() to FRAMEBUFFER_RESIZE.

resize(size) #

Called on FRAMEBUFFER_RESIZE with the new framebuffer size (pixels) - subclasses resize whatever framebuffers/render targets they own.