Russian Qt Forum
Ноябрь 25, 2024, 17:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Прозрачность  (Прочитано 5896 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Декабрь 17, 2016, 15:56 »

Добрый день

Для тех кто не в курсе: нормальной прозрачности OpenGL никогда не имел. Лет 20 назад это еще воспринималось нормально, мол, система молодая, сейчас - ну наверное разрабам так приятнее ничего принципиально не менять Плачущий. Рекомендовалось выводить объекты "от задних к передним" с включенным GL_BLEND. Это всегда работало не дальше простого примера.

Ну ладно, погуглился, сейчас вроде стандарт как-то через буфера напр тут. Но эта радость для версии 4.0 или как? Смутно помню (могу путать) ssoft об этом упоминал здесь, но где - не смог найти. В общем, подкиньте инфы

Спасибо
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #1 : Декабрь 17, 2016, 22:22 »

нормальной прозрачности OpenGL никогда не имел. Рекомендовалось выводить объекты "от задних к передним" с включенным GL_BLEND. Это всегда работало не дальше простого примера.

И в 21 веке точно так же не работает...
По моему, кроме шейдыра, никаг Грустный
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Декабрь 18, 2016, 10:37 »

По моему, кроме шейдыра, никаг Грустный
Понятно что магическое слово "шейдер" - ответ на все вопросы Улыбающийся Только вот каким образом?
Записан
ssoft
Программист
*****
Offline Offline

Сообщений: 584


Просмотр профиля
« Ответ #3 : Декабрь 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
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #4 : Декабрь 19, 2016, 15:32 »

ssoft, спасибо за ссылки, с некоторыми был незнаком. Все равно пока не пойму с "hardwre requirements" установить барьер "4.0 и выше" я не могу.  А у Вас как реализовано (если не секрет)?
Записан
ssoft
Программист
*****
Offline Offline

Сообщений: 584


Просмотр профиля
« Ответ #5 : Декабрь 19, 2016, 16:34 »

ssoft, спасибо за ссылки, с некоторыми был незнаком. Все равно пока не пойму с "hardwre requirements" установить барьер "4.0 и выше" я не могу.  А у Вас как реализовано (если не секрет)?

У нас реализована совсем простая схема отображения в 3-й этапа, основанная на Weight Blended Order Independent Transparency.

Этап 1. Формирование буфера непрозрачных пикселей с проверкой глубины и формированием буфера глубины. Начальное заполнение буфера цветом фона.
Этап 2. Формирование буфера суммы полупрозрачных пикселей с проверкой глубины но без формирования буфера глубины. При суммировании компоненты цвета помножаются на прозрачность. Дополнительно формируется буфер с суммой прозрачностей для использования при нормировке на следующем этапе.
Этап 3. Смешение буфера непрозрачных пикселей и буфера полупрозрачных пикселей нормированных на дополнительный буфер.

Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.203 секунд. Запросов: 22.