*
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
#include "LifeEngine.h"
|
||||
#define COMPILE_WITH_DX11
|
||||
//#define COMPILE_WITH_SW
|
||||
#include "Globals.h"
|
||||
#include "IScene.h"
|
||||
#ifdef COMPILE_WITH_DX11
|
||||
#include "render/dx11/RendererDX11.h"
|
||||
#endif
|
||||
|
||||
#ifdef COMPILE_WITH_SW
|
||||
#include "RendererSoftware.h"
|
||||
#endif
|
||||
|
||||
namespace LifeGraphics
|
||||
{
|
||||
LifeEngine::LifeEngine()
|
||||
:engine_time(0.01f), appTime(0.0f)
|
||||
{
|
||||
}
|
||||
|
||||
LifeEngine::~LifeEngine()
|
||||
{
|
||||
g_pRenderer->BeginCleanup();
|
||||
ResourceManager::me()->ReleaseResources();
|
||||
g_pRenderer->EndCleanup();
|
||||
SAFE_DELETE(g_pRenderer);
|
||||
}
|
||||
|
||||
PluginServer* LifeEngine::GetPluginServer()
|
||||
{
|
||||
return &g_pluginServer;
|
||||
}
|
||||
|
||||
IRenderer* LifeEngine::Init(LifeGraphics::RENDERER_TYPE type, RenderParams params)
|
||||
{
|
||||
switch(type)
|
||||
{
|
||||
case RT_DIRECTX_9:
|
||||
//Nothing for now
|
||||
break;
|
||||
case RT_DIRECTX_10:
|
||||
/*g_pluginServer.LoadPlugin("RendererDX10.dll");
|
||||
g_pRenderer = g_pluginServer.GetRenderer(0);
|
||||
printf(g_pRenderer->GetRendererName().c_str());
|
||||
g_pRenderer->Open(params);*/
|
||||
break;
|
||||
case RT_DIRECTX_11:
|
||||
//g_pluginServer.LoadPlugin("RendererDX11.dll");
|
||||
g_pRenderer = new RendererDX11();
|
||||
g_pRenderer->Open(params);
|
||||
break;
|
||||
}
|
||||
|
||||
//window = params.Window;
|
||||
//window->Event_Resize += NewDelegate(this, &Video::LifeEngine::onWindowResize);
|
||||
|
||||
CG::me()->SetRenderer(g_pRenderer);
|
||||
|
||||
|
||||
|
||||
debugDrawer = new IDebugDrawer(g_pRenderer);
|
||||
return g_pRenderer;
|
||||
}
|
||||
|
||||
IRenderer* LifeEngine::GetRenderer()
|
||||
{
|
||||
return g_pRenderer;
|
||||
}
|
||||
|
||||
void LifeEngine::onWindowResize(LifeCore::IRenderWindow* window)
|
||||
{
|
||||
printf("LOOOOOL!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n WINDOW RESIZED!!!!!!!!!!!!!!!!!!!!!\n!!!!!!!!!!!!!!!!!!!!!!\n");
|
||||
}
|
||||
|
||||
void LifeEngine::RenderScene(LifeGraphics::IScene* scene, IRenderOutput* output)
|
||||
{
|
||||
scene->Render(output);
|
||||
}
|
||||
IRenderOutput* LifeEngine::CreateRenderOutput(LifeCore::IRenderWindow* wnd){
|
||||
LifeGraphics::ISwapChain* sc = GetRenderer()->CreateSwapChain(wnd);
|
||||
if(sc == nullptr)
|
||||
return nullptr;
|
||||
return new IRenderOutput(wnd, sc);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user