1

誰かが次のコードで私を助けることができるかどうか疑問に思っています:

// Get uniform locations.
GLint m_nUniforms = 0;
glUniformMatrix4fv(uniforms, 1, 0, _modelViewProjectionMatrix.m);


glGetProgramiv(_program, GL_ACTIVE_UNIFORMS, &m_nUniforms);
for(unsigned i = 0; i < m_nUniforms; i++)
{
    char *uniformName = NULL;
    GLint size;
    GLenum type;

    glGetActiveUniform(_program, i, max_length + 1, NULL, &size, &type, uniformName);
    uniforms[uniformName] = glGetUniformLocation(_program, uniformName);
}

for ループの反復ごとに、タイプ 'char* uiformName' の添字を使用してユニフォームを割り当てたいと考えています。「配列の添え字が整数ではありません」というエラーが表示されます。

char を配列の添字として使用するにはどうすればよいですか?

ありがとうございました

4

1 に答える 1

3

次に必要なのは、キーと値の両方が文字列である辞書です。

NSMutableDictionary *uniforms = [[NSMutableDictionary alloc] init];

for (blah)
{
    glGetActiveUniform(_program, i, max_length + 1, NULL, &size, &type, uniformName);
    char *uniform = glGetUniformLocation(_program, uniformName);
    [uniforms addObject:[NSString stringWithUTF8String:uniform]
                 forKey:[NSString stringWithUTF8String:uniformName]];
}
于 2013-03-04T13:34:46.190 に答える