vengine  0.0.1
3D graphics engine
Loading...
Searching...
No Matches
Object.hpp
Go to the documentation of this file.
1///
2/// @file Object.hpp
3/// @brief This file contains the ObjectRenderSystem class
4/// @namespace ven
5///
6
7#pragma once
8
10
11namespace ven {
12
14 glm::mat4 modelMatrix{};
15 glm::mat4 normalMatrix{};
16 };
17
18 ///
19 /// @class ObjectRenderSystem
20 /// @brief Class for object render system
21 /// @namespace ven
22 ///
24
25 public:
26
27 explicit ObjectRenderSystem(Device& device, const VkRenderPass renderPass, const VkDescriptorSetLayout globalSetLayout) : ARenderSystemBase(device) {
28 createPipelineLayout(globalSetLayout, sizeof(ObjectPushConstantData));
29 createPipeline(renderPass, std::string(SHADERS_BIN_PATH) + "vertex_shader.spv", std::string(SHADERS_BIN_PATH) + "fragment_shader.spv", false);
30 }
31
36
37 void render(const FrameInfo &frameInfo) const override;
38
39 }; // class ObjectRenderSystem
40
41} // namespace ven
This file contains the ARenderSystemBase class.
Abstract class for render system base.
Definition ABase.hpp:20
void createPipelineLayout(VkDescriptorSetLayout globalSetLayout, uint32_t pushConstantSize)
Definition base.cpp:3
void createPipeline(VkRenderPass renderPass, const std::string &shadersVertPath, const std::string &shadersFragPath, bool isLight)
Definition base.cpp:35
Class for device.
Definition Device.hpp:35
Class for object render system.
Definition Object.hpp:23
ObjectRenderSystem & operator=(ObjectRenderSystem &&)=delete
ObjectRenderSystem & operator=(const ObjectRenderSystem &)=delete
void render(const FrameInfo &frameInfo) const override
Definition object.cpp:6
ObjectRenderSystem(ObjectRenderSystem &&)=delete
ObjectRenderSystem(const ObjectRenderSystem &)=delete
ObjectRenderSystem(Device &device, const VkRenderPass renderPass, const VkDescriptorSetLayout globalSetLayout)
Definition Object.hpp:27
static constexpr std::string_view SHADERS_BIN_PATH
Definition Shaders.hpp:13