Использование текстуры изображения с альфа-каналом делает сетку «прозрачной»
Я рендеринг файла obj в OpenGL ES 2.0 на Android с включенным Back-Culling. Только некоторая часть (ожерелье вокруг шеи) текстурного изображения на самом деле имеет альфа.
При рендеринге только меша это выглядит хорошо:
Тем не менее, при включении текстуры, я могу видеть через сетку на другую сторону. Ниже вы можете видеть, что правая рука, которая находится позади тела, также становится видимой. Есть идеи, что может пойти не так?
Редактировать:
Я пробовал следующее:
Включение / Отключение отбраковки лицаПроверка порядка вершинПроверка, находятся ли нормали внутри в некоторых точкахНо, похоже, ничего не работает. Любое другое направление будет оценено.
Изменить 2:
Я открыл текстуру изображения и заполнил всю прозрачную область черным цветом, сохранив его как нет альфа-слоя в программе редактирования изображений. И вот как это выглядит сейчас:
Вопрос прозрачности исчез, но тогда я не смогу увидеть ожерелье должным образом.
Редактировать 3: МожетАльфа-смешивание и Z-буфер быть проблема, как описано в ссылке? Он утверждает, что «Z-буфер не работает для прозрачных полигонов».