Войти
ФлеймФорумИгры

Почему квака бурая? (10 стр)

Страницы: 19 10 11 12 13 Следующая »
#135
11:47, 20 дек 2012

TarasB
> Это что же, для светокарт делается межтексельная интерполяция? А не дороговато
> ли?

Ну конечно дороже чем без неё, но как ты сам заметил картинка вышла бы отвратной. А так - мяконькие тени, все дела.

#136
11:49, 20 дек 2012

TarasB
> для светокарт делается межтексельная интерполяция? А не дороговато ли?
Если карта монохромная, то не так уж дорого.

#137
11:57, 20 дек 2012

=A=L=X=
> Ну конечно дороже чем без неё, но как ты сам заметил картинка вышла бы
> отвратной. А так - мяконькие тени, все дела.
Так ведь межтексельная интерполяция - это хрень того же порядка, что и размытие текстур! То есть если бы в кваке была трёхмерная палитра, то в ней бы как нефиг было бы размытие текстур?
Mikle
> Если карта монохромная, то не так уж дорого.
Надо взять значения в 4 ближайших текселях, расстояния до них и взять линейную комбинацию, пусть даже приращениями удастся избежать умножений, но это же ещё и проверять каждый пиксель надо, чтобы коэффициенты не вышли за (0,1).

#138
12:03, 20 дек 2012

TarasB
> Надо взять значения в 4 ближайших текселях, расстояния до них и взять линейную
> комбинацию
Да, но 1 раз, а не 3, как для RGB.
TarasB
> ещё и проверять каждый пиксель надо, чтобы коэффициенты не вышли за (0,1).
Зачем? Дешевле тайлить.

#139
12:05, 20 дек 2012

Mikle
> Да, но 1 раз, а не 3, как для RGB.

Но линейные комбинации RGB можно делать халтурно, отбрасывая младшие биты и умножая разом, а можно делать сразу векторными командами.

Mikle
> Зачем? Дешевле тайлить.

В смысле, не понял.

#140
12:09, 20 дек 2012

TarasB
> Так ведь межтексельная интерполяция - это хрень того же порядка, что и размытие
> текстур!

Более того - это и есть размытие текстуры =) Интерполяция, да.

> То есть если бы в кваке была трёхмерная палитра, то в ней бы как нефиг
> было бы размытие текстур?

Не понял вопроса. Отвечу так - написать софтовый движок делающий размытие текстур в RGB - конечно можно.

#141
12:11, 20 дек 2012
Изображение
Изображение
Изображение
Изображение

Ну разве не гоишненько?

#142
12:11, 20 дек 2012

=A=L=X=
> Отвечу так - написать софтовый движок делающий размытие текстур в RGB - конечно
> можно.
Так у меня проблема коэффициенты эти узнать без лишних проверок.

#143
12:14, 20 дек 2012

=A=L=X=
Как третья картинка получена?
Кстати, она выглядит так, будто её заранее просчитали, получив значения для каждого пиксела заранее (см квадратики)
Мы знаем вещественные тексельные координаты, извлекаем целую и дробную часть, потом берём 4 числа t[ut,vt],t[ut+1,vt],t[ut,vt+1],t[ut+1,vt+1], потом умножаем их на uf,vf,(1-uf),(1-vf) по-всякому, не дохрена ли для одного несчастного пиксела?

#144
12:27, 20 дек 2012

TarasB
> Кстати, она выглядит так, будто её заранее просчитали, получив значения для
> каждого пиксела заранее (см квадратики)

Так это ж лайтмап. Заранее и просчитана.
В статье указанной на стр.2 написано прямо:

Unfortunately the nice 24bits RGB lightmaps had to be resampled to 6bits grayscale 
(selecting the brightest channel between R, G and B) in order to fit the palette limitation:

Затем применяют билинейную фильтрацию к лайтмапам и мкльтитекстурят.

Тут http://fabiensanglard.net/quake2/quake2_software_renderer.php раздел Precalculated Radiosity: Lightmaps

Кстати забавно. В анрыле вроде lightmass считается, лайтмапы есть. Но источники света все равно умеют процедурно симулироваться как динамические... Странно както.

#145
12:32, 20 дек 2012

Меня больше интересует КАК они сгенерили вот эту картинку палитры смешения цветов для полупрозрачных поверхностей.
Ведь как я понял из статьи полупрозрачность фейковая и достигается тем же путем манипуляции палитрами, что и лайтмапы.
Но как родилось у них вот это:

Как, чем, по каким критериям и какими методами была создана эта картинка градиентов смешения?

#146
12:35, 20 дек 2012

Pathetic M [killbot]
> Затем применяют билинейную фильтрацию к лайтмапам и мкльтитекстурят.
Честно каждый кадр билинейно фильтруют?!

Pathetic M [killbot]
> Как, чем, по каким критериям и какими методами была создана эта картинка
> градиентов смешения?

Да перебором тупым, я думаю.

#147
12:38, 20 дек 2012

TarasB
> Честно каждый кадр билинейно фильтруют?!
Вот тут в статье недосказанность. То ли каждый кадр, то ли заранее.
Но каждый кадр в софтварном режиме - мне кажется слишком сильная работа, тормозило бы как Анрыло с дизерингом.

> Да перебором тупым, я думаю.

Это ж сколько им перебирать пришлось? 0_о

#148
12:39, 20 дек 2012

Чёто бред какой то. Действительно написано что для лайтмэпов строятся miplevel-ы, причём судя по изображенным картинкам "в глубину детализации", билинейной фильтрацией. Но это извините меня, конечно не надо на лету высчитывать интерполяцию для каждого пикселя, но это ведь значит что в памяти последний уровень лайтмэпов занимает ни много ни мало, но столько байт сколько на поле видно освещенных текселей. O_o Но это же мегабайты мегабайтов... Можно конечно сравнивать на идиентичность лайтмэпы разных кусков и не делать лишних копий, но теоретически понатыкав освещения "неудобным" образом таки можно вернуться к проблеме. Че за фигня... Это стенка 1024x1024 текселей, будет уже отжирать 1Мб, но это ведь не такой уж и большой участок лабиринта... И влезало всё в 16 или 32 мега, не помню уже... А там ведь еще сам уровень и прочая...

#149
12:42, 20 дек 2012

Pathetic M [killbot]
> Меня больше интересует КАК они сгенерили вот эту картинку палитры смешения
> цветов для полупрозрачных поверхностей.
> Ведь как я понял из статьи полупрозрачность фейковая и достигается тем же путем
> манипуляции палитрами, что и лайтмапы.
> Но как родилось у них вот это:

Просто - i и j в этой таблице это индексы в палитре RGB. Для каждой точки надо найти такое n (тоже индекс в ней находится, всё байты) который наиболее близок к какому то RGB из таблицы полученный смещением (RGB[ i ] + RGB[ j ]) / 2. Т.е. считается дистанция в RGB-пространстве для всех индексов палитры и выбирается минимальная из них.

Страницы: 19 10 11 12 13 Следующая »
ФлеймФорумИгры

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