| 1084 | } |
| 1085 | |
| 1086 | int vtkShaderProgram::FindUniform(const char* cname) |
| 1087 | { |
| 1088 | if (cname == nullptr || !this->Linked) |
| 1089 | { |
| 1090 | return -1; |
| 1091 | } |
| 1092 | |
| 1093 | GLint loc = -1; |
| 1094 | |
| 1095 | IterT iter = this->UniformLocs.find(cname); |
| 1096 | if (iter == this->UniformLocs.end()) |
| 1097 | { |
| 1098 | loc = static_cast<int>(glGetUniformLocation(static_cast<GLuint>(Handle), (const GLchar*)cname)); |
| 1099 | const char* allocStr = strdup(cname); |
| 1100 | this->UniformLocs.insert(std::make_pair(allocStr, static_cast<int>(loc))); |
| 1101 | } |
| 1102 | else |
| 1103 | { |
| 1104 | loc = iter->second; |
| 1105 | } |
| 1106 | return loc; |
| 1107 | } |
| 1108 | |
| 1109 | bool vtkShaderProgram::IsUniformUsed(const char* cname) |
| 1110 | { |
no test coverage detected