У меня проблема с выбором цвета и сглаживанием в OpenGL. Когда AA активирован, результаты из glReadPixels явно неверны на краях объекта и пересечениях объекта. Например:
Я рендеринг поля № 28 (RGBA: 28, 0, 0, 0) возле поля № 32 (RGBA: 32, 0, 0, 0). С помощью AA я могу получить неправильное значение ReadPixel (например, 30), когда куб и треугольник перекрываются, или значение 14 на краю прямоугольника из-за алгоритма AA.
У меня есть ~ 4000 тысяч объектов, которые мне нужно выбрать (это игра-головоломка). Очень важно иметь возможность выбирать объекты по форме.
Я пытался отключить AA с помощью glDisable (GL_MULTISAMPLE), но он не работает с некоторыми режимами AA (я читал, что это зависит от реализации AA - SS, MS, CS ..)
Итак, как мне выбрать базовый объект?
- А как временно отключить АА?
- Используете другой буфер или даже контекст рендеринга?
- Любое другое предложение?