d3dx, surface i problem

0

witam, moj plik obslugujacy sie direct3d wyglada na razie tak (ucze sie)

#include <d3d9.h>
#include <d3dx9.h>
#include <d3dx9tex.h>

#pragma comment( lib, "d3d9.lib" )
#pragma comment( lib, "d3dx9.lib" )

LPDIRECT3D9			d3d;
LPDIRECT3DDEVICE9	d3ddev;
LPDIRECT3DSURFACE9 surface;

bool initDirect3D( HWND handleWnd )
{
	D3DPRESENT_PARAMETERS d3dpp;
	HRESULT hr;

	d3d		= NULL;
	d3ddev	= NULL;

	d3d = Direct3DCreate9( D3D_SDK_VERSION );

	if( d3d == NULL )
	{
		return false;
	}

	ZeroMemory( &d3dpp, sizeof( d3dpp ) );

	d3dpp.Windowed = true;
	d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
	d3dpp.BackBufferFormat = D3DFMT_UNKNOWN;
	d3dpp.BackBufferCount = 1;
	d3dpp.BackBufferWidth = WINDOW_X;
	d3dpp.BackBufferHeight = WINDOW_Y;
	d3dpp.hDeviceWindow = handleWnd;

	if( FAILED( d3d->CreateDevice( D3DADAPTER_DEFAULT,
								   D3DDEVTYPE_HAL,
								   handleWnd,
								   D3DCREATE_SOFTWARE_VERTEXPROCESSING,
								   &d3dpp,
								   &d3ddev ) ) )
	{
		return false;
	}

	hr = D3DXLoadSurfaceFromFile( surface,
								  NULL,
								  NULL,
								  "surface.bmp",
								  NULL,
								  D3DX_DEFAULT,
								  0,
								  NULL );

	if( FAILED( hr ) )
	{
		return false;
	}

	return true;
}

void renderDirect3D()
{
	IDirect3DSurface9* backbuffer;

	if( d3ddev == NULL )
	{
		return;
	}

	d3ddev->Clear( 0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB( 20, 20, 100 ), 1.0, 0 );

	d3ddev->GetBackBuffer( 0,
						   0,
						   D3DBACKBUFFER_TYPE_MONO,
						   &backbuffer );

	d3ddev->StretchRect( surface,
						 NULL,
						 backbuffer,
						 NULL,
						 D3DTEXF_NONE );

	d3ddev->Present( NULL, NULL, NULL, NULL );
}

void cleanDirect3D()
{
	d3ddev->Release();
	d3d->Release();
}

Wszystko działa oprócz tla okna, surface, nie wiem jak to nazywa sie po polsku, po prostu, initDirect3D zwraca zawsze false, plik surface.bmp istnieje w tym samym folderze co exe

0

sprawdź na którym false ci się pierniczy...
po pragmie wiedzę, że visual, w takim razie jeśli odpalasz z pod visuala katalog roboczy nie będzie katalogiem z exe, sprawdź podając ścieżkę bezpośrednią

1 użytkowników online, w tym zalogowanych: 0, gości: 1