2012-09-13 6 views
1

나는 내 장면이 직교 투사로 설정되어화이트 박스

JOGL 2.0의 최신 버전을 사용하고 난 현장의 바닥에 텍스처를 추가하려합니다. 텍스처는 1600 x 100 PNG 파일입니다.

1000 x 1000 PNG 파일을 사용하면 텍스처 렌더링이 잘되지만 1600 x 100 텍스처를 사용할 때 흰색 상자가 나타납니다.

내가 사용하는 직교 투영

gl.glMatrixMode(GL2.GL_PROJECTION); 
gl.glPushMatrix(); 
gl.glOrtho(0, 1, 0, 1, 0, 1); 

gl.glMatrixMode(GL2.GL_MODELVIEW); 
gl.glPushMatrix(); 
gl.glLoadIdentity(); 

내가

gl.glEnable(GL.GL_TEXTURE_2D); 
TextureCoords tc = texture.getImageTexCoords(); 

texture.bind(gl); 

gl.glBegin(GL2.GL_QUADS); 

gl.glTexCoord2d(tc.left(),tc.top());gl.glVertex2d(0.0,0.1);  
gl.glTexCoord2d(tc.left(),tc.bottom());gl.glVertex2d(0.0,0.0);  
gl.glTexCoord2d(tc.right(),tc.bottom());gl.glVertex2d(1.0,0.0);  
gl.glTexCoord2d(tc.right(),tc.top()); gl.glVertex2d(1.0,0.1); 

gl.glEnd(); 
gl.glDisable(GL.GL_TEXTURE_2D); 

답변

1

당신이 얻을 이유를 사용하여 질감을 그리기하고

texture = TextureIO.newTexture(new File("image.png") ,false); 

를 사용하여 질감을로드하고를 설정 한 흰색 상자는 그래픽 카드가 큰 이미지를 지원하기 때문입니다. 1600 x 1600 픽셀이 너무 크고 1600 x 100은 현대 표준에 비해 너무 큽니다. 1024 x 128을 사용하는 것이 좋습니다.

최대의 호환성을 위해 텍스처 2를 사용하는 것이 좋습니다. 예를 들어 32 x 64, 128 x 512 또는 심지어 1024 x 1024. 숫자가 2로 나눌 수 있기 때문에 단지 2의 거듭 제곱을 의미하지는 않습니다. 2의 거듭 제곱은 2^x 일 때입니다.

두 자리 수 (계산기)를 찾는 팁 : [2] [*] [=] [=] [=] ...를 입력하십시오. []는 입력 내용을 나타냅니다.

관련 문제