somewhat working material system

This commit is contained in:
2026-02-06 15:43:22 +02:00
parent 7ac98cf9ba
commit 898bf90504
9 changed files with 140 additions and 17 deletions

View File

@@ -10,7 +10,7 @@
#include "tier2/iappsystem.h"
#include "materialsystem/imaterialsystem.h"
#include "materialsystem/shaderinternals.h"
#include "vulkan/vulkan_core.h"
#include "materialsystem/vulkan_shadermeta.h"
#define REQUIRED_EXTENSION(ext) bool bIsSupported_##ext;
#define OPTIONAL_EXTENSION(ext) bool bIsSupported_##ext;
@@ -268,9 +268,11 @@ public:
CUtlVector<CVkPipelineLibrary*> m_libraries;
VkDevice m_hDevice;
CCompiledShader m_shader;
CUtlVector<VkDescriptorSetLayout> m_setLayouts;
CUtlVector<VulkanDescriptor_t> m_bindings;
private:
CUtlVector<VkVertexInputAttributeDescription> m_attributes;
CUtlVector<VkVertexInputBindingDescription> m_layouts;
CUtlVector<VkVertexInputAttributeDescription> m_attributes;
CUtlVector<VkFormat> m_eFormats;
};
@@ -281,7 +283,7 @@ public:
CVkMaterial( IShader *pShader );
virtual ~CVkMaterial() override;
virtual uint32_t GetResourceByName( const char *szString );
void Frame();
virtual void VSSetShaderResource( uint32_t uRegister, IRenderingObject *pResource ) override;
virtual void VSSetConstantsBuffer( uint32_t uRegister, IBuffer *pConstants ) override;
@@ -290,7 +292,10 @@ public:
virtual void PSSetConstantsBuffer( uint32_t uRegister, IBuffer *pConstants ) override;
CVkShader *m_pVkShader;
VkDescriptorSet m_hSet;
private:
VkDescriptorPool m_hPool;
CUtlVector<VkWriteDescriptorSet> m_writes = {};
void SetShaderResource( uint32_t uRegister, uint32_t uSet, IRenderingObject *pObject);
};