Welcome, guest. You can be a Login или register
« Previous 1 2 Next » | All
Author
Topic title
DOOMer
Offline
Хранитель и могильщик Врат
1564 posts
Karma 103
На днях с Сергеем чуть затронули тему о количестве зеркал в кадре в quake 3. Сделал я тестовую карту, скомпилил и получил несколько неожиданные результаты.

Вот план карты - все довольно примитивно (скрин кликабельный, как и все последующие в этом сообщении).



В точке A находится респавн, с которого можно пойти в 2 направлениях. В комантае B расположены 3 зеркальных поверхности на правой (по этому плану) стене. Два зеркала на одной плоскости, а третье - в небольшой нише между ними. Выглядит это вот так - все работает нормально.



В комнате С все приблизительно так же. Но только зкркала расположены на разном расстоянии от любой точки в данной локации. И вот тут получаем в лоб артефактом, известным как Hall of Mirrors.



Зеркала сделаны правильно - объекты misc_portal_surface расположены в пределах 64х юнитов от поверхности, покрытой шейдером common/mirror1 .

Собственно архив, содержащий тестовую карту - скомпиленный bsp, упакованный в pk3 и исходный map файлы - http://cacodemon.doomer.org/quake3/mirror_test.tar.gz

Компилировалось последней версией q3map2, проверялось на ioquake3 1.36.

Получается что движок Quake 3 умеет рисовать более 1 зеркала в кадре, но с некотоырми ограничениями. Или же это все мои кривые руки, сотворили кривую карту и получился HoM-баг?
Вертексы должны образовывать конвексный браш
My Quake Maps

Core i5 4210U 1.7 Ghz, 8 Gb RAM, GeForce 840M
Calculate Linux 18.x [



сохранись перед дверью...два раза =)
Heku4
Offline
80 posts
Karma 3
Не хочу тебя огорчать, но может быть дело в том что объекты misc_portal_surface в комнате "С" направлены в право а не в сторону отражающей поверхности? :o
DOOMer
Offline
Хранитель и могильщик Врат
1564 posts
Karma 103
Heku4, нет, их направление совсем не важно. В демо-карте, museum, которая идёт в комплеекте с GtkRadiant, этот объект также направлен совсем не в сторону поверхности отражения. Да и нет ключа angle у misc_portal_surface, судя по ent-файлу.
Вертексы должны образовывать конвексный браш
My Quake Maps

Core i5 4210U 1.7 Ghz, 8 Gb RAM, GeForce 840M
Calculate Linux 18.x [



сохранись перед дверью...два раза =)
Heku4
Offline
80 posts
Karma 3
Хм. Может натолкнет на кое какие мысли.

Когда мапил под Ку3. Ради експеримента попробовал сделать два зеркала друг на против друга.
В обоих была такая картина.
Может быть на картах в Ку3 если и могут быть несколько зеркал, то возможно что они должны смотреть в одну сторону?
Или-же их общее число не должно превышать 3?
DOOMer
Offline
Хранитель и могильщик Врат
1564 posts
Karma 103
Они и смотрят в олдну сторону, только на разном удалении от игрока стоят. А про то что нельзя их ставить друг против друга (да и вобще чтобы одно зеркало хоть немного отражало в себе другое), это я знаю (читал давно ещё в каком-то буржуйском мануале к Q3Radiant много лет назад).
Вертексы должны образовывать конвексный браш
My Quake Maps

Core i5 4210U 1.7 Ghz, 8 Gb RAM, GeForce 840M
Calculate Linux 18.x [



сохранись перед дверью...два раза =)
Heku4
Offline
80 posts
Karma 3
[quote author=DOOMer link=topic=709.msg15940#msg15940 date=1324492738]Они и смотрят в олдну сторону, только на разном удалении от игрока стоят[/quote]

Ты меня не понял. Я имею в виду ВСЕ зеркала на карте.
В комнате В они у тебя смотрят в лево а в С в низ. (если смотреть на твой скрин из радианта)
DOOMer
Offline
Хранитель и могильщик Врат
1564 posts
Karma 103
[quote author=Heku4 link=topic=709.msg15941#msg15941 date=1324493200]Я имею в виду ВСЕ зеркала на карте.[/quote]
Хм... все может быть =) Завтра попробую переделать карту, посмотрю как оно будет при таком расположении.
Вертексы должны образовывать конвексный браш
My Quake Maps

Core i5 4210U 1.7 Ghz, 8 Gb RAM, GeForce 840M
Calculate Linux 18.x [



сохранись перед дверью...два раза =)
Heku4
Offline
80 posts
Karma 3
DOOMer ну как? Експеримент удался? ;)
Берсеркер
Offline
Суровый челябинский программист
2281 posts
Karma 204
Погонял тестовую мапу Артёма на quake3 и q3bers.
Похоже, Ку3/Ку3Берс не могут рисовать более 1 зеркала в кадре; рисуют какое-то одно.
Причины этого попробую найти и по возможности убрать это ограничение.
Вроде понял почему такое ограничение: всё дело в способе рисования зеркал:
рендер сначала рисует зазеркалье (деля сцену плоскостью зеркала), потом просто сцену. Прочие зеркала тупо отбрасываются.

В комнате B картинка в Ку3 почти приличная, но всё равно пролезают косяки.
В любой комнате в Ку3Берсе лезет HoM, но только потому, что у меня зеркала и порталы режутся огибающим прямоугольником (для повышения fps).
Вероятно поэтому в комнате B в Ку3 зеркала почти не глючат, т.к. крайние зеркала "подстраховывают" друг друга.

Думаю, надо попробовать рисовать в Ку3Берсе все зеркала, может получиться.
Машина несла меня через неведомые районы Галактики сквозь пространство математической реальности быстрее скорости света. (C) Фред Саберхаген.
Heku4
Offline
80 posts
Karma 3
Берсеркер, а возможно сделать так, чтобы зеркала можно было делать напротив друг друга?
Такое, бесконечное отражение. :o
Кажется в DP такое есть. Или я путаю с чем-то? :-\
« Previous 1 2 Next » | All