Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    ForwardRenderer Class

    Namespace: Stride.Rendering.Compositing
    Assembly: Stride.Engine.dll

    Renders your game. It should use current RenderView and GetCurrentCamera(RenderContext).

    System.Object → DisposeBase → ComponentBase → RendererCoreBase → SceneRendererBase → ForwardRenderer
    Derived from ForwardRenderer:

    [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)
    | Improve this Doc View Source

    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
    | Improve this Doc View Source

    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
    | Improve this Doc View Source

    Methods


    CollectCore(RenderContext)

    protected override void CollectCore(RenderContext context)
    Parameters
    Type Name Description
    RenderContext context
    Overrides
    SceneRendererBase.CollectCore(RenderContext)

    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
    RendererCoreBase.Destroy()

    DrawCore(RenderContext, RenderDrawContext)

    protected override void DrawCore(RenderContext context, RenderDrawContext drawContext)
    Parameters
    Type Name Description
    RenderContext context
    RenderDrawContext drawContext
    Overrides
    SceneRendererBase.DrawCore(RenderContext, RenderDrawContext)

    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
    RendererCoreBase.InitializeCore()

    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

    Inherited Members

    SceneRendererBase.Id
    SceneRendererBase.Collect(RenderContext)
    SceneRendererBase.Draw(RenderDrawContext)
    RendererCoreBase.Enabled
    RendererCoreBase.Profiling
    RendererCoreBase.ProfilingKey
    RendererCoreBase.Context
    RendererCoreBase.Services
    RendererCoreBase.Content
    RendererCoreBase.GraphicsDevice
    RendererCoreBase.EffectSystem
    RendererCoreBase.Initialized
    RendererCoreBase.Initialize(RenderContext)
    RendererCoreBase.Unload()
    RendererCoreBase.PreDrawCore(RenderDrawContext)
    RendererCoreBase.PostDrawCore(RenderDrawContext)
    RendererCoreBase.NewScopedBuffer(BufferDescription, PixelFormat)
    RendererCoreBase.NewScopedTypedBuffer(Int32, PixelFormat, Boolean, GraphicsResourceUsage)
    RendererCoreBase.PushScopedResource<T>(T)
    RendererCoreBase.CheckIsInDrawCore()
    RendererCoreBase.ToLoadAndUnload<T>(T)
    RendererCoreBase.PreDrawCoreInternal(RenderDrawContext)
    RendererCoreBase.EnsureContext(RenderContext)
    RendererCoreBase.PostDrawCoreInternal(RenderDrawContext)
    ComponentBase.Tags
    ComponentBase.Name
    ComponentBase.ICollectorHolder.Collector
    ComponentBase.OnNameChanged()
    ComponentBase.ToString()
    DisposeBase.Dispose()
    DisposeBase.IsDisposed
    DisposeBase.IReferencable.ReferenceCount
    DisposeBase.IReferencable.AddReference()
    DisposeBase.IReferencable.Release()
    DisposeBase.OnAddReference()
    DisposeBase.OnReleaseReference()

    Extension Methods

    ComponentBaseExtensions.DisposeBy<T>(T, ICollectorHolder)
    ComponentBaseExtensions.RemoveDisposeBy<T>(T, ICollectorHolder)
    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation