Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Direct 3D и Delphi 2010   Найти похожие ветки 

 
Чайник ©   (2012-02-19 14:23) [0]

Не пинайте чайника сильно ногами, я только учусь…
Начал разбираться с Direct 3D. В состав D2010 входят заголовочные файлы для ДиректХ, в частности Direct3D , Direct3D9, D3DX9 и пр.
В качестве источников взял известные книги Есенина и Краснова (честно купил в магазине) с примерами. В примерах имеются свои заголовочные файлы и, кроме того, своя библиотека D3DX9sab.dll.
Столкнулся с проблемой:

   // Накладываем все модификации на мировую матрицу
   D3DXMatrixMultiply(WorldMatrix, WorldMatrixX, WorldMatrixY);
   D3DXMatrixMultiply(WorldMatrix, WorldMatrix,  WorldMatrixZ);
   // Устанавливаем мировую матрицу для куба
   FD3DDevice.SetTransform(D3DTS_WORLD, WorldMatrix);

Так вот, если использую заголовочные файлы из примеров, то все работает, если из Д2010 -  SetTransform не выполняется.

Лезу в файлы D3DX9.pas –
У Есенина и Краснова :

const
 //////////// DLL export definitions ///////////////////////////////////////
 d3dx9BorlandDLL = "D3DX9Sab.dll";
 d3dx9dll = d3dx9BorlandDll;

В Д2010:

const
 //////////// DLL export definitions ///////////////////////////////////////
 d3dx9MicrosoftDLL = "d3dx9_30.dll";
 d3dx9MicrosoftDebugDLL = "d3dx9d_30.dll";
 d3dx9BorlandDLL = d3dx9MicrosoftDLL; // Compatibility with previous header releases
 d3dx9dll = d3dx9MicrosoftDLL;

Лезу в генофонд, исправляю ручками "d3dx9_30.dll" на "D3DX9Sab.dll" – все равно не работает.

Что это значит? Я что-то не то делаю?  И как это исправить?


 
Гудгинаупт   (2012-02-19 18:49) [1]

>>> своя библиотека D3DX9sab.dll.

Это не своя библиотека, это либа Microsoft D3DX, которая входит в SDK.

Работайте только с одной версией хидеров Директа.
Т.е. dll для хидеров Clootie (Их используют Краснов и Есенин) одни, а для хидеров D2010 (Которые я лично не видел) другие.

P. S. Будующие вопросы задавайте на gamedev.ru в разделе "Графика", тут никто не ответит.

Удачи.


 
Inovet ©   (2012-02-19 19:14) [2]

Удалено модератором


 
Чайник ©   (2012-02-19 19:40) [3]


> Это не своя библиотека, это либа Microsoft D3DX, которая
> входит в SDK.


Ну, вообще-то в свойствах самой библиотеки указано: "DXD9 DLL for JEDI projects" и ни слова о Microsoft...


> Работайте только с одной версией хидеров Директа.

 Дык я и хочу работать только с одной версией - желательно с версией из поставки Дельфи. d3dx9_30.dll - входит в состав WindowsXP (и семерки тож), вот и хотелось бы не привлекать сторонние длл.

А что, кроме меня никто с родными хидерами Директа не работал?
Или у всех все в порядке, этоя один где-то туплю?


 
Pavia ©   (2012-02-19 19:50) [4]


> Или у всех все в порядке, этоя один где-то туплю?

А ошибка какая? Или в чём неисправность заключается?

> А что, кроме меня никто с родными хидерами Директа не работал?

На этом форуме таких мало.

>  d3dx9_30.dll - входит в состав WindowsXP

В состав WindowsXP эта библиотека не входи. А вот в какую именно версию DirectX или DirectX SDK тебе скорее всего подскажут на gamedev.ru


 
Чайник ©   (2012-02-19 19:57) [5]


> А ошибка какая? Или в чём неисправность заключается?


А ничего не происходит! Должна сцена повернуться и сдвинуться, в самой матрице WorldMatrix нужные значения введены (это я проверил), а вот самой трансформации не происходит.

P.S. На геймдев свой вопрос, по вашим советам, запостил...


 
Чайник ©   (2012-02-19 20:02) [6]


> В состав WindowsXP эта библиотека не входит.


Э-э-э... посмотрел на свежеустановленной Windows 7 на ноутбуке - она там сидит. Или её какая-то дополнительная прога устанавливает (на ноутбуке от HP при установке кроме самой винды ставятся несколько их фирменных примочек)?


 
QAZ   (2012-02-19 20:11) [7]


> А что, кроме меня никто с родными хидерами Директа не работал?

родные хидеры в Sdk на Си
нормальный их перевод на дельфи в Clootie включая примеры из SDK

> Ну, вообще-то в свойствах самой библиотеки указано: "DXD9
> DLL for JEDI projects" и ни слова о Microsoft...

потому что это библиотека готовых "фишек" для упрощения неких манипуляций , типа как GLUT для OpenGL
более чем уверен что в книге про это сказано, и даже русским языком


 
QAZ   (2012-02-19 20:15) [8]


> Э-э-э... посмотрел на свежеустановленной Windows 7 на ноутбуке
> - она там сидит. Или её какая-то дополнительная прога устанавливает

на ноутбуках не бывает свежеустановленых окон
а называется это DirectX End-User Runtime


 
Гудгинаупт   (2012-02-20 02:10) [9]


> Чайник ©   (19.02.12 19:57) [5]


> Ну, вообще-то в свойствах самой библиотеки указано: "DXD9
> DLL for JEDI projects" и ни слова о Microsoft...
>


Хидер переведен JEDI.
D3DX библиотека Microsoft. Чего тут не понятного?

Работать надо как и все с хидерами от Clootie, а не с непонятно какими из D2010.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.05 c
15-1347621308
Фпа
2012-09-14 15:15
2013.03.22
программист


3-1284757383
Vladimir3466
2010-09-18 01:03
2013.03.22
delphi 10 + ADOQuery.Parameters = параметр не найден


15-1348061625
xayam
2012-09-19 17:33
2013.03.22
Демонстрационное оборудование


2-1343403948
VitalijZ
2012-07-27 19:45
2013.03.22
TWebbrowser


2-1345986998
Wadimka
2012-08-26 17:16
2013.03.22
Кто-нибудь работал с компонентом SecureBridg?