Click or drag to resize
AB4D logo

RenderObjectsRenderingStep Class

RenderObjects renders the objects
Inheritance Hierarchy

Namespace:  Ab3d.DirectX
Assembly:  Ab3d.DXEngine (in Ab3d.DXEngine.dll) Version: 5.1.8147.1045
Syntax
C#
public class RenderObjectsRenderingStep : RenderingStepBase

The RenderObjectsRenderingStep type exposes the following members.

Constructors
  NameDescription
Public methodRenderObjectsRenderingStep
Initializes a new instance of the RenderObjectsRenderingStep class.
Top
Properties
  NameDescription
Public propertyAllowMultipassRendering
Gets or sets a boolean that specifies if multipass rendering is used when number of light is bigger than the number of lights that can be rendered in one rendering pass. Default value is true.
Public propertyBackgroundThreadsManager
Gets or sets a BackgroundThreadsManager that is used by this RenderObjectsRenderingStep. If this value is not manually set by the user, then it is set from the BackgroundThreadsManager or BackgroundThreadsManager.
Public propertyFilterLightsFunction
Gets or sets a filter function that can be used to filter lights used by this RenderObjectsRenderingStep - the function should return a List{ILight}
Public propertyFilterObjectsFunction
Gets or sets a filter function that can be used to filter the objects that will be rendered (returning false for object that are not rendered).
Public propertyFilterRenderingQueuesFunction
Gets or sets a filter function that can be used to filter RenderingQueue that will be rendered (returning false for RenderingQueue that are not rendered).
Public propertyIsCachingCommandLists
Gets or sets a boolean that specifies if this instance of RenderObjectsRenderingStep can cache command lists (record then in one frame and reuse the command lists in the following frames). By default this value is set to true, but to use command lists then also the IsCachingCommandLists from DXScene must be set to true.
Public propertyOverrideBlendState
When OverrideBlendState is set, the specified BlendState will be used to render all the objects.
Public propertyOverrideDepthStencilState
When OverrideDepthStencilState is set, the specified DepthStencilState will be used to render all the objects.
Public propertyOverrideEffect
When OverrideEffect is set, than it renders all objects with this effect; else the effect defined by the object's material is used
Public propertyOverrideRasterizerState
When OverrideRasterizerState is set, the specified RasterizerState will be used to render all the objects.
Public propertyOverrideStandardEffect
When OverrideStandardEffect is set, than the materials that does not have any specific effect specified will be rendered with it renders all objects with OverrideStandardEffect; otherwise the DXDevice.EffectsManager.GetStandardEffect() method will be used to get the standard effect.
Public propertyUseMultiThreading
Gets or sets a nullable Boolean that specifies if rendering objects in this rendering step can be done in multiple threads (when also enabled by MaxBackgroundThreadsCount). Default value is true.
Top
Methods
  NameDescription
Public methodSaveExecutionTimeStatistics
SaveExecutionTimeStatistics is called when we are collecting statistics. The implementation of the method should save or add the elapsedMilliseconds to the corresponding property in the RenderingStatistics class.
(Overrides RenderingStepBaseSaveExecutionTimeStatistics(Double, RenderingStatistics).)
Public methodToString
Returns a string that represents the current object.
(Overrides RenderingStepBaseToString.)
Top
Fields
  NameDescription
Public fieldStatic memberMainThreadWaitTimeoutMs
MainThreadWaitTimeoutMs specifies a timeout that is used in main thread to wait for all background threads to finish preparing command lists. Note that the UI thread is also executing the same task (preparing rendering or preparing the command list) so theoretically it should take the same amount of time on UI and background threads and therefore the default value of 2 seconds should be more then enough.
Public fieldStatic memberMinObjectsForCachedCommandLists
MinObjectsForCachedCommandLists is a static integer value that specifies minimum number of objects that are required to start using cached command lists (when enabled with IsCachingCommandLists from DXScene). Default value is 400.
Public fieldStatic memberMinObjectsPerThread
MinObjectsPerThread is a static integer value that specifies minimum number of objects that are required to create a new thread. For example if multi-threading is enabled and there are 320 objects to render and MinObjectsPerThread is set to 100 (by default), then 3 threads will be created to render all the objects (if not limited by number of actual processors or MaxBackgroundThreadsCount).
Top
See Also