著色器載入和編譯

glCreateShader 建立的著色器物件不會做太多。它們包含單個階段的已編譯程式碼,但它們甚至不必包含該階段的完整編譯程式碼。在許多方面,它們的工作方式類似於 C 和 C++目標檔案。

程式物件包含最終的連結程式。但他們也掌握了該計劃統一價值的狀態,以及其他一些狀態資料。它們具有用於內省著色器介面資料的 API(儘管它在 GL 4.3 中變得全面)。程式物件定義了渲染時使用的著色器程式碼。

除非你打算使用它們來連結其他程式,否則不再需要用於連結程式的著色器物件。