From 3918e93d729a83451f5fd304c66fc4de1b4aa914 Mon Sep 17 00:00:00 2001 From: thatmidcoder393 <73651803+ThatMG393@users.noreply.github.com> Date: Fri, 17 Jan 2025 11:10:21 +0000 Subject: [PATCH] Framebuffer (got lazy) --- .../thatmg393/legacyvkm/breeze3d/VDrawer.java | 5 -- .../legacyvkm/breeze3d/VRenderer.java | 11 ---- .../legacyvkm/breeze3d/image/VTexture.java | 63 ------------------- .../legacyvkm/breeze3d/passes/RenderPass.java | 5 -- .../legacyvkm/mixins/gl/FramebufferM.java | 20 ++++++ .../legacyvkm/mixins/{render => gl}/GLXM.java | 7 ++- .../{render => gl}/GlStateManagerM.java | 2 +- .../mixins/render/chunks/TessellatorM.java | 10 +++ .../mixins/render/world/WorldRendererM.java | 14 +++++ .../vulkan/framebuffer/Framebuffer.java | 25 ++++++++ 10 files changed, 76 insertions(+), 86 deletions(-) delete mode 100644 src/main/java/com/thatmg393/legacyvkm/breeze3d/VDrawer.java delete mode 100644 src/main/java/com/thatmg393/legacyvkm/breeze3d/VRenderer.java delete mode 100644 src/main/java/com/thatmg393/legacyvkm/breeze3d/image/VTexture.java delete mode 100644 src/main/java/com/thatmg393/legacyvkm/breeze3d/passes/RenderPass.java create mode 100644 src/main/java/com/thatmg393/legacyvkm/mixins/gl/FramebufferM.java rename src/main/java/com/thatmg393/legacyvkm/mixins/{render => gl}/GLXM.java (73%) rename src/main/java/com/thatmg393/legacyvkm/mixins/{render => gl}/GlStateManagerM.java (94%) create mode 100644 src/main/java/com/thatmg393/legacyvkm/mixins/render/chunks/TessellatorM.java create mode 100644 src/main/java/com/thatmg393/legacyvkm/mixins/render/world/WorldRendererM.java create mode 100644 src/main/java/com/thatmg393/vulkan/framebuffer/Framebuffer.java diff --git a/src/main/java/com/thatmg393/legacyvkm/breeze3d/VDrawer.java b/src/main/java/com/thatmg393/legacyvkm/breeze3d/VDrawer.java deleted file mode 100644 index 4a1242f..0000000 --- a/src/main/java/com/thatmg393/legacyvkm/breeze3d/VDrawer.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.thatmg393.legacyvkm.breeze3d; - -public class VDrawer { -} - diff --git a/src/main/java/com/thatmg393/legacyvkm/breeze3d/VRenderer.java b/src/main/java/com/thatmg393/legacyvkm/breeze3d/VRenderer.java deleted file mode 100644 index a37728a..0000000 --- a/src/main/java/com/thatmg393/legacyvkm/breeze3d/VRenderer.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.thatmg393.legacyvkm.breeze3d; - -public class VRenderer { - public void begin() { - - } - - public void end() { - - } -} diff --git a/src/main/java/com/thatmg393/legacyvkm/breeze3d/image/VTexture.java b/src/main/java/com/thatmg393/legacyvkm/breeze3d/image/VTexture.java deleted file mode 100644 index cf96f71..0000000 --- a/src/main/java/com/thatmg393/legacyvkm/breeze3d/image/VTexture.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.thatmg393.legacyvkm.breeze3d.image; - -import static org.lwjgl.vulkan.VK10.*; - -import java.nio.LongBuffer; - -import org.lwjgl.system.MemoryStack; -import org.lwjgl.vulkan.VkImageViewCreateInfo; - -import com.thatmg393.vulkan.gpu.GPUManager; -import com.thatmg393.vulkan.image.base.BaseImage; -import com.thatmg393.vulkan.utils.ResultChecker; - -import lombok.Getter; -import lombok.experimental.SuperBuilder; - -public class VTexture extends BaseImage { - @Getter - private long mainImageView; - - public VTexture(VTexture.Builder builder) { - super(builder); - } - - @Override - protected void initImage() { - super.initImage(); - - try (MemoryStack stack = MemoryStack.stackPush()) { - - VkImageViewCreateInfo vivci = VkImageViewCreateInfo.calloc(stack); - vivci.sType(VK_STRUCTURE_TYPE_IMAGE_VIEW_CREATE_INFO); - vivci.viewType(VK_IMAGE_VIEW_TYPE_2D); - vivci.image(getId()); - vivci.format(getBuilder().getFormat()); - vivci.subresourceRange(v -> { - v.aspectMask(getAspectFlags()); - v.baseMipLevel(getBuilder().getBaseMipLevel()); - v.levelCount(getBuilder().getMipLevels()); - v.baseArrayLayer(0); - v.layerCount(1); - }); - - LongBuffer imageView = stack.mallocLong(1); - - ResultChecker.checkResult( - vkCreateImageView( - GPUManager.getInstance().getSelectedGPU().asLogicalDevice(), - vivci, null, imageView - ), - "Failed to create image view." - ); - - mainImageView = imageView.get(0); - } - } - - @Getter - @SuperBuilder(builderMethodName = "internalBuilder", toBuilder = true, setterPrefix = "set", buildMethodName = "buildVulkanImage") - public static class Builder extends BaseImage.Builder { - @lombok.Builder.Default private int baseMipLevel = 0; - } -} diff --git a/src/main/java/com/thatmg393/legacyvkm/breeze3d/passes/RenderPass.java b/src/main/java/com/thatmg393/legacyvkm/breeze3d/passes/RenderPass.java deleted file mode 100644 index 23623fc..0000000 --- a/src/main/java/com/thatmg393/legacyvkm/breeze3d/passes/RenderPass.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.thatmg393.legacyvkm.breeze3d.passes; - -public class RenderPass { - -} diff --git a/src/main/java/com/thatmg393/legacyvkm/mixins/gl/FramebufferM.java b/src/main/java/com/thatmg393/legacyvkm/mixins/gl/FramebufferM.java new file mode 100644 index 0000000..041679a --- /dev/null +++ b/src/main/java/com/thatmg393/legacyvkm/mixins/gl/FramebufferM.java @@ -0,0 +1,20 @@ +package com.thatmg393.legacyvkm.mixins.gl; + +import org.spongepowered.asm.mixin.*; + +import net.minecraft.client.gl.Framebuffer; + +@Mixin(Framebuffer.class) +public class FramebufferM { + @Overwrite + public void bind(boolean viewport) { } + + @Overwrite + public void unbind() { } + + @Overwrite + public void drawInternal(int width, int height, boolean color) { } + + @Overwrite + public void clear() { } +} diff --git a/src/main/java/com/thatmg393/legacyvkm/mixins/render/GLXM.java b/src/main/java/com/thatmg393/legacyvkm/mixins/gl/GLXM.java similarity index 73% rename from src/main/java/com/thatmg393/legacyvkm/mixins/render/GLXM.java rename to src/main/java/com/thatmg393/legacyvkm/mixins/gl/GLXM.java index 4760321..34f9878 100644 --- a/src/main/java/com/thatmg393/legacyvkm/mixins/render/GLXM.java +++ b/src/main/java/com/thatmg393/legacyvkm/mixins/gl/GLXM.java @@ -1,4 +1,4 @@ -package com.thatmg393.legacyvkm.mixins.render; +package com.thatmg393.legacyvkm.mixins.gl; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; @@ -12,4 +12,9 @@ public class GLXM { public static void createContext() { LegacyVulkanMod.LOGGER.info("GL Capabilities all max!!"); } + + @Overwrite + public static boolean supportsFbo() { + return true; + } } diff --git a/src/main/java/com/thatmg393/legacyvkm/mixins/render/GlStateManagerM.java b/src/main/java/com/thatmg393/legacyvkm/mixins/gl/GlStateManagerM.java similarity index 94% rename from src/main/java/com/thatmg393/legacyvkm/mixins/render/GlStateManagerM.java rename to src/main/java/com/thatmg393/legacyvkm/mixins/gl/GlStateManagerM.java index be07400..ddb96a7 100644 --- a/src/main/java/com/thatmg393/legacyvkm/mixins/render/GlStateManagerM.java +++ b/src/main/java/com/thatmg393/legacyvkm/mixins/gl/GlStateManagerM.java @@ -1,4 +1,4 @@ -package com.thatmg393.legacyvkm.mixins.render; +package com.thatmg393.legacyvkm.mixins.gl; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; diff --git a/src/main/java/com/thatmg393/legacyvkm/mixins/render/chunks/TessellatorM.java b/src/main/java/com/thatmg393/legacyvkm/mixins/render/chunks/TessellatorM.java new file mode 100644 index 0000000..2f7b344 --- /dev/null +++ b/src/main/java/com/thatmg393/legacyvkm/mixins/render/chunks/TessellatorM.java @@ -0,0 +1,10 @@ +package com.thatmg393.legacyvkm.mixins.render.chunks; + +import org.spongepowered.asm.mixin.Mixin; + +import net.minecraft.client.render.Tessellator; + +@Mixin(Tessellator.class) +public class TessellatorM { + +} \ No newline at end of file diff --git a/src/main/java/com/thatmg393/legacyvkm/mixins/render/world/WorldRendererM.java b/src/main/java/com/thatmg393/legacyvkm/mixins/render/world/WorldRendererM.java new file mode 100644 index 0000000..d8d8096 --- /dev/null +++ b/src/main/java/com/thatmg393/legacyvkm/mixins/render/world/WorldRendererM.java @@ -0,0 +1,14 @@ +package com.thatmg393.legacyvkm.mixins.render.world; + +import org.spongepowered.asm.mixin.*; + +import net.minecraft.client.render.WorldRenderer; + +@Mixin(WorldRenderer.class) +@SuppressWarnings("") +public class WorldRendererM { + @Overwrite + public void setupEntityOutlineShader() { + + } +} diff --git a/src/main/java/com/thatmg393/vulkan/framebuffer/Framebuffer.java b/src/main/java/com/thatmg393/vulkan/framebuffer/Framebuffer.java new file mode 100644 index 0000000..36bf8da --- /dev/null +++ b/src/main/java/com/thatmg393/vulkan/framebuffer/Framebuffer.java @@ -0,0 +1,25 @@ +package com.thatmg393.vulkan.framebuffer; + +import org.joml.Vector4f; + +public class Framebuffer { + public Framebuffer(Builder builder) { + + } + + + + + + @lombok.Builder + public static class Builder { + private int width, height; + + private boolean hasDepthAttachment; + private int depthAttachment; + private int colorAttachment; + + @lombok.Builder.Default + private Vector4f clearColor = new Vector4f(1.0, 1.0, 1.0, 0.0); + } +}