Хмм… Интересная идея. На данный момент, в моем тестовом примере, альфа канал src-растра всегда содержит значение 255, а dstIn и dstOut совсем не имеют альфа-канала (bands == 3, либо я что то не так интерпретировал). Возможно, если залить экран цветом (0, 0, 0, 0), тогда может появится шанс поиграться с попаданием отображаемой точки в полигон по значению альфа канала. Надо проверить. Я буду очень признателен, если вы мне поможете разобраться с проблемой «сглаживания», потому что определять находится ли каждая точка растра в желаемом полигоне, очень накладно.
Мне приходилось кодить 3D на java только в рамках учебного курса. Столкнулся с такий же проблемой — z-буфер дает погрешность на стыках. Особенно мерзко в случае если одна грань лежит одним ребром на другой. У меня не стояло задачи сделать конечный крутой продукт, потому легким шаманством я вылечил эти болезни.
Java 2D и буфер глубины