Files
bluflame/aiwaz/Aiwaz/Interfaces/IEngine.h
2026-04-18 22:31:51 +02:00

42 lines
1.1 KiB
C

#pragma once
struct IDisplayAdapter;
struct IResourceFactory;
struct ICommonObjectFactory;
struct IFileSystem;
struct IShader;
struct IRenderTargetBase;
struct IGeometryBuffer;
struct ITimeline;
struct IAnimationManager;
struct EngineStates
{
IShader* LastShader;
IRenderTargetBase* LastRenderTarget;
IGeometryBuffer* LastVertexBufferProvider;
IGeometryBuffer* LastIndexBufferProvider;
};
struct __declspec(novtable) IEngine
{
virtual ~IEngine() {}
virtual void Initialize(IDisplayAdapter* ar_Adapter_ = NULL) = 0;
virtual void Uninitialize() = 0;
virtual bool get_IsInitialized() const = 0;
virtual bool get_IsUsingReferenceDriver() const = 0;
virtual IResourceFactory& get_ResourceFactory() const = 0;
virtual ICommonObjectFactory& get_CommonObjectFactory() const = 0;
virtual IFileSystem& get_FileSystem() const = 0;
virtual ITimeline& get_Timeline() const = 0;
virtual IAnimationManager& get_AnimationManager() const = 0;
virtual ID3D10Device& get_DX10Device() const = 0;
virtual IDXGIFactory& get_DXGIFactory() const = 0;
virtual EngineStates& get_EngineStates() = 0;
};