#include "IrrEngine.h"#pragma comment(lib,"IrrEngine.lib")IrrEngine::IrrRenderWindow* win = new IrrEngine::IrrRenderWindow();IrrEngine::IrrD3D9Renderer* render = new IrrEngine::IrrD3D9Renderer();IrrEngine::IrrInput* Input = new IrrEngine::IrrInput();IrrEngine::CSprites* Radar;IrrEngine::CSprites* Border;IrrEngine::CSprites* Enemy;IrrEngine::CSprites* HealthBar;IrrEngine::CSprites* Health;IrrEngine::Font* font;IrrEngine::ScreenQuad* Quad;IrrEngine::RenderTarget* Target;int HealthPoints = 6000;int maxHealthPoint = 1000;float enemyX = 60.0f, enemyY = 60.0f;IDirect3DSurface9* sur;IDirect3DTexture9* tex;ID3DXRenderToSurface* rtSur;ID3DXEffect* m_pEffect;D3DXHANDLE pTex;D3DXHANDLE pTech;int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd ){ win->CreateRenderWindow("IrrGame",0,0,512,512); render->CreateD3D9Renderer(512,512,false); Input->CreateInput(); Quad = new IrrEngine::ScreenQuad(); Target = new IrrEngine::RenderTarget(); IrrEngine::CEntityManager* mgr = new IrrEngine::CEntityManager(); Radar = new IrrEngine::CSprites(); Radar->loadSpriteImage("Batman.jpg"); Radar->SetAlphaColor(255,255,255,255); Radar->SetDrawRegion(0,0,300,300); Radar->SetTransparency(255,255,255,255); Radar->SetEntName("Batman"); Radar->SetEntPosition(0,0,0); mgr->addEntity(Radar); Target->CreateRenderTarget(win->getWindowWidth(),win->getWindowHeight(),1,""); font = new IrrEngine::Font(); font->IrrCreateFont(32,0,0,0,0,0,0,0,0,0,0,0,0,L"Ariel"); Quad->CreateScreenQuad(0,0,win->getWindowWidth()-50,win->getWindowHeight()); //win->MessageLoopStart(); ID3DXMesh* Sphere; HR(D3DXCreateBox(IrrEngine::IrrD3D9Renderer::getD3DDev9(),50,40,40,&Sphere,NULL)); HR(D3DXCreateTexture(IrrEngine::IrrD3D9Renderer::getD3DDev9(),512,512,40,D3DUSAGE_RENDERTARGET,D3DFMT_X8B8G8R8,D3DPOOL_DEFAULT,&tex)); HR(D3DXCreateRenderToSurface(IrrEngine::IrrD3D9Renderer::getD3DDev9(),512,512,D3DFMT_X8B8G8R8,TRUE,D3DFMT_D16,&rtSur)); D3DCAPS9 caps; //render->getD3DDev9()->GetDeviceCaps(&caps); D3DDISPLAYMODE Mode; render->getD3D9()->GetAdapterDisplayMode(0,&Mode); MSG msg; while(true) { while(PeekMessage(&msg,NULL,NULL,NULL,PM_REMOVE)) { TranslateMessage(&msg); DispatchMessage(&msg); } if(msg.message == WM_QUIT) { break; } Input->UpdateInput(); if (Input->KeyPressed(DIK_ESCAPE)) { break; } // Windowed. if(FAILED(render->getD3D9()->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Mode.Format, D3DUSAGE_RENDERTARGET, D3DRTYPE_TEXTURE, D3DFMT_X8R8G8B8))) PostQuitMessage(0); if(FAILED(render->getD3D9()->CheckDepthStencilMatch(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, Mode.Format, D3DFMT_X8R8G8B8, D3DFMT_D24X8))) PostQuitMessage(0); // Fullscreen. if(FAILED(render->getD3D9()->CheckDeviceFormat(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, D3DUSAGE_RENDERTARGET, D3DRTYPE_TEXTURE, D3DFMT_X8R8G8B8))) PostQuitMessage(0); if(FAILED(render->getD3D9()->CheckDepthStencilMatch(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, D3DFMT_X8R8G8B8, D3DFMT_D24X8))) PostQuitMessage(0); //render->RenderBegin(0,0,0,1); //font->IrrDrawText(100,500,D3DCOLOR_ARGB(255,255,255,255),"Hello"); //render->RenderEnd(); D3DVIEWPORT9 View; View.X = 0; View.Y = 0; View.Width = 512; View.Height = 512; View.MinZ = 0.0f; View.MaxZ = 1.0f; HR(tex->GetSurfaceLevel(0,&sur)); rtSur->BeginScene(sur,&View); render->getD3DDev9()->Clear(0,0,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_ARGB(0,255,255,0),1,1); D3DXMATRIX pView2; D3DXMATRIX pProj2; D3DXMATRIX pWorld2; D3DXMatrixLookAtLH(&pView2,& D3DXVECTOR3(0,0,150), &D3DXVECTOR3(0,0,0), &D3DXVECTOR3(0,1,0)); render->getD3DDev9()->SetTransform(D3DTS_VIEW,&pView2); D3DXMatrixPerspectiveFovLH(&pProj2,45,1.333,10,10000); HR(render->getD3DDev9()->SetTransform(D3DTS_PROJECTION,&pProj2)); rtSur->EndScene(D3DX_FILTER_NONE); render->RenderBegin(0,0,1,0); render->getD3DDev9()->Clear(0,0,D3DCLEAR_ZBUFFER,D3DCOLOR_ARGB(255,255,255,255),1.0f,1); D3DXMATRIX pView; D3DXMATRIX pProj; D3DXMATRIX pWorld; D3DXMatrixLookAtLH(&pView,& D3DXVECTOR3(0,0,150), &D3DXVECTOR3(0,0,0), &D3DXVECTOR3(0,1,0)); render->getD3DDev9()->SetTransform(D3DTS_VIEW,&pView); D3DXMatrixPerspectiveFovLH(&pProj,45,1.333,10,10000); HR(render->getD3DDev9()->SetTransform(D3DTS_PROJECTION,&pProj)); D3DXMatrixTranslation(&pWorld,0,0,0); HR(render->getD3DDev9()->SetTransform(D3DTS_WORLD,&pWorld)); HR(render->getD3DDev9()->SetRenderState(D3DRS_LIGHTING,false)); render->getD3DDev9()->SetTexture(0,tex); HR(Sphere->DrawSubset(0));render->RenderEnd(); } return 0;}
I'll also supply a picture of the out put if asked (I'll undoubtedbly will, just a formality) god....other graphics engines always nail this subject down....WOE IS ME?