internal void AssignUniforms(Shader shader, ShaderUniformAssignmentHandler assignmentHandler) { this.textures.Clear(); this.shader = shader; foreach (ShaderUniform uniform in this.shader.Uniforms) { this.currentlyToBeAssignedUniform = uniform; assignmentHandler(this, uniform); } this.currentlyToBeAssignedUniform = null; this.shader = null; }
internal Renderable(ShaderVertexAttributeResolver attributeResolver, ShaderUniformAssignmentHandler shaderUniformAssignmentHandler, Shader shader, Mesh mesh) { if (attributeResolver == null) { Log.WriteLine($"Cannot create renderable, attributeResolver is null."); return; } if (shaderUniformAssignmentHandler == null) { Log.WriteLine($"Cannot create renderable, shaderUniformAssignmentHandler is null."); return; } this.resolvedMeshAttributes = new Dictionary <ShaderVertexAttribute, VertexAttribute>(); this.uniformAssigner = new ShaderUniformAssigner(); this.attributeResolver = attributeResolver; this.shaderUniformAssignmentHandler = shaderUniformAssignmentHandler; Shader = shader; Mesh = mesh; }
public static IRenderable CreateRenderable(ShaderVertexAttributeResolver attributeResolver, ShaderUniformAssignmentHandler shaderUniformAssignmentHandler, IShader shader, IMesh mesh) => ModBase.GraphicsHandler.CreateRenderable(attributeResolver, shaderUniformAssignmentHandler, shader, mesh);
protected void CreateRenderable(ShaderVertexAttributeResolver attributeResolver, ShaderUniformAssignmentHandler shaderUniformAssignmentHandler, IShader shader, IMesh mesh) { Renderable = GraphicsHandler.CreateRenderable(attributeResolver, shaderUniformAssignmentHandler, shader, mesh); }