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
 
exint getMemoryUsage () const
 
UT_DimRect getRenderRegion () const
 
int getMaxLayers () const
 
void setSize (int w, int h)
 
int getWidth () const
 
int getHeight () const
 
void setSampleCount (int samples)
 
int getSampleCount () const
 
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)
 
int getNumColorImages () const
 
RV_VKImage * getColorImage (int i=0)
 
RV_VKImage * getDepthImage ()
 
void setMultiview (bool enable)
 
bool getMultiview () const
 
void setReadOnlyDepth (bool enable)
 
bool getReadOnlyDepth () const
 
void drawToBuffer (int color_buf_num)
 
void drawToBuffers (int num, const int *bufferlist)
 
void drawToNoBuffers ()
 
void drawToAllBuffers ()
 
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_StringHolder & name () const
 
void writeToFiles (RV_Render *r, const UT_StringHolder &base_name, const UT_StringHolder &ext, bool depth_too=false)
 

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_VKAttachmentPtr & depthAttachment () const
 
void getColorDrawTargets (UT_Array< rv_VKAttachment * > &out_list)
 
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_NonCopyable & operator= (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_VKAttachmentPtr > myColorAttachments
 
rv_VKAttachmentPtr myDepthAttachment
 
UT_SmallArray< int8 > myDrawTargets
 
bool myHasDrawTargets = true
 
UT_StringHolder myName
 

Detailed Description

Definition at line 82 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 182 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 184 of file RV_VKFramebuffer.h.

void RV_Framebuffer::detachColorImage ( RV_Render *  r,
int  buffer_target = 0 
)
void RV_Framebuffer::detachDepthImage ( RV_Render *  r)
void RV_Framebuffer::drawToAllBuffers ( )
void RV_Framebuffer::drawToBuffer ( int  color_buf_num)
void RV_Framebuffer::drawToBuffers ( int  num,
const int *  bufferlist 
)
void RV_Framebuffer::drawToNoBuffers ( )
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 130 of file RV_VKFramebuffer.h.

fpreal32 RV_Framebuffer::getClearDepth ( ) const
inline

Definition at line 136 of file RV_VKFramebuffer.h.

UT_Vector4i RV_Framebuffer::getClearInt ( ) const
inline

Definition at line 133 of file RV_VKFramebuffer.h.

void RV_Framebuffer::getColorDrawTargets ( UT_Array< rv_VKAttachment * > &  out_list)
protected
RV_VKImage* RV_Framebuffer::getColorImage ( int  i = 0)
void RV_Framebuffer::getColorImages ( UT_Array< const RV_VKImage * > &  out_list)
RV_VKImage* RV_Framebuffer::getDepthImage ( )
int RV_Framebuffer::getHeight ( ) const
inline

Definition at line 124 of file RV_VKFramebuffer.h.

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

Definition at line 144 of file RV_VKFramebuffer.h.

int RV_Framebuffer::getNumColorImages ( ) const
bool RV_Framebuffer::getReadOnlyDepth ( ) const
inline

Definition at line 147 of file RV_VKFramebuffer.h.

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

Definition at line 127 of file RV_VKFramebuffer.h.

int RV_Framebuffer::getWidth ( ) const
inline

Definition at line 123 of file RV_VKFramebuffer.h.

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

Definition at line 172 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setClearColor ( UT_Vector4F  c)
inline

Definition at line 129 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setClearDepth ( fpreal32  d)
inline

Definition at line 135 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setClearInt ( UT_Vector4i  i)
inline

Definition at line 132 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setMultiview ( bool  enable)
inline

Definition at line 143 of file RV_VKFramebuffer.h.

void RV_Framebuffer::setReadOnlyDepth ( bool  enable)
inline

Definition at line 146 of file RV_VKFramebuffer.h.

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

Definition at line 118 of file RV_VKFramebuffer.h.

void RV_Framebuffer::writeToFiles ( RV_Render *  r,
const UT_StringHolder &  base_name,
const UT_StringHolder &  ext,
bool  depth_too = false 
)

Member Data Documentation

const int RV_Framebuffer::ALL_LAYERS = -1
static

Definition at line 154 of file RV_VKFramebuffer.h.

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

Definition at line 197 of file RV_VKFramebuffer.h.

fpreal32 RV_Framebuffer::myClearDepth = 1.f
protected

Definition at line 199 of file RV_VKFramebuffer.h.

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

Definition at line 198 of file RV_VKFramebuffer.h.

UT_Array<rv_VKAttachmentPtr> RV_Framebuffer::myColorAttachments
protected

Definition at line 205 of file RV_VKFramebuffer.h.

rv_VKAttachmentPtr RV_Framebuffer::myDepthAttachment
protected

Definition at line 206 of file RV_VKFramebuffer.h.

int RV_Framebuffer::myDrawMask = 0
protected

Definition at line 201 of file RV_VKFramebuffer.h.

UT_SmallArray<int8> RV_Framebuffer::myDrawTargets
protected

Definition at line 207 of file RV_VKFramebuffer.h.

bool RV_Framebuffer::myHasDrawTargets = true
protected

Definition at line 208 of file RV_VKFramebuffer.h.

uint32_t RV_Framebuffer::myHeight = 0
protected

Definition at line 193 of file RV_VKFramebuffer.h.

bool RV_Framebuffer::myIsMultiview = false
protected

Definition at line 202 of file RV_VKFramebuffer.h.

bool RV_Framebuffer::myIsReadOnlyDepth = false
protected

Definition at line 203 of file RV_VKFramebuffer.h.

UT_StringHolder RV_Framebuffer::myName
protected

Definition at line 209 of file RV_VKFramebuffer.h.

uint32_t RV_Framebuffer::mySamples = 1
protected

Definition at line 195 of file RV_VKFramebuffer.h.

uint32_t RV_Framebuffer::myWidth = 0
protected

Definition at line 192 of file RV_VKFramebuffer.h.


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