Название: Прозрачность Отправлено: Igors от Декабрь 17, 2016, 15:56 Добрый день
Для тех кто не в курсе: нормальной прозрачности OpenGL никогда не имел. Лет 20 назад это еще воспринималось нормально, мол, система молодая, сейчас - ну наверное разрабам так приятнее ничего принципиально не менять :'(. Рекомендовалось выводить объекты "от задних к передним" с включенным GL_BLEND. Это всегда работало не дальше простого примера. Ну ладно, погуглился, сейчас вроде стандарт как-то через буфера напр тут (https://github.com/gangliao/Order-Independent-Transparency-GPU). Но эта радость для версии 4.0 или как? Смутно помню (могу путать) ssoft об этом упоминал здесь, но где - не смог найти. В общем, подкиньте инфы Спасибо Название: Re: Прозрачность Отправлено: Racheengel от Декабрь 17, 2016, 22:22 нормальной прозрачности OpenGL никогда не имел. Рекомендовалось выводить объекты "от задних к передним" с включенным GL_BLEND. Это всегда работало не дальше простого примера. И в 21 веке точно так же не работает... По моему, кроме шейдыра, никаг :( Название: Re: Прозрачность Отправлено: Igors от Декабрь 18, 2016, 10:37 По моему, кроме шейдыра, никаг :( Понятно что магическое слово "шейдер" - ответ на все вопросы :) Только вот каким образом?Название: Re: Прозрачность Отправлено: ssoft от Декабрь 18, 2016, 22:22 Да здесь писал http://www.prog.org.ru/index.php?topic=30726.msg227123#msg227123
https://habrahabr.ru/post/224003/ http://jcgt.org/published/0002/02/09/paper-lowres.pdf http://developer.download.nvidia.com/SDK/10/opengl/src/dual_depth_peeling/doc/DualDepthPeeling.pdf http://on-demand.gputechconf.com/gtc/2014/presentations/S4385-order-independent-transparency-opengl.pdf Название: Re: Прозрачность Отправлено: Igors от Декабрь 19, 2016, 15:32 ssoft, спасибо за ссылки, с некоторыми был незнаком. Все равно пока не пойму с "hardwre requirements" установить барьер "4.0 и выше" я не могу. А у Вас как реализовано (если не секрет)?
Название: Re: Прозрачность Отправлено: ssoft от Декабрь 19, 2016, 16:34 ssoft, спасибо за ссылки, с некоторыми был незнаком. Все равно пока не пойму с "hardwre requirements" установить барьер "4.0 и выше" я не могу. А у Вас как реализовано (если не секрет)? У нас реализована совсем простая схема отображения в 3-й этапа, основанная на Weight Blended Order Independent Transparency. Этап 1. Формирование буфера непрозрачных пикселей с проверкой глубины и формированием буфера глубины. Начальное заполнение буфера цветом фона. Этап 2. Формирование буфера суммы полупрозрачных пикселей с проверкой глубины но без формирования буфера глубины. При суммировании компоненты цвета помножаются на прозрачность. Дополнительно формируется буфер с суммой прозрачностей для использования при нормировке на следующем этапе. Этап 3. Смешение буфера непрозрачных пикселей и буфера полупрозрачных пикселей нормированных на дополнительный буфер. |