我正在查看一些用于多重播放矩阵的 OpenGL ES 代码,但我不确定这个 if 语句是如何工作的:
for (int i = 0; i <_uniformArraySize; i++) {
**if (!strcmp(_uniformArray[i].Name, "ModelViewProjectionMatrix")) {**
GLKMatrix4 modelViewProjectionMatrix = GLKMatrix4Multiply(_projectionMatrix, _modelViewMatrix);
glUniformMatrix4fv(_uniformArray[i].Location, 1, GL_FALSE, modelViewProjectionMatrix.m);
}
}
!strcmp 是否意味着字符串相等或不相等?我查看了 strcmp 文档,它返回数字。那么 if 语句中的这个感叹号如何影响一个数字(作为 strcmp 的返回值)?
谢谢