Jump to content
  • Advertisement


This topic is now archived and is closed to further replies.


DIrectX Problem(d3d8.h)

This topic is 5631 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

THIS IS MY CODE: // Include Files #include <windows.h> #include <d3d8.h> #include <d3d8xtex.h> #include <dxerr8.h> // Function Prototypes LRESULT WINAPI WinProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam); void RegisterWindowClass(HINSTANCE hInstance); void CreateAppWindow(HINSTANCE hInstance); WPARAM StartMessageLoop(); HRESULT InitFullScreenDirect3D(); void Render(); void CleanUpDirect3D(); // Global Variable HWND g_hWnd; IDirect3D8* g_pIDirect3D = NULL; IDirect3DDevice8* g_pDirect3DDevice = NULL; IDirect3DSurface8* g_pBitmapSurface = NULL; HRESULT g_hResult = D3D_OK; char g_seErrorMsg[256]; ////////////////// // WindMain() ////////////////// INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, INT) { RegisterWindowClass(hInstance); CreateAppWindow(hInstance); ShowWindow(g_hWnd, SW_SHOWDEFAULT); UpdateWindow(g_hWnd); HRESULT hResult = InitFullScreenDirect3D(); if (SUCCEEDED(hResult)) WPARAM result = StartMessageLoop(); CleanUpDirect3D(); CloseWindow(hWnd); if (g_phResult != D3D_OK) DXTRACE_ERR(g_szErrorMsg, g_hResult); return 0; } /////////////// // WndProc /////////////// LRESULT WINAPI WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch(msg) { case WM_CREATE: return 0; case WM_DESTROY: PostQuitMessage( 0 ); return 0; case WM_PAINT: ValidateRect(g_hWnd, NULL); return 0; case WM_KEYDOWN: switch(waparam) { case VK_ESCAPE: PostQuitMessage(WM_QUIT); break; } } return DefWindowProc(hWnd, msg, wParam, lParam); } ///////////////////////////// // RegisterWindowClass() ///////////////////////////// void RegisterWindowClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof(WNDCLASSEX); wc.style = CS_HREDRAW | CS_VREDRAW | CS_OWNDC; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor = (HCURSOR)LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = "SurfaceApp"; wc.hIconSm = NULL; RegisterClassEx(&wc); } ///////////////////////// // CreateAppWindow() ///////////////////////// void CreateAppWindow(HINSTANCE hInstance) { g_hWnd = CreateWindowEx( NULL, "SurfaceApp", "Direct3D Surface Application", WS_OVERLAPPEDWINDOW, 100, 100, 648, 514, GetDesktopWindow(), NULL, hInstance, NULL); } ////////////////////////// // StartMessageLoop() ////////////////////////// WPARAM StartMessageLoop() { MSG msg; while(1) { if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { if (msg.message == WM_QUIT) break; TranslateMessage(&msg); DispatchMessage(&msg); } else { // Use idle time here Render(); } } return msg.wParam; } //////////////////////////////// // InitFullScreenDirect3D() //////////////////////////////// HRESULT InitFullScreenDirect3D() { g_pDirect3D = Direct3DCreate(D3D_SDK_VERSION); if (g_pDirect3D == NULL); { MessageBox(g_hWnd, "DirectX Could Not Load", "DIRECTX ERROR", MB_OK); return E_FAIL; } D3DPRESENT_PARAMETERS D3DPresentParams; ZEROMEMORY(&D3DPresentParams, sizeof(D3DPRESNT_PARAMETERS); D3DPresentParams.Windowed = FALSE; D3DPresentParams.BackBufferCount = 1; D3DPresentParams.BackBufferWidth = 640; D3DPresentParams.BackBufferHieght = 480 D3DPresentParams.BackBufferFormat = D3DFMT_X8R8G8B8; D3DPresentParams.SwapEffect = D3DSWAPEFFECT_DISCARD; D3DPresentParams.hDeviceWindow = g_hWnd; hResult = g_pDirect3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, g_hWnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING, &D3DPresentParams, &g_pDirect3DDevice); if (FAILED(hResult)) { MessageBox(g_hWnd, "DirectX Could Not Load", "DIRECTX ERROR", MB_OK); return E_FAIL; } g_hResult = g_pDirect3DDevice->CreateImageSurface(604, 480, D3DFMT_X8R8G8B8, &g_pBitmapSurface); if (FAILED(g_hResult)) { strcpy(g_szErrorMsg, "Error Creating File."); PostMessage(WM_QUIT); } g_hResult = D3DXLoadSurfaceFromFile(g_pBItmapSurface, NULL, NULL, "test.bmp", NULL, D3DX_DEFAULT, 0, NULL); if (FAILED(g_hResult)) { strcpy(g_szErrorMsg, "Error Loading File."); PostMessage(WM_QUIT); } return D3D_OK; } ///////////////////////// // CleanUpDirect3D() ///////////////////////// void CleanUpDirect3D() { if (g_pBitmapSurface) g_pBitmapSurface->Release(); if (g_pDirect3DDevice) g_pDirect3DDevice->Release(); if (g_pDirect3D) g_pDirect3D->Release(); } //////////////// // Render() //////////////// void Render() { IDirect3DSurface8* pBackBuffer = NULL; g_hResult = g_pDirect3DDevice->GetBackBuffer(0, D3DBACKBUFFER_TYPE_MONO, &pBackBuffer); if (FAILED(g_hResult)) { strcpy(g_szErrorMsg, "Error Getting Back Buffer."); PostMessage(WM_QUIT); } g_hResult = g_pDirect3DDevice->CopyRects(g_pBitmapSurface, NULL, 0, pBackBuffer, NULL); if (FAILED(g_hResult)) { strcpy(g_szErrorMsg, "Error Copying Image Buffer."); PostMessage(WM_QUIT); } g+pDirect3DDevice->Present(NULL, NULL, NULL, NULL); if (pBackBuffer) pBackBuffer->Release(); } THIS IS MY ERROR: --------------------Configuration: SurfaceApp - Win32 Debug-------------------- Compiling... SurfaceApp.cpp C:\Windows\Desktop\C++ Folder\General Windows\SurfaceApp\SurfaceApp.cpp(3) : fatal error C1083: Cannot open include file: ''d3d8.h'': No such file or directory Error executing cl.exe. SurfaceApp.exe - 1 error(s), 0 warning(s) I AM USING VISUAL STUDIO 6.0(C++) AND WHY WILL IT NOT READ d3d8.h FILE. IT READ THE OTHER 2 DXSDK FILES?

Share this post

Link to post
Share on other sites
AFAIK the compiler only outputs 1 include error, so it likely will not include the other two too
copy you''re SDK headers in the includes folder of VC or add the folder where they are to the include list (dunno how to do that for VC6)

Share this post

Link to post
Share on other sites
Somedays I wish I had moderator rights so I could trim that down...

Posting code that is relevant to your problem is a good thing. Posting all of your code isn''t. Also, before unloading a ton of code, it''s generally a good idea to state what your problem is rather than doing it at the end. That way we know what the problem is while we''re looking at the code, rather than afterwards.

In this case, you likely didn''t set the include paths in VC++.
Tools->Options->Directories->Include Files.

Add the SDK Include directory to the list and bump it to the top. Then do the same for libraries. That should fix it.

Stay Casual,

Drunken Hyena

Share this post

Link to post
Share on other sites

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!