-1
, 나는 그 결과를 다음 얻을 : OBJ 모델 Renderering는 간격
glPushMatrix();
glColor3f(1.0f, 1.0f, 1.0f);
glScaled(scale, scale, scale);
glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
for (int i = 0; i < vertices_indexes.size()-3; i+=3) {
glBegin(GL_TRIANGLE_FAN);
if (is_normals) glNormal3f(normals.at(normals_indexes[i]).x, normals.at(normals_indexes[i]).y, normals.at(normals_indexes[i]).z);
glVertex3f(vertices.at(vertices_indexes[i]).x, vertices.at(vertices_indexes[i]).y, vertices.at(vertices_indexes[i]).z);
if (is_normals) glNormal3f(normals.at(normals_indexes[i+1]).x, normals.at(normals_indexes[i+1]).y, normals.at(normals_indexes[i+1]).z);
glVertex3f(vertices.at(vertices_indexes[i + 1]).x, vertices.at(vertices_indexes[i + 1]).y, vertices.at(vertices_indexes[i + 1]).z);
if (is_normals) glNormal3f(normals.at(normals_indexes[i+2]).x, normals.at(normals_indexes[i+2]).y, normals.at(normals_indexes[i+2]).z);
glVertex3f(vertices.at(vertices_indexes[i + 2]).x, vertices.at(vertices_indexes[i + 2]).y, vertices.at(vertices_indexes[i + 2]).z);
glEnd();
}
glPopMatrix();
파서가 생성 한 모델의 토폴로지를 나타내시겠습니까? –
각 지수에서 1을 뺍니다. Wavefront 파일의 색인은 1부터 시작하지만 OpenGL은 0부터 계산되기 시작합니다. – TheAmateurProgrammer
꼭지점/색인 데이터는 정상적으로 보이지만 삼각형 컬링처럼 보입니다. 뒤에서 도려내 기가없는 동일한 장면을 렌더링하고 구멍이 사라 졌는지 확인하십시오. – kolenda