Я передаю текстуру через объект framebuffer, и когда я рисую прозрачные примитивы, примитивы правильно смешиваются с другими примитивами, нарисованными на этом одиночном шаге, но они не смешиваются должным образом с предыдущим содержимым фреймбуфера.
Есть ли способ правильно соединить содержимое текстуры с новыми данными?
РЕДАКТИРОВАТЬ: более подробная информация, я попытаюсь объяснить более четко;
Я использую blendmode: GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA. (Я считаю, что это обычно стандартный blendmode)
Я создаю приложение, которое отслеживает движение мыши. Он рисует линии, соединяющие предыдущую позицию мыши с текущей позицией мыши, и, поскольку я не хочу рисовать линии поверх каждого кадра, я решил, что я буду рисовать текстуру, никогда не очищать текстуру, а затем просто рисую прямоугольник с этим текстуры на нем, чтобы отобразить его.
Все это работает отлично, за исключением того, что когда я рисую фигуры с альфами меньше 1 на текстуру, она не смешивается должным образом с предыдущим содержимым текстуры. Скажем, у меня есть черные линии с альфа =.6, нарисованные на текстуре. Через пару циклов цикла я рисую черный круг с альфа =.4 над этими строками. Линии "под" круга полностью перезаписаны. Хотя круг не плоский черный (он хорошо сочетается с белым фоном), нет никаких "темных линий" под кругом, как и следовало ожидать.
Если я рисую линии и круг в том же кадре, они смешатся правильно. Я предполагаю, что текстура просто не сочетается с предыдущим содержимым. Это похоже на смешивание с glclearcolor. (Который в этом случае равен 1.0, 1.0f, 1.0f, 1.0f > )