Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.07 c
2-1336066310
igorium
2012-05-03 21:31
2013.03.22
Не отображаются русские буквы в английских Виндовс


15-1340601785
Oleg1
2012-06-25 09:23
2013.03.22
Начинающим


6-1264429152
Цукор5
2010-01-25 17:19
2013.03.22
Остановка сервера


2-1340358517
webpauk
2012-06-22 13:48
2013.03.22
Присвоение TNotifyEvent


15-1332512911
Pit
2012-03-23 18:28
2013.03.22
C# и генерирование TLB





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский