Разработчик
Регистрация: 08.03.2007
Сообщений: 530
Написано 31 полезных сообщений (для 36 пользователей)
|
Ответ: ARenderEntity и ZBuffer
А у меня вот такая проблемка, отражение в воде.
Здесь загружаю стороны для водного скайбокса. Когда над водой нахожусь всё норм, но под водой он отражает дно, что и немудрено.
texturesize=TextureWidth(tex)
CameraViewport camera,0,0,texturesize,texturesize
SetCubeFace tex,0:RotateEntity camera,0,-90,0:RenderWorld;PE
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
SetCubeFace tex,1:RotateEntity camera,0,0,0:RenderWorld;PR
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
SetCubeFace tex,2:RotateEntity camera,0,90,0: RenderWorld;Z
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
SetCubeFace tex,3:RotateEntity camera,0,180,0: RenderWorld;L
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
SetCubeFace tex,4:RotateEntity camera,90,0,0: RenderWorld
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
SetCubeFace tex,5:RotateEntity camera,-90,0,0: RenderWorld
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
Мне же надо чтобы видно было тоже самое, когда нет поверхности воды.
Только это должно отображаться на водной глади.
Здесь перевернул стороны по икс и вродебы всё заработало, но отражение под водой отражает зеркально в сторону (вправо в моём случае) то что я вижу на берегу.
texturesize=TextureWidth(tex)
CameraViewport camera,0,0,texturesize,texturesize
SetCubeFace tex,0:RotateEntity camera,180,-90,0:RenderWorld;PE
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
SetCubeFace tex,1:RotateEntity camera,180,0,0:RenderWorld;PR
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
SetCubeFace tex,2:RotateEntity camera,180,90,0: RenderWorld;Z
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
SetCubeFace tex,3:RotateEntity camera,180,180,0: RenderWorld;L
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
SetCubeFace tex,4:RotateEntity camera,90,0,0: RenderWorld
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
SetCubeFace tex,5:RotateEntity camera,-90,0,0: RenderWorld
CopyRect 0,0,texturesize,texturesize,0,0,BackBuffer(),TextureBuffer(tex)
как убрать отражение в сторону?
Перепробовал много чего , вертел стороны по всякому, не помогает. Подскажите пожалуст
Скрин проблемы
Справа отражение под водой, а слева терейн который видно сквозь воду.
|