46 class FrameBufferProvider;
47 class FrameBuffer_Impl;
82 static std::shared_ptr<FrameBuffer>
create(
const GraphicContextPtr &context);
93 virtual void attach_color(
int attachment_index,
const RenderBufferPtr &render_buffer) = 0;
94 virtual void attach_color(
int attachment_index,
const Texture1DPtr &texture,
int level = 0) = 0;
95 virtual void attach_color(
int attachment_index,
const Texture1DArrayPtr &texture,
int array_index = -1,
int level = 0) = 0;
96 virtual void attach_color(
int attachment_index,
const Texture2DPtr &texture,
int level = 0) = 0;
97 virtual void attach_color(
int attachment_index,
const Texture2DArrayPtr &texture,
int array_index = -1,
int level = 0) = 0;
98 virtual void attach_color(
int attachment_index,
const Texture3DPtr &texture,
int depth,
int level = 0) = 0;
105 virtual void attach_stencil(
const RenderBufferPtr &render_buffer) = 0;
106 virtual void attach_stencil(
const Texture2DPtr &texture,
int level = 0) = 0;
111 virtual void attach_depth(
const RenderBufferPtr &render_buffer) = 0;
112 virtual void attach_depth(
const Texture2DPtr &texture,
int level = 0) = 0;
virtual void detach_stencil()=0
std::shared_ptr< Texture2D > Texture2DPtr
Definition: image.h:42
Definition: frame_buffer.h:64
2D (width,height) size structure - Integer
Definition: size.h:167
static std::shared_ptr< FrameBuffer > create(const GraphicContextPtr &context)
Constructs a FrameBuffer.
TextureSubtype
Texture Subtype.
Definition: frame_buffer.h:58
virtual void detach_depth_stencil()=0
virtual void attach_depth_stencil(const RenderBufferPtr &render_buffer)=0
std::shared_ptr< Texture1DArray > Texture1DArrayPtr
Definition: frame_buffer.h:50
std::shared_ptr< Texture1D > Texture1DPtr
Definition: frame_buffer.h:49
virtual Size size() const =0
Get the minumum size of all the frame buffer attachments.
virtual FrameBufferBindTarget bind_target() const =0
Get the bind target of the framebuffer.
Definition: frame_buffer.h:62
virtual void set_bind_target(FrameBufferBindTarget target)=0
Set the bind target of the framebuffer to either drawn to or read from.
Definition: frame_buffer.h:72
Definition: frame_buffer.h:60
virtual void attach_depth(const RenderBufferPtr &render_buffer)=0
Attach depth buffer.
Definition: frame_buffer.h:65
std::shared_ptr< TextureCube > TextureCubePtr
Definition: frame_buffer.h:54
Frame-buffer object class.
Definition: frame_buffer.h:76
std::shared_ptr< FrameBuffer > FrameBufferPtr
Definition: frame_buffer.h:132
Definition: frame_buffer.h:63
std::shared_ptr< RenderBuffer > RenderBufferPtr
Definition: d3d_target.h:45
Definition: frame_buffer.h:61
virtual void attach_stencil(const RenderBufferPtr &render_buffer)=0
Attach stencil buffer.
std::shared_ptr< GraphicContext > GraphicContextPtr
Definition: d3d_target.h:49
virtual void attach_color(int attachment_index, const RenderBufferPtr &render_buffer)=0
Attach color buffer.
Definition: frame_buffer.h:71
virtual void detach_depth()=0
Detach depth buffer.
virtual void detach_color(int attachment_index)=0
Detach color buffer.
FrameBufferBindTarget
Framebuffer bind target.
Definition: frame_buffer.h:69
std::shared_ptr< Texture3D > Texture3DPtr
Definition: frame_buffer.h:53
Definition: Application/application.h:35
std::shared_ptr< Texture2DArray > Texture2DArrayPtr
Definition: frame_buffer.h:52