之前我们已经对着色器的相关操作进行了部分封装,现在创建一个着色器类,实现完全的封装。
首先把之前创建的三个静态函数ParseShaderSource、CreateShader和 CreateShaderProgram搬进Shader类中。
然后用构造函数实现着色器程序的创建:
在析构函数中删除着色器程序:
还需要函数用于激活着色器程序:
此外,还可以添加一系列函数用于设置uniform全局变量:
现在创建并使用一个着色器程序仅需以下步骤: