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
|
Full Usage:
ForwardPipelineBase(?shadowAtlas, ?shadowBias)
Parameters:
ShadowAtlasConfig
?shadowBias : ShadowBiasConfig
Returns: ForwardPipelineBase
|
|
Instance members
| Instance member |
Description
|
Full Usage:
this.Shade
Parameters:
GraphicsDevice
state : byref<ForwardState>
frame : byref<ForwardFrame>
activeEffect : Effect voption
draw : Command3D
Modifiers: abstract |
|
Mibo