HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RV_Framebuffer Class Referenceabstract

#include <RV_VKFramebuffer.h>

+ Inheritance diagram for RV_Framebuffer:

Public Member Functions

 RV_Framebuffer (int w, int h, int samples=1)
 
virtual ~RV_Framebuffer ()
 
virtual bool beginRendering (RV_Instance *inst, RV_VKCommandBuffer *cb, RV_ImageOp img_op=RV_IMAGE_LOAD, RV_RenderPassType type=RV_PASS_WHOLE)=0
 
virtual void endRendering (RV_Instance *inst, RV_VKCommandBuffer *cb)=0
 
virtual bool fillPipelineInfo (RV_RenderPassFormatInfo &info)=0
 
UT_DimRect getRenderRegion () const
 
void setSize (int w, int h)
 
int getWidth ()
 
int getHeight ()
 
void setSampleCount (int samples)
 
int getSampleCount ()
 
void setClearColor (UT_Vector4F c)
 
UT_Vector4F getClearColor () const
 
void setClearInt (UT_Vector4i i)
 
UT_Vector4i getClearInt () const
 
void setClearDepth (fpreal32 d)
 
fpreal32 getClearDepth () const
 
void getColorImages (UT_Array< const RV_VKImage * > &out_list)
 
RV_VKImagegetDepthImage ()
 
bool attachImage (RV_Render *r, RV_VKImage *img, RV_AttachmentType buffer_type, int buffer_target=0, int level=0, int layer=0)
 
RV_VKImagecreateImage (RV_Render *r, RV_GPUType type, int vec_size, RV_AttachmentType attach_type, int buffer_target=0)
 
void detachColorImage (RV_Render *r, int buffer_target=0)
 
void detachDepthImage (RV_Render *r)
 

Static Public Member Functions

static UT_UniquePtr
< RV_Framebuffer
create (RV_Instance *inst, int w, int h, int samples=1)
 

Protected Member Functions

bool fillPipelineAttachments (RV_RenderPassFormatInfo &out_info)
 
const UT_Array
< rv_VKAttachmentPtr > & 
colorAttachments () const
 
const rv_VKAttachmentPtrdepthAttachment () const
 
virtual void attachmentsChanged ()
 
- Protected Member Functions inherited from UT_NonCopyableNS::UT_NonCopyable
 UT_NonCopyable ()=default
 
 ~UT_NonCopyable ()=default
 
 UT_NonCopyable (const UT_NonCopyable &)=delete
 
UT_NonCopyableoperator= (const UT_NonCopyable &)=delete
 

Protected Attributes

uint32_t myWidth = 0
 
uint32_t myHeight = 0
 
uint32_t mySamples = 1
 
UT_Vector4F myClearColor = UT_Vector4F(0.f, 0.f, 0.f, 0.f)
 
UT_Vector4i myClearInt = UT_Vector4i(0, 0, 0, 0)
 
fpreal32 myClearDepth = 1.f
 
int myDrawMask = 0
 
UT_Array< rv_VKAttachmentPtrmyColorAttachments
 
rv_VKAttachmentPtr myDepthAttachment
 

Detailed Description

Definition at line 87 of file RV_VKFramebuffer.h.

Constructor & Destructor Documentation

RV_Framebuffer::RV_Framebuffer ( int  w,
int  h,
int  samples = 1 
)
virtual RV_Framebuffer::~RV_Framebuffer ( )
virtual

Member Function Documentation

bool RV_Framebuffer::attachImage ( RV_Render r,
RV_VKImage img,
RV_AttachmentType  buffer_type,
int  buffer_target = 0,
int  level = 0,
int  layer = 0 
)
virtual void RV_Framebuffer::attachmentsChanged ( )
protectedvirtual
virtual bool RV_Framebuffer::beginRendering ( RV_Instance inst,
RV_VKCommandBuffer cb,
RV_ImageOp  img_op = RV_IMAGE_LOAD,
RV_RenderPassType  type = RV_PASS_WHOLE 
)
pure virtual
const UT_Array<rv_VKAttachmentPtr>& RV_Framebuffer::colorAttachments ( ) const
inlineprotected

Definition at line 156 of file RV_VKFramebuffer.h.

static UT_UniquePtr<RV_Framebuffer> RV_Framebuffer::create ( RV_Instance inst,
int  w,
int  h,
int  samples = 1 
)
static
RV_VKImage* RV_Framebuffer::createImage ( RV_Render r,
RV_GPUType  type,
int  vec_size,
RV_AttachmentType  attach_type,
int  buffer_target = 0 
)
const rv_VKAttachmentPtr& RV_Framebuffer::depthAttachment ( ) const
inlineprotected

Definition at line 158 of file RV_VKFramebuffer.h.

void RV_Framebuffer::detachColorImage ( RV_Render r,
int  buffer_target = 0 
)
void RV_Framebuffer::detachDepthImage ( RV_Render r)
virtual void RV_Framebuffer::endRendering ( RV_Instance inst,
RV_VKCommandBuffer cb 
)
pure virtual
bool RV_Framebuffer::fillPipelineAttachments ( RV_RenderPassFormatInfo out_info)
protected
virtual bool RV_Framebuffer::fillPipelineInfo ( RV_RenderPassFormatInfo info)
pure virtual
UT_Vector4F RV_Framebuffer::getClearColor ( ) const
inline

Definition at line 126 of file RV_VKFramebuffer.h.

fpreal32 RV_Framebuffer::getClearDepth ( ) const
inline

Definition at line 132 of file RV_VKFramebuffer.h.

UT_Vector4i RV_Framebuffer::getClearInt ( ) const
inline

Definition at line 129 of file RV_VKFramebuffer.h.

void RV_Framebuffer::getColorImages ( UT_Array< const RV_VKImage * > &  out_list)
RV_VKImage* RV_Framebuffer::getDepthImage ( )
int RV_Framebuffer::getHeight ( )
inline

Definition at line 120 of file RV_VKFramebuffer.h.

UT_DimRect RV_Framebuffer::getRenderRegion ( ) const
int RV_Framebuffer::getSampleCount ( )
inline

Definition at line 123 of file RV_VKFramebuffer.h.

int RV_Framebuffer::getWidth ( )
inline

Definition at line 119 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setClearColor ( UT_Vector4F  c)
inline

Definition at line 125 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setClearDepth ( fpreal32  d)
inline

Definition at line 131 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setClearInt ( UT_Vector4i  i)
inline

Definition at line 128 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setSampleCount ( int  samples)
void RV_Framebuffer::setSize ( int  w,
int  h 
)
inline

Definition at line 114 of file RV_VKFramebuffer.h.

Member Data Documentation

UT_Vector4F RV_Framebuffer::myClearColor = UT_Vector4F(0.f, 0.f, 0.f, 0.f)
protected

Definition at line 169 of file RV_VKFramebuffer.h.

fpreal32 RV_Framebuffer::myClearDepth = 1.f
protected

Definition at line 171 of file RV_VKFramebuffer.h.

UT_Vector4i RV_Framebuffer::myClearInt = UT_Vector4i(0, 0, 0, 0)
protected

Definition at line 170 of file RV_VKFramebuffer.h.

UT_Array<rv_VKAttachmentPtr> RV_Framebuffer::myColorAttachments
protected

Definition at line 175 of file RV_VKFramebuffer.h.

rv_VKAttachmentPtr RV_Framebuffer::myDepthAttachment
protected

Definition at line 176 of file RV_VKFramebuffer.h.

int RV_Framebuffer::myDrawMask = 0
protected

Definition at line 173 of file RV_VKFramebuffer.h.

uint32_t RV_Framebuffer::myHeight = 0
protected

Definition at line 165 of file RV_VKFramebuffer.h.

uint32_t RV_Framebuffer::mySamples = 1
protected

Definition at line 167 of file RV_VKFramebuffer.h.

uint32_t RV_Framebuffer::myWidth = 0
protected

Definition at line 164 of file RV_VKFramebuffer.h.


The documentation for this class was generated from the following file: