Я пытаюсь оптимизировать механизм рендеринга в Java, чтобы он не рисовал объекты, которые закрыты «сплошными» дочерними объектами, нарисованными перед ними, т.е. родитель закрыт своими дочерними элементами.
Я хочу знать, содержит ли произвольное BufferedImage, которое я загружаю из файла, какие-либо прозрачные пиксели, так как это влияет на мое тестирование окклюзии.
Я обнаружил, что могу использовать BufferedImage.getColorModel().hasAlpha(), чтобы узнать, поддерживает ли изображение альфа-канал, но в этом случае он не говорит мне, содержит ли оно определенно непрозрачные пиксели.
Я знаю, что могу перебрать данные пикселей и проверить альфа-значение каждого из них и вернуться, как только обнаружу непрозрачный пиксель, но мне было интересно, есть ли уже что-то нативное, что я мог бы использовать, возможно, флаг, установленный внутри? Или что-то менее интенсивное, чем перебор пикселей.
Любой вклад приветствуется, спасибо.