продолжает этот вопрос:экранных в RGB и буфер глубины фрагмента шейдера: GLSL
GLSL : accessing framebuffer to get RGB and change it
Можно ли разработать программу, основанную на GLSL следующей?
- рисовать object1
- Получить буфер глубины с помощью шейдеров (также сохранить RGB)
- дро объект 1, объект 2 одновременно
- получить detph чек
- , если глубина различны (глубина 2 в зависимости от глубины 4)
- draw object 1 : для диапазона, глубина которого не изменяется -> нарисовать как оригинал RGB : для диапазона, который изменилась глубина -> нарисовать с разным RGB
Я подтвердил этот алгоритм, который отличает объект 1, спрятан другим объектом с использованием функций пересыхания. Я использовал функции glReadbuffer, glDrawbuffer. Однако это слишком медленно, я хочу использовать GLSL.
Это похоже [проблему XY] (Http: //meta.stackexchange. ком/вопросы/66377/что-это-The-ху-проблема). Если все, что вы хотите сделать, это выяснить, скрыт ли объект и нарисовать что-то другое в этом случае, для этого вам не нужны специализированные шейдеры или множество буферов глубины. –