FCT
载入中...
搜索中...
未找到
FCT::VK_PassResource类 参考

#include <VK_PassResource.h>

类 FCT::VK_PassResource 继承关系图:
Inheritance graph
FCT::VK_PassResource 的协作图:
Collaboration graph

Public 成员函数

 VK_PassResource (VK_Context *ctx)
 ~VK_PassResource () override
void addConstBuffer (RHI::ConstBuffer *buffer) override
void addSampler (Sampler *sampler, SamplerElement element) override
void addTexture (Image *texture, TextureElement element) override
void setTexture (Image *texture, TextureElement element) override
void markAllDescriptorSetsDirty ()
void markDescriptorSetDirty (uint32_t frameIdx)
bool createDescriptorSetsAndLayouts (uint32_t frameIdx, std::vector< vk::DescriptorSetLayout > &outLayouts, std::vector< vk::DescriptorSet > &outDescriptorSets)
void create () override
void updateDescriptorSetsIfNeeded (uint32_t frameIdx)
vk::DescriptorSet getDescriptorSet (uint32_t frameIdx, uint32_t setIndex)
void markAllDescriptorSetsNeedRecreate ()
bool recreateDescriptorSetsIfNeeded (uint32_t frameIdx)
void update () override
void bind (RHI::CommandBuffer *cmdBuf, RHI::Pipeline *pipeline) override
void checkTextureViewHash ()
bool isBound (const TextureElement &element) const
void addRef ()
void release ()
size_t count ()
 operator bool () const

Protected 成员函数

virtual void deleteThis ()

Protected 属性

VK_Contextm_ctx
std::vector< std::vector< vk::DescriptorSet > > m_descriptorSets
std::vector< uint8_t > m_dirtyFlags
std::vector< uint8_t > m_needRecreate
std::vector< vk::DescriptorSetLayout > m_descriptorSetLayouts
std::unordered_map< TextureElement, size_t > m_textureViewHashes
std::vector< RHI::ConstBuffer * > m_constBuffers
std::unordered_map< TextureElement, Image * > m_textures
std::vector< std::pair< Sampler *, SamplerElement > > m_samplers
bool m_dirty = true
std::atomic< size_t > m_refCount

详细描述

在文件 VK_PassResource.h9 行定义.

构造及析构函数说明

◆ VK_PassResource()

FCT::VK_PassResource::VK_PassResource ( VK_Context * ctx)

在文件 VK_PassResource.cpp7 行定义.

◆ ~VK_PassResource()

FCT::VK_PassResource::~VK_PassResource ( )
override

在文件 VK_PassResource.cpp12 行定义.

函数调用图:

成员函数说明

◆ addConstBuffer()

void FCT::VK_PassResource::addConstBuffer ( RHI::ConstBuffer * buffer)
overridevirtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp27 行定义.

函数调用图:

◆ addRef()

void FCT::RefCount::addRef ( )
inlineinherited

在文件 RefCount.h10 行定义.

这是这个函数的调用关系图:

◆ addSampler()

void FCT::VK_PassResource::addSampler ( Sampler * sampler,
SamplerElement element )
overridevirtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp36 行定义.

函数调用图:

◆ addTexture()

void FCT::VK_PassResource::addTexture ( Image * texture,
TextureElement element )
overridevirtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp45 行定义.

函数调用图:

◆ bind()

void FCT::VK_PassResource::bind ( RHI::CommandBuffer * cmdBuf,
RHI::Pipeline * pipeline )
overridevirtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp370 行定义.

函数调用图:

◆ checkTextureViewHash()

void FCT::VK_PassResource::checkTextureViewHash ( )

在文件 VK_PassResource.cpp404 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ count()

size_t FCT::RefCount::count ( )
inlineinherited

在文件 RefCount.h19 行定义.

这是这个函数的调用关系图:

◆ create()

void FCT::VK_PassResource::create ( )
overridevirtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp205 行定义.

函数调用图:

◆ createDescriptorSetsAndLayouts()

bool FCT::VK_PassResource::createDescriptorSetsAndLayouts ( uint32_t frameIdx,
std::vector< vk::DescriptorSetLayout > & outLayouts,
std::vector< vk::DescriptorSet > & outDescriptorSets )

在文件 VK_PassResource.cpp80 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ deleteThis()

