using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using VisimBox.Renderer;

namespace VisimRenderGL
{
    class GLMaterialMan : MaterialManager
    {

        public GLMaterialMan(IRenderer render)
            : base(render)
        {
        }

        protected override IRenderMaterial CreateSimpleColor(string name, VisiMath.ColorByte color)
        {
            GLMaterialSimpleColor rval = new GLMaterialSimpleColor(name, color);
            return rval;
        }

        protected override IRenderMaterial CreateColorMaterial(string name, ref StandardColorValues values)
        {
            GLMaterialColored rval = new GLMaterialColored(name, ref values);
            return rval;
        }

        protected override IRenderMaterial CreateTexturedSimple(string name, Texture tex)
        {
            return new GLMaterialSimpleTex(name, tex);
        }

        protected override IRenderMaterial CreateTextured(string name, Texture tex, ref StandardColorValues values)
        {
            GLMaterialColoredTex rval = new GLMaterialColoredTex(name, ref values, tex);
            return rval;
        }
    }
}
