Files

56 lines
1.3 KiB
C++
Raw Permalink Normal View History

2025-05-13 02:46:21 +03:00
#ifndef LifeEngine_h__
#define LifeEngine_h__
#include "render/IRenderer.h"
//#include "RendererDX10.h"
#include "render/RenderParams.h"
#include "PluginServer.h"
#include "camera/Camera.h"
#include "Timer.h"
#include "LString.h"
#include "IScene.h"
#include "debug/IDebugDrawer.h"
#include "RenderWindow.h"
#include "IRenderOutput.h"
namespace LifeGraphics
{
class LIFE_EXPORTS LifeEngine
{
public:
float appTime;
IDebugDrawer* debugDrawer;
float engine_time;
LifeEngine();
~LifeEngine();
IRenderer* Init(LifeGraphics::RENDERER_TYPE type, RenderParams params);
IRenderer* GetRenderer();
PluginServer* GetPluginServer();
void RenderScene(LifeGraphics::IScene* scene, IRenderOutput* output);
ResourceManager* GetResourceManager()
{
return ResourceManager::me();
}
float FrameEnd()
{
systemTimer.Stop();
engine_time = systemTimer.getTimeElapsed();
appTime += engine_time;
systemTimer.Start();
ResourceManager::me()->CollectGarbage(engine_time);
return engine_time;
}
float GetTimeElapsed()
{
return engine_time;
}
IRenderOutput* CreateRenderOutput(LifeCore::IRenderWindow* wnd);
private:
void onWindowResize(LifeCore::IRenderWindow* window);
IRenderer* g_pRenderer;
PluginServer g_pluginServer;
LifeCore::Timer systemTimer;
};
}
#endif // LifeEngine_h__