mirror of
https://github.com/seekrs/MacroLibX.git
synced 2026-01-11 14:43:34 +00:00
adding uniform buffers and projection matrix management in vertex shader
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/10/04 17:36:44 by maldavid #+# #+# */
|
/* Created: 2022/10/04 17:36:44 by maldavid #+# #+# */
|
||||||
/* Updated: 2023/01/22 18:53:41 by maldavid ### ########.fr */
|
/* Updated: 2023/01/24 17:21:40 by maldavid ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -20,8 +20,6 @@
|
|||||||
|
|
||||||
namespace mlx
|
namespace mlx
|
||||||
{
|
{
|
||||||
static glm::mat4 proj = glm::mat4(1.0);
|
|
||||||
|
|
||||||
MLX_Window::MLX_Window(std::size_t w, std::size_t h, std::string title, int id) : _id(id), _renderer(new Renderer()), _width(w), _height(h)
|
MLX_Window::MLX_Window(std::size_t w, std::size_t h, std::string title, int id) : _id(id), _renderer(new Renderer()), _width(w), _height(h)
|
||||||
{
|
{
|
||||||
_win = SDL_CreateWindow(title.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, w, h, SDL_WINDOW_VULKAN | SDL_WINDOW_SHOWN);
|
_win = SDL_CreateWindow(title.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, w, h, SDL_WINDOW_VULKAN | SDL_WINDOW_SHOWN);
|
||||||
@@ -30,8 +28,6 @@ namespace mlx
|
|||||||
_renderer->setWindow(this);
|
_renderer->setWindow(this);
|
||||||
_renderer->init();
|
_renderer->init();
|
||||||
_vbo.create(sizeof(Vertex));
|
_vbo.create(sizeof(Vertex));
|
||||||
|
|
||||||
proj = glm::ortho<float>(0, _width, 0, _height);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool MLX_Window::beginFrame()
|
bool MLX_Window::beginFrame()
|
||||||
@@ -39,17 +35,16 @@ namespace mlx
|
|||||||
bool success = _renderer->beginFrame();
|
bool success = _renderer->beginFrame();
|
||||||
if(success)
|
if(success)
|
||||||
_vbo.bind(*_renderer);
|
_vbo.bind(*_renderer);
|
||||||
|
_proj = glm::ortho<float>(0, _width, 0, _height);
|
||||||
|
_renderer->getUniformBuffer()->setData(sizeof(_proj), &_proj);
|
||||||
|
vkCmdBindDescriptorSets(_renderer->getActiveCmdBuffer().get(), VK_PIPELINE_BIND_POINT_GRAPHICS, _renderer->getPipeline().getPipelineLayout(), 0, 1, &_renderer->getDescriptorSet().get(), 0, nullptr);
|
||||||
return success;
|
return success;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MLX_Window::pixel_put(int x, int y, int color)
|
void MLX_Window::pixel_put(int x, int y, int color)
|
||||||
{
|
{
|
||||||
Vertex vert;
|
Vertex vert;
|
||||||
float xf = glm::vec4(glm::vec4((float)x, (float)y, 0.0, 0.0) * proj).x;
|
vert.pos = glm::vec2(x, y);
|
||||||
float yf = glm::vec4(glm::vec4((float)x, (float)y, 0.0, 0.0) * proj).y;
|
|
||||||
|
|
||||||
std::cout << xf << " " << yf << " " << std::endl;
|
|
||||||
vert.pos = glm::vec2(xf, yf);
|
|
||||||
vert.color.r = (color >> 16) & 0xFF;
|
vert.color.r = (color >> 16) & 0xFF;
|
||||||
vert.color.g = (color >> 8) & 0xFF;
|
vert.color.g = (color >> 8) & 0xFF;
|
||||||
vert.color.b = color & 0xFF;
|
vert.color.b = color & 0xFF;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/10/04 21:53:12 by maldavid #+# #+# */
|
/* Created: 2022/10/04 21:53:12 by maldavid #+# #+# */
|
||||||
/* Updated: 2022/12/19 14:43:19 by maldavid ### ########.fr */
|
/* Updated: 2023/01/24 17:15:09 by maldavid ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -38,6 +38,7 @@ namespace mlx
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<Renderer> _renderer;
|
std::unique_ptr<Renderer> _renderer;
|
||||||
|
glm::mat4 _proj = glm::mat4(1.0);
|
||||||
VBO _vbo;
|
VBO _vbo;
|
||||||
SDL_Window* _win = nullptr;
|
SDL_Window* _win = nullptr;
|
||||||
int _width = 0;
|
int _width = 0;
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/18 21:27:38 by maldavid #+# #+# */
|
/* Created: 2022/12/18 21:27:38 by maldavid #+# #+# */
|
||||||
/* Updated: 2022/12/19 15:09:20 by maldavid ### ########.fr */
|
/* Updated: 2023/01/24 16:42:19 by maldavid ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -17,40 +17,47 @@
|
|||||||
namespace mlx
|
namespace mlx
|
||||||
{
|
{
|
||||||
const std::vector<uint32_t> vertex_shader = {
|
const std::vector<uint32_t> vertex_shader = {
|
||||||
0x07230203,0x00010000,0x0008000a,0x00000024,0x00000000,0x00020011,0x00000001,0x0006000b,
|
0x07230203,0x00010000,0x0008000a,0x00000029,0x00000000,0x00020011,0x00000001,0x0006000b,
|
||||||
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
|
0x00000001,0x4c534c47,0x6474732e,0x3035342e,0x00000000,0x0003000e,0x00000000,0x00000001,
|
||||||
0x0009000f,0x00000000,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000016,0x00000020,
|
0x0009000f,0x00000000,0x00000004,0x6e69616d,0x00000000,0x0000000d,0x00000019,0x00000025,
|
||||||
0x00000022,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
|
0x00000027,0x00030003,0x00000002,0x000001c2,0x00040005,0x00000004,0x6e69616d,0x00000000,
|
||||||
0x00060005,0x0000000b,0x505f6c67,0x65567265,0x78657472,0x00000000,0x00060006,0x0000000b,
|
0x00060005,0x0000000b,0x505f6c67,0x65567265,0x78657472,0x00000000,0x00060006,0x0000000b,
|
||||||
0x00000000,0x505f6c67,0x7469736f,0x006e6f69,0x00070006,0x0000000b,0x00000001,0x505f6c67,
|
0x00000000,0x505f6c67,0x7469736f,0x006e6f69,0x00070006,0x0000000b,0x00000001,0x505f6c67,
|
||||||
0x746e696f,0x657a6953,0x00000000,0x00070006,0x0000000b,0x00000002,0x435f6c67,0x4470696c,
|
0x746e696f,0x657a6953,0x00000000,0x00070006,0x0000000b,0x00000002,0x435f6c67,0x4470696c,
|
||||||
0x61747369,0x0065636e,0x00070006,0x0000000b,0x00000003,0x435f6c67,0x446c6c75,0x61747369,
|
0x61747369,0x0065636e,0x00070006,0x0000000b,0x00000003,0x435f6c67,0x446c6c75,0x61747369,
|
||||||
0x0065636e,0x00030005,0x0000000d,0x00000000,0x00050005,0x00000016,0x6f506e69,0x69746973,
|
0x0065636e,0x00030005,0x0000000d,0x00000000,0x00040005,0x00000011,0x7274614d,0x00007869,
|
||||||
0x00006e6f,0x00050005,0x00000020,0x67617266,0x6f6c6f43,0x00000072,0x00040005,0x00000022,
|
0x00050006,0x00000011,0x00000000,0x6a6f7270,0x00000000,0x00040005,0x00000013,0x7274616d,
|
||||||
0x6f436e69,0x00726f6c,0x00050048,0x0000000b,0x00000000,0x0000000b,0x00000000,0x00050048,
|
0x00007869,0x00050005,0x00000019,0x6f506e69,0x69746973,0x00006e6f,0x00050005,0x00000025,
|
||||||
0x0000000b,0x00000001,0x0000000b,0x00000001,0x00050048,0x0000000b,0x00000002,0x0000000b,
|
0x67617266,0x6f6c6f43,0x00000072,0x00040005,0x00000027,0x6f436e69,0x00726f6c,0x00050048,
|
||||||
0x00000003,0x00050048,0x0000000b,0x00000003,0x0000000b,0x00000004,0x00030047,0x0000000b,
|
0x0000000b,0x00000000,0x0000000b,0x00000000,0x00050048,0x0000000b,0x00000001,0x0000000b,
|
||||||
0x00000002,0x00040047,0x00000016,0x0000001e,0x00000000,0x00040047,0x00000020,0x0000001e,
|
0x00000001,0x00050048,0x0000000b,0x00000002,0x0000000b,0x00000003,0x00050048,0x0000000b,
|
||||||
0x00000000,0x00040047,0x00000022,0x0000001e,0x00000001,0x00020013,0x00000002,0x00030021,
|
0x00000003,0x0000000b,0x00000004,0x00030047,0x0000000b,0x00000002,0x00040048,0x00000011,
|
||||||
0x00000003,0x00000002,0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,
|
0x00000000,0x00000005,0x00050048,0x00000011,0x00000000,0x00000023,0x00000000,0x00050048,
|
||||||
0x00000004,0x00040015,0x00000008,0x00000020,0x00000000,0x0004002b,0x00000008,0x00000009,
|
0x00000011,0x00000000,0x00000007,0x00000010,0x00030047,0x00000011,0x00000002,0x00040047,
|
||||||
0x00000001,0x0004001c,0x0000000a,0x00000006,0x00000009,0x0006001e,0x0000000b,0x00000007,
|
0x00000013,0x00000022,0x00000000,0x00040047,0x00000013,0x00000021,0x00000000,0x00040047,
|
||||||
0x00000006,0x0000000a,0x0000000a,0x00040020,0x0000000c,0x00000003,0x0000000b,0x0004003b,
|
0x00000019,0x0000001e,0x00000000,0x00040047,0x00000025,0x0000001e,0x00000000,0x00040047,
|
||||||
0x0000000c,0x0000000d,0x00000003,0x00040015,0x0000000e,0x00000020,0x00000001,0x0004002b,
|
0x00000027,0x0000001e,0x00000001,0x00020013,0x00000002,0x00030021,0x00000003,0x00000002,
|
||||||
0x0000000e,0x0000000f,0x00000001,0x0004002b,0x00000006,0x00000010,0x3f800000,0x00040020,
|
0x00030016,0x00000006,0x00000020,0x00040017,0x00000007,0x00000006,0x00000004,0x00040015,
|
||||||
0x00000011,0x00000003,0x00000006,0x0004002b,0x0000000e,0x00000013,0x00000000,0x00040017,
|
0x00000008,0x00000020,0x00000000,0x0004002b,0x00000008,0x00000009,0x00000001,0x0004001c,
|
||||||
0x00000014,0x00000006,0x00000002,0x00040020,0x00000015,0x00000001,0x00000014,0x0004003b,
|
0x0000000a,0x00000006,0x00000009,0x0006001e,0x0000000b,0x00000007,0x00000006,0x0000000a,
|
||||||
0x00000015,0x00000016,0x00000001,0x0004002b,0x00000006,0x00000018,0x00000000,0x00040020,
|
0x0000000a,0x00040020,0x0000000c,0x00000003,0x0000000b,0x0004003b,0x0000000c,0x0000000d,
|
||||||
0x0000001c,0x00000003,0x00000007,0x00040017,0x0000001e,0x00000006,0x00000003,0x00040020,
|
0x00000003,0x00040015,0x0000000e,0x00000020,0x00000001,0x0004002b,0x0000000e,0x0000000f,
|
||||||
0x0000001f,0x00000003,0x0000001e,0x0004003b,0x0000001f,0x00000020,0x00000003,0x00040020,
|
0x00000000,0x00040018,0x00000010,0x00000007,0x00000004,0x0003001e,0x00000011,0x00000010,
|
||||||
0x00000021,0x00000001,0x0000001e,0x0004003b,0x00000021,0x00000022,0x00000001,0x00050036,
|
0x00040020,0x00000012,0x00000002,0x00000011,0x0004003b,0x00000012,0x00000013,0x00000002,
|
||||||
0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x00050041,0x00000011,
|
0x00040020,0x00000014,0x00000002,0x00000010,0x00040017,0x00000017,0x00000006,0x00000002,
|
||||||
0x00000012,0x0000000d,0x0000000f,0x0003003e,0x00000012,0x00000010,0x0004003d,0x00000014,
|
0x00040020,0x00000018,0x00000001,0x00000017,0x0004003b,0x00000018,0x00000019,0x00000001,
|
||||||
0x00000017,0x00000016,0x00050051,0x00000006,0x00000019,0x00000017,0x00000000,0x00050051,
|
0x0004002b,0x00000006,0x0000001b,0x00000000,0x0004002b,0x00000006,0x0000001c,0x3f800000,
|
||||||
0x00000006,0x0000001a,0x00000017,0x00000001,0x00070050,0x00000007,0x0000001b,0x00000019,
|
0x00040020,0x00000021,0x00000003,0x00000007,0x00040017,0x00000023,0x00000006,0x00000003,
|
||||||
0x0000001a,0x00000018,0x00000010,0x00050041,0x0000001c,0x0000001d,0x0000000d,0x00000013,
|
0x00040020,0x00000024,0x00000003,0x00000023,0x0004003b,0x00000024,0x00000025,0x00000003,
|
||||||
0x0003003e,0x0000001d,0x0000001b,0x0004003d,0x0000001e,0x00000023,0x00000022,0x0003003e,
|
0x00040020,0x00000026,0x00000001,0x00000023,0x0004003b,0x00000026,0x00000027,0x00000001,
|
||||||
0x00000020,0x00000023,0x000100fd,0x00010038
|
0x00050036,0x00000002,0x00000004,0x00000000,0x00000003,0x000200f8,0x00000005,0x00050041,
|
||||||
|
0x00000014,0x00000015,0x00000013,0x0000000f,0x0004003d,0x00000010,0x00000016,0x00000015,
|
||||||
|
0x0004003d,0x00000017,0x0000001a,0x00000019,0x00050051,0x00000006,0x0000001d,0x0000001a,
|
||||||
|
0x00000000,0x00050051,0x00000006,0x0000001e,0x0000001a,0x00000001,0x00070050,0x00000007,
|
||||||
|
0x0000001f,0x0000001d,0x0000001e,0x0000001b,0x0000001c,0x00050091,0x00000007,0x00000020,
|
||||||
|
0x00000016,0x0000001f,0x00050041,0x00000021,0x00000022,0x0000000d,0x0000000f,0x0003003e,
|
||||||
|
0x00000022,0x00000020,0x0004003d,0x00000023,0x00000028,0x00000027,0x0003003e,0x00000025,
|
||||||
|
0x00000028,0x000100fd,0x00010038
|
||||||
};
|
};
|
||||||
|
|
||||||
const std::vector<uint32_t> fragment_shader = {
|
const std::vector<uint32_t> fragment_shader = {
|
||||||
@@ -178,8 +185,8 @@ namespace mlx
|
|||||||
|
|
||||||
VkPipelineLayoutCreateInfo pipelineLayoutInfo{};
|
VkPipelineLayoutCreateInfo pipelineLayoutInfo{};
|
||||||
pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
|
pipelineLayoutInfo.sType = VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO;
|
||||||
pipelineLayoutInfo.setLayoutCount = 0;
|
pipelineLayoutInfo.setLayoutCount = 1;
|
||||||
pipelineLayoutInfo.pSetLayouts = 0;
|
pipelineLayoutInfo.pSetLayouts = &renderer.getDescriptorSetLayout().get();
|
||||||
|
|
||||||
if(vkCreatePipelineLayout(Render_Core::get().getDevice().get(), &pipelineLayoutInfo, nullptr, &_pipelineLayout) != VK_SUCCESS)
|
if(vkCreatePipelineLayout(Render_Core::get().getDevice().get(), &pipelineLayoutInfo, nullptr, &_pipelineLayout) != VK_SUCCESS)
|
||||||
core::error::report(e_kind::fatal_error, "Vulkan : failed to create a graphics pipeline layout");
|
core::error::report(e_kind::fatal_error, "Vulkan : failed to create a graphics pipeline layout");
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/18 17:25:16 by maldavid #+# #+# */
|
/* Created: 2022/12/18 17:25:16 by maldavid #+# #+# */
|
||||||
/* Updated: 2022/12/19 15:27:44 by maldavid ### ########.fr */
|
/* Updated: 2023/01/24 17:02:39 by maldavid ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -28,6 +28,14 @@ namespace mlx
|
|||||||
_cmd_buffers[i].init(this);
|
_cmd_buffers[i].init(this);
|
||||||
|
|
||||||
_semaphore.init(*this);
|
_semaphore.init(*this);
|
||||||
|
|
||||||
|
_uniform_buffer.reset(new UBO);
|
||||||
|
_uniform_buffer->create(this, sizeof(glm::mat4));
|
||||||
|
_layout.init(VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER);
|
||||||
|
VkDescriptorPoolSize pool_sizes{ VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, MAX_FRAMES_IN_FLIGHT };
|
||||||
|
_desc_pool.init(1, &pool_sizes);
|
||||||
|
_set.init(this, _uniform_buffer.get(), _layout, _desc_pool);
|
||||||
|
|
||||||
_pipeline.init(*this);
|
_pipeline.init(*this);
|
||||||
|
|
||||||
_framebufferResized = false;
|
_framebufferResized = false;
|
||||||
@@ -135,6 +143,9 @@ namespace mlx
|
|||||||
_cmd_buffers[i].destroy();
|
_cmd_buffers[i].destroy();
|
||||||
|
|
||||||
_pipeline.destroy();
|
_pipeline.destroy();
|
||||||
|
_uniform_buffer->destroy();
|
||||||
|
_layout.destroy();
|
||||||
|
_desc_pool.destroy();
|
||||||
_swapchain.destroyFB();
|
_swapchain.destroyFB();
|
||||||
_pass.destroy();
|
_pass.destroy();
|
||||||
_swapchain.destroy();
|
_swapchain.destroy();
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/12/18 17:14:45 by maldavid #+# #+# */
|
/* Created: 2022/12/18 17:14:45 by maldavid #+# #+# */
|
||||||
/* Updated: 2023/01/23 19:08:29 by maldavid ### ########.fr */
|
/* Updated: 2023/01/24 17:21:02 by maldavid ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -17,6 +17,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
|
#include <renderer/buffers/vk_ubo.h>
|
||||||
#include <renderer/core/vk_surface.h>
|
#include <renderer/core/vk_surface.h>
|
||||||
#include <renderer/core/render_core.h>
|
#include <renderer/core/render_core.h>
|
||||||
#include <renderer/core/vk_semaphore.h>
|
#include <renderer/core/vk_semaphore.h>
|
||||||
@@ -85,11 +86,15 @@ namespace mlx
|
|||||||
|
|
||||||
inline Surface& getSurface() noexcept { return _surface; }
|
inline Surface& getSurface() noexcept { return _surface; }
|
||||||
inline CmdPool& getCmdPool() noexcept { return _cmd_pool; }
|
inline CmdPool& getCmdPool() noexcept { return _cmd_pool; }
|
||||||
|
inline UBO* getUniformBuffer() noexcept { return _uniform_buffer.get(); }
|
||||||
inline SwapChain& getSwapChain() noexcept { return _swapchain; }
|
inline SwapChain& getSwapChain() noexcept { return _swapchain; }
|
||||||
inline Semaphore& getSemaphore() noexcept { return _semaphore; }
|
inline Semaphore& getSemaphore() noexcept { return _semaphore; }
|
||||||
inline RenderPass& getRenderPass() noexcept { return _pass; }
|
inline RenderPass& getRenderPass() noexcept { return _pass; }
|
||||||
inline CmdBuffer& getCmdBuffer(int i) noexcept { return _cmd_buffers[i]; }
|
inline CmdBuffer& getCmdBuffer(int i) noexcept { return _cmd_buffers[i]; }
|
||||||
|
inline GraphicPipeline& getPipeline() noexcept { return _pipeline; }
|
||||||
inline CmdBuffer& getActiveCmdBuffer() noexcept { return _cmd_buffers[_active_image_index]; }
|
inline CmdBuffer& getActiveCmdBuffer() noexcept { return _cmd_buffers[_active_image_index]; }
|
||||||
|
inline DescriptorSet& getDescriptorSet() noexcept { return _set; }
|
||||||
|
inline DescriptorSetLayout& getDescriptorSetLayout() noexcept { return _layout; }
|
||||||
inline uint32_t getActiveImageIndex() noexcept { return _active_image_index; }
|
inline uint32_t getActiveImageIndex() noexcept { return _active_image_index; }
|
||||||
inline uint32_t getImageIndex() noexcept { return _image_index; }
|
inline uint32_t getImageIndex() noexcept { return _image_index; }
|
||||||
|
|
||||||
@@ -105,9 +110,10 @@ namespace mlx
|
|||||||
SwapChain _swapchain;
|
SwapChain _swapchain;
|
||||||
Semaphore _semaphore;
|
Semaphore _semaphore;
|
||||||
DescriptorPool _desc_pool;
|
DescriptorPool _desc_pool;
|
||||||
std::vector<DescriptorSet> _sets;
|
DescriptorSet _set;
|
||||||
std::vector<DescriptorSetLayout> _layouts;
|
DescriptorSetLayout _layout;
|
||||||
std::array<CmdBuffer, MAX_FRAMES_IN_FLIGHT> _cmd_buffers;
|
std::array<CmdBuffer, MAX_FRAMES_IN_FLIGHT> _cmd_buffers;
|
||||||
|
std::unique_ptr<UBO> _uniform_buffer = nullptr;
|
||||||
|
|
||||||
class MLX_Window* _window;
|
class MLX_Window* _window;
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
/* By: maldavid <kbz_8.dev@akel-engine.com> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2022/10/04 17:55:21 by maldavid #+# #+# */
|
/* Created: 2022/10/04 17:55:21 by maldavid #+# #+# */
|
||||||
/* Updated: 2023/01/22 18:17:53 by maldavid ### ########.fr */
|
/* Updated: 2023/01/24 17:22:54 by maldavid ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -24,7 +24,11 @@ int update(t_mlx *mlx)
|
|||||||
static int i = 0;
|
static int i = 0;
|
||||||
|
|
||||||
printf("%d\n", i);
|
printf("%d\n", i);
|
||||||
mlx_pixel_put(mlx->mlx, mlx->win, 200, 50, 0xFF0000);
|
mlx_pixel_put(mlx->mlx, mlx->win, 12, 50, 0xFF0000);
|
||||||
|
mlx_pixel_put(mlx->mlx, mlx->win, 12, 60, 0x00FF00);
|
||||||
|
mlx_pixel_put(mlx->mlx, mlx->win, 12, 70, 0x0000FF);
|
||||||
|
mlx_pixel_put(mlx->mlx, mlx->win, 12, 80, 0xFF00FF);
|
||||||
|
mlx_pixel_put(mlx->mlx, mlx->win, 12, 90, 0xFFFF00);
|
||||||
i++;
|
i++;
|
||||||
if (i > 20000)
|
if (i > 20000)
|
||||||
mlx_loop_end(mlx->mlx);
|
mlx_loop_end(mlx->mlx);
|
||||||
|
|||||||
Reference in New Issue
Block a user