42 lines
658 B
C
42 lines
658 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); |