2010-12-05 4 views
2

안개를 내 장면에 추가하려하지만 장면이 카메라에서 더 멀리 안개가되는 대신 안개가 높이에 전적으로 의존하는 것처럼 보입니다. 나는 다음과 같은 코드를 사용하여 안개를 초기화OpenGL 안개는 깊이 대신 Z 축을 기준으로합니다.

http://gyazo.com/ab60dfd1d85a3a5533153f09ef6a059e.png

:

gl.glFogx(GL10.GL_FOG_MODE, GL10.GL_LINEAR); 
gl.glFogfv(GL10.GL_FOG_COLOR, new float[] { 1.0f, 1.0f, 1.0f, 1.0f }, 0); 
gl.glFogf(GL10.GL_FOG_DENSITY, 0.35f); 
gl.glHint(GL10.GL_FOG_HINT, GL10.GL_DONT_CARE); 
gl.glFogf(GL10.GL_FOG_START, 10.0f); 
gl.glFogf(GL10.GL_FOG_END, 15.0f); 
gl.glEnable(GL10.GL_FOG); 

을 그리고 이것은 내 프로젝션 설정 방법입니다 : 아래 스크린 샷은 문제를 시연

gl.glMatrixMode(GL10.GL_PROJECTION); 
gl.glLoadIdentity(); 
GLU.gluPerspective(gl, 90.0f, _w/_h, 0.1f, 15.0f); 
GLU.gluLookAt(gl, _player.position.x, _player.position.y, _player.position.z, centerX, centerY, centerZ, 0.0f, 0.0f, 1.0f); 

어떤 생각이 잘못된거야?

+0

귀하의 안개가 적용되는 참조하십시오. 확실하지 않은 이유 :/ –

+0

minecraft clone eh? – basszero

+0

예, Android. – Overv

답변

1

오. GL_PROJECTION 대신 GL_MODELVIEW 행렬에 gluLookAt를 사용해야합니다. 도대체 뭐야.

관련 문제