在这种情况下,语法 [] 是什么意思?
What does the syntax [] mean in this case?
我正在通过 GitHubGist 上的示例项目学习如何在 pyopengl 中使用着色器。我遇到了“[]”语法,我不知道在这种情况下它是什么意思。
我只知道“[]”的一种用法,就是索引数组。
def initShader(self, vertex_shader_source, fragment_shader_source):
# create program
self.program=glCreateProgram()
print('create program')
printOpenGLError()
# vertex shader
print('compile vertex shader...')
self.vs = glCreateShader(GL_VERTEX_SHADER)
glShaderSource(self.vs, [vertex_shader_source])
glCompileShader(self.vs)
glAttachShader(self.program, self.vs)
printOpenGLError()
我不明白 glShaderSource() 中使用的“[]”语法
函数 glShaderSource
接受代码片段列表。
请参阅 glShaderSource
:
的 PyOpenGL 文档
glShaderSource( GLhandle(shaderObj),[bytes(string),...]) -> None
[vertex_shader_source]
是字符串列表,其中每个字符串包含glsl源代码([]
生成一个List
)。
在这种情况下,列表只包含一个元素。
列表的元素被连接和编译。
另请参阅 glShaderSource
的 C 规范
我正在通过 GitHubGist 上的示例项目学习如何在 pyopengl 中使用着色器。我遇到了“[]”语法,我不知道在这种情况下它是什么意思。
我只知道“[]”的一种用法,就是索引数组。
def initShader(self, vertex_shader_source, fragment_shader_source):
# create program
self.program=glCreateProgram()
print('create program')
printOpenGLError()
# vertex shader
print('compile vertex shader...')
self.vs = glCreateShader(GL_VERTEX_SHADER)
glShaderSource(self.vs, [vertex_shader_source])
glCompileShader(self.vs)
glAttachShader(self.program, self.vs)
printOpenGLError()
我不明白 glShaderSource() 中使用的“[]”语法
函数 glShaderSource
接受代码片段列表。
请参阅 glShaderSource
:
glShaderSource( GLhandle(shaderObj),[bytes(string),...]) -> None
[vertex_shader_source]
是字符串列表,其中每个字符串包含glsl源代码([]
生成一个List
)。
在这种情况下,列表只包含一个元素。
列表的元素被连接和编译。
另请参阅 glShaderSource