Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / [Quake 3 | Загрузчик BSP] Непонятки с текстурными координатами (решено)

[Quake 3 | Загрузчик BSP] Непонятки с текстурными координатами (решено)

zombihelloПостоялецwww11 авг. 201821:34#0
Здравствуйте, решил написать загрузчик BSP карт третей кваки (Quake 3), но столкнулся с какими-то непонятками
связанные с наложением текстур на полигоны. В редакторе карт (GtkRadiant) масштаб/смещение текстур на
полигонах одно, а в движке другое (см. скриншот ниже). Выводил координаты в компиляторе и в движке,
так они идентичные. Как быть с этим? Как я понял квейк как-то по-особенному текстуры налаживает, но как?
Подскажите, пожалуйста, как решить данную проблему. Пытался в интернете найти инфу по этому делу,
но так ничего не нарыл :(

И да, у текстур такой параметр:

glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT );
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT );

Скриншоты:

Текстуры в редакторе:

+ Показать

Текстуры в движке:

+ Показать

Выведенные ST координаты (то что T компонента отрицательного числа не страшно, ибо это сделано было, чтобы текстура не переворачивалась):

+ Показать

g-contПостоялецwww11 авг. 201823:03#1
Да вот то, что в вертексе это и есть готовые ST, их сразу можно использовать. Ничего с ними делать не надо.
zombihelloПостоялецwww11 авг. 201823:13#2
тогда я не понимаю почему такая разница с наложением текстур и что с этим делать
Жора МонтировкаПостоялецwww11 авг. 201823:56#3
zombihello
Проверь размеры текстур.
zombihelloПостоялецwww12 авг. 20180:28#4
Жора Монтировка
> Проверь размеры текстур.
Проверил, размеры текстур одинаковые (через фотошоп уменьшал ее, но это ни как не влияло на наложение в движке).
Смотрел еще как работает эта карта в демке из урока по загрузке BSP, то там такая же проблема.
Не понимаю, что не так.
Panzerschrek[CN]Участникwww12 авг. 20185:20#5
zombihello
Телепаты в отпуске. Покажи код загрузки и отрисовки.
Iron ManПостоялецwww12 авг. 20189:23#6
zombihello
А не проще запилить свой формат локаций? Всего нужного в левых редакторах не реализуешь :)
Я, например, сделал пока текстовый формат в виде переменных скрипта Lua.
У меня все временные форматы в нём, потом уже перебиваю на бинарники, когда есть, в чём их сохранять, например, процеживать через простой консольный конвертер )))

Правка: 12 авг. 2018 9:23

g-contПостоялецwww12 авг. 201811:40#7
zombihello
ты оригинальную карту под квейк берёшь или сам собираешь предварительно? Если второе то вполне размеры могут съехать, там же две текстуры используются, в редакторе одна малого разрешения, в игре другая.
zombihelloПостоялецwww12 авг. 201815:18#8
Panzerschrek[CN]
> Телепаты в отпуске. Покажи код загрузки и отрисовки.
Код загрузки:
+ Показать

Код рендера:

+ Показать

g-cont
> ты оригинальную карту под квейк берёшь или сам собираешь предварительно? Если
> второе то вполне размеры могут съехать, там же две текстуры используются, в
> редакторе одна малого разрешения, в игре другая.
У меня редактор и движок берут текстуры из одного места или ты хочешь сказать,
что радиант сжимает текстуры? Просто я эту же карту запускал в Return to Castle Wolfenstein и
там текстуры были наложены как в редакторе

g-contПостоялецwww13 авг. 201815:33#9
zombihello
там в скриптах есть параметр qer_editorImage и путь к текстуре низкого разрешения. Не всегда, но часто. Когда карта компилируется, размеры текстур берутся именно из этой мелкой, а в игре видно уже текстуру высокого разрешения. Поэтому я уточнил - ты карту берёшь готовую или собираешь предварительно.
Если готовую, из игры, то проблем быть не должно.
zombihelloПостоялецwww13 авг. 201815:43#10
Я проблему уже исправил, спасибо. Кстати, проблема была именно в этом (в путях компилятора путь был указан к квейку, а не моему движку)
g-contПостоялецwww14 авг. 201813:18#11
В квейках текстурные матрицы базируются на реальных размерах текстур при компиляции. После компиляции эти размеры попадают внутри BSP-файла и там уже пофиг, можно подменять на любые другие текстуры. Но при компиляции это имеет значение.

/ Форум / Программирование игр / Графика

2001—2018 © GameDev.ru — Разработка игр