Войти
ПрограммированиеФорумГрафика

Попытка перевести Quake 3 Arena Shader на GLSL. (3 стр)

Страницы: 1 2 3
#30
21:36, 23 ноя. 2019

innuendo
> будешь по каждой строчке задавать вопросы ? или найдёшь рабочий пример?

Знак вопроса где увидел? Это не вопрос. Это утверждение.

Тема закрыта.


#31
16:23, 17 дек. 2019

Там всё переводится на GLSL и каждый материал можно нарисовать за один проход. Единственная сложность, которая может возникнуть - некоторые комбинации придётся рисовать через копию экрана, по другому их не смешать корректно. На q3dm0 есть такие колбы стеклянные к примеру, вот их можно нарисовать только с использованием копии экрана, если хочется за один проход. Ну и не только их, конечно.

#32
16:32, 17 дек. 2019

g-cont
> некоторые комбинации придётся рисовать через копию экрана
Есть же расширеный набор функций блендинга, где чего только нет. А еще и логические операции есть.

#33
16:34, 17 дек. 2019

g-cont
> На q3dm0 есть такие колбы стеклянные к примеру, вот их можно нарисовать только
> с использованием копии экрана, если хочется за один проход.

Зачем копия экрана, там блендинг обычный. Даже дисторшена нет.

#34
19:35, 17 дек. 2019

0xc0de
там первый пасс GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, второй с записью в буффер глубины и альфатестом.

>>Есть же расширеный набор функций блендинга, где чего только нет
дело не в логике, а в порядке смешивания. Хотя хз, я его особо не изучал.

#35
14:14, 19 дек. 2019

g-cont
> Единственная сложность, которая может возникнуть - некоторые комбинации
> придётся рисовать через копию экрана

Это как так? Пиксельный шейдер не в состоянии достать ассоциированный фрагмент из фрейм-буффера?

#36
14:34, 19 дек. 2019

mingw
> Пиксельный шейдер не в состоянии достать ассоциированный фрагмент из фрейм-буффера?
Вообще-то да, на десктопном железе не в состоянии. На мобилках есть расширения.

#37
15:00, 19 дек. 2019

/A\
> Вообще-то да, на десктопном железе не в состоянии. На мобилках есть расширения

мобилки более крутые чем десктопы ?

#38
15:51, 19 дек. 2019

innuendo
> мобилки более крутые чем десктопы ?
Там железо иначе работает.
В пределах тайла там точно известно какой фрагмент запишется.
А вот в десктопах похоже на это не рассчитывали и сделали такую оптимизацию, что данные в фреймбуфер записываются отложенно, а блендинг на фиксированом конвеере в любое время может отработать.

#39
15:55, 19 дек. 2019

/A\

у нвидиа блендинг делается через шейдер - то есть читается из framebuffer  и смешивается

#40
(Правка: 15:45) 15:44, 20 дек. 2019

>>Пиксельный шейдер не в состоянии достать ассоциированный фрагмент из фрейм-буффера?
Можно один из таргетов MRT в качестве текстуры направить в шейдер и читать из него. На современных нвидиях это прокатывает, но часть тайлов переодически мерцает из-за отложенной записи. А на чём-то более древнем может и BSOD можно так словить, хз.

Собсно, glSubImage синхронизирует конвейеры, поэтому она такая дорогая в использовании. Но другого способа на десктопе видимо нет.

Страницы: 1 2 3
ПрограммированиеФорумГрафика