opengl - смешивание с предыдущим содержимым фреймбуфера

Я выполняю рендеринг в текстуру через объект кадрового буфера, и когда я рисую прозрачные примитивы, примитивы правильно смешиваются с другими примитивами, нарисованными на этом одном этапе рисования, но они не смешиваются должным образом с предыдущим содержимым кадрового буфера.

Есть ли способ правильно смешать содержимое текстуры с поступающими новыми данными?

РЕДАКТИРОВАТЬ: больше информации требуется, я попытаюсь объяснить более четко;

Я использую смешанный режим GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA. (Я считаю, что это, как правило, стандартный blendmode)

Я создаю приложение, которое отслеживает движение мыши. Он рисует линии, соединяющие предыдущую позицию мыши с текущей позицией мыши, и, поскольку я не хочу рисовать линии снова и снова в каждом кадре, я решил нарисовать текстуру, никогда не очищать текстуру, а затем просто нарисовать прямоугольник с этим Текстура на нем, чтобы отобразить его.

Все это прекрасно работает, за исключением того, что когда я рисую фигуры с альфа-каналом меньше 1 на текстуру, он не будет правильно смешиваться с предыдущим содержимым текстуры. Допустим, у меня есть несколько черных линий с альфа = .6, нарисованных на текстуре. Через пару циклов прорисовки я нарисую черный кружок с альфа = 0,4 над этими линиями. Линии "под" кругом полностью перезаписаны. Хотя круг не является плоским черным (он правильно сочетается с белым фоном), под кружком нет «более темных линий», как вы могли бы ожидать.

Однако если я нарисую линии и окружность в одном кадре, они будут смешаны правильно. Я предполагаю, что текстура просто не сочетается с предыдущим содержимым. Это как будто только смешивается с glclearcolor. (Который в данном случае составляет <1.0f, 1.0f, 1.0f, 1.0f>)

Ответы на вопрос(3)

Ваш ответ на вопрос