585 changed files with 17614 additions and 46162 deletions
+2 -7
View File
@@ -5,11 +5,6 @@ build/
recovery/ recovery/
vendor/directx vendor/directx
imgui.ini imgui.ini
GlitchyEditor/resources/scripts/ScriptCore.dll
GlitchyEditor/resources/scripts/ScriptCore.pdb
GlitchyEditor/settings.bon GlitchyEditor/settings.bon
GlitchyEditor/MonoDebugger.log
# Ignore files in build-directory of ScriptCore
GlitchyEditor/Resources/Scripts/*
.cache
generated
+4 -7
View File
@@ -22,18 +22,15 @@
[submodule "GlitchyEngine/vendor/bon"] [submodule "GlitchyEngine/vendor/bon"]
path = GlitchyEngine/vendor/bon path = GlitchyEngine/vendor/bon
url = https://github.com/EinScott/bon.git url = https://github.com/EinScott/bon.git
[submodule "GlitchyEngineHelper/vendor/DirectXTK"]
path = GlitchyEngineHelper/vendor/DirectXTK
url = https://github.com/microsoft/DirectXTK.git
[submodule "GlitchyEngine/vendor/box2D"] [submodule "GlitchyEngine/vendor/box2D"]
path = GlitchyEngine/vendor/box2D path = GlitchyEngine/vendor/box2D
url = https://github.com/aharabada/box2d-beef.git url = https://github.com/jazzbre/box2d-beef.git
[submodule "GlitchyEngine/vendor/Beef.Linq"] [submodule "GlitchyEngine/vendor/Beef.Linq"]
path = GlitchyEngine/vendor/Beef.Linq path = GlitchyEngine/vendor/Beef.Linq
url = https://github.com/aharabada/Beef.Linq.git url = https://github.com/aharabada/Beef.Linq.git
[submodule "vendor/ImGui.NET"]
path = vendor/ImGui.NET
url = https://github.com/aharabada/ImGui.NET.git
[submodule "GlitchyEngine/vendor/NetHostBeef"] [submodule "GlitchyEngine/vendor/NetHostBeef"]
path = GlitchyEngine/vendor/NetHostBeef path = GlitchyEngine/vendor/NetHostBeef
url = https://github.com/aharabada/NetHostBeef.git url = https://github.com/aharabada/NetHostBeef.git
[submodule "GlitchyEngine/vendor/Xml-Beef"]
path = GlitchyEngine/vendor/Xml-Beef
url = https://github.com/aharabada/Xml-Beef.git
+3 -29
View File
@@ -1,36 +1,10 @@
FileVersion = 1 FileVersion = 1
Locked = ["ImGui"] Projects = {Sandbox = {Path = "Sandbox"}, GlitchyEngine = {Path = "GlitchyEngine"}, GlitchLog = {Path = "GlitchLog"}, DirectX = {Path = "GlitchyEngine/vendor/directx/DirectX"}, LodePng = {Path = "vendor/lodepng-beef/lodepng-beef"}, FreeType = {Path = "GlitchyEngine/vendor/freetype"}, cgltf-beef = {Path = "GlitchyEngine/vendor/gltf/cgltf-beef"}, GlitchyEditor = {Path = "GlitchyEditor"}, msdfgen-beef = {Path = "GlitchyEngine/vendor/msdfgen/msdfgen-beef"}, ImGui = {Path = "GlitchyEngine/vendor/imgui/ImGui"}, ImGuiImplDX11 = {Path = "GlitchyEngine/vendor/imgui/ImGuiImplDX11"}, ImGuiImplWin32 = {Path = "GlitchyEngine/vendor/imgui/ImGuiImplWin32"}, ImGuizmo = {Path = "GlitchyEngine/vendor/imgui/ImGuizmo"}, GlitchyEngineHelper = {Path = "GlitchyEngineHelper"}, bon = {Path = "GlitchyEngine/vendor/bon"}, box2d-beef = {Path = "GlitchyEngine/vendor/box2D"}, "Beef.Linq" = {Path = "GlitchyEngine/vendor/Beef.Linq/src"}, ScriptCore = {Path = "ScriptCore"}, NetHostBeef = {Path = "GlitchyEngine/vendor/NetHostBeef/NetHostBeef"}}
Unlocked = ["corlib"]
WorkspaceFolders = {GlitchyEngine = ["GlitchyEngine", "GlitchLog", "GlitchyEngineHelper", "ScriptCore"], "GlitchyEngine/Dependencies" = ["cgltf-beef", "DirectX", "FreeType", "ImGui", "ImGuiImplDX11", "ImGuiImplWin32", "ImGuizmo", "LodePng", "msdfgen-beef", "bon", "box2d-beef", "Beef.Linq", "NetHostBeef"]}
[Workspace] [Workspace]
StartupProject = "GlitchyEditor" StartupProject = "GlitchyEditor"
[Projects]
GlitchyEngine = {Path = "GlitchyEngine"}
GlitchLog = {Path = "GlitchLog"}
DirectX = {Path = "GlitchyEngine/vendor/directx/DirectX"}
LodePng = {Path = "vendor/lodepng-beef/lodepng-beef"}
FreeType = {Path = "GlitchyEngine/vendor/freetype"}
cgltf-beef = {Path = "GlitchyEngine/vendor/gltf/cgltf-beef"}
GlitchyEditor = {Path = "GlitchyEditor"}
msdfgen-beef = {Path = "GlitchyEngine/vendor/msdfgen/msdfgen-beef"}
ImGui = {Path = "GlitchyEngine/vendor/imgui/ImGui"}
ImGuiImplDX11 = {Path = "GlitchyEngine/vendor/imgui/ImGuiImplDX11"}
ImGuiImplWin32 = {Path = "GlitchyEngine/vendor/imgui/ImGuiImplWin32"}
ImGuizmo = {Path = "GlitchyEngine/vendor/imgui/ImGuizmo"}
GlitchyEngineHelper = {Path = "GlitchyEngineHelper"}
bon = {Path = "GlitchyEngine/vendor/bon"}
box2d-beef = {Path = "GlitchyEngine/vendor/box2D"}
"Beef.Linq" = {Path = "GlitchyEngine/vendor/Beef.Linq/src"}
ScriptCore = {Path = "ScriptCore"}
NetHostBeef = {Path = "GlitchyEngine/vendor/NetHostBeef/NetHostBeef"}
"GlitchyEngine.Test" = {Path = "GlitchyEngine.Test"}
Xml-Beef = {Path = "GlitchyEngine/vendor/Xml-Beef"}
"GlitchyEngine.Benchmark" = {Path = "GlitchyEngine.Benchmark"}
[WorkspaceFolders]
GlitchyEngine = ["GlitchyEngine", "GlitchLog", "GlitchyEngineHelper", "ScriptCore", "GlitchyEngine.Test", "GlitchyEngine.Benchmark"]
"GlitchyEngine/Dependencies" = ["cgltf-beef", "DirectX", "FreeType", "ImGui", "ImGuiImplDX11", "ImGuiImplWin32", "ImGuizmo", "LodePng", "msdfgen-beef", "bon", "box2d-beef", "Beef.Linq", "NetHostBeef", "Xml-Beef"]
Beef = ["Beefy2D", "corlib"]
[Configs.Debug.Win64] [Configs.Debug.Win64]
AllocStackTraceDepth = 12 AllocStackTraceDepth = 12
+28
View File
@@ -5,6 +5,34 @@ using internal GlitchLog;
namespace GlitchLog namespace GlitchLog
{ {
public abstract class Logger
{
protected LogLevel _logLevel;
public LogLevel Level
{
get => _logLevel;
set => _logLevel = value;
}
public abstract String Name {get; set;}
public abstract void Trace(StringView format, params Object[] args);
public abstract void Info(StringView format, params Object[] args);
public abstract void Warning(StringView format, params Object[] args);
public abstract void Error(StringView format, params Object[] args);
public abstract void Critical(StringView format, params Object[] args);
public abstract void Assert(bool condition, String error = Compiler.CallerExpression[0], String filePath = Compiler.CallerFilePath, int line = Compiler.CallerLineNum);
#if !DEBUG
[SkipCall]
#endif
public abstract void AssertDebug(bool condition, String error = Compiler.CallerExpression[0], String filePath = Compiler.CallerFilePath, int line = Compiler.CallerLineNum);
public abstract void Log(LogLevel level, StringView format, params Object[] args);
}
public class DebugLogger : Logger public class DebugLogger : Logger
{ {
// {l} = log level (first parameter) // {l} = log level (first parameter)
-31
View File
@@ -1,31 +0,0 @@
using System;
namespace GlitchLog;
public abstract class Logger
{
protected LogLevel _logLevel;
public LogLevel Level
{
get => _logLevel;
set => _logLevel = value;
}
public abstract String Name {get; set;}
public abstract void Trace(StringView format, params Object[] args);
public abstract void Info(StringView format, params Object[] args);
public abstract void Warning(StringView format, params Object[] args);
public abstract void Error(StringView format, params Object[] args);
public abstract void Critical(StringView format, params Object[] args);
public abstract void Assert(bool condition, String error = Compiler.CallerExpression[0], String filePath = Compiler.CallerFilePath, int line = Compiler.CallerLineNum);
#if !DEBUG
[SkipCall]
#endif
public abstract void AssertDebug(bool condition, String error = Compiler.CallerExpression[0], String filePath = Compiler.CallerFilePath, int line = Compiler.CallerLineNum);
public abstract void Log(LogLevel level, StringView format, params Object[] args);
}
+2 -29
View File
@@ -1,37 +1,10 @@
FileVersion = 1 FileVersion = 1
Dependencies = {corlib = "*", GlitchLog = "*", GlitchyEngine = "*"}
[Project] [Project]
Name = "GlitchyEditor" Name = "GlitchyEditor"
TargetType = "BeefGUIApplication" TargetType = "BeefGUIApplication"
StartupObject = "GlitchyEngine.Program" StartupObject = "GlitchyEngine.Program"
ProcessorMacros = ["GE_EDITOR_IMGUI_DEMO", "GE_GRAPHICS_DX11"]
[Dependencies]
corlib = "*"
GlitchLog = "*"
GlitchyEngine = "*"
Xml-Beef = "*"
ImGuiImplDX11 = "*"
ImGuiImplWin32 = "*"
ImGuizmo = "*"
"Beef.Linq" = "*"
[Platform.Windows]
IconFile = "$(ProjectDir)/Resources/Textures/GlitchyEngineIcon.ico"
[Configs.Debug.Win64] [Configs.Debug.Win64]
PostBuildCmds = ["CopyFilesIfNewer(\"$(WorkspaceDir)/bin/vswhere.exe\", \"$(TargetDir)\")"] DebugCommandArguments = "\"content\\Scenes\\physics2D.scene\""
DebugCommandArguments = "\"D:\\Development\\Git\\SingleStateToOrbit\""
PreprocessorMacros = ["DEBUG", "IMGUI"]
[Configs.Release.Win64]
TargetDirectory = "$(BuildDir)/dist"
PostBuildCmds = ["CopyFilesIfNewer(\"$(WorkspaceDir)/bin/vswhere.exe\", \"$(TargetDir)\")"]
DebugCommandArguments = "\"D:\\Development\\Git\\SingleStateToOrbit\""
PreprocessorMacros = ["RELEASE", "IMGUI"]
[Configs.Paranoid.Win64]
PostBuildCmds = ["CopyFilesIfNewer(\"$(WorkspaceDir)/bin/vswhere.exe\", \"$(TargetDir)\")"]
[Configs.Test.Win64]
PostBuildCmds = ["CopyFilesIfNewer(\"$(WorkspaceDir)/bin/vswhere.exe\", \"$(TargetDir)\")"]
-1
View File
@@ -1 +0,0 @@
project_user.bon
@@ -1,5 +0,0 @@
{
AssetLoader = "ModelAssetLoader",
Config = (GlitchyEditor.Assets.ModelAssetLoaderConfig){}/* No reflection data for GlitchyEditor.Assets.ModelAssetLoaderConfig. Add [BonTarget] or force it */,
AssetHandle = 141014598923215615
}
@@ -1,5 +0,0 @@
{
AssetLoader = "ModelAssetLoader",
Config = (GlitchyEditor.Assets.ModelAssetLoaderConfig){}/* No reflection data for GlitchyEditor.Assets.ModelAssetLoaderConfig. Add [BonTarget] or force it */,
AssetHandle = 11221639476224465119
}
@@ -1,119 +0,0 @@
{
Name = "Scene name here pls!!!",
Entities = [
{
Id = 8726995825602656358,
NameComponent = {
Name = "Camera"
},
TransformComponent = {
Position = {
X = 0,
Y = 2,
Z = -5
},
Rotation = {
X = 0,
Y = 0.21643962,
Z = 0,
W = 0.976296008
},
Scale = {
X = 1,
Y = 1,
Z = 1
},
EditorEulerRotation = {
X = 0,
Y = 0.436332315,
Z = 0
}
},
CameraComponent = {
Primary = true,
ProjectionType = .InfinitePerspective,
PerspectiveFovY = 1.30899692,
PerspectiveNearPlane = 0.100000001,
PerspectiveFarPlane = 10000,
OrthographicHeight = 10,
OrthographicNearPlane = 0,
OrthographicFarPlane = 10,
AspectRatio = 1.83772814,
FixedAspectRatio = false
}
},
{
Id = 5254899955475338567,
NameComponent = {
Name = "Light"
},
TransformComponent = {
Position = {
X = -3,
Y = 4,
Z = -1.5
},
Rotation = {
X = 0.239775807,
Y = 0.61432755,
Z = 0.0315670744,
W = 0.751074195
},
Scale = {
X = 1,
Y = 1,
Z = 1
},
EditorEulerRotation = {
X = 0.3490659,
Y = 1.3089968,
Z = 0.34906587
}
},
LightComponent = {
LightType = .Directional,
Illuminance = 10,
Color = {
R = 1,
G = 0.949999988,
B = 0.800000012
}
}
},
{
Id = 10018854473822844403,
NameComponent = {
Name = "Entity"
},
TransformComponent = {
Position = {
X = 0,
Y = 0,
Z = 0
},
Rotation = {
X = 0,
Y = 0,
Z = 0,
W = 1
},
Scale = {
X = 1,
Y = 1,
Z = 1
},
EditorEulerRotation = {
X = 0,
Y = 0,
Z = 0
}
},
MeshComponent = {
Mesh = 141014598923215615
},
MeshRendererComponent = {
Material = 15093501654975430075
}
}
]
}
@@ -15,32 +15,39 @@ public class Camera : Entity
public float DontFollowRadius = 3.0f; public float DontFollowRadius = 3.0f;
void OnUpdate(float deltaTime) void OnCreate()
{ {
Entity player = FindEntityWithName("Player"); Log.Info("Camera Create");
}
if (player != null) public void OnUpdate(float deltaTime)
{ {
float2 playerPosition = player.Transform.Translation.XY; Log.Info($"Camera Update {deltaTime}");
float2 cameraPosition = Transform.Translation.XY; //Entity player = FindEntityWithName("Player");
float2 distanceVector = playerPosition - cameraPosition; //if (player != null)
//{
// float2 playerPosition = player.Transform.Translation.XY;
float distance = length(distanceVector); // float2 cameraPosition = Transform.Translation.XY;
float2 neededMovement = float2.Zero; // float2 distanceVector = playerPosition - cameraPosition;
if (distance > DontFollowRadius) // float distance = length(distanceVector);
{
neededMovement = distanceVector - (distanceVector / distance) * DontFollowRadius;
}
Transform.Translation = new float3(cameraPosition + neededMovement, DistanceFromPlayer); // float2 neededMovement = float2.Zero;
}
else // if (distance > DontFollowRadius)
{ // {
Log.Error("Player not found!"); // neededMovement = distanceVector - (distanceVector / distance) * DontFollowRadius;
} // }
// Transform.Translation = new float3(cameraPosition + neededMovement, DistanceFromPlayer);
//}
//else
//{
// Log.Error("Player not found!");
//}
} }
} }
@@ -1,5 +1,4 @@
using System; using System;
using System.Runtime.Remoting.Metadata.W3cXsd2001;
using GlitchyEngine; using GlitchyEngine;
using GlitchyEngine.Editor; using GlitchyEngine.Editor;
using GlitchyEngine.Math; using GlitchyEngine.Math;
@@ -11,9 +10,9 @@ namespace Sandbox
public enum MyEnum public enum MyEnum
{ {
Yes = 1, Yes,
No, No,
Maybe = 1337 Maybe
} }
public struct MyStruct public struct MyStruct
@@ -25,38 +24,36 @@ namespace Sandbox
class MyTestEntity : Entity class MyTestEntity : Entity
{ {
[ShowInEditor] //[ShowInEditor]
RigidBody2D _rigidBody; RigidBody2D _rigidBody;
//public bool Bo; public bool Bo;
//public byte By; public byte By;
//public ushort Us; public ushort Us;
//public uint Ui; public uint Ui;
//public ulong Ul; public ulong Ul;
//public sbyte Sb; public sbyte Sb;
//public short Sh; public short Sh;
//public int In; public int In;
//public long Lo; public long Lo;
//public float Fl; public float Fl;
//public double Do; public double Do;
//public float2 V2; public float2 V2;
//public float3 V3; public float3 V3;
//public float4 V4; public float4 V4;
public Entity TheEntity; public Entity TheEntity;
public float JumpForce = 2000; public float JumpForce = 2000;
[ShowInEditor] float MoveForce = 1000; [ShowInEditor] float MoveForce = 1000;
[ShowInEditor] private int MyNumber = 1337; [ShowInEditor] private int MyNumber = 1337;
//[ShowInEditor] public double MyDouble = 1000.0f; [ShowInEditor] public double MyDouble = 1000.0f;
public MyStruct AStruct; public MyStruct AStruct;
public MyEnum AEnum = MyEnum.Maybe;
public Camera Camera; public Camera Camera;
/// <summary> /// <summary>
@@ -70,37 +67,12 @@ namespace Sandbox
//_rigidBody ??= GetComponent<RigidBody2D>() ?? AddComponent<RigidBody2D>(); //_rigidBody ??= GetComponent<RigidBody2D>() ?? AddComponent<RigidBody2D>();
if (_rigidBody == null) //Camera = FindEntityWithName("Camera").As<Camera>();
{
Log.Error("_rigidBody was not set in editor.");
}
if (Camera == null) //if (Camera == null)
{ //{
Log.Warning("Camera wasn't set in editor. Searching..."); // Log.Error("Camera not found.");
Camera = FindEntityWithName("Camera").As<Camera>(); //}
if (Camera == null)
{
Log.Error("Camera not found.");
}
}
Log.Warning("Achtung.");
try
{
SubVoid();
}
catch (Exception e)
{
Console.WriteLine(e);
throw e;
}
}
void SubVoid()
{
throw new Exception("Ouha!", new IndexOutOfRangeException("Bist du jecke2?!", new AccessViolationException("Haleluja")));
} }
/// <summary> /// <summary>
@@ -109,39 +81,38 @@ namespace Sandbox
/// <param name="deltaTime"></param> /// <param name="deltaTime"></param>
void OnUpdate(float deltaTime) void OnUpdate(float deltaTime)
{ {
float2 force = float2.Zero; Log.Info($"On update: {deltaTime}");
if (Input.IsKeyPressed(Key.A)) //float2 force = float2.Zero;
{
force.X -= MoveForce * deltaTime;
}
if (Input.IsKeyPressed(Key.D)) //if (Input.IsKeyPressed(Key.A))
{ //{
force.X += MoveForce * deltaTime; // force.X -= MoveForce * deltaTime;
} //}
if (Input.IsKeyPressed(Key.Q)) //if (Input.IsKeyPressed(Key.D))
Camera.DistanceFromPlayer -= deltaTime; //{
// force.X += MoveForce * deltaTime;
//}
if (Input.IsKeyPressed(Key.E)) //if (Input.IsKeyPressed(Key.Q))
Camera.DistanceFromPlayer += deltaTime; // Camera.DistanceFromPlayer -= deltaTime;
if (Input.IsKeyPressing(Key.Space))
{
force.Y += JumpForce;
}
if (Input.IsKeyPressing(Key.N))
SubVoid();
_rigidBody.ApplyForceToCenter(force); //if (Input.IsKeyPressed(Key.E))
// Camera.DistanceFromPlayer += deltaTime;
if (Input.IsMouseButtonReleasing(MouseButton.MiddleButton)) //if (Input.IsKeyPressing(Key.Space))
{ //{
Log.Info($"Ouha! {MyNumber}"); // force.Y += JumpForce;
Physics2D.Gravity *= new float2(1, -1); //}
}
//_rigidBody.ApplyForceToCenter(force);
//if (Input.IsMouseButtonReleasing(MouseButton.MiddleButton))
//{
// Log.Info($"Ouha! {MyNumber}");
// Physics2D.Gravity *= new float2(1, -1);
//}
} }
/// <summary> /// <summary>
@@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die einer Assembly zugeordnet sind.
[assembly: AssemblyTitle("SandboxProject")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("SandboxProject")]
[assembly: AssemblyCopyright("Copyright © 2023")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Durch Festlegen von ComVisible auf FALSE werden die Typen in dieser Assembly
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
[assembly: ComVisible(false)]
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("7a70819c-5317-402a-8553-95c5a001e370")]
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
// Hauptversion
// Nebenversion
// Buildnummer
// Revision
//
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
@@ -0,0 +1,11 @@
{
"profiles": {
"Start Editor": {
"commandName": "Executable",
"executablePath": "D:\\Development\\Projects\\Beef\\GlitchyEngine\\build\\Debug_Win64\\GlitchyEditor\\GlitchyEditor.exe",
"commandLineArgs": "\"content\\Scenes\\physics2D.scene\"",
"workingDirectory": "D:\\Development\\Projects\\Beef\\GlitchyEngine\\GlitchyEditor",
"nativeDebugging": true
}
}
}
@@ -7,15 +7,15 @@
<ProjectGuid>{7A70819C-5317-402A-8553-95C5A001E370}</ProjectGuid> <ProjectGuid>{7A70819C-5317-402A-8553-95C5A001E370}</ProjectGuid>
<OutputType>Library</OutputType> <OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder> <AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>SandboxProject</RootNamespace> <RootNamespace>Sandbox</RootNamespace>
<AssemblyName>SandboxProject</AssemblyName> <AssemblyName>Sandbox</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion> <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment> <FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic> <Deterministic>true</Deterministic>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols> <DebugSymbols>true</DebugSymbols>
<DebugType>portable</DebugType> <DebugType>full</DebugType>
<Optimize>false</Optimize> <Optimize>false</Optimize>
<OutputPath>bin\</OutputPath> <OutputPath>bin\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants> <DefineConstants>DEBUG;TRACE</DefineConstants>
@@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<LangVersion>latest</LangVersion>
<OutputPath>bin</OutputPath>
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
<EnableDynamicLoading>true</EnableDynamicLoading>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\ScriptCore\ScriptCore.csproj" />
</ItemGroup>
</Project>
@@ -3,7 +3,7 @@ Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17 # Visual Studio Version 17
VisualStudioVersion = 17.4.33205.214 VisualStudioVersion = 17.4.33205.214
MinimumVisualStudioVersion = 10.0.40219.1 MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SandboxProject", "SandboxProject.csproj", "{7A70819C-5317-402A-8553-95C5A001E370}" Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Sandbox", "Sandbox.csproj", "{7A70819C-5317-402A-8553-95C5A001E370}"
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScriptCore", "..\..\..\..\ScriptCore\ScriptCore.csproj", "{6222C226-FC78-498C-80BA-5CF10AC9123C}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScriptCore", "..\..\..\..\ScriptCore\ScriptCore.csproj", "{6222C226-FC78-498C-80BA-5CF10AC9123C}"
EndProject EndProject
@@ -0,0 +1,29 @@
using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using GlitchyEngine;
namespace Sandbox;
public static class TestClass
{
[UnmanagedCallersOnly]
public static void TestFunction()
{
Console.WriteLine("Hello from the second Assembly!");
}
public static void InternalTest()
{
Console.WriteLine("Ja, ich existiere in der Tat");
Log.Info("Yeah!");
//Console.WriteLine("Und nun bin ich anders");
}
public static int Test(IntPtr arg, int sizeofArg)
{
Console.WriteLine($"YUPPYPLASDPASDOIUZASD");
return 7;
}
}
@@ -1,39 +0,0 @@
{
Effect = "Resources/Shaders/myEffect.hlsl",
Textures = [
"AlbedoTexture": 8153940681327484189,
"NormalTexture": 15822842502398518390,
"MetallicTexture": 13527693616095745667,
"RoughnessTexture": 4141437666158293647,
"EmissiveTexture": 0
],
Variables = [
"AlbedoColor": .ColorRGBA{
Value = {
R = 1,
G = 1,
B = 1,
A = 1
}
},
"NormalScaling": .Float2{
Value = {
X = 1,
Y = 1
}
},
"MetallicFactor": .Float{
Value = 1
},
"RoughnessFactor": .Float{
Value = 0
},
"EmissiveColor": .Float3{
Value = {
X = 0,
Y = 0,
Z = 0
}
}
]
}
@@ -1,5 +0,0 @@
{
AssetLoader = "MaterialAssetLoader",
Config = (GlitchyEditor.Assets.ModelAssetLoaderConfig){}/* No reflection data for GlitchyEditor.Assets.ModelAssetLoaderConfig. Add [BonTarget] or force it */,
AssetHandle = 15093501654975430075
}
@@ -1,31 +0,0 @@
{
Effect = "Resources/Shaders/myEffect.hlsl",
Textures = [
"AlbedoTexture": "Assets/Textures/rocket.png",
"NormalTexture": "Assets/Textures/TestMat/rustediron2_normal.png",
"MetallicTexture": "Assets/Textures/TestMat/rustediron2_metallic.png",
"RoughnessTexture": "Assets/Textures/TestMat/rustediron2_roughness.png"
],
Variables = [
"AlbedoColor": .ColorRGBA{
Value = {
R = 1,
G = 1,
B = 1,
A = 1
}
},
"NormalScaling": .Float2{
Value = {
X = 1,
Y = 1
}
},
"MetallicFactor": .Float{
Value = 0
},
"RoughnessFactor": .Float{
Value = 1
}
]
}
@@ -1,5 +0,0 @@
{
AssetLoader = "MaterialAssetLoader",
Config = (GlitchyEditor.Assets.ModelAssetLoaderConfig){}/* No reflection data for GlitchyEditor.Assets.ModelAssetLoaderConfig. Add [BonTarget] or force it */,
AssetHandle = 9886473966965265328
}
@@ -1,24 +0,0 @@
{
AssetLoader = "EditorTextureAssetLoader",
Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){
_samplerStateDescription = {
MinFilter = .Linear,
MagFilter = .Linear,
MipFilter = .Linear,
ComparisonFunction = .Never,
AddressModeU = .Clamp,
AddressModeV = .Clamp,
AddressModeW = .Clamp,
MipMinLOD = -3.40282347e+38,
MipMaxLOD = 3.40282347e+38,
MaxAnisotropy = 1,
BorderColor = {
R = 1,
G = 1,
B = 1,
A = 1
}
}
},
AssetHandle = 10807131213209469263
}
-1
View File
@@ -1 +0,0 @@
{_projectName="SandboxProject"}
@@ -1 +0,0 @@
{_recentScenes=["Assets\\Scenes\\physics2D.scene"]}
@@ -0,0 +1,4 @@
{
AssetLoader = "ModelAssetLoader",
Config = (GlitchyEditor.Assets.ModelAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "ModelAssetLoader",
Config = (GlitchyEditor.Assets.ModelAssetLoaderConfig){}
}
@@ -30,10 +30,10 @@
} }
}, },
MeshComponent = { MeshComponent = {
Mesh = "Assets/Models/sphere.glb" Mesh = "Models/sphere.glb"
}, },
MeshRendererComponent = { MeshRendererComponent = {
Material = "Assets/Textures/TestMaterial.mat" Material = "Textures/TestMaterial.mat"
} }
}, },
{ {
@@ -49,12 +49,12 @@
}, },
Rotation = { Rotation = {
X = 0.614328027, X = 0.614328027,
Y = 0.23977606, Y = 0.239776045,
Z = 0.0315669999, Z = 0.0315669999,
W = 0.751073778 W = 0.751073837
}, },
Scale = { Scale = {
X = 0.999998808, X = 0.999998868,
Y = 1, Y = 1,
Z = 1.00000095 Z = 1.00000095
}, },
@@ -70,7 +70,7 @@
Color = { Color = {
R = 1, R = 1,
G = 0.991771996, G = 0.991771996,
B = 0.74086231 B = 0.74086225
} }
} }
}, },
@@ -103,10 +103,10 @@
} }
}, },
MeshComponent = { MeshComponent = {
Mesh = "Assets/Models/plane.glb" Mesh = "Models/plane.glb"
}, },
MeshRendererComponent = { MeshRendererComponent = {
Material = "Assets/Textures/TestMaterial.mat" Material = "Textures/TestMaterial.mat"
} }
}, },
{ {
@@ -146,7 +146,7 @@
OrthographicHeight = 10, OrthographicHeight = 10,
OrthographicNearPlane = 0, OrthographicNearPlane = 0,
OrthographicFarPlane = 10, OrthographicFarPlane = 10,
AspectRatio = 1.87453413, AspectRatio = 2.19888878,
FixedAspectRatio = false FixedAspectRatio = false
} }
}, },
@@ -164,7 +164,7 @@
Rotation = { Rotation = {
X = 0.18301262, X = 0.18301262,
Y = -0.683013558, Y = -0.683013558,
Z = 0.683012187, Z = 0.683012128,
W = 0.183013007 W = 0.183013007
}, },
Scale = { Scale = {
@@ -173,13 +173,13 @@
Z = 1 Z = 1
}, },
EditorEulerRotation = { EditorEulerRotation = {
X = 1.57079458, X = 1.57079446,
Y = -2.61799288, Y = -2.61799312,
Z = 0 Z = 0
} }
}, },
MeshComponent = { MeshComponent = {
Mesh = "" Mesh = "Models/plane.glb"
}, },
MeshRendererComponent = { MeshRendererComponent = {
Material = "" Material = ""
@@ -192,32 +192,32 @@
}, },
TransformComponent = { TransformComponent = {
Position = { Position = {
X = 2.37353563, X = 2.37353587,
Y = 0.629615188, Y = 0.629615188,
Z = -1.34831977 Z = -1.34831977
}, },
Rotation = { Rotation = {
X = 0.270598024, X = 0.270598024,
Y = -0.65328151, Y = -0.65328145,
Z = 0.65328151, Z = 0.65328151,
W = 0.270598054 W = 0.270598054
}, },
Scale = { Scale = {
X = 0.999999821, X = 0.999999881,
Y = 0.999999762, Y = 0.999999821,
Z = 0.999999702 Z = 0.999999702
}, },
EditorEulerRotation = { EditorEulerRotation = {
X = 1.57079649, X = 1.57079637,
Y = -2.35619426, Y = -2.3561945,
Z = 8.94069601e-08 Z = 8.94069743e-08
} }
}, },
MeshComponent = { MeshComponent = {
Mesh = "Assets/Models/plane.glb" Mesh = "Models/plane.glb"
}, },
MeshRendererComponent = { MeshRendererComponent = {
Material = "Assets/Textures/RocketMaterial.mat" Material = "Textures/RocketMaterial.mat"
} }
} }
] ]
@@ -13,7 +13,7 @@
B = 0.32878688, B = 0.32878688,
A = 1 A = 1
}, },
Sprite = "Assets/Textures/TestMat/rustediron2_albedo.png", Sprite = "Textures/TestMat/rustediron2_albedo.png",
UvTransform = { UvTransform = {
X = 0, X = 0,
Y = 0, Y = 0,
@@ -71,8 +71,8 @@
SpriteRendererComponent = { SpriteRendererComponent = {
Color = { Color = {
R = 1, R = 1,
G = 0.941887021, G = 0.941886961,
B = 0.401484489, B = 0.401484549,
A = 1 A = 1
}, },
Sprite = "", Sprite = "",
@@ -162,7 +162,7 @@
OrthographicHeight = 10, OrthographicHeight = 10,
OrthographicNearPlane = 0, OrthographicNearPlane = 0,
OrthographicFarPlane = 10, OrthographicFarPlane = 10,
AspectRatio = 2.05582929, AspectRatio = 0.884925187,
FixedAspectRatio = false FixedAspectRatio = false
}, },
ScriptComponent = { ScriptComponent = {
@@ -195,8 +195,8 @@
}, },
TransformComponent = { TransformComponent = {
Position = { Position = {
X = -0.121203206, X = -0.121203184,
Y = 0.660161078, Y = 0.660160959,
Z = 0 Z = 0
}, },
Rotation = { Rotation = {
@@ -234,12 +234,37 @@
ScriptComponent = { ScriptComponent = {
ScriptClass = "Sandbox.MyTestEntity", ScriptClass = "Sandbox.MyTestEntity",
Fields = [ Fields = [
_rigidBody = (Component)15710354273720487680, Bo = (Bool)false,
By = (Byte)0,
Us = (UShort)57,
Ui = (UInt)54,
Ul = (ULong)53,
Sb = (SByte)-128,
Sh = (Short)95,
In = (Int)-149,
Lo = (Long)82,
Fl = (Float)-98.122963,
Do = (Double)118,
V2 = (float2){
X = 11,
Y = 12
},
V3 = (float3){
X = 13,
Y = 14,
Z = 15
},
V4 = (float4){
X = 14,
Y = 17,
Z = 18,
W = 19
},
TheEntity = (Entity)0, TheEntity = (Entity)0,
JumpForce = (Float)200, JumpForce = (Float)200,
MoveForce = (Float)148, MoveForce = (Float)148,
MyNumber = (Int)22, MyNumber = (Int)22,
Camera = (Entity)1491484622542812645 MyDouble = (Double)23
] } ] }
}, },
{ {
@@ -276,7 +301,7 @@
Color = { Color = {
R = 0.985467017, R = 0.985467017,
G = 1, G = 1,
B = 0.569977939 B = 0.569978058
} }
} }
}, },
@@ -309,10 +334,10 @@
} }
}, },
MeshComponent = { MeshComponent = {
Mesh = "Assets/Models/sphere.glb" Mesh = "Models/sphere.glb"
}, },
MeshRendererComponent = { MeshRendererComponent = {
Material = "Assets/Textures/TestMaterial.mat" Material = "Textures/TestMaterial.mat"
} }
}, },
{ {
@@ -323,8 +348,8 @@
SpriteRendererComponent = { SpriteRendererComponent = {
Color = { Color = {
R = 0.425658971, R = 0.425658971,
G = 0.855207443, G = 0.855207562,
B = 0.0558161177, B = 0.0558161102,
A = 1 A = 1
}, },
Sprite = "", Sprite = "",
@@ -338,14 +363,14 @@
TransformComponent = { TransformComponent = {
Position = { Position = {
X = 6.74610233, X = 6.74610233,
Y = -2.03225946, Y = -2.03225899,
Z = 0 Z = 0
}, },
Rotation = { Rotation = {
X = 0, X = 0,
Y = 0, Y = 0,
Z = -0.331792623, Z = -0.331792623,
W = 0.94335258 W = 0.943352342
}, },
Scale = { Scale = {
X = 5.29557419, X = 5.29557419,
@@ -384,7 +409,7 @@
}, },
SpriteRendererComponent = { SpriteRendererComponent = {
Color = { Color = {
R = 0.666117013, R = 0.666116953,
G = 0.0600316115, G = 0.0600316115,
B = 1, B = 1,
A = 1 A = 1
@@ -399,8 +424,8 @@
}, },
TransformComponent = { TransformComponent = {
Position = { Position = {
X = 15.2321281, X = 15.2321301,
Y = -1.98709273, Y = -1.98709249,
Z = 0 Z = 0
}, },
Rotation = { Rotation = {
@@ -410,7 +435,7 @@
W = 0.990847468 W = 0.990847468
}, },
Scale = { Scale = {
X = 13.9764528, X = 13.9764566,
Y = 1, Y = 1,
Z = 1 Z = 1
}, },
@@ -446,7 +471,7 @@
}, },
SpriteRendererComponent = { SpriteRendererComponent = {
Color = { Color = {
R = 0.176544309, R = 0.176544324,
G = 0.666713238, G = 0.666713238,
B = 0.687030852, B = 0.687030852,
A = 1 A = 1
@@ -462,24 +487,24 @@
TransformComponent = { TransformComponent = {
Position = { Position = {
X = -6.27842855, X = -6.27842855,
Y = 2.62550163, Y = 2.62550211,
Z = 0 Z = 0
}, },
Rotation = { Rotation = {
X = 0, X = 0,
Y = 0, Y = 0,
Z = 0.187087879, Z = 0.187087834,
W = 0.982343197 W = 0.982343197
}, },
Scale = { Scale = {
X = 0.999999464, X = 0.999999523,
Y = 6.49634314, Y = 6.49634314,
Z = 1 Z = 1
}, },
EditorEulerRotation = { EditorEulerRotation = {
X = 0, X = 0,
Y = 0, Y = 0,
Z = 0.376393616 Z = 0.376393586
} }
}, },
Rigidbody2D = { Rigidbody2D = {
@@ -497,7 +522,7 @@
}, },
Density = 1, Density = 1,
Friction = 0.5, Friction = 0.5,
Restitution = 0.899999857, Restitution = 0.899999976,
RestitutionThreshold = 0.5 RestitutionThreshold = 0.5
} }
} }
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -1,5 +1,3 @@
// TODO: General pipeline for post processing effects
Texture2D Texture : register(t0); Texture2D Texture : register(t0);
SamplerState TextureSampler : register(s0); SamplerState TextureSampler : register(s0);
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}/* No reflection data for GlitchyEditor.Assets.EffectAssetLoaderConfig. Add [BonTarget] or force it */
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,111 @@
Texture2DArray Texture : register(t0);
SamplerState Sampler : register(s0);
Texture2DArray<int4> IntTexture : register(t1);
SamplerState IntSampler : register(s1);
Texture2DArray<uint4> UIntTexture : register(t2);
SamplerState UIntSampler : register(s2);
#define SWIZZLE_NONE 0
#define SWIZZLE_R 1
#define SWIZZLE_G 2
#define SWIZZLE_B 3
#define SWIZZLE_A 4
cbuffer Constants
{
float ColorOffset = 0.5;
float AlphaOffset = 0.0;
float ColorScale = 0.5;
float AlphaScale = 1.0;
float MipLevel = 0.0;
float ArraySlice = 0.0;
// 0: Float | 1: Int | 2: Uint
int Mode = 0;
int4 Swizzle = int4(SWIZZLE_R, SWIZZLE_G, SWIZZLE_B, SWIZZLE_A);
float2 Texels;
float4x4 WorldViewProjection;
}
struct VS_Input
{
float2 Position : POSITION;
float2 Texcoord : TEXCOORD0;
};
struct PS_Input
{
float4 Position : SV_Position;
float2 Texcoord : TEXCOORD0;
};
PS_Input VS(VS_Input input)
{
PS_Input output;
output.Position = mul(WorldViewProjection, float4(input.Position, 0.0f, 1.0f));
output.Texcoord = input.Texcoord;
return output;
}
void SwizzleColor(int swizzleMode, float4 colorToSwizzle, inout float output)
{
switch (swizzleMode)
{
case SWIZZLE_R:
output = colorToSwizzle.r;
break;
case SWIZZLE_G:
output = colorToSwizzle.g;
break;
case SWIZZLE_B:
output = colorToSwizzle.b;
break;
case SWIZZLE_A:
output = colorToSwizzle.a;
break;
default:
break;
}
}
float4 PS(PS_Input input) : SV_Target0
{
float4 outputColor;
if (Mode == 0)
{
//float4 color = Texture.SampleLevel(Sampler, float3(input.Texcoord, ArraySlice), MipLevel);
// Quasi next neighbor
float4 color = Texture.Load(int4(input.Texcoord * Texels, ArraySlice, MipLevel));
outputColor = float4(ColorOffset.xxx, AlphaOffset) + color * float4(ColorScale.xxx, AlphaScale);
}
else if (Mode == 1)
{
int4 color = IntTexture.Load(int4(input.Texcoord * Texels, ArraySlice, MipLevel));
outputColor = float4(ColorOffset.xxx, AlphaOffset) + color * float4(ColorScale.xxx, AlphaScale);
}
else if (Mode == 2)
{
uint4 color = UIntTexture.Load(int4(input.Texcoord * Texels, ArraySlice, MipLevel));
outputColor = float4(ColorOffset.xxx, AlphaOffset) + color * float4(ColorScale.xxx, AlphaScale);
}
float4 swizzledOutput = float4(0, 0, 0, 1);
SwizzleColor(Swizzle.r, outputColor, swizzledOutput.r);
SwizzleColor(Swizzle.g, outputColor, swizzledOutput.g);
SwizzleColor(Swizzle.b, outputColor, swizzledOutput.b);
SwizzleColor(Swizzle.a, outputColor, swizzledOutput.a);
return swizzledOutput;
}
#pragma Effect[VS=VS; PS=PS]
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}/* No reflection data for GlitchyEditor.Assets.EffectAssetLoaderConfig. Add [BonTarget] or force it */
}
@@ -72,7 +72,7 @@ float3x3 ConstructTangentSpace(float3 normal, float3 tangent, float3 sigma)
*/ */
float ColorToLuminance(float3 rgb) float ColorToLuminance(float3 rgb)
{ {
return dot(rgb, float3(0.212639,0.715169,0.072192)); return rgb.r * 0.212639 + rgb.g * 0.715169 + rgb.b * 0.072192;
} }
/** /**
@@ -87,15 +87,4 @@ float GetBitangentHandedness(float tangentz)
return (z & 1) > 0 ? 1.0 : -1.0; return (z & 1) > 0 ? 1.0 : -1.0;
} }
/**
* Transforms the given texture coordinates using the provided UV transform.
* @param texcoords The texture coordinates to transform.
* @param uvTransform the UV transform. X, Y: UV offset | Z, W: UV scaling.
* @return The transformed uv coordinates.
*/
float2 TransformTexcoords(float2 texcoords, float4 uvTransform)
{
return uvTransform.xy + uvTransform.zw * texcoords;
}
#endif // __SHADER_HELPERS_HLSL__ #endif // __SHADER_HELPERS_HLSL__
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}/* No reflection data for GlitchyEditor.Assets.EffectAssetLoaderConfig. Add [BonTarget] or force it */
}
@@ -0,0 +1,93 @@
Texture2D<float3> Texture : register(t0);
SamplerState Sampler : register(s0);
cbuffer Constants
{
float4x4 ViewProjection;
float2 UnitRange;
float screenPixelRange = 2;
}
struct VS_Input
{
float2 Position : POSITION;
float2 Texcoord : TEXCOORD0;
float4x4 Tranform : TRANSFORM;
float4 Color : COLOR;
float4 UVTransform : TEXCOORD1;
};
struct PS_Input
{
float4 Position : SV_Position;
float2 TexCoord : TEXCOORD0;
float4 Color : COLOR;
};
PS_Input VS(VS_Input input)
{
PS_Input output;
output.Position = mul(ViewProjection, mul(input.Tranform, float4(input.Position, 0.0f, 1.0f)));
output.TexCoord = input.UVTransform.xy + input.UVTransform.zw * input.Texcoord;
output.Color = input.Color;
return output;
}
/*
in vec2 texCoord;
out vec4 color;
uniform sampler2D msdf;
uniform vec4 bgColor;
uniform vec4 fgColor;
float median(float r, float g, float b) {
return max(min(r, g), min(max(r, g), b));
}
void main() {
vec3 msd = texture(msdf, texCoord).rgb;
float sd = median(msd.r, msd.g, msd.b);
float screenPxDistance = screenPxRange()*(sd - 0.5);
float opacity = clamp(screenPxDistance + 0.5, 0.0, 1.0);
color = mix(bgColor, fgColor, opacity);
}
*/
float median(float r, float g, float b)
{
return max(min(r, g), min(max(r, g), b));
}
float ScreenPxRange(float2 texcoord)
{
float2 screenTexSize = 1.0f / fwidth(texcoord);
return max(0.5f * dot(UnitRange, screenTexSize), 1.0f);
}
float4 PS(PS_Input input) : SV_Target0
{
float3 msd = Texture.Sample(Sampler, input.TexCoord);
float sd = median(msd.r, msd.g, msd.b);
float screenPxDistance = ScreenPxRange(input.TexCoord) * (sd - 0.5);
float opacity = clamp(screenPxDistance + 0.5, 0.0, 1.0);
return float4(input.Color.rgb, opacity * input.Color.a);
}
/*
// 2D
float4 PS(PS_Input input) : SV_Target0
{
float3 msd = Texture.Sample(Sampler, input.TexCoord).rgb;
float sd = median(msd.r, msd.g, msd.b);
float screenPxDistance = screenPixelRange*(sd - 0.5);
float opacity = clamp(screenPxDistance + 0.5, 0.0, 1.0);
return float4(input.Color.rgb, opacity * input.Color.a);
}
*/
#pragma Effect[VS=VS; PS=PS]
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -1,17 +1,41 @@
#define EDITOR #define EDITOR
#include "GlitchyEngine2D.hlsl"
#include "ShaderHelpers.hlsl"
Texture2D Texture : register(t0); Texture2D Texture : register(t0);
SamplerState Sampler : register(s0); SamplerState Sampler : register(s0);
VS_Output VS(VS_Input input) cbuffer Constants : register(b0)
{ {
VS_Output output; float4x4 ViewProjection;
};
struct VS_Input
{
float2 Position : POSITION;
float2 Texcoord : TEXCOORD0;
float4x4 Transform : TRANSFORM;
float4 Color : COLOR;
float4 UVTransform : TEXCOORD1;
#ifdef EDITOR
uint EntityId : ENTITYID;
#endif
};
struct PS_Input
{
float4 Position : SV_Position;
float2 Texcoord : TEXCOORD;
float4 Color : COLOR;
#ifdef EDITOR
nointerpolation uint EntityId : ENTITYID;
#endif
};
PS_Input VS(VS_Input input)
{
PS_Input output;
output.Position = mul(ViewProjection, mul(input.Transform, float4(input.Position, 0.0f, 1.0f))); output.Position = mul(ViewProjection, mul(input.Transform, float4(input.Position, 0.0f, 1.0f)));
output.Texcoord = TransformTexcoords(input.Texcoord, input.UVTransform); output.Texcoord = input.UVTransform.xy + input.UVTransform.zw * input.Texcoord;
output.Color = input.Color; output.Color = input.Color;
// Premultiply Alpha // Premultiply Alpha
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}
@@ -0,0 +1,4 @@
{
AssetLoader = "EffectAssetLoader",
Config = (GlitchyEditor.Assets.EffectAssetLoaderConfig){}
}

Before

Width:  |  Height:  |  Size: 119 B

After

Width:  |  Height:  |  Size: 119 B

@@ -9,8 +9,8 @@
AddressModeU = .Clamp, AddressModeU = .Clamp,
AddressModeV = .Clamp, AddressModeV = .Clamp,
AddressModeW = .Clamp, AddressModeW = .Clamp,
MipMinLOD = -3.40282347e+38, MipMinLOD = -340282346638528859811704183484516925440,
MipMaxLOD = 3.40282347e+38, MipMaxLOD = 340282346638528859811704183484516925440,
MaxAnisotropy = 1, MaxAnisotropy = 1,
BorderColor = { BorderColor = {
R = 1, R = 1,
@@ -19,6 +19,5 @@
A = 1 A = 1
} }
} }
}, }
AssetHandle = 13149961070100324290
} }
Binary file not shown.
@@ -9,8 +9,8 @@
AddressModeU = .Clamp, AddressModeU = .Clamp,
AddressModeV = .Clamp, AddressModeV = .Clamp,
AddressModeW = .Clamp, AddressModeW = .Clamp,
MipMinLOD = -3.40282347e+38, MipMinLOD = -340282346638528859811704183484516925440,
MipMaxLOD = 3.40282347e+38, MipMaxLOD = 340282346638528859811704183484516925440,
MaxAnisotropy = 1, MaxAnisotropy = 1,
BorderColor = { BorderColor = {
R = 1, R = 1,
@@ -19,6 +19,5 @@
A = 1 A = 1
} }
} }
}, }
AssetHandle = 13527693616095745667
} }
Binary file not shown.
@@ -0,0 +1,31 @@
{
Effect = "Shaders/myEffect.hlsl",
Textures = [
"AlbedoTexture": "Textures/rocket.png",
"NormalTexture": "Textures/TestMat/rustediron2_normal.png",
"MetallicTexture": "Textures/TestMat/rustediron2_metallic.png",
"RoughnessTexture": "Textures/TestMat/rustediron2_roughness.png"
],
Variables = [
"AlbedoColor": .ColorRGBA{
Value = {
R = 1,
G = 1,
B = 1,
A = 1
}
},
"NormalScaling": .Float2{
Value = {
X = 1,
Y = 1
}
},
"MetallicFactor": .Float{
Value = 0
},
"RoughnessFactor": .Float{
Value = 1
}
]
}
@@ -1,5 +1,4 @@
{ {
AssetLoader = "MaterialAssetLoader", AssetLoader = "MaterialAssetLoader",
Config = (GlitchyEditor.Assets.ModelAssetLoaderConfig){}/* No reflection data for GlitchyEditor.Assets.ModelAssetLoaderConfig. Add [BonTarget] or force it */, Config = (GlitchyEditor.Assets.ModelAssetLoaderConfig){}/* No reflection data for GlitchyEditor.Assets.ModelAssetLoaderConfig. Add [BonTarget] or force it */
AssetHandle = 8829406607210635133
} }

Before

Width:  |  Height:  |  Size: 119 B

After

Width:  |  Height:  |  Size: 119 B

@@ -9,8 +9,8 @@
AddressModeU = .Clamp, AddressModeU = .Clamp,
AddressModeV = .Clamp, AddressModeV = .Clamp,
AddressModeW = .Clamp, AddressModeW = .Clamp,
MipMinLOD = -3.40282347e+38, MipMinLOD = -340282346638528859811704183484516925440,
MipMaxLOD = 3.40282347e+38, MipMaxLOD = 340282346638528859811704183484516925440,
MaxAnisotropy = 1, MaxAnisotropy = 1,
BorderColor = { BorderColor = {
R = 1, R = 1,
@@ -19,6 +19,5 @@
A = 1 A = 1
} }
} }
}, }
AssetHandle = 5558090951492679375
} }

Before

Width:  |  Height:  |  Size: 10 MiB

After

Width:  |  Height:  |  Size: 10 MiB

@@ -0,0 +1,27 @@
{
AssetLoader = "EditorTextureAssetLoader",
Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){
_generateMipMaps = true,
_isSrgb = true,
_samplerStateDescription = {
MinFilter = .Anisotropic,
MagFilter = .Anisotropic,
MipFilter = .Anisotropic,
FilterMode = .Default,
ComparisonFunction = .Never,
AddressModeU = .Wrap,
AddressModeV = .Wrap,
AddressModeW = .Wrap,
MipLODBias = 0,
MipMinLOD = 0,
MipMaxLOD = 3,
MaxAnisotropy = 16,
BorderColor = {
R = 1,
G = 1,
B = 1,
A = 1
}
}
}
}

Before

Width:  |  Height:  |  Size: 3.3 MiB

After

Width:  |  Height:  |  Size: 3.3 MiB

@@ -0,0 +1,23 @@
{
AssetLoader = "EditorTextureAssetLoader",
Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){
_samplerStateDescription = {
MinFilter = .Anisotropic,
MagFilter = .Anisotropic,
MipFilter = .Anisotropic,
ComparisonFunction = .Never,
AddressModeU = .Wrap,
AddressModeV = .Wrap,
AddressModeW = .Clamp,
MipMinLOD = -Infinity,
MipMaxLOD = Infinity,
MaxAnisotropy = 1,
BorderColor = {
R = 1,
G = 1,
B = 1,
A = 1
}
}
}
}

Before

Width:  |  Height:  |  Size: 7.4 MiB

After

Width:  |  Height:  |  Size: 7.4 MiB

@@ -1,16 +1,20 @@
{ {
AssetLoader = "EditorTextureAssetLoader", AssetLoader = "EditorTextureAssetLoader",
Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){ Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){
_generateMipMaps = false,
_isSrgb = false,
_samplerStateDescription = { _samplerStateDescription = {
MinFilter = .Linear, MinFilter = .Linear,
MagFilter = .Linear, MagFilter = .Linear,
MipFilter = .Linear, MipFilter = .Linear,
FilterMode = .Default,
ComparisonFunction = .Never, ComparisonFunction = .Never,
AddressModeU = .Clamp, AddressModeU = .Wrap,
AddressModeV = .Clamp, AddressModeV = .Wrap,
AddressModeW = .Clamp, AddressModeW = .Clamp,
MipMinLOD = -3.40282347e+38, MipLODBias = 2.5999999,
MipMaxLOD = 3.40282347e+38, MipMinLOD = -Infinity,
MipMaxLOD = Infinity,
MaxAnisotropy = 1, MaxAnisotropy = 1,
BorderColor = { BorderColor = {
R = 1, R = 1,
@@ -19,6 +23,5 @@
A = 1 A = 1
} }
} }
}, }
AssetHandle = 15822842502398518390
} }

Before

Width:  |  Height:  |  Size: 3.0 MiB

After

Width:  |  Height:  |  Size: 3.0 MiB

@@ -1,14 +1,18 @@
{ {
AssetLoader = "EditorTextureAssetLoader", AssetLoader = "EditorTextureAssetLoader",
Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){ Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){
_generateMipMaps = false,
_isSrgb = true,
_samplerStateDescription = { _samplerStateDescription = {
MinFilter = .Linear, MinFilter = .Linear,
MagFilter = .Linear, MagFilter = .Linear,
MipFilter = .Linear, MipFilter = .Linear,
FilterMode = .Default,
ComparisonFunction = .Never, ComparisonFunction = .Never,
AddressModeU = .Clamp, AddressModeU = .Wrap,
AddressModeV = .Clamp, AddressModeV = .Wrap,
AddressModeW = .Clamp, AddressModeW = .Clamp,
MipLODBias = 0,
MipMinLOD = -3.40282347e+38, MipMinLOD = -3.40282347e+38,
MipMaxLOD = 3.40282347e+38, MipMaxLOD = 3.40282347e+38,
MaxAnisotropy = 1, MaxAnisotropy = 1,
@@ -19,6 +23,5 @@
A = 1 A = 1
} }
} }
}, }
AssetHandle = 4141437666158293647
} }
@@ -1,11 +1,11 @@
{ {
Effect = "Resources/Shaders/myEffect.hlsl", Effect = "Shaders/myEffect.hlsl",
Textures = [ Textures = [
"AlbedoTexture": "Assets/Textures/TestMat/rustediron2_albedo.png", "AlbedoTexture": "Textures/TestMat/rustediron2_albedo.png",
"NormalTexture": "Assets/Textures/TestMat/rustediron2_normal.png", "NormalTexture": "Textures/TestMat/rustediron2_normal.png",
"MetallicTexture": "Assets/Textures/TestMat/rustediron2_metallic.png", "MetallicTexture": "Textures/TestMat/rustediron2_metallic.png",
"RoughnessTexture": "Assets/Textures/TestMat/rustediron2_roughness.png", "RoughnessTexture": "Textures/TestMat/rustediron2_roughness.png",
"EmissiveTexture": "Assets/Textures/rocket.png" "EmissiveTexture": "Textures/rocket.png"
], ],
Variables = [ Variables = [
"AlbedoColor": .ColorRGBA{ "AlbedoColor": .ColorRGBA{
@@ -0,0 +1,4 @@
{
AssetLoader = "MaterialAssetLoader",
Config = (GlitchyEditor.Assets.ModelAssetLoaderConfig){}
}

Before

Width:  |  Height:  |  Size: 119 B

After

Width:  |  Height:  |  Size: 119 B

@@ -9,8 +9,8 @@
AddressModeU = .Clamp, AddressModeU = .Clamp,
AddressModeV = .Clamp, AddressModeV = .Clamp,
AddressModeW = .Clamp, AddressModeW = .Clamp,
MipMinLOD = -3.40282347e+38, MipMinLOD = -340282346638528859811704183484516925440,
MipMaxLOD = 3.40282347e+38, MipMaxLOD = 340282346638528859811704183484516925440,
MaxAnisotropy = 1, MaxAnisotropy = 1,
BorderColor = { BorderColor = {
R = 1, R = 1,
@@ -19,6 +19,5 @@
A = 1 A = 1
} }
} }
}, }
AssetHandle = 14357509390762845070
} }
@@ -1,6 +1,7 @@
{ {
AssetLoader = "EditorTextureAssetLoader", AssetLoader = "EditorTextureAssetLoader",
Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){ Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){
_isSrgb = true,
_samplerStateDescription = { _samplerStateDescription = {
MinFilter = .Linear, MinFilter = .Linear,
MagFilter = .Linear, MagFilter = .Linear,
@@ -19,6 +20,5 @@
A = 1 A = 1
} }
} }
}, }
AssetHandle = 5635535744559587375
} }

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 258 B

