Ajout de Jolt Physics + 1ere version des factory entitecomposants - camera, transform, rigidbody, collider, renderer

This commit is contained in:
Tom Ray
2026-03-22 00:28:03 +01:00
parent 6695d46bcd
commit 48348936a8
1147 changed files with 214331 additions and 353 deletions

View File

@@ -0,0 +1,35 @@
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
// SPDX-FileCopyrightText: 2024 Jorrit Rouwe
// SPDX-License-Identifier: MIT
#pragma once
#include <Renderer/Texture.h>
#include <vulkan/vulkan.h>
class RendererVK;
class TextureVK : public Texture
{
public:
/// Constructor, called by Renderer::CreateTextureVK
TextureVK(RendererVK *inRenderer, const Surface *inSurface); // Create a normal TextureVK
TextureVK(RendererVK *inRenderer, int inWidth, int inHeight); // Create a render target (depth only)
virtual ~TextureVK() override;
/// Bind texture to the pixel shader
virtual void Bind() const override;
VkImageView GetImageView() const { return mImageView; }
private:
void CreateImageViewAndDescriptorSet(VkFormat inFormat, VkImageAspectFlags inAspectFlags, VkSampler inSampler);
void TransitionImageLayout(VkCommandBuffer inCommandBuffer, VkImage inImage, VkFormat inFormat, VkImageLayout inOldLayout, VkImageLayout inNewLayout);
RendererVK * mRenderer;
VkImage mImage = VK_NULL_HANDLE;
VkDeviceMemory mImageMemory = VK_NULL_HANDLE;
VkImageView mImageView = VK_NULL_HANDLE;
VkDescriptorSet mDescriptorSet = VK_NULL_HANDLE;
};