Цветной MESH

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

Модератор: Mikle

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

Сообщение Yurich » 23.03.2005 (Ср) 21:47

Bonesnapper писал(а):...Но вот появилась новая проблема :?
Грузятся только текстовые файлы...

Простые меши нормально грузятся и в тексте и в цифре. Мне всего лишь пришлось поднастроить координаты камеры!!!
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 24.03.2005 (Чт) 9:11

Простые меши нормально грузятся и в тексте и в цифре. Мне всего лишь пришлось поднастроить координаты камеры!!!

Камеры??
я уже все перепробывал не видно ничего
Напиши как ты там их подправил

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

Сообщение Yurich » 24.03.2005 (Чт) 22:57

Да всё просто.
Чтоб увидеть модель, надо знать её мировые координаты (обычно 0,0,0) и хотябы приблизительно баундиг-бокс.
У тебя камера в плюсе по иксу АЖ НА 20, ЗАТО ЗЕТ В НУЛЕ!!!
Так нихрена не увидишь
D3DXMatrixLookAtLH Mtrx, vec3(20!, 3!, 0!), vec3(0!, 0!, 0!), vec3(0!, 1!, 0!)
Поставь
D3DXMatrixLookAtLH Mtrx, vec3(0!, 0!, -20!), vec3(0!, 0!, 0!), vec3(0!, 1!, 0!)
pic_MouseMove тоже неправильно работает
У тебя есть мой пример, там все ОК.
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 25.03.2005 (Пт) 0:03

меня наверно не поняли
техтовые файлы я вижу а бинарные нет
но если имеющийся бинарный фаил пересохранить с помощью mview
(тоже в бинарный) то все видно :?:
поставил я камеру как ты сказал но ничего не видно

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

Сообщение Yurich » 25.03.2005 (Пт) 19:19

Bonesnapper писал(а):техтовые файлы я вижу а бинарные нет
но если имеющийся бинарный фаил пересохранить с помощью mview
(тоже в бинарный) то все видно :?:

Да не ломай особо голову, у тебя адрес мой есть. Я то проверяю по своим моделям!
Тут есть еще нюанс, как пересохраняешь? Как цельный , или фреймовый "Save Hierachy". Исходник скорее всего и есть фреймовый.
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 27.03.2005 (Вс) 18:57

все разобрался почему не рисует (с матрицами напутал не много)

Но вот проблема :x
Некоторые(не все) бинарные файлы рисуются черными
а пересохраненные в тексте нормально
у тебя во вьювере все нармально
что я опять мог напутать :x

пересохраняю с "Save Hierachy"
вот пример
bomb.x-binary
bombt.x-text

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

Сообщение Yurich » 28.03.2005 (Пн) 23:39

Bonesnapper писал(а):...а пересохраненные в тексте нормально
у тебя во вьювере все нармально что я опять мог напутать...

На твоём примере как ни крутил, и из буфера, и напрямую из файла - результ один - исходник весь чёрный. Перезаписанные и в тексте и в бинаре - ОК. Нифига не понял. Трабла в ДХ (или защита в модели)? Сам себя спрашиваю, почему тогда мой код работает?
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 29.03.2005 (Вт) 9:31

Все нашел в чем проблема (в свете надо было Ambient поставить)

Но к цели мы всетаки не приблизились
как мне узнать какому индексу пренадлежит каккой материал
как мне советовали нужно использовать GetAttributeTable
но он заполняется как написано в сдк с помощью D3DXMesh.Optimize
скажите пожайлуста как использовать это
ни как не могу понять что за параметры туда вводить

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

Сообщение Yurich » 29.03.2005 (Вт) 16:40

Bonesnapper писал(а):Все нашел в чем проблема (в свете надо было Ambient поставить)

Точно!
Bonesnapper писал(а):Но к цели мы всетаки не приблизились
как мне узнать какому индексу пренадлежит каккой материал
как мне советовали нужно использовать GetAttributeTable
но он заполняется как написано в сдк с помощью D3DXMesh.Optimize
скажите пожайлуста как использовать это
ни как не могу понять что за параметры туда вводить

Dim adjBuf1() As Long, adjBuf2() As Long, facemap() As Long
Dim VertexMap As D3DXBuffer, s As Long
s = RetVertexBuffer.GetBufferSize
ReDim adjBuf1(s / 4)
ReDim adjBuf2(s / 4)
s = Mesh.GetNumFaces
ReDim facemap(s)
D3DX.BufferGetData RetVertexBuffer, 0, 4, s * 3, adjBuf1(0)
Set NewMesh = Mesh.Optimize(D3DXMESHOPT_COMPACT Or D3DXMESHOPT_ATTRSORT Or D3DXMESHOPT_VERTEXCACHE, adjBuf1(0), adjBuf2(0), facemap(0), VertexMap)

Индексы сабсетов соответствуют индексам материала!!!
Объясни точнее, исходя из чего надо получить материал?
Может типа - голова -> материал, или ноги -> материал?
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 30.03.2005 (Ср) 8:52

Да нужно просто сделать месш цветным без использования света
причем цвет каждого участка меша должен соответствоваль материалу

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

Сообщение Yurich » 30.03.2005 (Ср) 23:32

Понял. А зачем пытаться показывать в полной темноте?
Цвет объекта - результат отражения (поглощения) света. Материалы в модели на интенсивность и диапазон внешнего излучения рассчитаны.
Попробуй переделать материал (emissive, power), чтобы он стал "источником света", должен быть виден.
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Mikle
Изобретатель велосипедов
Изобретатель велосипедов
Аватара пользователя
 
Сообщения: 4148
Зарегистрирован: 25.03.2003 (Вт) 14:02
Откуда: Туапсе

Сообщение Mikle » 31.03.2005 (Чт) 12:51

Разобрался. Весь прикол в том, что D3DXMesh.Optimize - это не метод, как написано в SDK, а функция. Вот рабочий пример:

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 31.03.2005 (Чт) 22:32

Все получилось спасибо
но почему-то после оптимозации по способу Yurich'а
фпс падает до 150 (с 470) зачем она нужна в таком виде
Yurich
не мог бы ты обьяснить что это за массивы мы передаем этой функции
Mikle
ща попробую как спроизводительностью если поставить все нули

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 31.03.2005 (Чт) 22:37

То же самое фпс упало со 470 до 150 :shock:

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

Сообщение Yurich » 01.04.2005 (Пт) 18:43

Bonesnapper писал(а):Все получилось спасибо
но почему-то после оптимозации по способу Yurich'а
фпс падает до 150 (с 470) зачем она нужна в таком виде
Yurich
не мог бы ты обьяснить что это за массивы мы передаем этой функции

1. Каким образом получилось - emissive или Optimize?
2. Да не знаю, массивы перед вызовом пустые. В СДК вообще ни слова, что там можно вставлять ByVal 0. И фиг его знает, что она оптимизирует. Разницы в фпс не замечал. Проверю у себя.
- Какой треугольник не подвластен законам геометрии?
- У которого все углы тупые!

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 02.04.2005 (Сб) 17:23

Вот пример там в функции createmesh
есть 2 варианта с оптимизацией во временный месш тогда фпс не падает (правда проходит это только с этой моделью тк количество вертексов не меняется) и обычная оптимизация тогда фпс падает более чем в 2 раза :?

Хотя если использовать модель мотора из примера Mikle
то ни чего не падает да же фпс около 650

похоже чем из большего числа мешей состоит модель тем лучше

Пред.

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

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

Сейчас этот форум просматривают: Google-бот и гости: 22

    TopList