FCT
|
#include <Context.h>
类 | |
struct | LogicTaskData |
Public 成员函数 | |
template<typename T> | |
T * | createResource () |
virtual RHI::RasterizationPipeline * | createTraditionPipeline ()=0 |
StaticMesh< uint32_t > * | createMesh (const ModelMesh *modelMesh, const VertexLayout &layout) |
StaticMesh< uint32_t > * | loadMesh (const std::string &filename, const std::string &meshName, const VertexLayout &layout) |
Image * | loadTexture (const std::string &filename) |
void | submitThread () |
void | maxFrameInFlight (uint32_t maxFrameInFlight) |
uint32_t | maxFrameInFlight () const |
uint32_t | currentSubmitFrameIndex () const |
uint32_t | currentFrameIndex () |
RHI::DescriptorPool * | getDescriptorPool () |
uint32_t | currentLogicFrameIndex () const |
void | addRef () |
void | release () |
size_t | count () |
operator bool () const | |
void | trigger (const Event &event) |
void | enqueue (Event &&event) |
void | update () |
void | updateAll () |
SubscribeId | subscribe (Func &&func) |
void | unsubscribe (SubscribeId subscribeId) |
void | unsubscribeAll () |
初始化与配置 (Initialization & Configuration) | |
void | create (ContextCreateFlags flag=ContextCreateFlag::defaultConfig) |
模块管理 (Module Management) | |
template<typename T> | |
void | addModule () |
template<typename T> | |
void | removeModule () |
template<typename T> | |
T * | getModule () |
流程控制 | |
auto & | syncTickers () |
auto & | submitTickers () |
void | flush () |
窗口管理 (Window Management) | |
const std::vector< Window * > & | getBindWindows () |
void | onWindowBound (Window *wnd) |
着色器编译 (Shader Compilation) | |
void | createCompiler () |
ShaderCompiler * | getCompiler () |
ShaderGenerator * | getGenerator () |
SubmitThread内部实现接口 | |
以_开头的函数供自定义或内部使用 | |
void | _nextFrame () |
void | _currentFlush () |
constexpr void | _waitCurrentFlush () |
constexpr void | _waitForNextFrame () |
void | advanceLogicFrame () |
void | advanceSubmitFrame () |
Protected 成员函数 | |
Context (Runtime *runtime) | |
virtual | ~Context () |
virtual void | createPlatform ()=0 |
void | postLogicTask (const std::function< void()> &task) |
virtual void | deleteThis () |
Protected 属性 | |
boost::lockfree::queue< LogicTaskData *, boost::lockfree::capacity< 1024 > > | m_logicTask |
FlowControl * | m_flowControl |
Device * | m_resourceDevice |
ModelLoader * | m_modelLoader |
RenderGraph * | m_renderGraph |
ImageLoader * | m_imageLoader |
ResourceManager * | m_resourceManager |
ShaderCompiler * | m_compiler |
ShaderGenerator * | m_generator |
CommandBufferGraph * | m_cmdGraph |
SubmitTicker | m_ticker |
std::vector< Window * > | m_bindWindows |
bool | m_nextFrame |
bool | m_currentFlush |
std::thread | m_submitThread |
bool | m_ctxRunning |
uint32_t | m_maxFrameInFlight |
RHI::DescriptorPool * | m_descriptorPool |
size_t | m_frameIndex = 0 |
size_t | m_logicFrameIndex = 0 |
size_t | m_submitFrameIndex = 0 |
std::thread::id | m_submitThreadId |
std::atomic< size_t > | m_refCount |
静态 Private 成员函数 | |
static constexpr auto | getEventTypeId () |
Private 属性 | |
std::conditional_t< EventSystemConfig::TriggerOnly::EventAsData, std::unordered_map< entt::id_type, std::unordered_map< SubscribeId, std::unique_ptr< IEventHandler > > >, std::unordered_map< entt::id_type, std::unordered_map< SubscribeId, std::unique_ptr< IEventIdentifierHandler > > > > | m_handlers |
std::conditional_t< EventSystemConfig::TriggerOnly::EnableQueue, std::unordered_map< entt::id_type, std::vector< std::function< void()> > >, std::monostate > | m_eventQueue |
SubscribeId | m_nextSubscribeId |
|
protected |
|
protectedvirtual |
在文件 Context.cpp 第 126 行定义.
void FCT::Context::_currentFlush | ( | ) |
void FCT::Context::_nextFrame | ( | ) |
|
inlineinherited |
|
inlineinherited |
void FCT::Context::create | ( | ContextCreateFlags | flag = ContextCreateFlag::defaultConfig | ) |
void FCT::Context::createCompiler | ( | ) |
StaticMesh< uint32_t > * FCT::Context::createMesh | ( | const ModelMesh * | modelMesh, |
const VertexLayout & | layout ) |
|
protectedpure virtual |
|
inline |
|
pure virtual |
|
inlineprotectedvirtualinherited |
|
inlineinherited |
在文件 IEventSystem.h 第 138 行定义.
|
inline |
|
inline |
|
inline |
在文件 Context.hpp 第 32 行定义.
|
inlinestaticconstexprprivateinherited |
在文件 IEventSystem.h 第 49 行定义.
|
inline |
StaticMesh< uint32_t > * FCT::Context::loadMesh | ( | const std::string & | filename, |
const std::string & | meshName, | ||
const VertexLayout & | layout ) |
Image * FCT::Context::loadTexture | ( | const std::string & | filename | ) |
|
inline |
|
inlineinherited |
在文件 RefCount.h 第 22 行定义.
|
inlineprotected |
|
inlineinherited |
|
inline |
|
inlineinherited |
在文件 IEventSystem.h 第 192 行定义.
|
inlineinherited |
|
inlineinherited |
在文件 IEventSystem.h 第 226 行定义.
|
inlineinherited |
在文件 IEventSystem.h 第 239 行定义.
|
inlineinherited |
在文件 IEventSystem.h 第 165 行定义.
|
inlineinherited |
在文件 IEventSystem.h 第 180 行定义.
|
protected |
|
protected |
|
protected |
|
privateinherited |
在文件 IEventSystem.h 第 104 行定义.
|
protected |
|
protected |
|
privateinherited |
在文件 IEventSystem.h 第 100 行定义.
|
protected |
|
protected |
|
protected |
|
privateinherited |
在文件 IEventSystem.h 第 106 行定义.
|
protectedinherited |
在文件 RefCount.h 第 30 行定义.
|
protected |
|
protected |
|
protected |