著色器類
之前我們已經(jīng)對(duì)著色器的相關(guān)操作進(jìn)行了部分封裝,現(xiàn)在創(chuàng)建一個(gè)著色器類,實(shí)現(xiàn)完全的封裝。

首先把之前創(chuàng)建的三個(gè)靜態(tài)函數(shù)ParseShaderSource、CreateShader和 CreateShaderProgram搬進(jìn)Shader類中。
然后用構(gòu)造函數(shù)實(shí)現(xiàn)著色器程序的創(chuàng)建:

在析構(gòu)函數(shù)中刪除著色器程序:

還需要函數(shù)用于激活著色器程序:

此外,還可以添加一系列函數(shù)用于設(shè)置uniform全局變量:

現(xiàn)在創(chuàng)建并使用一個(gè)著色器程序僅需以下步驟:

標(biāo)簽:OpenGL