Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> разные меш объекты 
:(
    Опции темы
sfok3
Дата 7.8.2009, 02:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 14.7.2009

Репутация: нет
Всего: нет



Никак не могу понять как работать с двумя объектами...
чисто теоретически нижний код верен?
Код

var
  world, obj1, obj2 : TD3DMatrix;
begin

D3DXMatrixIdentity(obj1);
DrawMesh(mesh1);
D3DXMatrixRotationY(obj1, timeGetTime/1000.0);
g_pd3dDevice.SetTransform(D3DTS_WORLD, obj1);

D3DXMatrixIdentity(obj2);
d3dXMatrixtranslation(matWorldxyz, 0,0,-i);
g_pd3dDevice.SetTransform(D3DTS_WORLD, obj2);
DrawMesh(mesh2);
D3DXMatrixMultiply(world, obj1, obj2);
g_pd3dDevice.SetTransform(D3DTS_WORLD, world);
end;

при этом будет результат: один меш объект будет вращаться, другой двигаться по z на i (i- увеличивающееся число через inc())
верно? если нет, поправьте пожалуйста.
PM MAIL   Вверх
Bitter
Дата 17.8.2009, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный лентяй
***


Профиль
Группа: Завсегдатай
Сообщений: 1209
Регистрация: 15.8.2004
Где: Харьков, Ukraine

Репутация: 6
Всего: 27



какая-то лажа у тебя написана.

Прежде, чем рисовать объекты, нужно сделать все трансформации. а ты делаешь:

1 Обнуляешьматрицу
2 Рисуешь объект
3 Поворачиваешь матрицу (после прорисовки) - это не верно

Во втором случае объект НЕ будет двигаться вниз, так как ты применяешь матрицу obj2, а она просто единичная.

Короче всё не правильно. И это очень простая задача. Всё есть в книгах.

Надо так: 
Код

var
  mat : TD3DMatrix;
begin

D3DXMatrixIdentity(mat);
D3DXMatrixRotationY(mat, timeGetTime/1000.0);
g_pd3dDevice.SetTransform(D3DTS_WORLD, mat);
DrawMesh(mesh1);

D3DXMatrixIdentity(mat);
d3dXMatrixtranslation(mat, 0,0,-i);
g_pd3dDevice.SetTransform(D3DTS_WORLD, mat);
DrawMesh(mesh2);
end;

PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0396 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.