@@ -1,16 +1,15 @@
{ {
AssetLoader = "EditorTextureAssetLoader", AssetLoader = "EditorTextureAssetLoader",
Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){ Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){
_isSrgb = true,
_samplerStateDescription = { _samplerStateDescription = {
MinFilter = .Linear, MinFilter = .Linear,
MagFilter = .Linear,
MipFilter = .Linear,
ComparisonFunction = .Never, ComparisonFunction = .Never,
AddressModeU = .Clamp, AddressModeU = .Clamp,
AddressModeV = .Clamp, AddressModeV = .Clamp,
AddressModeW = .Clamp, AddressModeW = .Clamp,
MipMinLOD = -3.40282347e+38, MipMinLOD = -340282346638528859811704183484516925440,
MipMaxLOD = 3.40282347e+38, MipMaxLOD = 340282346638528859811704183484516925440,
MaxAnisotropy = 1, MaxAnisotropy = 1,
BorderColor = { BorderColor = {
R = 1, R = 1,
@@ -19,6 +18,5 @@
A = 1 A = 1
} }
} }
}, }
AssetHandle = 8153940681327484189
} }
@@ -1,6 +1,7 @@
{ {
AssetLoader = "EditorTextureAssetLoader", AssetLoader = "EditorTextureAssetLoader",
Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){ Config = (GlitchyEditor.Assets.EditorTextureAssetLoaderConfig){
_isSrgb = true,
_samplerStateDescription = { _samplerStateDescription = {
MinFilter = .Linear, MinFilter = .Linear,
MagFilter = .Linear, MagFilter = .Linear,
@@ -9,8 +10,8 @@
AddressModeU = .Clamp, AddressModeU = .Clamp,
AddressModeV = .Clamp, AddressModeV = .Clamp,
AddressModeW = .Clamp, AddressModeW = .Clamp,
MipMinLOD = -3.40282347e+38, MipMinLOD = -Infinity,
MipMaxLOD = 3.40282347e+38, MipMaxLOD = Infinity,
MaxAnisotropy = 1, MaxAnisotropy = 1,
BorderColor = { BorderColor = {
R = 1, R = 1,
@@ -19,6 +20,5 @@
A = 1 A = 1
} }
} }
}, }
AssetHandle = 5889819840498959425
} }
@@ -1,11 +0,0 @@
{
AssetLoader = null,
Config = null,
Importer = null,
ImporterConfig = null,
Processor = null,
ProcessorConfig = null,
Exporter = null,
ExporterConfig = null,
AssetHandle = 9434890118063137951
}
@@ -1,5 +0,0 @@
{
Effect = 7757902626263730438,
Textures = [],
Constants = []
}
@@ -1,13 +0,0 @@
{
AssetLoader = null,
Config = null,
Importer = "MaterialImporter",
ImporterConfig = null,
Processor = null,
ProcessorConfig = null,
Exporter = null,
ExporterConfig = {
_compression = .None
},
AssetHandle = 14657247797693923776
}
@@ -1,5 +0,0 @@
{
Effect = 2172704887168568810,
Textures = [],
Constants = []
}

Some files were not shown because too many files have changed in this diff Show More