Files
Juliet/JulietShaderCompiler/ShaderCompiler.h

43 lines
659 B
C

#pragma once
#include <Core/Common/CoreTypes.h>
#include <Core/Common/String.h>
enum class SourceLanguage : uint8
{
HLSL = 0,
Count = 1,
Invalid = Count
};
enum class ShaderFormat : uint8
{
DXIL = 0,
Count = 1,
Invalid = Count
};
enum class ShaderStage : uint8
{
Vertex = 0,
Fragment = 1,
Compute = 2,
Count = 3,
Invalid = Count
};
struct ShaderInfo
{
ByteBuffer ByteCodeBuffer;
Juliet::String EntryPoint;
Juliet::String Name;
ShaderStage Stage;
};
struct HLSLShaderInfo : ShaderInfo
{
// TODO Defines and includes
};
ByteBuffer CompileDXIL(HLSLShaderInfo& info);