ForwardPipelineBase Type
Abstract staged forward 3D pipeline base for the raylib 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 (mesh / skinned
mesh / model / instanced) through the cached Cook-Torrance PBR shaders, so models and instanced
geometry get PBR + point/spot lights + shadows automatically. When a user-effect scope is open
(beginEffect/endEffect), the default Shade uploads the scene data to the
user shader by name via SceneUpload.
Override Shade to plug a different shading strategy (toon, cel, custom). The scene
gather, shadow pass, and forward-pass dispatch are inherited.
Register via:
Renderer3D.create (ForwardPbrPipeline()) view
Constructors
| Constructor |
Description
|
Full Usage:
ForwardPipelineBase(?maxPointLights, ?maxSpotLights, ?shadowAtlasConfig, ?shadowBiasConfig)
Parameters:
int
?maxSpotLights : int
?shadowAtlasConfig : ShadowAtlasConfig
?shadowBiasConfig : ShadowBiasConfig
Returns: ForwardPipelineBase
|
|
Instance members
| Instance member |
Description
|
Full Usage:
this.Shade
Parameters:
ForwardFrame
-
The frame's scene bundle (lights, shadow slots, shadow output, time).
activeEffect : Shader voption
-
ValueNone on the default PBR path; ValueSome shader when a user-effect scope is open.
currentCamera : byref<Camera3D>
-
The active camera.
draw : Command3D
-
The draw command to shade.
Modifiers: abstract |
Per-draw shading hook for user-effect scopes (beginEffect/endEffect). Override to plug a custom shading strategy (toon, cel, wireframe) while inheriting the camera/light/shadow gather and forward-pass orchestration from ForwardPipelineBase.Execute.
The default PBR path is dispatched inline in
|
Mibo