我注意到程序员制作变量const和static. 我了解这些关键字的作用,但我不知道他们为什么使用它们。

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 数组在设置后不会更改。但是绝对有必要让它保持不变吗?它会提高性能吗?

top
Copyright © 2088 世界杯四强_世界杯裁判 - tylwn.com All Rights Reserved.
友情链接