Войти
ПроектыФорумОцените

Quake II software renderer by "Panzerschrek" (сборка от 09.09.2014 ) (2 стр)

Страницы: 1 2 3 4 Следующая »
#15
6:55, 29 авг. 2014

FreemanZlat
> А запилите рисовалку как в Кваке2 на плейстейшне
А в чём разница? Погуглил скриншоты, ничего особенного не не заметил в playstation версии, одни лишь короны вокруг источников освещения.


#16
7:29, 29 авг. 2014

Зачёт! Дизеринг убирать не надо - у Тараса это особый антимейнстримовский пунктик, никому кроме него неинтересный.

#17
10:11, 29 авг. 2014

Мейнстрим не мейнстрим, а на электронных экранах например, дизеринг не в тему.

#18
11:00, 29 авг. 2014

А что? Неплохо выглядит.
Сам экспериментировал с этими вещами.
Билинейная фильтрация нормальная есть (кроме как для лайтмапов)? Туманчик а ля GL_FOG сделал? (в 32-битном рендере он реально очень красивый получается)
Дизеринг выглядит как-то не очень, покажи кернел, плиз.
Про оптимизации на асме - имеет смысл использовать только ради MMX. Тем более 32-битный рендерер - у меня ММХ давал прирост порядка 20%.

#19
11:10, 29 авг. 2014

Вот что у меня получалось:

+ Показать

#20
11:43, 29 авг. 2014

У меня от дизиренга глаза разъезжаются. Очень неприятно выглядит. Ну а вообще молодец, зачетище. Сделал в софте как в GL. Для GL десять лет пришлось ждать, пока в портах научились делать gl_coloredlightmaps 0, чтобы выглядело приятно как в софте, а ты в софте прикрутил gl_coloredlightmaps 1, хех.

#21
11:55, 29 авг. 2014

Моласар
> Билинейная фильтрация нормальная есть
Линейная фильтрация есть. Набери в консоли r_texture_mode в texture_linear.
> Туманчик а ля GL_FOG сделал
Нет. Просто на весь уровень не красиво лепит его будет, а где нужно лепить хз, на уровне такой информации нету. В Unreal, например, туман дизайнеры вручную расставляли.
> Дизеринг выглядит как-то не очень, покажи кернел, плиз.
Посмотри в строке 1205:
https://github.com/Panzerschrek/Q2PR/blob/master/ref_soft_panzer/… erization.cpp

FPS у тебя конечно зашкаливает. Кеширование используешь? А я вот не использую, но подумываю над этим. Как раз на него mmx хорошо ляжет.

#22
11:57, 29 авг. 2014

entryway
> Для GL десять лет пришлось ждать, пока в портах научились делать
> gl_coloredlightmaps 0
Есть такая консольная переменная в моём порте - r_lightmap_saturation, через неё можно регулировать цветовую насщенность лайтмапов. 0 - ч\б лайтмапы, 1- оригинальные, 0.5 - что-то среднее.

#23
12:59, 29 авг. 2014

Panzerschrek[CN]
> FPS у тебя конечно зашкаливает.
Кеширование такое же, как в ку2. Но у меня там энтити не рисуются, только мир.
Энтити это серьёзное проседание фпс, т.к. там надо буфер глубины читать постоянно.
Кернел у тебя такой же, что и у меня, гм... Наверное, показалось из-за меньшего разрешения текстур в ку2 по сравнению с халфой, всё норм.

> Просто на весь уровень не красиво лепит его будет
Под водой же.

#24
15:03, 31 авг. 2014

Пофиксил баги с динамическим освещением, сделал поддержку динамических лайтмапов. Теперь на уровнях работает мигающий свет.

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

#25
16:03, 31 авг. 2014

Panzerschrek[CN]
> в качестве цвета тумана использую цвет лайтмапы, а он быстро меняется.
Бери цвет тумана из текстуры поверхности воды, например, усреднённый.

#26
16:57, 31 авг. 2014

Моласар
> Бери цвет тумана из текстуры поверхности воды, например, усреднённый.
Фигня, не везде есть сюрфейс воды сверху.

Сделал тупо усреднение по времени цвета тумана примерно вот так:

for( int i= 0; i< 3; i++ )
  prev_fog_color[i]= prev_fog_color[i] * k + fog_color[i] * (1.0f-k);
k вычисляется в зависимости от fps, так что скорость смены цвета тумана должна быть константная. Вроде результаты неплохие.

#27
17:08, 31 авг. 2014

Panzerschrek[CN]
> Фигня, не везде есть сюрфейс воды сверху.
В смысле - не везде? Разве что на картах, где всё пространство водой заполнено, но я таких в ку2 не припомню.
Во всех остальных случаях можно найти сурфейс воды, рекурсивно обходя дерево из точки камеры, проверяя подводные лифы и их марксурфасы.
Разумеется, делать это надо не в реалтайме, а при загрузке карты, присваивая цвет тумана подводным лифам.

#28
9:39, 3 сен. 2014

Запилил кеширование поверхностей - удалось увеличить производительность подросла.

Протестировал запусканием стандартной демки и замером среднего FPS:

1024x768800x600640x480
fps без кеширования13,7223,2134,75
fps c кешированием18,2531,346,65

Но больным местом остаётся динамическое освещение. Генерировать сюрфейсы для поверхностей с ним выходит дороже, чем освещать на лету.
В результате fps проседает если очень большая площадь экрана затрагивается динамическим освещением. Никто не в курсе, а оригинал тормозил в этом случае?

И да, теперь не знаю как сделать нормальный dithering или фильтрацию сюрфейсов, как можно было делать с обычными текстурами.

#29
12:47, 3 сен. 2014

> Никто не в курсе, а оригинал тормозил в этом случае?
Оригинал не тормозил вообще никогда, ибо Кармак писал.
На втором пне, по крайней мере, всё летало.
Но таки да, длайты сбрасывали кеш, т.к. обновляли лайтмапу - значит, падение фпс было.
> теперь не знаю как сделать нормальный dithering или фильтрацию сюрфейсов
А какая тут проблема? Фильтрация применяется при растеризации блоков, а кешируются сурфасы.

Страницы: 1 2 3 4 Следующая »
ПроектыФорумОцените

Тема в архиве.