mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
Separate handling for hlsl and fx files
This commit is contained in:
@@ -1,11 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = null,
|
||||
AssetHandle = 5221334043827499251
|
||||
}
|
||||
+1
-1
@@ -9,5 +9,5 @@
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 5246795156071151642
|
||||
AssetHandle = 3971197750817239312
|
||||
}
|
||||
+2
@@ -1,3 +1,5 @@
|
||||
// TODO: General pipeline for post processing effects
|
||||
|
||||
Texture2D Texture : register(t0);
|
||||
SamplerState TextureSampler : register(s0);
|
||||
|
||||
+1
-1
@@ -9,5 +9,5 @@
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 8512375832990505152
|
||||
AssetHandle = 315199643377983302
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = null,
|
||||
AssetHandle = 9285471614459748654
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = null,
|
||||
AssetHandle = 9184910549692735900
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = null,
|
||||
AssetHandle = 1287916870077203420
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = null,
|
||||
AssetHandle = 9019615224633186177
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 17953005509950866729
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = null,
|
||||
AssetHandle = 10014069858860408945
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 16539769359681819317
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 15706760057808399494
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 4179932137221776017
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 10636491756936205086
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 8912920142436784175
|
||||
}
|
||||
+1
-1
@@ -9,5 +9,5 @@
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 6905134680069212587
|
||||
AssetHandle = 5888610203248969416
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 18151489828256118978
|
||||
}
|
||||
+1
-1
@@ -9,5 +9,5 @@
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 4332390465159443321
|
||||
AssetHandle = 9062891433306436746
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 8655864411897316846
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 2172704887168568810
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 8873320878521542705
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 1519310858892551656
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 14993433232700867484
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 7757902626263730438
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 9671561114069837759
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 8094944104856236365
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
{
|
||||
AssetLoader = null,
|
||||
Config = null,
|
||||
Importer = "ShaderImporter",
|
||||
ImporterConfig = null,
|
||||
Processor = null,
|
||||
ProcessorConfig = null,
|
||||
Exporter = null,
|
||||
ExporterConfig = {
|
||||
_compression = .None
|
||||
},
|
||||
AssetHandle = 13990953346248142933
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -18,14 +18,15 @@ class AssetThumbnailManager
|
||||
if (assetNode.Path.EndsWith(".scene"))
|
||||
return _icons.File_Scene;
|
||||
|
||||
if (assetNode.Path.EndsWith(".mat"))
|
||||
return _icons.File_Material;
|
||||
|
||||
if (assetNode.Path.EndsWith(".cs"))
|
||||
return _icons.File_CSharpScript;
|
||||
|
||||
if (assetNode.Path.EndsWith(".hlsl"))
|
||||
return _icons.File_Shader;
|
||||
return _icons.File_Hlsl;
|
||||
if (assetNode.Path.EndsWith(".fx"))
|
||||
return _icons.File_Effect;
|
||||
if (assetNode.Path.EndsWith(".mat"))
|
||||
return _icons.File_Material;
|
||||
|
||||
return _icons.File;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ class ShaderImporterConfig : AssetImporterConfig
|
||||
|
||||
class ShaderImporter : IAssetImporter
|
||||
{
|
||||
private static readonly List<StringView> _fileExtensions = new .(){".hlsl"} ~ delete _;
|
||||
private static readonly List<StringView> _fileExtensions = new .(){".fx"} ~ delete _;
|
||||
|
||||
public static List<StringView> FileExtensions => _fileExtensions;
|
||||
|
||||
|
||||
@@ -201,6 +201,7 @@ extension ShaderCompiler
|
||||
{
|
||||
StringView str = StringView((char8*)errorBlob.GetBufferPointer(), (int)errorBlob.GetBufferSize());
|
||||
Log.EngineLogger.Error($"Failed to compile Shader: Error Code({(int)result}): {result} | Error Message: {str}");
|
||||
return .Err;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -121,10 +121,17 @@ class ShaderProcessor : IAssetProcessor
|
||||
// Name in Shader -> Name in Engine
|
||||
Dictionary<StringView, StringView> engineBuffers = scope .();
|
||||
|
||||
ProcessedShader processedShader = null;
|
||||
|
||||
defer
|
||||
{
|
||||
ClearDictionaryAndDeleteValues!(variables);
|
||||
ClearAndDeleteItems!(bufferNames);
|
||||
|
||||
if (@return case .Err)
|
||||
{
|
||||
delete processedShader;
|
||||
}
|
||||
}
|
||||
|
||||
String code = new String(importedShader.HlslCode);
|
||||
@@ -138,7 +145,7 @@ class ShaderProcessor : IAssetProcessor
|
||||
return .Ok;
|
||||
}
|
||||
|
||||
ProcessedShader processedShader = new ProcessedShader(new AssetIdentifier(importedShader.AssetIdentifier), config.AssetHandle);
|
||||
processedShader = new ProcessedShader(new AssetIdentifier(importedShader.AssetIdentifier), config.AssetHandle);
|
||||
|
||||
Try!(CompileAndReflect(vsName, psName, importedShader, code, processedShader));
|
||||
|
||||
|
||||
@@ -178,8 +178,8 @@ class TextureViewer
|
||||
|
||||
public this()
|
||||
{
|
||||
_effect = Content.LoadAsset("Resources/Shaders/textureViewerShader.hlsl", null, true);
|
||||
AssetHandle<Effect> effect = Content.LoadAsset("Resources/Shaders/RenderTargetGroupViewer.hlsl", null, true);
|
||||
_effect = Content.LoadAsset("Resources/Shaders/textureViewerShader.fx", null, true);
|
||||
AssetHandle<Effect> effect = Content.LoadAsset("Resources/Shaders/RenderTargetGroupViewer.fx", null, true);
|
||||
|
||||
_renderTargetMaterial = new Material(effect);
|
||||
|
||||
|
||||
@@ -28,11 +28,12 @@ namespace GlitchyEditor
|
||||
public SubTexture2D File_Scene ~ _.ReleaseRef();
|
||||
public SubTexture2D File_Material ~ _.ReleaseRef();
|
||||
public SubTexture2D File_CSharpScript ~ _.ReleaseRef();
|
||||
public SubTexture2D File_Shader ~ _.ReleaseRef();
|
||||
public SubTexture2D File_Effect ~ _.ReleaseRef();
|
||||
public SubTexture2D Entity_Visible ~ _.ReleaseRef();
|
||||
public SubTexture2D Entity_Hidden ~ _.ReleaseRef();
|
||||
public SubTexture2D Icon_Save ~ _.ReleaseRef();
|
||||
public SubTexture2D Icon_ContextMenu ~ _.ReleaseRef();
|
||||
public SubTexture2D File_Hlsl ~ _.ReleaseRef();
|
||||
|
||||
public static EditorIcons Instance => _editorIcons;
|
||||
|
||||
@@ -66,11 +67,12 @@ namespace GlitchyEditor
|
||||
File_Scene = GetNextGridTexture(ref pen, iconSize);
|
||||
File_Material = GetNextGridTexture(ref pen, iconSize);
|
||||
File_CSharpScript = GetNextGridTexture(ref pen, iconSize);
|
||||
File_Shader = GetNextGridTexture(ref pen, iconSize);
|
||||
File_Effect = GetNextGridTexture(ref pen, iconSize);
|
||||
Entity_Visible = GetNextGridTexture(ref pen, iconSize);
|
||||
Entity_Hidden = GetNextGridTexture(ref pen, iconSize);
|
||||
Icon_Save = GetNextGridTexture(ref pen, iconSize);
|
||||
Icon_ContextMenu = GetNextGridTexture(ref pen, iconSize);
|
||||
File_Hlsl = GetNextGridTexture(ref pen, iconSize);
|
||||
}
|
||||
|
||||
public ~this()
|
||||
|
||||
@@ -175,6 +175,22 @@ namespace GlitchyEditor
|
||||
SaveScene(newScene, path);
|
||||
}
|
||||
}, _editorIcons.File_Scene));
|
||||
|
||||
Editor.Instance.ContentBrowserWindow.RegisterAssetCreator(new AssetCreator("Shader File", "New Shader", ".hlsl", new (path) =>
|
||||
{
|
||||
// TODO!
|
||||
}, _editorIcons.File_Hlsl));
|
||||
|
||||
Editor.Instance.ContentBrowserWindow.RegisterAssetCreator(new AssetCreator("2D Effect", "New Effect", ".fx", new (path) =>
|
||||
{
|
||||
// TODO!
|
||||
}, _editorIcons.File_Effect));
|
||||
|
||||
// TODO: 3D Effect Lit, 3D Effect unlit, etc.
|
||||
/*Editor.Instance.ContentBrowserWindow.RegisterAssetCreator(new AssetCreator("3D Effect", "New Effect", ".fx", new (path) =>
|
||||
{
|
||||
// TODO!
|
||||
}, _editorIcons.File_Effect));*/
|
||||
|
||||
Editor.Instance.ContentBrowserWindow.RegisterAssetCreator(new AssetCreator("Material", "New Material", ".mat", new (path) =>
|
||||
{
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace GlitchyEngine.Renderer
|
||||
{
|
||||
Debug.Profiler.ProfileFunction!();
|
||||
|
||||
_clearUintFx = Content.LoadAsset("Resources/Shaders/ClearUInt.hlsl", null, true);
|
||||
_clearUintFx = Content.LoadAsset("Resources/Shaders/ClearUInt.fx", null, true);
|
||||
BlendStateDescription desc =.Default;
|
||||
desc.RenderTarget[0].BlendEnable = false;
|
||||
_nonblendingState = new BlendState(desc);
|
||||
|
||||
@@ -150,8 +150,6 @@ namespace GlitchyEngine.Renderer
|
||||
{
|
||||
Debug.Profiler.ProfileFunction!();
|
||||
|
||||
//LineEffect = Content.LoadAsset("Shaders\\lineShader.hlsl");
|
||||
|
||||
LineGeometry = new GeometryBinding();
|
||||
LineGeometry.SetPrimitiveTopology(.LineList);
|
||||
|
||||
@@ -180,8 +178,8 @@ namespace GlitchyEngine.Renderer
|
||||
|
||||
static void InitDeferredRenderer()
|
||||
{
|
||||
TestFullscreenEffect = Content.LoadAsset("Resources/Shaders/simpleLight.hlsl", null, true);
|
||||
s_tonemappingEffect = Content.LoadAsset("Resources/Shaders/SimpleTonemapping.hlsl", null, true);
|
||||
TestFullscreenEffect = Content.LoadAsset("Resources/Shaders/simpleLight.fx", null, true);
|
||||
s_tonemappingEffect = Content.LoadAsset("Resources/Shaders/SimpleTonemapping.fx", null, true);
|
||||
|
||||
_gBuffer = new GBuffer();
|
||||
BlendStateDescription gBufferBlendDesc = .Default;
|
||||
|
||||
@@ -187,10 +187,10 @@ namespace GlitchyEngine.Renderer
|
||||
{
|
||||
Debug.Profiler.ProfileFunction!();
|
||||
|
||||
s_quadBatchEffect = Content.LoadAsset("Resources/Shaders/spritebatch.hlsl", null, true);
|
||||
s_quadBatchEffect = Content.LoadAsset("Resources/Shaders/spritebatch.fx", null, true);
|
||||
s_quadBatchMaterial = new Material(s_quadBatchEffect);
|
||||
s_circleBatchEffect = Content.LoadAsset("Resources/Shaders/circlebatch.hlsl", null, true);
|
||||
s_lineBatchEffect = Content.LoadAsset("Resources/Shaders/linebatch.hlsl", null, true);
|
||||
s_circleBatchEffect = Content.LoadAsset("Resources/Shaders/circlebatch.fx", null, true);
|
||||
s_lineBatchEffect = Content.LoadAsset("Resources/Shaders/linebatch.fx", null, true);
|
||||
}
|
||||
|
||||
private static void InitGeometry()
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace GlitchyEngine.Renderer.Text
|
||||
InitFreetype();
|
||||
|
||||
// TODO: We might get away with a non blocking load here, but not for now!
|
||||
_msdfEffect = Content.LoadAsset("Resources/Shaders/msdfShader.hlsl", null, true);
|
||||
_msdfEffect = Content.LoadAsset("Resources/Shaders/msdfShader.fx", null, true);
|
||||
_msdfMaterial = new Material(_msdfEffect);
|
||||
|
||||
s_isInitialized = true;
|
||||
|
||||
@@ -47,7 +47,7 @@ class SceneRenderer
|
||||
});
|
||||
_cameraTarget.[Friend]Identifier = "Camera Target";
|
||||
|
||||
_gammaCorrectEffect = Content.LoadAsset("Resources/Shaders/GammaCorrect.hlsl", null, true);
|
||||
_gammaCorrectEffect = Content.LoadAsset("Resources/Shaders/GammaCorrect.fx", null, true);
|
||||
}
|
||||
|
||||
/// Sets the size of the viewport into which the scene will be rendered.
|
||||
|
||||
Reference in New Issue
Block a user