UPDATE의 OpenGL : 텍스처 로딩 있지만 적용되지
내가 glutSolidCube
사용을 중단하고 수동으로 질감을 적용하기 시작했습니다. 아직 아무 소용이 없습니다. 어떤 아이디어가 아니라면 텍스처가 큐브에 성공적으로 적용된 예를 들어 볼 수 있습니까?
glRotatef(180, 0.0f, 1.0f, 0.0f);
glBindTexture(GL_TEXTURE_CUBE_MAP, texture);
glTranslatef(pos_x, 0, pos_z);
int size = 1;
// Begin Rending
glBegin(GL_QUADS);
// Face 1
glNormal3f(0.0f, 0.0f, 1.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(size, size,-size);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-size, size,-size);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-size, size, size);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(size, size, size);
// Face 2
glNormal3f(0.0f, 0.0f,-1.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(size,-size, size);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-size,-size, size);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-size,-size,-size);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(size,-size,-size);
// Face 3
glTexCoord2f(0.0f, 0.0f);
glVertex3f(size, size, size);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-size, size, size);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-size,-size, size);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(size,-size, size);
// Face 4
glNormal3f(0.0f,-1.0f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(size,-size,-size);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-size,-size,-size);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-size, size,-size);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(size, size,-size);
// Face 5
glNormal3f(1.0f, 0.0f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(-size, size, size);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(-size, size,-size);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(-size,-size,-size);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(-size,-size, size);
// Face 6
glNormal3f(1.0f, 0.0f, 0.0f);
glTexCoord2f(0.0f, 0.0f);
glVertex3f(size, size,-size);
glTexCoord2f(1.0f, 0.0f);
glVertex3f(size, size, size);
glTexCoord2f(1.0f, 1.0f);
glVertex3f(size,-size, size);
glTexCoord2f(0.0f, 1.0f);
glVertex3f(size,-size,-size);
glEnd();
나는 OpenGL을 + GLUT 간단한 복셀 기반의 게임을 만들고있어 내가 텍스처를로드하고 큐브에 적용에 문제가 있어요.
texture = SOIL_load_OGL_cubemap (
"block.png",
"block.png",
"block.png",
"block.png",
"block.png",
"block.png",
SOIL_LOAD_RGB,
SOIL_CREATE_NEW_ID,
SOIL_FLAG_MIPMAPS
);
을 그리고 여기 추첨 방식 적용 : 텍스처는 여기에 생성
glEnable(GL_TEXTURE_GEN_S); //enable texture coordinate generation
glEnable(GL_TEXTURE_GEN_T);
glBindTexture(GL_TEXTURE_2D, texture);
glutSolidCube(2);
glDisable(GL_TEXTURE_GEN_S); //enable texture coordinate generation
glDisable(GL_TEXTURE_GEN_T);
하지만 응용 프로그램을 실행할 때, 나는 아직도 단색 흰색 큐브를 얻을.
오전 나는 매우 분명 뭔가 빠진?
'glEnable (GL_TEXTURE_CUBE_MAP)'했습니까? 왜'GL_TEXTURE_CUBE_MAP' 대신'glBindTexture()'에서'GL_TEXTURE_2D' 타겟을 사용하고 있습니까? – genpfault
이전 솔루션과 새로운 솔루션을 모두 사용해 보았습니다. –
2D 텍스처를 사용 했습니까? (glEnable (GL_TEXTURE_2D)). 또한 나는 SOIL에 익숙하지 않지만 큐브 맵이 아닌 2D 텍스처 만 사용해야합니다. 따라서 SOIL_load_OGL_cubemap에 대한 호출이 잘못된 것일 수 있습니다. 일반 2D 텍스처를로드 할 SOIL 함수가 있는지 살펴 봅니다. – redsoxfantom