| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > Загрузка obj.... |
| Автор: ShellRaiser 30.9.2007, 15:56 |
| У меня есть модель автомобиля в 3ds max, оттекстурированная... я какбы написал загрузчик obj на джава.... рисую её через gl.glDrawElements(GL.GL_TRIANGLES, vIndex.length, GL.GL_UNSIGNED_INT, indexes);... Она (модель) отображается в гл норм(норм загружен корпус, нормали)....вот тока с текстурами проблема... вот скрин этого безобразия: ![]() вообщем текстура згружена(на большой квадрат я её спец натянул чтобы проверить или грузится...) а автомобиль просто окрасился в синий цвет.... ...может кто поможет??? мот текстурные координаты криво экспортяцца иль чё???..... |
| Автор: Rickert 16.10.2007, 11:32 |
| Проясним ситуацию: ты грузишь модель, а она не натягивается на модель машины, но натягивается нормально на квадрат? |
| Автор: ShellRaiser 17.10.2007, 09:29 |
| да я уже исправил сдесь этот баг..короче я неправильно там одну штуку сделал: массив текст. координат инициализировал, но не заполнил....тобиш все значения были 0,0... но терь за одним багом выплыл следущий: короч количество текстурных координат не равно вершинным(тоесть например v = 112 a, vt = 118) и если выводить модель по индексам(через массивы) то индексы тект. координат не будут совпадать в вертексными...тобиш 1/5/1 (вершина, текстура, нормаль)...вот в чём трабл... сейчас я просто на всё это закрыл глаза и просто на основе агоритма для вывода через глБегин и енд исполльзуя индексы переконвертил все массивы, и терь выводит тачку+нормально оттекстуринную, но выплывает проблемма в использовании при этом большого количества памяти...(например полигонов 3500 из этого следует, что будет три массива: v=10500 vt=7000 vn= 10500 + умножить всё это на размер float)...я даже сделал чтобы всё это отконвертинное записывалось в файл(бинарник) ну и модель соответственно весит: не 400 кг а 1200кг, ну зато есть один маленький + |