Пример #1
0
 /// <summary>
 /// 创建着色器基类
 /// </summary>
 /// <param name="shaderBuilder">空着色器</param>
 protected ShaderBase(ShaderBuilder shaderBuilder)
 {
     if (!shaderBuilder.Linked)
     {
         shaderBuilder.Link();
     }
     ShaderProgram = shaderBuilder.ShaderProgram;
     Use();
 }
Пример #2
0
        /// <summary>
        /// 从已存在的着色器创建
        /// </summary>
        /// <param name="shader"></param>
        /// <exception cref="ShaderException"></exception>
        public Shader(ShaderBuilder shader) : base(shader.ShaderProgram)
        {
            if (!shader.Linked)
            {
                throw new ShaderException("The shader program hadn't been linked yet.");
            }

            BaseShader = shader;
        }