Builder 6 + DirectX SDK = ?
У меня есть некоторый опыт программирования под билдером. Есть directx sdk 2007 года. Поиски литературы в Google выдают одно и то же: использование DirectX толко вместе с VC++.
Не могу найти даже советы по настройке билдера. Для vc++ такой литературы завались.
Это так понимать надо, что билдер не очень подходит для написания даже простеньких игруль?
Вот и думаю, что лучше: дальше искать литературу или пересесть на vc++?
Посоветуйте чего.
Совет: DX9 SDK можно вполне успешно использовать вместе с C++ Builder 6.
Если нет желание возиться с проблеммами компиляции, используйте BCB6 DXSDK9
Единственное, для всех требуемых dll-библиотек придеться вручную создать либы утилитой implib либо использовать динамическую загрузку.
Пример динамической загрузки (проверки пропущены для краткости):
//Загружаем либу DX void* hLib = LoadLibrary("d3d9.dll" ); //Ищем функцию инициализации typedef IDirect3D9 * ( __stdcall *FMYD3DCREATE)( unsigned int); FMYD3DCREATE D3DCreate9 = ( FMYD3DCREATE) GetProcAddress( hLib, "Direct3DCreate9"); //Создаем интерфейс IDirect3D9 pD3D9 = ( *D3DCreate9)( D3D_SDK_VERSION); ..... typedef HRESULT ( __stdcall FMYD3DXCRTXTRFRMFILEX)( LPDIRECT3DDEVICE9 pDevice, LPCTSTR pSrcFile, UINT Width, UINT Height, UINT MipLevels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, DWORD Filter, DWORD MipFilter, D3DCOLOR ColorKey, D3DXIMAGE_INFO* pSrcInfo, PALETTEENTRY* pPalette, LPDIRECT3DTEXTURE9 * ppTexture); FMYD3DXCRTXTRFRMFILEX* FD3DXCreateTextureFromFileEx=NULL; void* hLib = LoadLibrary( "d3dx9_32.dll" ); FD3DXCreateTextureFromFileEx = ( FMYD3DXCRTXTRFRMFILEX*) GetProcAddress( hLib, "D3DXCreateTextureFromFileExA");
Решение, что проще, динамическая загрузка или поиск dll-файлов и создание lib-ов, за вами.
Что касается выбора между VC++ и BCB6, определяющую роль в нем играют другие библиотеки, нежели DX SDK.
30 декабря 2007 (Обновление: 13 мая 2020)
Комментарии [7]