ForwardRenderer Class
Namespace: Stride.Rendering.CompositingAssembly: Stride.Engine.dll
Renders your game. It should use current RenderView and GetCurrentCamera(RenderContext).
[Display("Forward renderer", null)]
public class ForwardRenderer : SceneRendererBase, IComponent, IReferencable, ICollectorHolder, ISceneRenderer, IRenderCollector, IGraphicsRenderer, IGraphicsRendererCore, IDisposable, ISharedRenderer, IIdentifiable, IGraphicsRendererBase
| Name | Description | |
|---|---|---|
| Fields | ||
| DepthBufferFormat | ||
| viewDepthStencil | ||
| viewOutputTarget | ||
| Properties | ||
| BindDepthAsResourceDuringTransparentRendering | If true, depth buffer generated during OpaqueRenderStage will be available as a shader resource named DepthBase.DepthStencil during TransparentRenderStage. |
|
| Clear | ||
| GBufferRenderStage | The G-Buffer render stage to render depth buffer and possibly some other extra info to buffers (i.e. normals) |
|
| LightProbes | Enable Light Probe. |
|
| LightShafts | Light shafts effect |
|
| MSAALevel | The level of multi-sampling |
|
| MSAAResolver | MSAA Resolver is used to resolve multi-sampled render targets into normal render targets |
|
| OpaqueRenderStage | The main render stage for opaque geometry. |
|
| PostEffects | The post effects renderer. |
|
| ShadowMapRenderStages | The shadow map render stages for shadow casters. No shadow rendering will happen if null. |
|
| SubsurfaceScatteringBlurEffect | Separable subsurface scattering effect |
|
| TransparentRenderStage | The transparent render stage for transparent geometry. |
|
| ViewCount | ||
| ViewIndex | ||
| VRSettings | Virtual Reality related settings |
|
| Methods | ||
| CollectCore(RenderContext) | ||
| CollectStages(RenderContext) | ||
| CollectView(RenderContext) | ||
| ComputeNonMSAADepthFormat(PixelFormat) | ||
| Destroy() | ||
| DrawCore(RenderContext, RenderDrawContext) | ||
| DrawView(RenderContext, RenderDrawContext, Int32, Int32) | ||
| InitializeCore() | ||
| PrepareRenderTargets(RenderDrawContext, Size2) | Prepares targets per frame, caching and handling MSAA etc. |
|
| ValidateOpaqueStageOutput(RenderOutputValidator, RenderContext) | ||
Fields
DepthBufferFormat
public const PixelFormat DepthBufferFormat = PixelFormat.D24_UNorm_S8_UInt
Field Value
| Type | Description |
|---|---|
| PixelFormat |
viewDepthStencil
protected Texture viewDepthStencil
Field Value
| Type | Description |
|---|---|
| Texture |
viewOutputTarget
protected Texture viewOutputTarget
Field Value
| Type | Description |
|---|---|
| Texture |
Properties
BindDepthAsResourceDuringTransparentRendering
If true, depth buffer generated during OpaqueRenderStage will be available as a shader resource named DepthBase.DepthStencil during TransparentRenderStage.
public bool BindDepthAsResourceDuringTransparentRendering { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Remarks
This is needed by some effects such as particles soft edges.
On recent platforms that can bind depth buffer as read-only (HasDepthAsReadOnlyRT), depth buffer will be used as is. Otherwise, a copy will be generated.
Clear
public ClearRenderer Clear { get; set; }
Property Value
| Type | Description |
|---|---|
| ClearRenderer |
GBufferRenderStage
The G-Buffer render stage to render depth buffer and possibly some other extra info to buffers (i.e. normals)
public RenderStage GBufferRenderStage { get; set; }
Property Value
| Type | Description |
|---|---|
| RenderStage |
LightProbes
Enable Light Probe.
public bool LightProbes { get; set; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
LightShafts
Light shafts effect
public LightShafts LightShafts { get; set; }
Property Value
| Type | Description |
|---|---|
| LightShafts |
MSAALevel
The level of multi-sampling
public MultisampleCount MSAALevel { get; set; }
Property Value
| Type | Description |
|---|---|
| MultisampleCount |
MSAAResolver
MSAA Resolver is used to resolve multi-sampled render targets into normal render targets
public MSAAResolver MSAAResolver { get; }
Property Value
| Type | Description |
|---|---|
| MSAAResolver |
OpaqueRenderStage
The main render stage for opaque geometry.
public RenderStage OpaqueRenderStage { get; set; }
Property Value
| Type | Description |
|---|---|
| RenderStage |
PostEffects
The post effects renderer.
public IPostProcessingEffects PostEffects { get; set; }
Property Value
| Type | Description |
|---|---|
| IPostProcessingEffects |
ShadowMapRenderStages
The shadow map render stages for shadow casters. No shadow rendering will happen if null.
public List<RenderStage> ShadowMapRenderStages { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.List<RenderStage> |
SubsurfaceScatteringBlurEffect
Separable subsurface scattering effect
public SubsurfaceScatteringBlur SubsurfaceScatteringBlurEffect { get; set; }
Property Value
| Type | Description |
|---|---|
| SubsurfaceScatteringBlur |
TransparentRenderStage
The transparent render stage for transparent geometry.
public RenderStage TransparentRenderStage { get; set; }
Property Value
| Type | Description |
|---|---|
| RenderStage |
ViewCount
protected int ViewCount { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
ViewIndex
protected int ViewIndex { get; }
Property Value
| Type | Description |
|---|---|
| System.Int32 |
VRSettings
Virtual Reality related settings
public VRRendererSettings VRSettings { get; set; }
Property Value
| Type | Description |
|---|---|
| VRRendererSettings |
Methods
CollectCore(RenderContext)
protected override void CollectCore(RenderContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| RenderContext | context |
Overrides
CollectStages(RenderContext)
protected virtual void CollectStages(RenderContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| RenderContext | context |
CollectView(RenderContext)
protected virtual void CollectView(RenderContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| RenderContext | context |
ComputeNonMSAADepthFormat(PixelFormat)
protected static PixelFormat ComputeNonMSAADepthFormat(PixelFormat format)
Parameters
| Type | Name | Description |
|---|---|---|
| PixelFormat | format |
Returns
| Type | Description |
|---|---|
| PixelFormat |
Destroy()
protected override void Destroy()
Overrides
DrawCore(RenderContext, RenderDrawContext)
protected override void DrawCore(RenderContext context, RenderDrawContext drawContext)
Parameters
| Type | Name | Description |
|---|---|---|
| RenderContext | context | |
| RenderDrawContext | drawContext |
Overrides
DrawView(RenderContext, RenderDrawContext, Int32, Int32)
protected virtual void DrawView(RenderContext context, RenderDrawContext drawContext, int eyeIndex, int eyeCount)
Parameters
| Type | Name | Description |
|---|---|---|
| RenderContext | context | |
| RenderDrawContext | drawContext | |
| System.Int32 | eyeIndex | |
| System.Int32 | eyeCount |
InitializeCore()
protected override void InitializeCore()
Overrides
PrepareRenderTargets(RenderDrawContext, Size2)
Prepares targets per frame, caching and handling MSAA etc.
protected virtual void PrepareRenderTargets(RenderDrawContext drawContext, Size2 renderTargetsSize)
Parameters
| Type | Name | Description |
|---|---|---|
| RenderDrawContext | drawContext | The current draw context |
| Size2 | renderTargetsSize | The render target size |
ValidateOpaqueStageOutput(RenderOutputValidator, RenderContext)
protected virtual void ValidateOpaqueStageOutput(RenderOutputValidator renderOutputValidator, RenderContext renderContext)
Parameters
| Type | Name | Description |
|---|---|---|
| RenderOutputValidator | renderOutputValidator | |
| RenderContext | renderContext |