This commit is contained in:
Kbz-8
2024-04-21 18:10:36 +02:00
parent 0e04356ea7
commit 810417a251
28 changed files with 558 additions and 375 deletions

View File

@@ -1,20 +1,20 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* pixel_put.h :+: :+: :+: */
/* PixelPut.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/03/31 13:18:50 by maldavid #+# #+# */
/* Updated: 2024/03/25 19:07:56 by maldavid ### ########.fr */
/* Updated: 2024/03/28 22:28:46 by maldavid ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef __MLX_PIXEL_PUT__
#define __MLX_PIXEL_PUT__
#include <renderer/images/texture.h>
#include <renderer/descriptors/vk_descriptor_set.h>
#include <Renderer/Images/Texture.h>
#include <Renderer/Descriptors/DescriptorSet.h>
namespace mlx
{
@@ -23,25 +23,25 @@ namespace mlx
public:
PixelPutPipeline() = default;
void init(std::uint32_t width, std::uint32_t height, class Renderer& renderer) noexcept;
void Init(std::uint32_t width, std::uint32_t height, class Renderer& renderer) noexcept;
void setPixel(int x, int y, std::uint32_t color) noexcept;
void render(std::array<VkDescriptorSet, 2>& sets, class Renderer& renderer) noexcept;
void SetPixel(int x, int y, std::uint32_t color) noexcept;
void Render(std::array<VkDescriptorSet, 2>& sets, class Renderer& renderer) noexcept;
void clear();
void destroy() noexcept;
void Clear();
void Destroy() noexcept;
~PixelPutPipeline();
private:
Texture _texture;
Buffer _buffer;
Texture m_texture;
Buffer m_buffer;
// using vector as CPU map and not directly writting to mapped buffer to improve performances
std::vector<std::uint32_t> _cpu_map;
void* _buffer_map = nullptr;
std::uint32_t _width = 0;
std::uint32_t _height = 0;
bool _has_been_modified = true;
std::vector<std::uint32_t> m_cpu_map;
void* m_buffer_map = nullptr;
std::uint32_t m_width = 0;
std::uint32_t m_height = 0;
bool m_has_been_modified = true;
};
}