Table of Contents

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

lightingManager ILightingManager
renderSurface IRenderSurface
gameWindow IGameWindow
renderMetrics IRenderMetrics
renderEncoderMetrics IRenderEncoderMetrics
shaderManager ShaderManager
shapeRenderer ShapeRenderer
clearRenderer IClearRenderer
spriteBatchFactory ISpriteBatchRendererFactory

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

totalSeconds double

The game's total time in seconds, given to the shaders. The game passes its TotalTime.

passTag RenderPassTag

The pass the encoder draws in. Materials allow only some passes.

passName string

A name for the pass in diagnostics. "Manual" when null or blank.

Returns

IRenderEncoderScope

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

totalSeconds double

The game's total time in seconds, given to the shaders. The game passes its TotalTime.

projectionMatrix Matrix4x4

The projection to draw with.

viewport Rectangle

The area of the render surface drawn to, in pixels.

passTag RenderPassTag

The pass the encoder draws in. Materials allow only some passes. None is treated as Scene.

passName string

A name for the pass in diagnostics. "Manual" when null or blank.

Returns

IRenderEncoderScope

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

totalSeconds double

The game's total time in seconds, given to the shaders. The game passes its TotalTime.

projectionMatrix Matrix4x4

The projection to draw with.

passTag RenderPassTag

The pass the encoder draws in. Materials allow only some passes.

passName string

A name for the pass in diagnostics. "Manual" when null or blank.

Returns

IRenderEncoderScope

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

disposing bool