Ejemplo n.º 1
0
        /// <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;
            }
        }
Ejemplo n.º 2
0
        /// <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;
            }
        }