OpenGL API - glShaderSource


在這裏插入圖片描述

https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glShaderSource.xhtml

OpenGL API - 筆記彙總

名稱

glShaderSource ---- 給 shader 對象指定源碼。

原型

void glShaderSource(GLuint shader,
				 	GLsizei count,
				 	const GLchar **string,
				 	const GLint *length);

參數

shader
指定需要設置源碼的 shader 對象。
count
指定源碼腳本的數量。
string
指定用於裝載的 shader 源碼。
length
指定 string 源碼數組的長度。

描述

glShaderSource 將shader中的源代碼設置爲string指定的字符串數組中的源代碼。以前存儲在着色器對象中的任何源代碼都將被完全替換。數組中的字符串數由count指定。如果長度爲空,則假定每個字符串以空結尾。如果長度不是空值,則它指向一個數組,該數組包含字符串的每個對應元素的字符串長度。長度數組中的每個元素都可以包含相應字符串的長度(空字符不計算爲字符串長度的一部分)或小於0的值,以指示字符串以空結尾。此時不會掃描或分析源代碼字符串;它們只是複製到指定的着色器對象中。

注意

當調用 glShaderSource 函數時 OpenGL 複製 shader 源碼字符串,所以當函數執行後,應用程序可以將源碼的字符串釋放掉。

錯誤

如果 shader 參數不是 OpenGL 生成的,那麼生成 GL_INVALID_VALUE 錯誤。

如果 shader 參數不是一個 shader 對象,那麼生成 GL_INVALID_OPERATION 錯誤。

如果 count 小於0,那麼生成 GL_INVALID_VALUE 錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章