OpenGL туман основан на оси Z вместо глубины - PullRequest
2 голосов
/ 05 декабря 2010

Я пытаюсь добавить туман в свою сцену, но вместо того, чтобы сцена стала более туманной вдали от камеры, туман, кажется, полностью зависит от высоты.Ниже приведен скриншот, демонстрирующий проблему:

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 );

Есть идеи, что случилось?

Ответы [ 2 ]

1 голос
/ 06 декабря 2010

Как вы говорите, вам нужно использовать GL_MODELVIEW для вашей камеры.

См. http://www.sjbaker.org/steve/omniv/projection_abuse.html

1 голос
/ 05 декабря 2010

О.Вам нужно использовать gluLookAt для матрицы GL_MODELVIEW вместо GL_PROJECTION.Какой момент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...