Я использую отдельный объект кадрового буфера для выбора цвета 2D-объектов в opengl. Мне любопытно, можно ли рисовать только в буфере кадра и читать цвет, когда это необходимо.
что я делаю сейчас, так это в основном цикле рендеринга, я рисую сцену в основной фреймбуфер, а затем визуализирую только выбираемые объекты в фреймбуфер «выбора».
когда пользователь щелкает мышью, он связывает кадровый буфер «выбора» и считывает пиксель, и я знаю, какой объект выбран. проблема в том, что мне нужен "выбор" кадрового буфера только тогда, когда пользователь щелкает мышью, поэтому делать это каждый кадр неэффективно.
Я пробовал рендеринг в кадровый буфер «выбора», когда пользователь щелкает мышью, а затем читает напрямую, но все, что я получаю, это белый цвет (цвет фона, а не цвет, чтобы сказать мне, какой это объект). рисование кадрового буфера «выбора» просто показывает все это как белое, как будто на самом деле ничего не было визуализировано.
мне нужно остановить отрисовку в основном цикле при рендеринге в «выбор» фреймбуфера? или есть что-то, чего мне не хватает, что сделало бы это возможным?
РЕДАКТИРОВАТЬ: я пытался не рисовать в основном цикле при рендеринге в кадровый буфер выбора, и это тоже не сработало.
glFlush()
между рисованием и чтением? - person genpfault   schedule 05.11.2010