9#include <glm/gtc/type_ptr.hpp>
76 std::string label = fmt::format(
"CameraUniformBuffer_{}",
_entity);
78 bufferDesc.usage = wgpu::BufferUsage::CopyDst | wgpu::BufferUsage::Uniform;
81 return context.
GetDevice()->createBuffer(bufferDesc);
void Update(Engine::Core &core) override
Definition CameraGPUBuffer.hpp:58
~CameraGPUBuffer() override
Definition CameraGPUBuffer.hpp:32
void _UpdateBuffer(const Object::Component::Camera &camera, const Object::Component::Transform &transform, const Graphic::Resource::Context &context)
Definition CameraGPUBuffer.hpp:84
void Create(Engine::Core &core) override
Definition CameraGPUBuffer.hpp:34
wgpu::Buffer _buffer
Definition CameraGPUBuffer.hpp:93
bool _isCreated
Definition CameraGPUBuffer.hpp:92
CameraGPUBuffer(Engine::Entity entity)
Definition CameraGPUBuffer.hpp:31
const wgpu::Buffer & GetBuffer() const override
Definition CameraGPUBuffer.hpp:70
wgpu::Buffer _CreateBuffer(const Graphic::Resource::DeviceContext &context)
Definition CameraGPUBuffer.hpp:73
Engine::Entity _entity
Definition CameraGPUBuffer.hpp:91
void Destroy()
Definition CameraGPUBuffer.hpp:47
void Destroy(Engine::Core &) override
Definition CameraGPUBuffer.hpp:45
bool IsCreated(Engine::Core &) const override
Definition CameraGPUBuffer.hpp:56
The core is the place where all the data of the engine is stored. It contains the registry (entities)...
Definition Core.hpp:33
TResource & GetResource()
Get a reference of a resource.
Definition Core.inl:14
Wrapper class providing a convenient interface for entity manipulation with the Core....
Definition Entity.hpp:20
Definition UpdateBufferError.hpp:7
Definition AGPUBuffer.hpp:7
std::optional< wgpu::Queue > queue
Definition Context.hpp:44
Definition AmbientLight.cpp:6
constexpr DefaultFlag Default
Definition webgpu.hpp:78
StringView(const std::string_view &cpp)
Definition webgpu.hpp:618
Definition CameraGPUBuffer.hpp:16
glm::vec3 position
Definition CameraGPUBuffer.hpp:19
glm::mat4 invViewProjectionMatrix
Definition CameraGPUBuffer.hpp:18
CameraTransfer(const Object::Component::Camera &camera, const Object::Component::Transform &transform)
Definition CameraGPUBuffer.hpp:21
glm::mat4 viewProjectionMatrix
Definition CameraGPUBuffer.hpp:17
static uint32_t CPUSize()
Definition CameraGPUBuffer.hpp:27
static uint32_t GPUSize()
Definition CameraGPUBuffer.hpp:28
Definition DeviceContext.hpp:7
auto & GetDevice()
Definition DeviceContext.hpp:13