Finished first version of shader compiler. HLSL -> DXIL.
Submitting vertex and frag shader needed to display a triangle.
This commit is contained in:
42
JulietShaderCompiler/ShaderCompiler.h
Normal file
42
JulietShaderCompiler/ShaderCompiler.h
Normal file
@@ -0,0 +1,42 @@
|
||||
#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);
|
||||
Reference in New Issue
Block a user