public void CompileShader(ShaderName internalName, string groupName, string shaderName)
        {
            ShaderGroup sg;

            if (precompiledGroups.ContainsKey(groupName))
            {
                sg = precompiledGroups[groupName];
            }
            else
            {
                sg = ShaderCompiler.Compile(GetResourceText(groupName));
            }

            Shader s = sg.GetShader(shaderName);

            if (s == null)
            {
                throw new RenderDeviceException(string.Format("Shader {0}::{1} not found", groupName, shaderName));
            }

            /*General.WriteLogLine(string.Format("===========================================\nDBG: loading shader {0} / {1}\n\nVertex source: {2}\n\nFragment source: {3}\n\n===========================================",
             *  groupName, shaderName, s.GetVertexSource(), s.GetFragmentSource()));*/
            RenderDevice_DeclareShader(Handle, internalName, internalName.ToString(), s.GetVertexSource(), s.GetFragmentSource());
        }
 public void DeclareShader(ShaderName name, string vertResourceName, string fragResourceName)
 {
     RenderDevice_DeclareShader(Handle, name, name.ToString(), GetResourceText(vertResourceName), GetResourceText(fragResourceName));
 }
 public override string ToString()
 {
     return(ShaderName.ToString());
 }