Я пытаюсь выяснить, как делать режимы смешивания в WebGL. До сих пор я использовал родной HTML5 Canvas функции рисования, с помощью которого вы можете просто сделать, например:WebGL drawing 2d объектов с различными режимами смешивания
var ctx = new Document.getElementById('canvas').getContext('2d');
ctx.globalCompositeOperation = 'lighter'
Теперь я стараюсь, по соображениям производительности, порт это WebGL. Однако мне трудно понять, как я могу влиять на режим наложения в WebGL. Как я понял, шейдер Vertex решает, какие части различных текстур/полигонов видны, а затем формируется фрагментарный шейдер для каждого пикселя видимой части этих текстур/полигонов. Однако, если у меня есть режим смешивания, например, светлее (который берет верхнюю часть каждого из компонентов основного цвета и нового накладываемого цвета), я смущаюсь о роли шейдера вершин и шейдера фрагмента в этом дело.
Кроме того, в библиотеке Pixi.js, которую я использую для рисования с помощью WebGL прямо сейчас, я считаю, что вершинные и фрагментарные шейдеры вызывается только после того, как все объекты были нарисованы в фреймбуфере, другими словами: только после всех объектов помещены. (Шейдеры этой библиотеки могут быть найдены here)
Может ли кто-нибудь объяснить, как правильно использовать режимы смешивания в WebGL?
Большое спасибо за этот ответ. Это действительно многое прояснило для меня. Теперь, когда я лучше знал, что искал, я также нашел хорошее объяснение, как использовать смешение здесь: http://www.learnopengles.com/android-lesson-five-an-introduction-to-blending/ – Qqwy
Glad это помогло. :) –