TL; DR: Какие значения зажаты и при каких обстоятельствах (включены флаги и типы рендеринга (особенно RGBA_F32)), когда включено смешение?Распутывание Когда и какие значения зажимаются в смешении OpenGL по различным целевым объектам визуализации
- Вывод фрагмента шейдера?
- Факторы смешивания?
- Результат уравнения смешивания?
- Другие?
механизмы, которые я нашел для зажима:
- Shader выход (через
glClampColor
): Это, как представляется, контролироватьglReadPixels
, но есть extension flagsGL_CLAMP_VERTEX_COLOR
иGL_CLAMP_FRAGMENT_COLOR
, которые делают «что-то ». Насколько я могу судить по спецификации расширения, они зажимают вывод из вершинного или фрагментарного шейдера. - выхода шейдер (через оказывать фиксированную точку): См this answer, который цитирует GL спецификацию .: "Переход от значения с плавающей точкой ф к соответствующему беззнаковому нормализованному с фиксированной точкой значения С определяются первым зажатие f до диапазона [0, 1] ... «Напротив, (при записи на цель рендеринга с плавающей запятой, предположительно) Николь Болас пишет here, что« То, что написано фрагментарным шейдером, всегда будет развязано. ".
- ПОДРАЗУМЕВАЕМЫХ зажима: Из documentation for
glBlendFunc
: «Все масштабные коэффициенты имеют диапазон [0,1].» Означает ли это факторы источника и назначения зажаты, прежде чем уравнение происходит? - КОСВЕННЫЙ зажим: Из documentation for
glBlendEquation
: «Для этих уравнений всех цветовых компонент поняты, чтобы иметь значение в диапазоне [0,1]» Означает ли это цвет источника и назначений зажаты до того, как происходит уравнение ? - Результат зажима: Из той же странице: «Результаты этих уравнений зажаты в диапазоне [0,1]»
В моих экспериментах на RGBA_F32 визуализации мишени , ни один из этих режимов зажима не происходит (я подтверждаю это, считывая значения из цели рендеринга с помощью glGetTexImage
). Мне нужно предпочтительно (3), но я прошу уточнить документацию, чтобы я мог сам это выяснить.
+1 и принять. Это отличный ответ и благодарность. Я продолжаю забывать, что спецификация - это бесконечно лучший ресурс, чем справочные страницы; Еще раз спасибо за то, что выкопали основные ссылки. Обратите внимание, что вы также рассмотрели (3) в разделе 4,5,6. – imallett
@imallett: О, в вопросе нет даже точки 6 - в последнем пункте я был просто один за другим. Я исправил это. – derhass