опять эти х файлы...

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

DirectXManiac
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1543
Зарегистрирован: 03.11.2005 (Чт) 13:32
Откуда: из DirectX SDK

Сообщение DirectXManiac » 07.08.2006 (Пн) 9:46

Нет! Там вообще пол трасы не так конвертится! Матрицы тостаються теме же и куски трасы повёрнуты неправильно! :(
#define ROFL 0xDDDD

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 22.07.2007 (Вс) 14:59

1. Наконец обнаружил в DX трудноуловимую ошибку!
Долго не мог понять, почему после "ручной" загрузки х-файла некоторые плоскости отображаются треугольниками с неправильными нормалями. Файлы конвертились из *.3DS в *.х стандартным Conv3ds.exe. Причем ошибка исчезает после перезаписи файла с помощью mview.exe.
Для прорисовки использовал
D3DDevice.DrawIndexedPrimitive D3DPT_TRIANGLELIST
Теперь подробности. Сравни индексы полигонов куба до и после перезаписи файла:

до---------------------после

12;--------------------12;
3;0,3,2;,--------------3;0,3,2;,
3;3,0,1;,--------------3;3,0,1;,
3;4,7,5;,--------------3;4,7,5;,
3;7,4,6;,--------------3;7,4,6;,
3;8,10,9;,-------------3;8,10,9;,
3;11,13,12;,----------3;11,13,12;, до сюда одинаково.
3;1,7,14;,-------------3;26,27,14;, Зачем дополнительные вертексы!?
3;7,1,15;,-------------3;27,26,15;,
3;16,18,17;,----------3;16,18,17;,
3;19,21,20;,----------3;19,21,20;,
3;22,23,0;,------------3;22,23,28;, и тут тоже!
3;24,25,6;;------------3;24,25,29;; и тут тоже!

Всего во втором варианте добавлено 4 вертекса. Было 26 а стало 30. Спрашивается, для чего?
С принципиальной точки зрения в первом варианте никакой заморочки нет, но при отрисовке граней с индексами 1,7,14; 7,1,15; 22,23,0; 24,25,6 как раз и возникает ошибка в прорисовке. Собственно, DX рисует полигон, но при этом корёжит уже отрисованные предыдущие. Очевидно DrawIndexedPrimitive и ему подобные содержат в вертексном или индексном буфере какой-то счетчик, который "не опрокидывается назад". То есть, если ранее (в одном проходе) рисовался полигон с индексами 11,13,12 , то индексы следующего не должны быть меньше 11.
Парадокс, но факт!
Имейте это ввиду при попытке сэкономить на вертексах.

Замечено, что если загрузить меш чисто средствами DX, и потом попытаться вытащить вертексный и индексный буферы, то выдан будет подправленный вариант, а не тот, что записан в файле.

Похоже, избежать возникновения ошибки можно используя параметры MinIndex и NumIndices , только как это сделать в одном проходе? Собственно, я так и не въехал в их смысл. Поясните, плз!

2. В массив вертексов загружаю из бинарного файла координаты. Тип, как известно, Single. Пытаюсь выполнить их преобразование - самое обычное присваивание другой переменной того же типа. Вылетает ошибка переполнения. На поверку значение оказывается =-1.#QNAN0. Я чуть не упал со стула!
Просматриваю текстовый формат того же файла и вижу, что некоторые поля заполнены той же бурдой. Кто в этом виноват, VB, конвертер или оба. Кстати mview.exe бинарный формат грузит, а текстовый нет. После перезаписи ошибка исчезает.
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 04.10.2007 (Чт) 22:21

К старому вопросу о зацикленных полигонах в DX8.
Я уже не раз трындел по этому поводу, только до сих пор не нахожу полноценного ответа, в чём проблема?
В архиве 3 скрина одного и того же домика в разных режимах.
1-й DX8 GOURAUD. Здесь оконный проём явно отображается треугольниками.
2-й DX8 FLAT. Проём - нормально, зато козырёк и стойки - треугольниками с явным выделением рёбер.
3-й 3DMax OpenGL - всё нормально, с мягкими оттенениями.
Как избавиться? Может в DX9 подобный глюк исправлен?
У вас нет доступа для просмотра вложений в этом сообщении.
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

VladPro
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 15.10.2005 (Сб) 23:52

Сообщение VladPro » 04.10.2007 (Чт) 23:02

Может немного не в тему, но попробуй конвертить MAX в X с помощью плагина Panda exporter, это более грамотная вещь, чем другие. Если попробуешь, кинь сюда результат.

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 05.10.2007 (Пт) 22:26

Вах! Уже давно поставил-бы Панде под козырёк, если бы сама, без моего желания не делила цельный статический 3Max-фрейм на отдельные меши. Готов был её пользовать, Господа, но Увы, дополнительные тормоза при отрисовке!
Кстати, у кого найдётся более поздняя версия Conv3ds, чем от 26.07.1998 (91,920 кБ), прошу представить.
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

a1ewka-gal4onok
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 31.10.2008 (Пт) 17:39

Re: опять эти х файлы...

Сообщение a1ewka-gal4onok » 19.12.2008 (Пт) 11:12

Решил продолжить тему, дабы не гадить форум избыточностью..

Суть беды. Стоит 3d Mаx 7. Создал объект. Сделал рендеринг --всё нормально. Экспортирую в *.3ds. В командной строке набираю команду для конвертации в *.х. В ответ получаю нужный *.х. ЗамечательНО! НО! Пытаюсь подключить файл в программе-примере хотя бы и вижу белую форму.. :( в чём может быть проблема, господа?

StimorolD3DX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 293
Зарегистрирован: 03.04.2007 (Вт) 18:19
Откуда: Kiev city

Re: опять эти х файлы...

Сообщение StimorolD3DX » 22.12.2008 (Пн) 10:12

Свет, материалы, текстуры?

a1ewka-gal4onok
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 31.10.2008 (Пт) 17:39

Re: опять эти х файлы...

Сообщение a1ewka-gal4onok » 22.12.2008 (Пн) 20:58

Создаю сферу, накладываю текстуру.. Файл получается бинарным по типу, как говорит потом система.. Вроде как *.x открываются в текстовом редакторе без проблем..

Ktulhu
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 132
Зарегистрирован: 14.07.2007 (Сб) 14:03
Откуда: Киев, Р'льех

Re: опять эти х файлы...

Сообщение Ktulhu » 22.12.2008 (Пн) 22:41

есть текстовые, есть бинарные. даже бинарные со сжатием есць

a1ewka-gal4onok
Новичок
Новичок
 
Сообщения: 29
Зарегистрирован: 31.10.2008 (Пт) 17:39

Re: опять эти х файлы...

Сообщение a1ewka-gal4onok » 22.12.2008 (Пн) 23:45

Вот получился бинарный файл.. А почему? Смотрел другие *.x --в них иначе ..

Пред.

Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

    TopList