virtual void FCT::RefCount::deleteThis ( )
inlineprotectedvirtualinherited

FCT::RHI::Fence , 以及 FCT::RHI::Semaphore 重载.

在文件 RefCount.h27 行定义.

这是这个函数的调用关系图:

◆ getDescriptorSet()

vk::DescriptorSet FCT::VK_PassResource::getDescriptorSet ( uint32_t frameIdx,
uint32_t setIndex )

在文件 VK_PassResource.cpp327 行定义.

函数调用图:

◆ isBound()

bool FCT::PassResource::isBound ( const TextureElement & element) const
inlineinherited

在文件 PassResource.h38 行定义.

◆ markAllDescriptorSetsDirty()

void FCT::VK_PassResource::markAllDescriptorSetsDirty ( )

在文件 VK_PassResource.cpp68 行定义.

这是这个函数的调用关系图:

◆ markAllDescriptorSetsNeedRecreate()

void FCT::VK_PassResource::markAllDescriptorSetsNeedRecreate ( )
virtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp338 行定义.

这是这个函数的调用关系图:

◆ markDescriptorSetDirty()

void FCT::VK_PassResource::markDescriptorSetDirty ( uint32_t frameIdx)

在文件 VK_PassResource.cpp74 行定义.

这是这个函数的调用关系图:

◆ operator bool()

FCT::RefCount::operator bool ( ) const
inlineinherited

在文件 RefCount.h22 行定义.

◆ recreateDescriptorSetsIfNeeded()

bool FCT::VK_PassResource::recreateDescriptorSetsIfNeeded ( uint32_t frameIdx)

在文件 VK_PassResource.cpp347 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ release()

void FCT::RefCount::release ( )
inlineinherited

在文件 RefCount.h13 行定义.

函数调用图:
这是这个函数的调用关系图:

◆ setTexture()

void FCT::VK_PassResource::setTexture ( Image * texture,
TextureElement element )
overridevirtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp54 行定义.

函数调用图:

◆ update()

void FCT::VK_PassResource::update ( )
overridevirtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp363 行定义.

函数调用图:

◆ updateDescriptorSetsIfNeeded()

void FCT::VK_PassResource::updateDescriptorSetsIfNeeded ( uint32_t frameIdx)

在文件 VK_PassResource.cpp226 行定义.

函数调用图:
这是这个函数的调用关系图:

类成员变量说明

◆ m_constBuffers

std::vector<RHI::ConstBuffer*> FCT::PassResource::m_constBuffers
protectedinherited

在文件 PassResource.h42 行定义.

◆ m_ctx

VK_Context* FCT::VK_PassResource::m_ctx
protected

在文件 VK_PassResource.h30 行定义.

◆ m_descriptorSetLayouts

std::vector<vk::DescriptorSetLayout> FCT::VK_PassResource::m_descriptorSetLayouts
protected

在文件 VK_PassResource.h34 行定义.

◆ m_descriptorSets

std::vector<std::vector<vk::DescriptorSet> > FCT::VK_PassResource::m_descriptorSets
protected

在文件 VK_PassResource.h31 行定义.

◆ m_dirty

bool FCT::PassResource::m_dirty = true
protectedinherited

在文件 PassResource.h46 行定义.

◆ m_dirtyFlags

std::vector<uint8_t> FCT::VK_PassResource::m_dirtyFlags
protected

在文件 VK_PassResource.h32 行定义.

◆ m_needRecreate

std::vector<uint8_t> FCT::VK_PassResource::m_needRecreate
protected

在文件 VK_PassResource.h33 行定义.

◆ m_refCount

std::atomic<size_t> FCT::RefCount::m_refCount
protectedinherited

在文件 RefCount.h30 行定义.

◆ m_samplers

std::vector<std::pair<Sampler*,SamplerElement> > FCT::PassResource::m_samplers
protectedinherited

在文件 PassResource.h44 行定义.

◆ m_textures

std::unordered_map<TextureElement,Image*> FCT::PassResource::m_textures
protectedinherited

在文件 PassResource.h43 行定义.

◆ m_textureViewHashes

std::unordered_map<TextureElement,size_t> FCT::VK_PassResource::m_textureViewHashes
protected

在文件 VK_PassResource.h35 行定义.


该类的文档由以下文件生成: