diff --git a/GlitchyEditor/src/EditWindows/ComponentEditWindow.bf b/GlitchyEditor/src/EditWindows/ComponentEditWindow.bf index 2182910..5dab291 100644 --- a/GlitchyEditor/src/EditWindows/ComponentEditWindow.bf +++ b/GlitchyEditor/src/EditWindows/ComponentEditWindow.bf @@ -39,6 +39,7 @@ namespace GlitchyEditor.EditWindows ShowNameComponentEditor(entity); ShowTransformComponentEditor(entity); ShowCameraComponentEditor(entity); + ShowSpriteRendererComponentEditor(entity); } private static void ShowNameComponentEditor(Entity entity) @@ -279,5 +280,20 @@ namespace GlitchyEditor.EditWindows ImGui.TreePop(); } } + + private static void ShowSpriteRendererComponentEditor(Entity entity) + { + if (!entity.HasComponent()) + return; + + var spriterRendererComponent = entity.GetComponent(); + + if(ImGui.TreeNodeEx("Sprite Renderer", .DefaultOpen)) + { + ImGui.ColorEdit4("Color", ref spriterRendererComponent.Color); + + ImGui.TreePop(); + } + } } } diff --git a/GlitchyEditor/src/EditorLayer.bf b/GlitchyEditor/src/EditorLayer.bf index 12f401b..635c3a9 100644 --- a/GlitchyEditor/src/EditorLayer.bf +++ b/GlitchyEditor/src/EditorLayer.bf @@ -15,10 +15,11 @@ namespace GlitchyEditor RasterizerState _rasterizerState ~ _?.ReleaseRef(); RasterizerState _rasterizerStateClockWise ~ _?.ReleaseRef(); - GraphicsContext _context ~ _?.ReleaseRef(); + GraphicsContext _context ~ _.ReleaseRef(); - BlendState _alphaBlendState ~ _?.ReleaseRef(); - BlendState _opaqueBlendState ~ _?.ReleaseRef(); + BlendState _alphaBlendState ~ _.ReleaseRef(); + BlendState _opaqueBlendState ~ _.ReleaseRef(); + DepthStencilState _depthStencilState ~ _.ReleaseRef(); Scene _scene = new Scene() ~ delete _; @@ -116,6 +117,9 @@ namespace GlitchyEditor _alphaBlendState = new BlendState(blendDesc); _opaqueBlendState = new BlendState(.Default); + DepthStencilStateDescription dsDesc = .(); + _depthStencilState = new DepthStencilState(dsDesc); + _viewportTarget = new RenderTarget2D(RenderTarget2DDescription(.R8G8B8A8_UNorm, 100, 100) {DepthStencilFormat = .D32_Float}); _viewportTarget.SamplerState = SamplerStateManager.LinearClamp; } @@ -143,12 +147,13 @@ namespace GlitchyEditor RenderCommand.Clear(_viewportTarget, .Color | .Depth, .(0.2f, 0.2f, 0.2f), 1.0f, 0); - RenderCommand.SetRenderTarget(_viewportTarget); + RenderCommand.SetRenderTarget(_viewportTarget, 0, true); RenderCommand.BindRenderTargets(); RenderCommand.SetViewport(Viewport(0, 0, _viewportTarget.Width, _viewportTarget.Height)); - RenderCommand.SetBlendState(_opaqueBlendState); + RenderCommand.SetBlendState(_alphaBlendState); + RenderCommand.SetDepthStencilState(_depthStencilState); //Renderer.BeginScene(_cameraController.Camera); @@ -160,7 +165,7 @@ namespace GlitchyEditor RenderCommand.Clear(null, .Color | .Depth, .(0.2f, 0.2f, 0.2f), 1.0f, 0); - RenderCommand.SetRenderTarget(null); + RenderCommand.SetRenderTarget(null, 0, true); RenderCommand.BindRenderTargets(); RenderCommand.SetViewport(_context.SwapChain.BackbufferViewport); diff --git a/GlitchyEngine/src/World/Scene.bf b/GlitchyEngine/src/World/Scene.bf index 5beb249..546c68a 100644 --- a/GlitchyEngine/src/World/Scene.bf +++ b/GlitchyEngine/src/World/Scene.bf @@ -12,8 +12,11 @@ namespace GlitchyEngine.World public this() { - Entity entity = CreateEntity(); + Entity entity = CreateEntity("Green Quad"); entity.AddComponent(.(ColorRGBA(0.2f, 0.9f, 0.15f))); + + Entity entity2 = CreateEntity("Red Square"); + entity2.AddComponent(.(ColorRGBA(0.95f, 0.1f, 0.3f))); } public ~this()