プログラマーが変数const
とstatic
. これらのキーワードの機能は理解できますが、なぜそれらを使用するのかわかりません。
The Official Guide to Learning OpenGL、バージョン 1.1 の第2 章の例 1
static GLint vertices[] = {25, 25,
100, 325,
175, 25,
175, 325,
250, 25,
325, 325};
static GLfloat colors[] = {1.0, 0.2, 0.2,
0.2, 0.2, 1.0,
0.8, 1.0, 0.2,
0.75, 0.75, 0.75,
0.35, 0.35, 0.35,
0.5, 0.5, 0.5};
glEnableClientState (GL_COLOR_ARRAY);
glEnableClientState (GL_VERTEX_ARRAY);
glColorPointer (3, GL_FLOAT, 0, colors);
glVertexPointer (2, GL_INT, 0, vertices);
この単一のオブジェクトインスタンスでのみ使用されているのに、なぜこれらの配列を静的にする必要があるのでしょうか?
wikibooks チュートリアル 1のOpenGL プログラミングの例 2
GLuint fs = glCreateShader(GL_FRAGMENT_SHADER);
const char *fs_source =
"#version 120 \n"
"void main(void) { "
" gl_FragColor[0] = 0.0; "
" gl_FragColor[1] = 0.0; "
" gl_FragColor[2] = 1.0; "
"}";
glShaderSource(fs, 1, &fs_source, NULL);
fs_source char 配列は、設定後に変更されません。しかし、それを一定にすることは絶対に必要ですか?パフォーマンスは向上しますか?