80 lines
3.9 KiB
C
80 lines
3.9 KiB
C
#pragma once
|
|
|
|
#include "ISwapChain.h"
|
|
#include "IGeometryBuffer.h"
|
|
#include "IShader.h"
|
|
#include "IRenderCommandNode.h"
|
|
#include "IShaderParameterCollection.h"
|
|
#include "ITexture.h"
|
|
#include "ITransformation.h"
|
|
#include "ITransformationAnimation.h"
|
|
#include "IRenderTargetTexture.h"
|
|
#include "ICamera.h"
|
|
#include "IBone.h"
|
|
#include "IWindow.h"
|
|
|
|
|
|
struct __declspec(novtable) IResourceFactory
|
|
{
|
|
virtual ~IResourceFactory() {}
|
|
|
|
virtual ITransformationAnimation& CreateTransformationAnimation() = 0;
|
|
virtual void DeleteTransformationAnimation(ITransformationAnimation& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IWindow& CreateSwapChainWindow() = 0;
|
|
virtual void DeleteSwapChainWindow(IWindow& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IRenderCommandNode& CreateRenderCommandNode() = 0;
|
|
virtual void DeleteRenderCommandNode(IRenderCommandNode& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IShader* FindShader(const string8& argId) = 0;
|
|
virtual IShader& CreateOrFindShader(const string8& argId = "") = 0;
|
|
virtual void DeleteShader(IShader& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IInternalShader* FindInternalShader(const string8& argId) = 0;
|
|
virtual IInternalShader& CreateOrFindInternalShader(const string8& argId = "") = 0;
|
|
virtual void DeleteInternalShader(IInternalShader& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual ISwapChain* FindSwapChain(const string8& argId) = 0;
|
|
virtual ISwapChain& CreateOrFindSwapChain(const string8& argId = "") = 0;
|
|
virtual void DeleteSwapChain(ISwapChain& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IRenderTargetTexture* FindRenderTargetTexture(const string8& argId) = 0;
|
|
virtual IRenderTargetTexture& CreateOrFindRenderTargetTexture(const string8& argId = "") = 0;
|
|
virtual void DeleteRenderTargetTexture(IRenderTargetTexture& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IGeometryBuffer* FindGeometryBuffer(const string8& argId) = 0;
|
|
virtual IGeometryBuffer& CreateOrFindGeometryBuffer(const string8& argId = "") = 0;
|
|
virtual void DeleteGeometryBuffer(IGeometryBuffer& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IShaderParameterCollection* FindShaderParameterCollection(const string8& argId) = 0;
|
|
virtual IShaderParameterCollection& CreateOrFindShaderParameterCollection(const string8& argId = "") = 0;
|
|
virtual void DeleteShaderParameterCollection(IShaderParameterCollection& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual ITexture* FindTexture(const string8& argId) = 0;
|
|
virtual ITexture& CreateOrFindTexture(const string8& argId = "") = 0;
|
|
virtual void DeleteTexture(ITexture& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual ITransformation* FindTransformation(const string8& argId) = 0;
|
|
virtual ITransformation& CreateOrFindTransformation(const string8& argId = "") = 0;
|
|
virtual void DeleteTransformation(ITransformation& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IPerspectiveCamera* FindPerspectiveCamera(const string8& argId) = 0;
|
|
virtual IPerspectiveCamera& CreateOrFindPerspectiveCamera(const string8& argId = "") = 0;
|
|
virtual void DeletePerspectiveCamera(IPerspectiveCamera& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IOrthographicCamera* FindOrthographicCamera(const string8& argId) = 0;
|
|
virtual IOrthographicCamera& CreateOrFindOrthographicCamera(const string8& argId = "") = 0;
|
|
virtual void DeleteOrthographicCamera(IOrthographicCamera& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IBone* FindBone(const string8& argId) = 0;
|
|
virtual IBone& CreateOrFindBone(const string8& argId = "") = 0;
|
|
virtual void DeleteBone(IBone& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual IBoneController* FindBoneController(const string8& argId) = 0;
|
|
virtual IBoneController& CreateOrFindBoneController(const string8& argId = "") = 0;
|
|
virtual void DeleteBoneController(IBoneController& argValue, bool argRemoveOnly = false) = 0;
|
|
|
|
virtual bool HasCreatedResource() = 0;
|
|
};
|