include shader files

This commit is contained in:
ohyzha
2024-07-11 11:57:05 +03:00
parent fa8b0aa57e
commit 9426f7dbf8

View File

@@ -5,8 +5,12 @@
*/
#include "ShaderRegistry.hpp"
extern "C" {
#include "Shaders.h"
extern "C"
{
#include "GeneratedShaderData/background.h"
#include "GeneratedShaderData/basic.h"
#include "GeneratedShaderData/grid.h"
}
namespace OpenVulkano
@@ -19,17 +23,19 @@ namespace OpenVulkano
ShaderRegistry::ShaderRegistry()
{
RegisterShaderTable(reinterpret_cast<const ShaderTableEntry*>(fileTable), fileTableSize);
RegisterShaderTable(reinterpret_cast<const ShaderTableEntry*>(fileTableBackground), fileTableBackgroundSize);
RegisterShaderTable(reinterpret_cast<const ShaderTableEntry*>(fileTableBasic), fileTableBasicSize);
RegisterShaderTable(reinterpret_cast<const ShaderTableEntry*>(fileTableGrid), fileTableGridSize);
}
void ShaderRegistry::RegisterShaderTable(const ShaderTableEntry* table, uint32_t size)
{
for(uint32_t i = 0; i < size; i++)
for (uint32_t i = 0; i < size; i++)
{
RegisterShader(table[i].entryName, { table[i].data, static_cast<size_t>(table[i].size) });
}
}
void ShaderRegistry::RegisterShader(std::string_view name, std::pair<const uint8_t*, size_t> shader)
{
m_shaderMap.emplace(name, shader);