Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.071 c