C++ Builder에서는 DirectX라던가 OpenGL을 편리하게 쓸 수 있는 콤포넌트도 많습니다만 직접 폼 위에 DirectX9를 띄우는 예제입니다.
http://www.nk.rim.or.jp/~m_iida/programming/directX/BCB_DX9.html (일본어입니다)에서 많은 참고를 했습니다. 거기 내용을 읽어보면요, 보통은 COFF2OMF를 써서 VC++용 Lib파일을 변환시켜서 사용하면 가능하다고 하는군요. 하지만, D3DX관련 Lib파일이 제대로 변환이 되지 않는다고 적혀있네요. 그래서, Alexey Barkovoy씨가 만든 Lib파일과 Dll파일을 사용하면 된다고 합니다.
제 예제를 실행하기 위해서는 http://clootie.narod.ru/cbuilder/index.html 에 가면 빌더용 리소스가 많이 있는데요, 그 중에 CBuilder_DX90_libs.zip 와 Clootie_DX90_dlls.zip 두 파일을 다운 받습니다. DLL파일들은 경로(Path)가 지정된 폴더에 집어넣고(예를 들면 C:\Windows\System 또는 C:\WINNT\SYSTEM32) Lib파일들은 따로 폴더를 만들어서 넣어둡니다.(예를 들면, C:\DXSDK\Lib\Borland)
그리고나서 Project->Options의 Directories에 SDK에서 설치된 헤더파일폴더와 Lib파일 폴더를 지정합니다. 물론, 필요에 따라 Lib파일을 링크시켜주셔야 하구요.
그리고, 예제를 보면 sinf 등의 함수들이 #define으로 정의되어있는데요, 저 함수들이 VC++에서만 쓰이는 것들인데 DirectX에서도 사용됩니다. #define을 쓰시거나 함수를 만드시거나, 아니면 Alias를 쓰거나 - 이 방법은 잘 모르거든요. 그래서 그냥 #define을 썼습니다 - 하면 됩니다.
끝. ( 켈록 ) - 아, DX를 띄울려면 윈도 핸들 (HWND)가 있는 컴포넌트위에서 띄울수 있는듯 합니다. TForm이랑 TScrollWindow 정도가 있더군요. 더 있을수도 있구요 :)
|