fixing frame capture

This commit is contained in:
2023-12-24 16:07:09 +01:00
parent 522975bf8b
commit c88ff1525d
15 changed files with 82 additions and 58 deletions

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/04 22:10:52 by maldavid #+# #+# */
/* Updated: 2023/12/21 00:17:54 by maldavid ### ########.fr */
/* Updated: 2023/12/24 08:56:33 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -37,14 +37,12 @@ namespace mlx::core
while(_in->is_running())
{
_in->update();
for(auto& gs : _graphics)
gs->beginRender();
if(_loop_hook)
_loop_hook(_param);
for(auto& gs : _graphics)
gs->endRender();
gs->render();
}
}

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/02 15:13:55 by maldavid #+# #+# */
/* Updated: 2023/12/22 23:10:51 by kbz_8 ### ########.fr */
/* Updated: 2023/12/24 09:39:45 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -42,8 +42,12 @@ namespace mlx
_text_put_pipeline->init(_renderer.get());
}
void GraphicsSupport::endRender() noexcept
void GraphicsSupport::render() noexcept
{
if(!_renderer->beginFrame())
return;
_proj = glm::ortho<float>(0, _width, 0, _height);
_renderer->getUniformBuffer()->setData(sizeof(_proj), &_proj);
auto cmd_buff = _renderer->getActiveCmdBuffer().get();
static std::array<VkDescriptorSet, 2> sets = {
@@ -57,6 +61,8 @@ namespace mlx
continue;
if(data.texture->getSet() == VK_NULL_HANDLE)
data.texture->setDescriptor(_renderer->getFragDescriptorSet().duplicate());
if(data.texture->getLayout() != VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL)
data.texture->transitionLayout(VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL);
if(!data.texture->hasBeenUpdated())
data.texture->updateSet(0);
sets[1] = data.texture->getSet();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/02 14:49:49 by maldavid #+# #+# */
/* Updated: 2023/12/22 23:10:14 by kbz_8 ### ########.fr */
/* Updated: 2023/12/24 08:56:14 by kbz_8 ### ########.fr */
/* */
/* ************************************************************************** */
@@ -39,8 +39,7 @@ namespace mlx
inline int& getID() noexcept;
inline std::shared_ptr<MLX_Window> getWindow();
inline void beginRender() noexcept;
void endRender() noexcept;
void render() noexcept;
inline void clearRenderData() noexcept;
inline void pixelPut(int x, int y, uint32_t color) noexcept;

View File

@@ -19,14 +19,6 @@ namespace mlx
int& GraphicsSupport::getID() noexcept { return _id; }
std::shared_ptr<MLX_Window> GraphicsSupport::getWindow() { return _window; }
void GraphicsSupport::beginRender() noexcept
{
if(!_renderer->beginFrame())
return;
_proj = glm::ortho<float>(0, _width, 0, _height);
_renderer->getUniformBuffer()->setData(sizeof(_proj), &_proj);
}
void GraphicsSupport::clearRenderData() noexcept
{
_textures_to_render.clear();