2012-06-26 4 views
0

텍스처 및 OpenGL에 약간의 문제가 있습니다. 작은 .obj 로더 (Texture Loading)를 만들었지 만 모든 것이 파란색으로 그려져 있습니다. 예 :Java OpenGL 만 파란색 텍스처

질감을로드합니다. 나는 GL11.glBindTexture (GL11.GL_TEXTURE_2D, textureId)로 텍스처를 묶는다. 내가 할 경우

glColor3f(1f,1f,1f); 
    glBegin(GL_QUADS); 
    glVertex3f(50f,0,-50); 
glVertex3f(-50f,0,-50f); 
glVertex3f(-50f,0,50f); 
glVertex3f(50f,0,50f); 
glEnd(); 
    GL11.glBindTexture(GL11.GL_TEXTURE_2D, textureId); 

는 흰색 쿼드을 그립니다 ...하지만 내가 할 경우 :

GL11.glBindTexture(GL11.GL_TEXTURE_2D, textureId); 
    glColor3f(1f,1f,1f); 
    glBegin(GL_QUADS); 
    glVertex3f(50f,0,-50); 
glVertex3f(-50f,0,-50f); 
glVertex3f(-50f,0,50f); 
glVertex3f(50f,0,50f); 
glEnd(); 

은 파란색 쿼드을 그리고 다른 모든이 너무 파란색입니다.

누군가 해결책을 알고 있을까요?

+0

정확히 무엇이 문제입니까? 단색, 색상 또는 색상이 전혀 없습니다. 무엇을 성취하려고합니까? –

+0

하나의 텍스처를로드 한 후에 모든 색상이 파란색으로 표시되어 잘못된 색상을 갖습니다. 일반 Texture를로드하고 일반 색상으로 그립니다. 나는 RGB와 BGR에 관한 글을 읽었고 그것이 내 문제라고 생각한다. 하지만 나는 RBG와 BGR 사이에 swtch하는 법을 모르겠다. – user1432679

답변

1

glTexCoord2f을 사용하여 텍스처 좌표를 지정하지 않았기 때문에 텍스처가 없습니다.

색이 잘못되어 잘못된 매개 변수가 glTexImage 인 것 같습니다.

다른 모든 것은 파란색입니다. 왜냐하면 모든 것에 동일한 질감을 사용하기 때문입니다. 다른 텍스처를 바인딩하거나 기본 텍스처 0을 사용하십시오.

0

각 정점에 glTexCoord2f를 사용하지 않기 때문에 이것은 문제입니다. 색상이 모든 영역에 구속력을 가지지 않으므로 해결할 수 있으므로 각 꼭지점을 사용해보십시오.

+0

오, 미안하지만, 나는 그것을 올바르게 설명하지 않았다고 생각한다. 로드 된 텍스처가이 쿼드에 그려지는 것을 원하지 않습니다. 그것은 단지 예일뿐입니다. 나는 1 개의 Texture를 묶은 후에 보통의 quads와 Textures에 항상 푸른 색이 있음을 보여주고 싶었다. – user1432679

+0

이제 쿼드에 빨간 텍스처를 그려 보았습니다. 텍스처가 빨간색으로 표시되면 렌더링 할 때 파란색으로 바뀝니다. 파란색이면 빨간색으로 변합니다. RGB와 BGR의 문제일까요? – user1432679