Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2010, 20:19   #1
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
По умолчанию Direct3d+newton

Кто-нибудь пробовал соединять директикс с ньютоном? Это вообще реально?
Crivel вне форума Ответить с цитированием
Старый 16.06.2010, 22:06   #2
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
Это вообще реально?
А что тут нереального? Напиши вывод физических тел на DX.
Вадим Буренков вне форума Ответить с цитированием
Старый 16.06.2010, 22:10   #3
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Вполне и вполне. Да и есть вики по этому движку, где множество примеров.
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 16.06.2010, 22:16   #4
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
А что тут нереального? Напиши вывод физических тел на DX.
Я пишу 3д движок, пытаюсь приделать ньютон, но сразу столкнулся с тем что не как не могу разобраться с матрицами - как их перевести из ньютоновского типа в DX.

Код:
NewtonBodyGetMatrix(NewtonBody,WorldMatrix);
WorldMatrix - типа TD3DMatrix, а ньютон требует pfloat. В гугле находил как решить это, но там для с++.
Crivel вне форума Ответить с цитированием
Старый 16.06.2010, 23:32   #5
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
В гугле находил как решить это, но там для с++.
Ну так перепиши для Delphi. Тут наверно мало кто с ньютоном работал, так что конкретные вопросы по коду/реализации в студию.
Вадим Буренков вне форума Ответить с цитированием
Старый 16.06.2010, 23:45   #6
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
По умолчанию

"Перепиши с си на дельфи" работает когда хотя бы основы си знаешь, а я только и могу текст в консоли с помощью си писать и то с трудом.


Вот цитата с геймдев(http://www.gamedev.ru/code/forum/?id=90066):
Цитата:

By P@VEL

Здравствуйте! Никак не могу вдуплится, вот создаю кубик ньютоновский:

nWorld = NewtonCreate (NULL,NULL);
NewtonSetSolverModel (nWorld, 10);
NewtonSetFrictionModel (nWorld, 1);
collision = NewtonCreateBox (nWorld, 10.0f, 10.0f, 10.0f, NULL);
floorBody = NewtonCreateBody (nWorld, collision);
NewtonReleaseCollision (nWorld, collision);

Меняю его позицию:

D3DXMATRIX loc;
NewtonBodyGetMatrix(floorBody,&loc[0,0]);// тут не свовсем уверен
loc._42=10;
NewtonBodySetMatrix(floorBody,&loc[0,0]);// тут не свовсем уверен


Потом, при рендеринге получаю его матрицу:
NewtonBodyGetMatrix(floorBody,&М[0,0]);// тут не свовсем уверен

Ну, применяю эту матрицу для директиксовского кубика
Device->SetTransform(D3DTS_WORLD, &M);

Потом рисую.
Кубик рисуется, но совсем не в тех координатах которые я задавал для ньютоновского кубика, а если я делаю динамический кубик, добавляю callback функцию, то он вобще не рисуется.
D3DXMATRIX loc; - как я понял это матрица (loc).

Далее идёт строчка - NewtonBodyGetMatrix(floorBody,&loc[0]);
Собственно что означает "&" который рядом с loc стоит?
Crivel вне форума Ответить с цитированием
Старый 17.06.2010, 15:56   #7
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

&loc[0] - адрес первого элемента массива loc (оно же - адрес всего массива).
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 17.06.2010, 17:04   #8
Crivel
Delphi\C++
Форумчанин
 
Аватар для Crivel
 
Регистрация: 18.06.2008
Сообщений: 277
По умолчанию

Гром, спасибо за ответ, но насчёт массива я понял, меня интересует зачем там "&", потому что когда я пробовал -
Код:
 NewtonBodyGetMatrix(NewtonBody,WorldMatrix[0]);
ошибка:
Код:
[DCC Error] GameEngine.pas(239): E2149 Class does not have a default property
Ругается именно на WorldMatrix[0].
Crivel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблемы с Direct3D p6l6a6n Помощь студентам 2 30.04.2010 18:05
Delphi 2009 Direct3D Benq19 Общие вопросы Delphi 1 21.12.2009 22:29
Вращение камеры (Direct3D) AidarBik Gamedev - cоздание игр: Unity, OpenGL, DirectX 1 24.07.2009 08:45
Перспектива в Direct3D Ulex Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 11.03.2008 01:04