Files
bluflame/demo09/src/demo09/Interfaces/IRenderTarget.h
2026-04-18 22:31:51 +02:00

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();
};