Бесплатная реклама
07 Дек 2019 - 20:12:42
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
   Начало   Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Порядко-независимая прозрачность на GPU с использованием динамических списков
Robot

Сообщений: 653


Робот УралДев
Просмотр профиля
« : 21 Апр 2010 - 21:10:40 »

Порядко-независимая прозрачность на GPU с использованием динамических списков

Евгений Коростелев "kore3d"

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


http://www.uraldev.ru/articles/id/36
Записан
Mikle
Юзеры

Сообщений: 148


< Михаил
Просмотр профиля E-mail
« Ответ #1 : 26 Апр 2010 - 13:29:27 »

Я так понял, на GF9600GT пытаться запустить демку бесполезно? А хотя бы на карте, которую тут дают за 1 место, она пойдёт?
« Последнее редактирование: 26 Апр 2010 - 13:34:16 от Mikle » Записан
Romanek
Юзеры

Сообщений: 10

Роман Multisoft
Просмотр профиля WWW
« Ответ #2 : 26 Апр 2010 - 13:59:53 »

Нет не пойдет. NVidia поддерживает DX 11 только на самой последней серии карт 4xx, что кстати в статье указано
Прочел статью. По существу все довольно доступно и понятно (хотя, возможно, мне так показалось, потому что сам ковырял OIT). Единственный минус на мой взгляд она очень "научная" чтоли, но это наверное тоже чисто субъективно.
Записан
keYMax
Юзеры

Сообщений: 682



Просмотр профиля WWW
« Ответ #3 : 27 Апр 2010 - 21:47:47 »

А запуск демо в софтваре режиме возможен?
Записан
kore3d
Юзеры

Сообщений: 31

146735863 Евгений ИЦ Графика
Просмотр профиля WWW
« Ответ #4 : 27 Апр 2010 - 22:28:03 »

да, если HAL не удается создать, то должен REF создаваться, но только тогда еще лучше указать в параметрах командной строки маленькое разрешение экрана. "OIT_DX11_64.exe 128 128" дает 0.1 fps
Записан
kore3d
Юзеры

Сообщений: 31

146735863 Евгений ИЦ Графика
Просмотр профиля WWW
« Ответ #5 : 27 Апр 2010 - 22:36:37 »

и еще, рекомендуется создать папку media\shader\cache, тогда будет кэширование шейдеров и не придется каждый раз при запуске ждать компиляцию. Для OIT_DX11_64.exe время компиляции шейдеров - более 10 секунд.
« Последнее редактирование: 27 Апр 2010 - 22:37:07 от kore3d » Записан
keYMax
Юзеры

Сообщений: 682



Просмотр профиля WWW
« Ответ #6 : 08 Май 2010 - 23:34:05 »

Не удается запустить exe с вашими рекомендациями на win 7. Может что то можно в сорцах подправить?
Записан
kore3d
Юзеры

Сообщений: 31

146735863 Евгений ИЦ Графика
Просмотр профиля WWW
« Ответ #7 : 09 Май 2010 - 12:46:32 »

Цитата: keYmax
Не удается запустить exe с вашими рекомендациями на win 7. Может что то можно в сорцах подправить?
Можно и подправить, но в этом, вероятно, нет необходимости. Если есть возможность собраться с сорсов, то в OutputDebug будет указано, что не сработало.
Каталог media рядом есть? - exe берет оттуда шейдеры, модели и текстуры

Предыдущие посты проверены на архиве kore_oit11_dlists_x86_win7.zip
« Последнее редактирование: 09 Май 2010 - 12:47:56 от kore3d » Записан
kore3d
Юзеры

Сообщений: 31

146735863 Евгений ИЦ Графика
Просмотр профиля WWW
« Ответ #8 : 22 Май 2010 - 16:08:12 »

обнаружил опечатку в коде
у сэмплера текстуры патиклов неверная фильтрация указана D3D11_FILTER_MIN_MAG_POINT_MIP_LINEAR - должно быть D3D11_FILTER_MIN_MAG_LINEAR_MIP_POINT (k3d_oit11_d3d.h:774)
Записан
kore3d
Юзеры

Сообщений: 31

146735863 Евгений ИЦ Графика
Просмотр профиля WWW
« Ответ #9 : 30 Июн 2010 - 00:32:59 »

если кому интересно, на GTX 480 от 80 до 160 fps при 64 слоях (в зависимости от ракурса)
Записан
kore3d
Юзеры

Сообщений: 31

146735863 Евгений ИЦ Графика
Просмотр профиля WWW
« Ответ #10 : 03 Сен 2010 - 15:46:27 »

MSI GTX 470, 800x600
8 - 97 fps, 16 - 90 fps, 32 - 73 fps, 64 - 58 fps

* в draw.vs есть опечатка, должно быть oNormal = mul(cMatrW, float4(iNormal, 0.0f)).xyz;
с учетом того, что нормали не используются - это не существенно)
« Последнее редактирование: 05 Сен 2010 - 14:00:24 от kore3d » Записан
keYMax
Юзеры

Сообщений: 682



Просмотр профиля WWW
« Ответ #11 : 06 Сен 2010 - 01:00:02 »

не сказать чтобы шустро конечно
интересно на радике 5870 сколько будет
Записан
kore3d
Юзеры

Сообщений: 31

146735863 Евгений ИЦ Графика
Просмотр профиля WWW
« Ответ #12 : 06 Сен 2010 - 17:30:59 »

Цитата: keYmax
не сказать чтобы шустро конечно
интересно на радике 5870 сколько будет
слоев много, на реальной сцене обычно поменьше
плюс NVIDIA рекомендует делать описанный OIT через append-буфер, а не через скрытый счетчик structured-буфера. В статье используется счетчик, поскольку для карт AMD этот вариант эффективнее. Кроме этого, на момент написания, эти детали были не известны.

если в двух словах о производительности, то при включенном OIT (для 64 слоев) она падает на порядок - многова-то, конечно
Записан
kore3d
Юзеры

Сообщений: 31

146735863 Евгений ИЦ Графика
Просмотр профиля WWW
« Ответ #13 : 12 Сен 2011 - 16:40:14 »

Вот здесь представлено 2 идеи по улучшению техники: http://software.intel.com/en-us/articles/a...e-transparency/
как убрать сортировку - ввести апроксимирующую функцию видимости (от глубины) и хранить ее значения в фиксированном числе точек; при блендинге домножать цвет на альфу и значение этой функции
Записан
Страниц: [1]
  Печать  
 
Перейти в: