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, const UT_StringRef &name=UT_StringRef())
 
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
 
int getMaxLayers () 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 ()
 
void setMultiview (bool enable)
 
bool getMultiview () const
 
void setReadOnlyDepth (bool enable)
 
bool getReadOnlyDepth () const
 
bool attachImage (RV_Render *r, RV_VKImage *img, RV_AttachmentType buffer_type, int buffer_target=0, int level=0, int layer=0)
 
RV_VKImagePtr createImage (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)
 
const UT_StringHoldername () const
 

Static Public Member Functions

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

Static Public Attributes

static const int ALL_LAYERS = -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
 
bool myIsMultiview = false
 
bool myIsReadOnlyDepth = false
 
UT_Array< rv_VKAttachmentPtrmyColorAttachments
 
rv_VKAttachmentPtr myDepthAttachment
 
UT_StringHolder myName
 

Detailed Description

Definition at line 81 of file RV_VKFramebuffer.h.

Constructor & Destructor Documentation

RV_Framebuffer::RV_Framebuffer ( int  w,
int  h,
int  samples = 1,
const UT_StringRef name = UT_StringRef() 
)
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 167 of file RV_VKFramebuffer.h.

static UT_UniquePtr<RV_Framebuffer> RV_Framebuffer::create ( RV_Instance inst,
int  w,
int  h,
int  samples = 1,
const UT_StringRef name = UT_StringRef() 
)
static
RV_VKImagePtr 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 169 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 127 of file RV_VKFramebuffer.h.

fpreal32 RV_Framebuffer::getClearDepth ( ) const
inline

Definition at line 133 of file RV_VKFramebuffer.h.

UT_Vector4i RV_Framebuffer::getClearInt ( ) const
inline

Definition at line 130 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 121 of file RV_VKFramebuffer.h.

int RV_Framebuffer::getMaxLayers ( ) const
bool RV_Framebuffer::getMultiview ( ) const
inline

Definition at line 139 of file RV_VKFramebuffer.h.

bool RV_Framebuffer::getReadOnlyDepth ( ) const
inline

Definition at line 142 of file RV_VKFramebuffer.h.

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

Definition at line 124 of file RV_VKFramebuffer.h.

int RV_Framebuffer::getWidth ( )
inline

Definition at line 120 of file RV_VKFramebuffer.h.

const UT_StringHolder& RV_Framebuffer::name ( void  ) const
inline

Definition at line 162 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setClearColor ( UT_Vector4F  c)
inline

Definition at line 126 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setClearDepth ( fpreal32  d)
inline

Definition at line 132 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setClearInt ( UT_Vector4i  i)
inline

Definition at line 129 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setMultiview ( bool  enable)
inline

Definition at line 138 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setReadOnlyDepth ( bool  enable)
inline

Definition at line 141 of file RV_VKFramebuffer.h.

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

Definition at line 115 of file RV_VKFramebuffer.h.

Member Data Documentation

const int RV_Framebuffer::ALL_LAYERS = -1
static

Definition at line 144 of file RV_VKFramebuffer.h.

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

Definition at line 180 of file RV_VKFramebuffer.h.

fpreal32 RV_Framebuffer::myClearDepth = 1.f
protected

Definition at line 182 of file RV_VKFramebuffer.h.

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

Definition at line 181 of file RV_VKFramebuffer.h.

UT_Array<rv_VKAttachmentPtr> RV_Framebuffer::myColorAttachments
protected

Definition at line 188 of file RV_VKFramebuffer.h.

rv_VKAttachmentPtr RV_Framebuffer::myDepthAttachment
protected

Definition at line 189 of file RV_VKFramebuffer.h.

int RV_Framebuffer::myDrawMask = 0
protected

Definition at line 184 of file RV_VKFramebuffer.h.

uint32_t RV_Framebuffer::myHeight = 0
protected

Definition at line 176 of file RV_VKFramebuffer.h.

bool RV_Framebuffer::myIsMultiview = false
protected

Definition at line 185 of file RV_VKFramebuffer.h.

bool RV_Framebuffer::myIsReadOnlyDepth = false
protected

Definition at line 186 of file RV_VKFramebuffer.h.

UT_StringHolder RV_Framebuffer::myName
protected

Definition at line 190 of file RV_VKFramebuffer.h.

uint32_t RV_Framebuffer::mySamples = 1
protected

Definition at line 178 of file RV_VKFramebuffer.h.

uint32_t RV_Framebuffer::myWidth = 0
protected

Definition at line 175 of file RV_VKFramebuffer.h.


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