Я пытаюсь использовать координаты текстуры из предварительно сгенерированного файла PNG в трехмерном мире четырехугольников, загруженных в Java с расширением slick-util LWJGL.
Файл текстуры имеет размер 192x96 пикселей и правильно отформатирован. Он состоит из 6x3 32x32 плиток.
3-ий квадрат - 1.5f ширины и длинны. Они правильно разнесены.
У меня проблемы с получением правильных координат текстуры. Когда в качестве координат y я добавляю 0.0f к 0.333333f, я получаю немного больше, чем отображается высота верхней плитки. Однако, если я поставлю 0.0f-0.25f, я получу ровно 1/3, то есть высоту моей плитки. Я до сих пор не нашел магическое число для координат X, но, возможно, кто-то мог бы объяснить мне, почему 1/4 из 96 - это 24 согласно координатам текстур, или что я делаю неправильно? Я подозреваю, что это может быть конфликт между размером моего квадрата и текстурами.
Скриншот http://i52.tinypic.com/2qbafqp.jpg
Вершины кубов используют координаты текстуры (0.0, 0.0f), (0.0, 0.333333f), (0.166666f, 0.333333f), (0.166666f, 0.0f), которые применяются, перемещаясь против часовой стрелки от вверху слева вверху справа. Опять же, основной файл текстуры - это плитки размером 32x32, которые имеют размер 192x96 (высота равна 96).
Обратите внимание, что я поместил белую линию в верхней части одной из плиток, чтобы увидеть ее границу, и черную линию в ее нижней части, затем белую линию для верхней части следующей под ней. Текстура «кровоточит» слишком далеко вниз. Как вы можете видеть, другие текстуры имеют свои еще более странные координаты.
Расположение текстурных координат в предположении, что верхняя часть изображения равна 1,0, а не нижняя часть создает странные квадраты с прямоугольным отверстием в центре, где должны быть квадраты.
Я использую TEX_ENV GL_MODULATE.