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

#include <VK_PassResource.h>

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

Public 成员函数

 VK_PassResource (VK_Context *ctx)
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

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

详细描述

在文件 VK_PassResource.h9 行定义.

构造及析构函数说明

◆ VK_PassResource()

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

在文件 VK_PassResource.cpp7 行定义.

成员函数说明

◆ addConstBuffer()

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

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp12 行定义.

函数调用图:

◆ addSampler()

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

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp21 行定义.

函数调用图:

◆ addTexture()

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

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp30 行定义.

函数调用图:

◆ bind()

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

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp354 行定义.

函数调用图:

◆ checkTextureViewHash()

void FCT::VK_PassResource::checkTextureViewHash ( )

在文件 VK_PassResource.cpp388 行定义.

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

◆ create()

void FCT::VK_PassResource::create ( )
overridevirtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp189 行定义.

函数调用图:

◆ createDescriptorSetsAndLayouts()

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

在文件 VK_PassResource.cpp65 行定义.

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

◆ getDescriptorSet()

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

在文件 VK_PassResource.cpp311 行定义.

函数调用图:

◆ isBound()

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

在文件 PassResource.h37 行定义.

◆ markAllDescriptorSetsDirty()

void FCT::VK_PassResource::markAllDescriptorSetsDirty ( )

在文件 VK_PassResource.cpp53 行定义.

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

◆ markAllDescriptorSetsNeedRecreate()

void FCT::VK_PassResource::markAllDescriptorSetsNeedRecreate ( )
virtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp322 行定义.

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

◆ markDescriptorSetDirty()

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

在文件 VK_PassResource.cpp59 行定义.

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

◆ recreateDescriptorSetsIfNeeded()

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

在文件 VK_PassResource.cpp331 行定义.

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

◆ setTexture()

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

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp39 行定义.

函数调用图:

◆ update()

void FCT::VK_PassResource::update ( )
overridevirtual

实现了 FCT::PassResource.

在文件 VK_PassResource.cpp347 行定义.

函数调用图:

◆ updateDescriptorSetsIfNeeded()

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

在文件 VK_PassResource.cpp210 行定义.

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

类成员变量说明

◆ m_constBuffers

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

在文件 PassResource.h41 行定义.

◆ m_ctx

VK_Context* FCT::VK_PassResource::m_ctx
protected

在文件 VK_PassResource.h29 行定义.

◆ m_descriptorSetLayouts

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

在文件 VK_PassResource.h33 行定义.

◆ m_descriptorSets

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

在文件 VK_PassResource.h30 行定义.

◆ m_dirty

bool FCT::PassResource::m_dirty = true
protectedinherited

在文件 PassResource.h45 行定义.

◆ m_dirtyFlags

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

在文件 VK_PassResource.h31 行定义.

◆ m_needRecreate

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

在文件 VK_PassResource.h32 行定义.

◆ m_samplers

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

在文件 PassResource.h43 行定义.

◆ m_textures

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

在文件 PassResource.h42 行定义.

◆ m_textureViewHashes

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

在文件 VK_PassResource.h34 行定义.


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