вопщем делаю вроде все по науке, он картинки нет..((
| Код | HRESULT MyDirectX::Init( HWND hWnd ) { ZeroMemory(&m_Didect3DParametr, sizeof (m_Didect3DParametr) ); ZeroMemory(&m_DisplayMode, sizeof m_DisplayMode);
if ( NULL == (m_pDirect3D = Direct3DCreate9(D3D_SDK_VERSION) ) ) return E_FAIL;
if ( FAILED(m_pDirect3D->GetAdapterDisplayMode(D3DADAPTER_DEFAULT, &m_DisplayMode) ) ) return E_FAIL;
m_Didect3DParametr.Windowed = TRUE; m_Didect3DParametr.SwapEffect = D3DSWAPEFFECT_DISCARD; m_Didect3DParametr.BackBufferFormat = D3DFMT_X8R8G8B8; m_Didect3DParametr.AutoDepthStencilFormat = D3DFMT_D16; m_Didect3DParametr.EnableAutoDepthStencil = TRUE;
if ( FAILED( m_pDirect3D->CreateDevice( D3DADAPTER_DEFAULT , D3DDEVTYPE_HAL , hWnd , D3DCREATE_SOFTWARE_VERTEXPROCESSING , &m_Didect3DParametr , &m_pDirect3DDevice )) ) return E_FAIL;
return S_OK; }
void MyDirectX::RenderItem( wchar_t* tex, RECT rect, D3DXVECTOR3 pos ) { RItem* ri = new RItem; ri->tex = new wchar_t [ wcslen(tex) + 1]; wcscpy_s(ri->tex, wcslen(tex) + 1, tex); ri->rect = rect; ri->pos = pos;
m_RenderItems.Push( ri ); }
void MyDirectX::Rendering() { m_pDirect3DDevice->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB( 105,200, 125 ), 1.0, 0 ); m_pDirect3DDevice->BeginScene(); { Iterat( m_RenderItems ) { if ( m_RenderItems[i]->tex ) {
LPDIRECT3DTEXTURE9 pTexture; HRESULT err = D3DXCreateTextureFromFile( m_pDirect3DDevice, m_RenderItems[i]->tex, &pTexture );
LPD3DXSPRITE pSprite = 0; D3DXCreateSprite(m_pDirect3DDevice, &pSprite); if ( !FAILED( pSprite->Begin( D3DXSPRITE_ALPHABLEND| D3DXSPRITE_SORT_DEPTH_BACKTOFRONT ) ) ) { pSprite->Draw( pTexture, NULL, NULL, &m_RenderItems[i]->pos, 0xFFFFFFFF ); pSprite->End(); }
pSprite->Release(); pTexture->Release(); } } } m_pDirect3DDevice->EndScene(); m_pDirect3DDevice->Present(0,0,0,0); }
|
m_RenderItems - динамический стек с путями до тгашки, ректами( RECT ) и позишнами.( D3DXVECTOR3 ) Пополняется по клику.. в результате имеем зеленое пустое окно.. молча(никто не падает и не вопит что ему чего то не додали..))..
Может нужно что то в Init() при создании девайса что то написать? скажите, плз, где я дурак?...%) |