working textures

This commit is contained in:
2023-04-01 15:48:28 +02:00
parent 2ab87dd3ad
commit 28850a6cb8
17 changed files with 387 additions and 138 deletions

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/04 17:36:44 by maldavid #+# #+# */
/* Updated: 2023/04/01 11:55:19 by maldavid ### ########.fr */
/* Updated: 2023/04/01 15:40:30 by maldavid ### ########.fr */
/* */
/* ************************************************************************** */
@@ -45,6 +45,18 @@ namespace mlx
_renderer->getPixelPutPipeline().setPixel(x, y, color);
}
void MLX_Window::texture_put(std::shared_ptr<Texture> texture, int x, int y)
{
if(texture->getSet() == VK_NULL_HANDLE)
texture->setDescriptor(_renderer->getFragDescriptorSet().duplicate());
texture->updateSet(0);
std::vector<VkDescriptorSet> sets;
sets.push_back(_renderer->getVertDescriptorSet().get());
sets.push_back(texture->getSet());
vkCmdBindDescriptorSets(_renderer->getActiveCmdBuffer().get(), VK_PIPELINE_BIND_POINT_GRAPHICS, _renderer->getPipeline().getPipelineLayout(), 0, sets.size(), sets.data(), 0, nullptr);
texture->render(*_renderer, x, y);
}
void MLX_Window::endFrame()
{
auto cmd_buff = _renderer->getActiveCmdBuffer().get();
@@ -54,9 +66,7 @@ namespace mlx
std::vector<VkDescriptorSet> sets;
sets.push_back(_renderer->getVertDescriptorSet().get());
sets.push_back(_renderer->getPixelPutPipeline().getDescriptorSet());
vkCmdBindDescriptorSets(cmd_buff, VK_PIPELINE_BIND_POINT_GRAPHICS, _renderer->getPipeline().getPipelineLayout(), 0, sets.size(), sets.data(), 0, nullptr);
_renderer->getPixelPutPipeline().render(*_renderer);
_renderer->endFrame();

View File

@@ -6,7 +6,7 @@
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/10/04 21:53:12 by maldavid #+# #+# */
/* Updated: 2023/04/01 11:54:09 by maldavid ### ########.fr */
/* Updated: 2023/04/01 15:27:51 by maldavid ### ########.fr */
/* */
/* ************************************************************************** */
@@ -17,7 +17,7 @@
#include <string>
#include <memory>
#include <renderer/renderer.h>
#include <renderer/images/vk_image.h>
#include <renderer/images/texture.h>
#include <renderer/buffers/vk_buffer.h>
namespace mlx
@@ -34,6 +34,7 @@ namespace mlx
void endFrame();
void pixel_put(int x, int y, int color);
void texture_put(std::shared_ptr<Texture> texture, int x, int y);
~MLX_Window();