mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-11 21:58:31 +09:00
[Feat] (MG_State/Program): GetAttribLocation
This commit is contained in:
@@ -215,7 +215,14 @@ namespace MobileGL {
|
|||||||
}
|
}
|
||||||
|
|
||||||
GLint GetAttribLocation_State(GLuint program, const GLchar* name) {
|
GLint GetAttribLocation_State(GLuint program, const GLchar* name) {
|
||||||
THROW_UNIMPL_EXCEPTION;
|
auto programObject = TryToGetProgramObject(program);
|
||||||
|
if (!programObject)
|
||||||
|
return -1;
|
||||||
|
if (strncmp(name, "gl_", 3) == 0)
|
||||||
|
return -1;
|
||||||
|
if (!programObject->GetLinkStatus())
|
||||||
|
return -1;
|
||||||
|
return programObject->GetAttributeLocation(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GetProgramiv_State(GLuint program, GLenum pname, GLint* params) {
|
void GetProgramiv_State(GLuint program, GLenum pname, GLint* params) {
|
||||||
|
|||||||
@@ -33,6 +33,11 @@ namespace MobileGL {
|
|||||||
return m_uniformNames[index];
|
return m_uniformNames[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Int GetAttributeLocation(const String& name) {
|
||||||
|
const auto it = std::find(m_attribs.begin(), m_attribs.end(), name);
|
||||||
|
return (it == m_attribs.end()) ? -1 : std::distance(m_attribs.begin(), it);
|
||||||
|
}
|
||||||
|
|
||||||
Bool GetDeleteStatus() const { return m_deleteStatus; }
|
Bool GetDeleteStatus() const { return m_deleteStatus; }
|
||||||
Bool GetLinkStatus() const { return m_linkStatus; }
|
Bool GetLinkStatus() const { return m_linkStatus; }
|
||||||
Bool GetValidateStatus() const { return m_validateStatus; }
|
Bool GetValidateStatus() const { return m_validateStatus; }
|
||||||
@@ -76,7 +81,7 @@ namespace MobileGL {
|
|||||||
|
|
||||||
String m_infoLog;
|
String m_infoLog;
|
||||||
Bool m_deleteStatus = false;
|
Bool m_deleteStatus = false;
|
||||||
Bool m_linkStatus = true;
|
Bool m_linkStatus = false;
|
||||||
Bool m_validateStatus = true;
|
Bool m_validateStatus = true;
|
||||||
};
|
};
|
||||||
} // namespace GLState
|
} // namespace GLState
|
||||||
|
|||||||
Reference in New Issue
Block a user