private BatchedRenderer( IBatchedRenderable renderable, ShaderProgram?shaderProgram, IEnumerable <IRenderSetting> settings) { this.renderable = renderable; this.settings = settings.ToImmutableArray(); renderable.BatchActivated += onBatchActivated; renderable.BatchDeactivated += onBatchDeactivated; if (shaderProgram != null) { SetShaderProgram(shaderProgram); } }
public static BatchedRenderer From( IBatchedRenderable renderable, ShaderProgram shaderProgram, IEnumerable <IRenderSetting> settings) { return(new BatchedRenderer(renderable, shaderProgram, settings)); }
public static BatchedRenderer From( IBatchedRenderable renderable, ShaderProgram shaderProgram, params IRenderSetting[] settings) { return(From(renderable, shaderProgram, settings.AsEnumerable())); }
public static BatchedRenderer From(IBatchedRenderable renderable, ShaderProgram shaderProgram) { return(From(renderable, shaderProgram, Enumerable.Empty <IRenderSetting>())); }
public static BatchedRenderer From(IBatchedRenderable renderable, IEnumerable <IRenderSetting> settings) { return(new BatchedRenderer(renderable, null, settings)); }
public static BatchedRenderer From(IBatchedRenderable renderable) { return(From(renderable, Enumerable.Empty <IRenderSetting>())); }