-1
나는 교육 목적으로 glsl 래퍼를 작성하지만 오해가 있기 때문에 중단되었습니다. 변수를 특정 위치에 삽입하려면 경고가 일치하지 않습니다. 위치는 GLint이지만 glVertexAttrib 위치는 GLuint 여야합니다.유형 불일치 정점 속성
다음은 오류의 경우 음의 지수를 반환 할 수 있습니다 내 코드 샘플
bool Material::AddAttrib(GLchar *variable, std::vector<GLdouble> values) {
GLint location = glGetAttribLocation(program,variable);
GLenum error = glGetError();
bool isNor = PrintError(error);
if(!isNor) return isNor;
switch (values.size()) {
case 1:
glVertexAttrib1d(location, values.at(0));
break;
case 2:
glVertexAttrib2d(location, values.at(0), values.at(1));
break;
case 3:
glVertexAttrib3d(location, values.at(0), values.at(1), values.at(2));
break;
case 4:
glVertexAttrib4d(location, values.at(0), values.at(1), values.at(2), values.at(3));
break;
default:
PrintErrorSize();
return false;
}
error = glGetError();
isNor = PrintError(error);
return isNor;
}