저는 지난 몇 주 동안 키보드에서 머리를 숙였습니다. 내가 뭘하려고 해요 배열의 수레 (GLfloat) 및 텍스트 파일에서 unsigned shorts (GLushort)의 배열을 objective-c의 동등한 배열로로드하여 포함 된 객체를 렌더링 할 수있게합니다. 나는파일에서 정점 배열을로드하기위한 올바른 형식
vector<float> vertices;
및
vector<GLushort> indices;
그러나 나는 이러한 렌더링 얻을 수없는 이유를 알아낼 수 없습니다 어떤 이유로 벡터 객체에로드 내 배열을 가지고있다.
glVertexPointer(3, GL_FLOAT, sizeof(vertices[0])*6, &vertices[0]);
glNormalPoitner(GL_FLOAT, sizeof(vertices[0])*6, &vertices[3]);
glDrawElements(GL_TRIANGLES, sizeof(indices)/sizeof(indices[0]), GL_UNSIGNED_SHORT, indices);
샘플 배열은 다음과 같습니다 :
vertices: (Vx, Vy, Vz, Nx, Ny, Nz)
{10, 10, 0, 0, 0, 1,
-10, 10, 0, 0, 0, 1,
-10, -10, 0, 0, 0, 1,
10, -10, 0, 0, 0, 1};
indices: (v1, v2, v3)
{0, 1, 2,
0, 2, 3};
텍스트 파일이이 같은 모습을 렌더링에서 이러한 배열을로드 할 다음은 위의 렌더링에 대한 내 코드는
4 //Number of Vertices
###Vertices###
v 10 10 0 0 0 1
v -10 10 0 0 0 1
v -10 -10 0 0 0 1
v 10 -10 0 0 0 1
###Object1###
2 //Number of faces
f 0 1 2
f 3 4 5
벡터 객체는 최상의 접근 방식을 취합니까? 그렇지 않다면 무엇입니까? 그리고 내가 뭘 잘못해서 렌더링하지 않을거야? 감사.
"렌더링 할 수 없습니다." 대신 당신은 ... 뭐라 구요? 추락? 검은 화면? – genpfault
미안하지만, 분명히 밝혀지지 않았습니다. 내 glDrawElements 행을 주석 처리 한 것과 같습니다. 말하자면, glDrawElements보다 렌더링하려는 효율적인 방법이 있습니까? – Davido