Ответ 1
Я не уверен, что TextureTranslationX и TextureTranslationY означают в этом контексте, но TextureTranslationU и TextureTranslationV почти наверняка относятся к текстурным координатам модели.
Обычно координаты текстуры (U, V) задаются между [0,1] и определяют, как изображение отображается на поверхность. (U, V) = (0,0) обычно будет верхним левым пикселем изображения текстуры.
Итак, если у вас есть набор вершин типа:
v 0 0 0
v 1 0 0
v 0 1 0
v 1 1 0
Определяет квадрат в пространстве (X, Y, Z), и эти вершины имеют следующие (U, V) текстурные координаты:
vt 0 0
vt 1 0
vt 0 1
vt 1 1
Тогда на квадрат будет применена "текстура", в которой мы действительно подразумеваем изображение, так что ее верхний левый пиксель будет применен к вершине (0, 0, 0) квадрата.
TectureUScale и TextureVScale, вероятно, относятся к параметрам масштабирования, которые допускают непрямоугольные изображения текстур.
Что касается перевода этого кода на OBJ, обратитесь к http://en.wikipedia.org/wiki/Wavefront_.obj_file. Формат, который я использовал выше, соответствует спецификации формата файла.
Вам также необходимо сохранить изображение текстуры в файле .tga в соответствии с документацией, а затем создать файл .mtl, который выглядит так:
newmtl texture1
Ka 1.000 1.000 1.000 # Only ambient to keep things simple
Kd 0.000 0.000 0.000 # Disable diffuse component
Ks 0.000 0.000 0.000 # Disable specular component
illum 1 # Only color and ambient are enabled
map_Ka texture.tga # Ambient texture map
Заключительная часть:
usemtl [texture1]
Перед определениями координат вершин и текстур в вашем файле .obj.
Я бы начал с чего-то очень простого, как квадрат, текстурированный с шаблоном шахматной доски, который имеет ту же ширину и высоту.