From a061b267f7229b2e18715714323966069565f4f3 Mon Sep 17 00:00:00 2001 From: Speiger Date: Sat, 22 Feb 2025 19:33:39 +0100 Subject: [PATCH] Latest State --- build.gradle | 1 + .../speiger/src/coreengine/NewInputTest.java | 24 +++++++++++++----- .../rendering/gui/font/FontStyle.java | 2 +- .../gui/font/providers/FreeTypeProvider.java | 2 +- .../rendering/input/window/Window.java | 1 + .../assets/base/font/roboto/font.json | 4 +-- .../assets/base/font/roboto/rainyhearts.ttf | Bin 0 -> 48784 bytes .../assets/base/shader/testGui/fragment.fs | 1 + 8 files changed, 24 insertions(+), 11 deletions(-) create mode 100644 src/main/resources/assets/base/font/roboto/rainyhearts.ttf diff --git a/build.gradle b/build.gradle index b306e64..9923614 100644 --- a/build.gradle +++ b/build.gradle @@ -20,6 +20,7 @@ repositories { name = "Speiger Maven" url = "https://maven.speiger.com/repository/main" } + maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } } task srcJar(type: Jar) { diff --git a/src/main/java/speiger/src/coreengine/NewInputTest.java b/src/main/java/speiger/src/coreengine/NewInputTest.java index 4c3fa96..663cd4b 100644 --- a/src/main/java/speiger/src/coreengine/NewInputTest.java +++ b/src/main/java/speiger/src/coreengine/NewInputTest.java @@ -65,6 +65,11 @@ public class NewInputTest { new NewInputTest().run(); } + private void applyWindowSize(Window window) { + int scale = 0; + guiShader.get().proView.set(new Matrix4f().ortho(0, 0, window.width() >> scale, window.height() >> scale, 1000, -1000)); + } + public void run() { Configuration.HARFBUZZ_LIBRARY_NAME.set(FreeType.getLibrary()); GLFW.glfwInit(); @@ -82,10 +87,10 @@ public class NewInputTest { assets.addListener(fonts); assets.reload(); + applyWindowSize(window); System.out.println("Testing: "+GL.getCapabilities().OpenGL41); System.out.println("Testing: "+Integer.divideUnsigned(-1, 255)); - guiShader.get().proView.set(new Matrix4f().ortho(0, 0, window.width(), window.height(), 1000, -1000)); int size = 512; int half = size >> 1; @@ -146,18 +151,23 @@ public class NewInputTest { }); // String s = "The Quick brown fox Jumps over the Lazy dog"; - - float offset = font.drawText("The Quick ", 50, 50, -1, buffer, false); - offset += font.drawText(TextStyle.DEFAULT.size(25F), "Brown ", 50+offset, 50, -1, buffer, false); - offset += font.drawText(TextStyle.DEFAULT, "§ox ", 50+offset, 50, -1, buffer, false); - offset += font.drawText(TextStyle.DEFAULT.size(10F), "Jumps ", 50+offset, 50, -1, buffer, false); - offset += font.drawText(TextStyle.DEFAULT, "over the Lazy dog", 50+offset, 50, -1, buffer, true); + float y = 100; + float offset = font.drawText("The Quick ", 50, y, -1, buffer, false); + offset += font.drawText(TextStyle.DEFAULT.size(24F), "Brown ", 50+offset, y, -1, buffer, false); + offset += font.drawText(TextStyle.DEFAULT, "§ox ", 50+offset, y, -1, buffer, false); + offset += font.drawText(TextStyle.DEFAULT.size(16), "Jumps ", 50+offset, y, -1, buffer, false); + offset += font.drawText(TextStyle.DEFAULT, "over the Lazy dog", 50+offset, y, -1, buffer, true); // font.drawText(s, 50, 50, -1, buffer, true); GLStateTracker tracker = GLStateTracker.instance(); GL11.glClearColor(0.2F, 0.55F, 0.66F, 1F); while(!window.shouldClose()) { GLFW.glfwPollEvents(); + if(window.changed()) { + window.updateViewport(); + applyWindowSize(window); + System.out.println("Called Resize"); + } window.beginFrame(); GL11.glClear(GL11.GL_COLOR_BUFFER_BIT); texture.bind(); diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/font/FontStyle.java b/src/main/java/speiger/src/coreengine/rendering/gui/font/FontStyle.java index d374d1d..f447e2f 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/font/FontStyle.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/font/FontStyle.java @@ -3,7 +3,7 @@ package speiger.src.coreengine.rendering.gui.font; import speiger.src.coreengine.assets.AssetLocation; public record FontStyle(AssetLocation font, int style, float size) { - public static final FontStyle DEFAULT = new FontStyle(AssetLocation.of("default"), 0, 18F); + public static final FontStyle DEFAULT = new FontStyle(AssetLocation.of("default"), 0, 16F); public static final int REGULAR = 0; public static final int BOLD = 1; public static final int ITALIC = 2; diff --git a/src/main/java/speiger/src/coreengine/rendering/gui/font/providers/FreeTypeProvider.java b/src/main/java/speiger/src/coreengine/rendering/gui/font/providers/FreeTypeProvider.java index f572503..83ff7a1 100644 --- a/src/main/java/speiger/src/coreengine/rendering/gui/font/providers/FreeTypeProvider.java +++ b/src/main/java/speiger/src/coreengine/rendering/gui/font/providers/FreeTypeProvider.java @@ -244,7 +244,7 @@ public class FreeTypeProvider implements IFontProvider { if(index == 0) return null; oversample *= this.oversample; int pixels = Math.round(size * oversample); - if(FreeTypeLibrary.parseError(FreeType.FT_Set_Pixel_Sizes(face, 0, pixels), "Set Pixel Size")) return null; + if(FreeTypeLibrary.parseError(FreeType.FT_Set_Pixel_Sizes(face, pixels, pixels), "Set Pixel Size")) return null; if(FreeTypeLibrary.parseError(FreeType.FT_Load_Glyph(face, index, FreeType.FT_LOAD_NO_BITMAP | FreeType.FT_LOAD_BITMAP_METRICS_ONLY), "Loading Glyth")) return null; FT_GlyphSlot slot = face.glyph(); if(slot == null) { diff --git a/src/main/java/speiger/src/coreengine/rendering/input/window/Window.java b/src/main/java/speiger/src/coreengine/rendering/input/window/Window.java index 6c26c92..3862192 100644 --- a/src/main/java/speiger/src/coreengine/rendering/input/window/Window.java +++ b/src/main/java/speiger/src/coreengine/rendering/input/window/Window.java @@ -109,6 +109,7 @@ public class Window { private void framebuffer(long window, int width, int height) { frameWidth = width; frameHeight = height; + flags.setFlag(WINDOW_CHANGE); } private void focused(long window, boolean focused) { diff --git a/src/main/resources/assets/base/font/roboto/font.json b/src/main/resources/assets/base/font/roboto/font.json index 09329eb..6068d7a 100644 --- a/src/main/resources/assets/base/font/roboto/font.json +++ b/src/main/resources/assets/base/font/roboto/font.json @@ -1,8 +1,8 @@ { "type": "free-ttf", "regular": { - "file": "font/roboto/Roboto-Thin.ttf", - "oversample": 1, + "file": "font/roboto/rainyhearts.ttf", + "oversample": 2, "shadowOffset": 1, "skip": "", "offset": { "x": 0, "y": 0 } diff --git a/src/main/resources/assets/base/font/roboto/rainyhearts.ttf b/src/main/resources/assets/base/font/roboto/rainyhearts.ttf new file mode 100644 index 0000000000000000000000000000000000000000..245cd40f08ef33eef8ce408ce797a9e91de42eca GIT binary patch literal 48784 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/base/shader/testGui/fragment.fs b/src/main/resources/assets/base/shader/testGui/fragment.fs index af5c335..8428af0 100644 --- a/src/main/resources/assets/base/shader/testGui/fragment.fs +++ b/src/main/resources/assets/base/shader/testGui/fragment.fs @@ -10,5 +10,6 @@ uniform sampler2D texture; void main() { vec4 color = pass_color * texture2D(texture, pass_tex); + if(color.a < 0.25) discard; frag_color = color; } \ No newline at end of file