Class SpriteRenderer
- Namespace
- BSGameLib.Game
- Assembly
- BSGameLib.Game.dll
Begins the render encoders that draw sprites, shapes and text, and owns the sprite batch they use.
public class SpriteRenderer : IDisposable
- Inheritance
-
SpriteRenderer
- Implements
- Inherited Members
Constructors
SpriteRenderer(ILightingManager, IRenderSurface, IGameWindow, IRenderMetrics, IRenderEncoderMetrics, ShaderManager, ShapeRenderer, IClearRenderer, ISpriteBatchRendererFactory)
Created by dependency injection. Registers the built-in sprite materials (unlit, lit and veil) with the shader manager.
public SpriteRenderer(ILightingManager lightingManager, IRenderSurface renderSurface, IGameWindow gameWindow, IRenderMetrics renderMetrics, IRenderEncoderMetrics renderEncoderMetrics, ShaderManager shaderManager, ShapeRenderer shapeRenderer, IClearRenderer clearRenderer, ISpriteBatchRendererFactory spriteBatchFactory)
Parameters
lightingManagerILightingManagerrenderSurfaceIRenderSurfacegameWindowIGameWindowrenderMetricsIRenderMetricsrenderEncoderMetricsIRenderEncoderMetricsshaderManagerShaderManagershapeRendererShapeRendererclearRendererIClearRendererspriteBatchFactoryISpriteBatchRendererFactory
Exceptions
- ArgumentNullException
One of the services is null.
Methods
BeginEncoder(double, RenderPassTag, string)
Begins an encoder for a render pass, with the window's projection and the whole render surface as the viewport.
public IRenderEncoderScope BeginEncoder(double totalSeconds, RenderPassTag passTag = RenderPassTag.Scene, string passName = null)
Parameters
totalSecondsdoubleThe game's total time in seconds, given to the shaders. The game passes its TotalTime.
passTagRenderPassTagThe pass the encoder draws in. Materials allow only some passes.
passNamestringA name for the pass in diagnostics. "Manual" when null or blank.
Returns
BeginEncoder(double, Matrix4x4, Rectangle, RenderPassTag, string)
Begins an encoder for a render pass that draws into viewport with projectionMatrix.
public IRenderEncoderScope BeginEncoder(double totalSeconds, Matrix4x4 projectionMatrix, Rectangle viewport, RenderPassTag passTag = RenderPassTag.Scene, string passName = null)
Parameters
totalSecondsdoubleThe game's total time in seconds, given to the shaders. The game passes its TotalTime.
projectionMatrixMatrix4x4The projection to draw with.
viewportRectangleThe area of the render surface drawn to, in pixels.
passTagRenderPassTagThe pass the encoder draws in. Materials allow only some passes. None is treated as Scene.
passNamestringA name for the pass in diagnostics. "Manual" when null or blank.
Returns
BeginEncoder(double, Matrix4x4, RenderPassTag, string)
Begins an encoder for a render pass, with projectionMatrix in place of the window's projection and the whole render surface as the viewport.
public IRenderEncoderScope BeginEncoder(double totalSeconds, Matrix4x4 projectionMatrix, RenderPassTag passTag = RenderPassTag.Scene, string passName = null)
Parameters
totalSecondsdoubleThe game's total time in seconds, given to the shaders. The game passes its TotalTime.
projectionMatrixMatrix4x4The projection to draw with.
passTagRenderPassTagThe pass the encoder draws in. Materials allow only some passes.
passNamestringA name for the pass in diagnostics. "Manual" when null or blank.
Returns
Dispose()
Releases the sprite batch.
public void Dispose()
Dispose(bool)
Releases the sprite batch when disposing is true.
protected virtual void Dispose(bool disposing)
Parameters
disposingbool