36 lines
815 B
C++
36 lines
815 B
C++
#pragma once
|
|
#include "ITexture.h"
|
|
|
|
|
|
struct BindFlags
|
|
{
|
|
enum Enumeration
|
|
{
|
|
ClearDepth = 0x001,
|
|
ClearColor = 0x002,
|
|
BindTexture0 = 0x010,
|
|
BindTexture1 = 0x020,
|
|
BindTexture2 = 0x040,
|
|
BindTexture3 = 0x080,
|
|
BindAllTextures = 0x100,
|
|
ClearAll = ClearDepth | ClearColor,
|
|
Default = ClearAll | BindAllTextures
|
|
};
|
|
};
|
|
|
|
struct __declspec(novtable) __declspec(uuid("{644F6836-007E-40e4-B255-0F845D9BB7A4}")) IRenderTarget
|
|
{
|
|
virtual ~IRenderTarget() {};
|
|
|
|
virtual ITexture* AddRenderTargetTexture(TextureFormat::Enumeration format) = 0;
|
|
|
|
virtual void Bind(DWORD bindFlags = BindFlags::Default) = 0;
|
|
virtual void Unbind() = 0;
|
|
|
|
virtual unsigned int GetWidth() const = 0;
|
|
virtual unsigned int GetHeight() const = 0;
|
|
|
|
virtual const std::vector<ITexture*>& GetTextures() const;
|
|
virtual void Check();
|
|
};
|