我正在關注「OpenGL Superbible」一書,我不禁注意到,當我們創建着色器並創建我們附加着色器的程序時,我們將它們存儲爲無符號整數的GLuint。爲什麼着色器和程序以整數形式存儲在OpenGL中?
它們爲什麼以數字形式存儲?數字的價值是什麼意思?
例如:
GLuint vertex_shader;
GLuint fragment_shader;
GLuint program;
// Create and compile vertex shader
vertex_shader = glCreateShader(GL_VERTEX_SHADER);
glShaderSource(vertex_shader, 1, vertex_shader_source, NULL);
glCompileShader(vertex_shader);
// Create program, attach shaders to it, and link it
program = glCreateProgram();
glAttachShader(program, vertex_shader);
glLinkProgram(program);
這些整數用於[句柄](https://en.wikipedia.org/wiki/Handle_(計算))的目的) –
謝謝,這回答我的問題!由於Win32 API,我熟悉手柄。 :) – Jeffrey