Header menu logo Mibo

ForwardPipelineBase Type

Staged forward 3D pipeline base for the MonoGame backend. Implements IRenderPipeline3D by dispatching Command3D values, split into reusable stages — ForwardPipelineBase.Execute (orchestration), the pre-scan gather, the shadow pass, and a virtual ForwardPipelineBase.Shade for per-draw shading. The default Shade routes the shaded draw kinds (model / animated model / primitive / instanced) through the custom Cook-Torrance PBR effect (ForwardPbr.fx), so imported models and instanced geometry get PBR + point/spot lights + shadows automatically. The only native-effect paths left are the billboards/lines (unlit BasicEffect) and DrawMeshEffect (user-supplied effect escape hatch).

Ports the dispatch skeleton of Mibo.Raylib/Graphics3D/Pipelines/ForwardPbrPipeline.fs, adapted to MonoGame conventions (plain float4x4, mul(position, matrix), right-handed math, OpenGL SM3.0 cap). Material3D.fromModelMeshPart reads each model part's baked native effect (BasicEffect/SkinnedEffect) into a Material3D so the authored look survives the swap to the PBR effect.

Lighting budget: 1 ambient + 1 directional + up to 8 point + up to 4 spot lights, all bound to the PBR effect. Directional/point/spot shadows render to an R32F atlas (DepthShadow.fx) and are sampled with manual 3×3 PCF.

Register via:

 Renderer3D.create (ForwardPipeline()) view

Constructors

Constructor Description

ForwardPipelineBase(?shadowAtlas, ?shadowBias)

Full Usage: ForwardPipelineBase(?shadowAtlas, ?shadowBias)

Parameters:
Returns: ForwardPipelineBase
?shadowAtlas : ShadowAtlasConfig
?shadowBias : ShadowBiasConfig
Returns: ForwardPipelineBase

Instance members

Instance member Description

this.Shade

Full Usage: this.Shade

Parameters:
Modifiers: abstract
gd : GraphicsDevice
state : byref<ForwardState>
frame : byref<ForwardFrame>
activeEffect : Effect voption
draw : Command3D

Type something to start searching.