SDL2 предоставляет по умолчанию 3 blend modes: альфа-смесь, добавка и умножение.Как реализовать пользовательский режим смешивания в SDL2?
Однако мне нужно сделать заполненные прямоугольники, используя режим линейного света.
Возможно ли это реализовать с использованием OpenGL или в виде комбинации трех встроенных режимов наложения или мне нужно преобразовать все мои SDL_Texture
s в SDL_Surface
s и изменить значения пикселей вручную?
Держите экземпляр вашей поверхности, изменять эту поверхность и сделать текстуру из него. Текстура находится в памяти рядом с вашим GPU. – jordsti
Да, это то, что я, вероятно, буду делать. – emlai
Скорее всего, чтение и перепрограммирование программного обеспечения будут чрезвычайно медленными. Вы можете визуализировать текстуру, а затем комбинировать две текстуры с шейдером и иметь очень хорошую производительность с этим. Однако это не совсем то, что делает смешение (рендеринг нескольких фигур должен смешиваться в порядке рисования, а не только один раз). – keltar