// this method is called by H1ShaderManager (after successfully compiling a shader)
        public override H1Shader FinishCompileShader(H1ShaderCompileHelper.H1ShaderCompileOutput compiledOutput)
        {
            H1MaterialShader materialShader = new H1MaterialShader(this, compiledOutput.Code, compiledOutput.ParameterMap);

            // add the shader to shaderIdMap
            ShaderIdMap.Add(materialShader.ShaderId, materialShader);

            return(materialShader);
        }
        public override H1Shader FinishCompileShader(H1ShaderCompileHelper.H1ShaderCompileOutput compiledOutput)
        {
            // based on output, generate shader instance
            H1GlobalShader globalShader = new H1GlobalShader(this, compiledOutput.Code, compiledOutput.ParameterMap);

            // add the created shader to the shader map
            ShaderIdMap.Add(globalShader.ShaderId, globalShader);

            return(globalShader);
        }