Finishing work on font renderer and working UIRenderer
This commit is contained in:
parent
a061b267f7
commit
857f5eec64
@ -66,7 +66,7 @@ public class NewInputTest {
|
||||
}
|
||||
|
||||
private void applyWindowSize(Window window) {
|
||||
int scale = 0;
|
||||
int scale = 2;
|
||||
guiShader.get().proView.set(new Matrix4f().ortho(0, 0, window.width() >> scale, window.height() >> scale, 1000, -1000));
|
||||
}
|
||||
|
||||
|
@ -68,8 +68,7 @@ public abstract non-sealed class GuiComponent extends FlagObject implements ICas
|
||||
animator = null;
|
||||
}
|
||||
|
||||
public void updateComponent() {
|
||||
children.forEach(GuiComponent::updateComponent);
|
||||
protected void updateComponent() {
|
||||
}
|
||||
|
||||
protected void renderComponent(IUIRenderer renderer, int mouseX, int mouseY, float partialTicks) {
|
||||
@ -83,6 +82,14 @@ public abstract non-sealed class GuiComponent extends FlagObject implements ICas
|
||||
}
|
||||
}
|
||||
|
||||
public static void tickComponent(GuiComponent comp) {
|
||||
if(comp.renderer != null && comp.renderer.overrideTick()) {
|
||||
comp.renderer.updateComponent(comp);
|
||||
}
|
||||
else comp.updateComponent();
|
||||
comp.children.forEach(GuiComponent::tickComponent);
|
||||
}
|
||||
|
||||
public static boolean renderComponent(GuiComponent comp, IUIRenderer renderer, int mouseX, int mouseY, float partialTicks) {
|
||||
if(!comp.isVisible()) return false;
|
||||
comp.updateAnimations(partialTicks);
|
||||
|
@ -4,4 +4,6 @@ import speiger.src.coreengine.rendering.gui.renderer.IUIRenderer;
|
||||
|
||||
public interface IComponentRenderer<T extends GuiComponent> {
|
||||
public void renderComponent(T component, IUIRenderer renderer, int mouseX, int mouseY, float particalTicks);
|
||||
public default boolean overrideTick() { return false; }
|
||||
public default void updateComponent(T component) {}
|
||||
}
|
||||
|
@ -83,7 +83,7 @@ public class GuiContainer implements IComponentScreen, IInteractableContainer {
|
||||
|
||||
public void tick() {
|
||||
for(Object2BooleanMap.Entry<GuiComponent> entry : container) {
|
||||
entry.getKey().updateComponent();
|
||||
GuiComponent.tickComponent(entry.getKey());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -50,6 +50,7 @@ public class GLFunctions {
|
||||
GL45.glTextureSubImage2D(texture, mipmaps, 0, 0, width, height, externalFormat, dataFormat, pixels);
|
||||
}
|
||||
|
||||
|
||||
public static void upload2DSubImage(int texture, int level, int xoffset, int yoffset, int width, int height, ITextureFormatType format, IGLDataType type, long pixels) {
|
||||
// if(format.internal()) throw new IllegalArgumentException("Format ["+format.glValue()+"] is internal");
|
||||
upload2DSubImage(texture, level, xoffset, yoffset, width, height, format.glValue(), type.glValue(), pixels);
|
||||
|
10
src/main/resources/assets/base/font/rainyhearts/font.json
Normal file
10
src/main/resources/assets/base/font/rainyhearts/font.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"type": "free-ttf",
|
||||
"regular": {
|
||||
"file": "font/rainyhearts/rainyhearts.ttf",
|
||||
"oversample": 2,
|
||||
"shadowOffset": 1,
|
||||
"skip": "",
|
||||
"offset": { "x": 0, "y": 0 }
|
||||
}
|
||||
}
|
BIN
src/main/resources/assets/base/font/roboto/Roboto-ExtraLight.ttf
Normal file
BIN
src/main/resources/assets/base/font/roboto/Roboto-ExtraLight.ttf
Normal file
Binary file not shown.
BIN
src/main/resources/assets/base/font/roboto/Roboto-Light.ttf
Normal file
BIN
src/main/resources/assets/base/font/roboto/Roboto-Light.ttf
Normal file
Binary file not shown.
BIN
src/main/resources/assets/base/font/roboto/Roboto-Regular.ttf
Normal file
BIN
src/main/resources/assets/base/font/roboto/Roboto-Regular.ttf
Normal file
Binary file not shown.
@ -1,7 +1,7 @@
|
||||
{
|
||||
"type": "free-ttf",
|
||||
"regular": {
|
||||
"file": "font/roboto/rainyhearts.ttf",
|
||||
"file": "font/roboto/Roboto-Light.ttf",
|
||||
"oversample": 2,
|
||||
"shadowOffset": 1,
|
||||
"skip": "",
|
||||
|
@ -9,7 +9,5 @@ uniform sampler2D texture;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 color = pass_color * texture2D(texture, pass_tex);
|
||||
if(color.a < 0.25) discard;
|
||||
frag_color = color;
|
||||
frag_color = pass_color * texture2D(texture, pass_tex);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user