/// <summary> /// Renders geometry in a vertex buffer. /// </summary> /// <param name="vertexBuffer">The vertex buffer.</param> /// <param name="material">The material.</param> void IRenderer.Render(VertexBuffer vertexBuffer, Material material) { if (vertexBuffer == null) { throw new ArgumentNullException(nameof(vertexBuffer)); } if (material == null) { throw new ArgumentNullException(nameof(material)); } switch (this.Phase) { case Phase.Geometry: this.geometryShader.Use(material); vertexBuffer.Draw(); break; case Phase.Shadows: vertexBuffer.Draw(); break; } }
/// <summary> /// Renders a mesh. /// </summary> /// <param name="mesh">The mesh.</param> /// <param name="material">The material.</param> void IRenderer.Render(Mesh mesh, Material material) { if (mesh == null) { throw new ArgumentNullException(nameof(mesh)); } if (material == null) { throw new ArgumentNullException(nameof(material)); } switch (this.Phase) { case Phase.Geometry: this.geometryShader.Use(material); mesh.Draw(); break; case Phase.Shadows: mesh.Shadow(); break; } }