Drag Texture

This commit is contained in:
Simon Lübeß
2022-07-26 08:00:17 +02:00
parent bff4418b84
commit 8495c6db28
3 changed files with 26 additions and 1 deletions
@@ -250,6 +250,30 @@ namespace GlitchyEditor.EditWindows
ColorRGBA spriteColor = ColorRGBA.LinearToSRGB(spriteRendererComponent.Color); ColorRGBA spriteColor = ColorRGBA.LinearToSRGB(spriteRendererComponent.Color);
if (ImGui.ColorEdit4("Color", ref spriteColor)) if (ImGui.ColorEdit4("Color", ref spriteColor))
spriteRendererComponent.Color = ColorRGBA.SRgbToLinear(spriteColor); spriteRendererComponent.Color = ColorRGBA.SRgbToLinear(spriteColor);
ImGui.Button("Texture");
if (ImGui.BeginDragDropTarget())
{
ImGui.Payload* payload = ImGui.AcceptDragDropPayload("CONTENT_BROWSER_ITEM");
if (payload != null)
{
Log.EngineLogger.Warning("");
StringView path = .((char8*)payload.Data, (int)payload.DataSize);
Texture2D texture = new Texture2D(path, true);
spriteRendererComponent.Sprite?.ReleaseRef();
spriteRendererComponent.Sprite = texture;
}
ImGui.EndDragDropTarget();
}
ImGui.EditVector<4>("UV Transform", ref *(float[4]*)&spriteRendererComponent.UvTransform);
} }
private static void ShowMeshRendererComponentEditor(Entity entity, MeshRendererComponent* meshRendererComponent) private static void ShowMeshRendererComponentEditor(Entity entity, MeshRendererComponent* meshRendererComponent)
+1 -1
View File
@@ -873,7 +873,7 @@ namespace GlitchyEngine.Renderer
public static void DrawSprite(Matrix transform, SpriterRendererComponent* spriteRenderer, uint32 entityId) public static void DrawSprite(Matrix transform, SpriterRendererComponent* spriteRenderer, uint32 entityId)
{ {
DrawQuad(transform, spriteRenderer.Sprite ?? s_whiteTexture, spriteRenderer.Color, .(0, 0, 1, 1), entityId); DrawQuad(transform, spriteRenderer.Sprite ?? s_whiteTexture, spriteRenderer.Color, spriteRenderer.UvTransform, entityId);
} }
// Textured quad pivot // Textured quad pivot
+1
View File
@@ -30,6 +30,7 @@ namespace GlitchyEngine.World
{ {
public Texture2D Sprite = null; public Texture2D Sprite = null;
public ColorRGBA Color = .White; public ColorRGBA Color = .White;
public Vector4 UvTransform = .(0, 0, 1, 1);
public this() public this()
{ {