24 image->
width(data.width);
25 image->
height(data.height);
31 switch (data.channels) {
45 ferr <<
"Unsupported number of channels: " << data.channels << std::endl;
52 image->
initData(data.data.data(), data.data.size());
62 image->
width(data.width);
63 image->
height(data.height);
69 switch (data.channels) {
83 ferr <<
"Unsupported number of channels: " << data.channels << std::endl;
90 image->
initData(data.data.data(), data.data.size());
111 bool isInited =
false;
128 std::this_thread::yield();
138 m_submitTickers.update();
145 window->swapchain()->sync();
161 m_syncTickers.update();
202 for (uint32_t i = 0; i < modelMesh->
vertices.size(); ++i) {
203 const auto& modelVertex = modelMesh->
vertices[i];
204 Vertex vertex = (*vertexBuffer)[i];
212 std::vector<uint32_t> indices = modelMesh->
indices;
224 auto mMesh = md->findMesh(meshName);
#define FCT_SAFE_DELETE(var)
uint32_t m_maxFrameInFlight
RenderGraph * m_renderGraph
RHI::DescriptorPool * m_descriptorPool
ShaderCompiler * m_compiler
ModelLoader * m_modelLoader
Image * loadTexture(const std::string &filename)
std::thread m_submitThread
ImageLoader * m_imageLoader
StaticMesh< uint32_t > * createMesh(const ModelMesh *modelMesh, const VertexLayout &layout)
uint32_t maxFrameInFlight() const
CommandBufferGraph * m_cmdGraph
virtual bool isIntegrateGpu()=0
ResourceManager * m_resourceManager
virtual void createPlatform()=0
Device * m_resourceDevice
FlowControl * m_flowControl
std::vector< Window * > m_bindWindows
ShaderGenerator * m_generator
void create(ContextCreateFlags flag=ContextCreateFlag::defaultConfig)
Context(Runtime *runtime)
void advanceSubmitFrame()
StaticMesh< uint32_t > * loadMesh(const std::string &filename, const std::string &meshName, const VertexLayout &layout)
std::thread::id m_submitThreadId
ModelLoader * createModelLoader()
ImageLoader * createImageLoader()
void initData(void *data, int size)
void as(ImageUsages usage) override
void setIndices(const std::vector< IndexType > &indices)
VertexBuffer * getVertexBuffer() const
void resize(size_t vertexCount)
constexpr size_t getElementCount() const noexcept
constexpr const VertexElement & getElement(size_t index) const noexcept
constexpr const char * CheckRecreateSwapchainSync
constexpr const char * AdvanceFrameIndex
@ withModuleResourceManage
@ withAutoMaxFrameInFlight
constexpr const char * SwapBufferSubmitTicker
void setVertexAttributeFromModel(Vertex &vertex, size_t elementIndex, const VertexElement &element, const ModelVertex &modelVertex)
std::vector< uint32_t > indices
std::vector< ModelVertex > vertices