vengine  0.1.0
3D graphics engine made with Vulkan
Loading...
Searching...
No Matches
FrameInfo.hpp
Go to the documentation of this file.
1///
2/// @file FrameInfo.hpp
3/// @brief This file contains the FrameInfo class
4/// @namespace ven
5///
6
7#pragma once
8
9#include <vulkan/vulkan.h>
10
11#include "VEngine/Camera.hpp"
12#include "VEngine/Object.hpp"
13
14namespace ven {
15
16static constexpr std::size_t MAX_LIGHTS = 10;
17
19 {
20 glm::vec4 position{};
21 glm::vec4 color{};
22 };
23
24 struct GlobalUbo
25 {
26 glm::mat4 projection{1.F};
27 glm::mat4 view{1.F};
28 glm::mat4 inverseView{1.F};
29 glm::vec4 ambientLightColor{1.F, 1.F, 1.F, .02F};
30 std::array<PointLight, MAX_LIGHTS> pointLights;
32 };
33
34 struct FrameInfo
35 {
37 float frameTime;
38 VkCommandBuffer commandBuffer;
40 VkDescriptorSet globalDescriptorSet;
42 };
43
44} // namespace ven
This file contains the Camera class.
This file contains the Object class.
std::unordered_map< id_t, Object > Map
Definition Object.hpp:37
static constexpr std::size_t MAX_LIGHTS
Definition FrameInfo.hpp:16
Camera & camera
Definition FrameInfo.hpp:39
Object::Map & objects
Definition FrameInfo.hpp:41
VkCommandBuffer commandBuffer
Definition FrameInfo.hpp:38
VkDescriptorSet globalDescriptorSet
Definition FrameInfo.hpp:40
glm::vec4 ambientLightColor
Definition FrameInfo.hpp:29
std::array< PointLight, MAX_LIGHTS > pointLights
Definition FrameInfo.hpp:30
glm::mat4 projection
Definition FrameInfo.hpp:26
glm::mat4 inverseView
Definition FrameInfo.hpp:28
glm::mat4 view
Definition FrameInfo.hpp:27
glm::vec4 color
Definition FrameInfo.hpp:21
glm::vec4 position
Definition FrameInfo.hpp:20