/// <summary> /// 创建着色器基类 /// </summary> /// <param name="shaderBuilder">空着色器</param> protected ShaderBase(ShaderBuilder shaderBuilder) { if (!shaderBuilder.Linked) { shaderBuilder.Link(); } ShaderProgram = shaderBuilder.ShaderProgram; Use(); }
/// <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; }