ФОРУМ

Список разделов форума => Статьи => : Robot 04 Jul 2010 - 22:23:02



: Реализация прозрачности алгоритмом Stencil Routed A-Buffer на DX 10
: Robot 04 Jul 2010 - 22:23:02
Реализация прозрачности алгоритмом Stencil Routed A-Buffer на DX 10
Роман Кузнецов "Romanek"

Рассматривается интересный алгоритм Stencil Routed A-Buffer метода реализации
прозрачности Order Independent Transparency с помощью Direct3D 10.


http://www.uraldev.ru/articles/id/40 (http://www.uraldev.ru/articles/id/40)


: Реализация прозрачности алгоритмом Stencil Routed A-Buffer на DX 10
: Romanek 05 Jul 2010 - 13:48:21
От себя замечу, что было обнаружено некорректное поведение алгоритма на видеокарте под управлением Direct3D 10.1. Предположительно, это связано с тем, что при выключенном MSAA и рендеринге в MSAA-текстуру сэмплы заполняются иначе.

Если у кого AMD-шная карточка проверьте, пожалуйста, у себя. Буду признателен.


: Реализация прозрачности алгоритмом Stencil Routed A-Buffer на DX 10
: DikobrAz 06 Jul 2010 - 13:30:27
У меня на Radeon 5750 вроде все нормально.


: Реализация прозрачности алгоритмом Stencil Routed A-Buffer на DX 10
: keYMax 12 Jul 2010 - 19:36:29
Вставлю свои 5 копеек. Не ATI но все же, пример запустился без проблем на жф9600. Оригинальный метод у вас использования буфера однако )


: Реализация прозрачности алгоритмом Stencil Routed A-Buffer на DX 10
: kore3d 13 Jul 2010 - 12:04:22
я в код толком не вчитывался, но по сути это разбор демки NVIDIA и написание более наглядного примера
на радеонах баг на стыках точно есть, но его плохо видно (можно не заметить) - он и в демке Хумуса присутствует
наличие бага - это недоработка драйверов

Если использовать HAL 10.1 и 11.0 работать алгоритм не будет.
Выдержки из SDK, раздел Direct3D 10.1 Features:
MultisampleEnable only affects line rasterization (points and
triangles are unaffected), and is used to choose a line drawing
algorithm. This means that some multisample rasterization from
Direct3D 10 are no longer supported
.


Пример бага из демки к статье и то как он выглядит в демке NV:
(http://kore3d.com/files/oit10/bug0.png)


: Реализация прозрачности алгоритмом Stencil Routed A-Buffer на DX 10
: CoderAX27 18 Jul 2010 - 14:12:24
У меня на АМД все ровно, провда если заглянуть на фигуру с другой стороны, то в глаза бросается приедставленый ниже баг (нужна сортировка треугольников):

http://depositfiles.com/files/jnd0icqg9 (http://depositfiles.com/files/jnd0icqg9)


: Реализация прозрачности алгоритмом Stencil Routed A-Buffer на DX 10
: Romanek 19 Jul 2010 - 08:06:42
Обратите внимание, что уровень MSAA равен 2. Простыми словами это значит, что визуализация будет корректной, только если мы смотрим не более чем через 2 полупрозрачных слоя. Для того, чтобы видеть, где алгоритму не хватило слоев включите режим отображения Overflow buffer'а.
Если, конечно, Вы про это. То, что показал Евгений, и то, о чем я писал ранее, на данном скриншоте также прекрасно видно.