0
저는 OpenGL ES에 익숙하지 않습니다. 저는 학습 곡선의 일부로 기본적인 것들을하려고 노력하고 있습니다. 두 개의 glDrawArrays 호출로 두 개의 메시, 구 및 큐브를 렌더링 할 수있었습니다. 큐브와 구 주위를 감싸기 위해 다른 텍스처를로드하려고 시도하지만 실제로로드 된 텍스처가 두 메쉬 모두에 래핑됩니다. 왜 이런 일이 일어날 지 아는 사람이 있습니까? 여기 OpenGL ES 2.0에서 각 메쉬마다 다른 텍스처를로드하는 방법은 무엇입니까?
메쉬에 대한 코드이다 가glEnable(GL_DEPTH_TEST);
glGenVertexArraysOES(1, &vertexArray);
glBindVertexArrayOES(vertexArray);
glGenBuffers(1, &vertexBuffer);
glBindBuffer(GL_ARRAY_BUFFER, vertexBuffer);
glBufferData(GL_ARRAY_BUFFER, sizeMeshVerts, meshVerts, GL_STATIC_DRAW);
glEnableVertexAttribArray(GLKVertexAttribPosition);
glVertexAttribPointer(GLKVertexAttribPosition, 3, GL_FLOAT, GL_FALSE, 4*8, BUFFER_OFFSET(0));
glEnableVertexAttribArray(GLKVertexAttribNormal);
glVertexAttribPointer(GLKVertexAttribNormal, 3, GL_FLOAT, GL_FALSE, 4*8, BUFFER_OFFSET(4*3));
glEnableVertexAttribArray(GLKVertexAttribTexCoord0);
glVertexAttribPointer(GLKVertexAttribTexCoord0, 2, GL_FLOAT, GL_FALSE, 4*8, BUFFER_OFFSET(4*6));
// Texture
// Create image from file
NSString *path = [[NSBundle mainBundle] pathForResource:textureImage ofType:@"jpg"];
NSData *texData = [[NSData alloc] initWithContentsOfFile:path];
UIImage *image = [[UIImage alloc] initWithData:texData];
// 새로운 OpenGL은 ES 텍스처 버퍼를 생성 가 // 로부터 픽셀 데이터를 사용하여 버퍼 콘텐츠를 초기화 // 코어 그래픽 이미지의 CGImage 지정된 .
glBindVertexArrayOES(_vertexArray);
// Render the object with ES2
glUseProgram(_program);
// Set the sampler texture unit to 0
glUniform1i (uniforms[UNIFORM_TEXTURE_MATRIX], 0);
glDrawArrays(GL_TRIANGLES, 0, numVertices);
좋아요! 이 작품! 정말 고맙습니다 – Pupillam