Fix image panel regression
All checks were successful
studiorailgun/Renderer/pipeline/head This commit looks good

This commit is contained in:
austin 2024-11-16 20:32:30 -05:00
parent 9bd81242fc
commit d65efefc92
8 changed files with 67 additions and 4 deletions

View File

@ -0,0 +1,18 @@
#version 430 core
out vec4 FragColor;
in vec2 TexCoords;
uniform sampler2D screenTexture;
uniform vec3 color;
void main(){
vec4 textureColor = texture(screenTexture, TexCoords);
textureColor.r = textureColor.r * color.r;
textureColor.g = textureColor.g * color.g;
textureColor.b = textureColor.b * color.b;
if(textureColor.a < 0.1){
discard;
}
FragColor = textureColor;
}

View File

@ -0,0 +1,33 @@
#version 430 core
layout (location = 0) in vec3 aPos;
layout (location = 4) in vec2 aTexCoords;
out vec2 TexCoords;
uniform vec3 mPosition;
uniform vec3 mDimension;
uniform vec3 tPosition;
uniform vec3 tDimension;
void main(){
vec2 finalPos = vec2(
((aPos.x + 1)/2 * mDimension.x + mPosition.x) * 2 - 1,
((aPos.y + 1)/2 * mDimension.y + (1 - mDimension.y) - mPosition.y) * 2 - 1
// ((((aPos.y + 1)/2) * mDimension.y + mPosition.y) * 2 - 1)
// aPos.y * mDimension.y + (mPosition.y) + (1 - mDimension.y)
);
gl_Position = vec4(finalPos.x, finalPos.y, 0.0, 1.0);
vec2 finalTex = vec2(
aTexCoords.x * tDimension.x + tPosition.x,
aTexCoords.y * tDimension.y + tPosition.y
);
// vec2 finalTex = aTexCoords;
// vec2 finalTex = vec2(
// aTexCoords.x + 0.7,
// aTexCoords.y
// );
TexCoords = finalTex + vec2(0,-1);
}

View File

@ -1,3 +1,3 @@
#maven.buildNumber.plugin properties file #maven.buildNumber.plugin properties file
#Sat Nov 16 12:45:38 EST 2024 #Sat Nov 16 20:18:53 EST 2024
buildNumber=387 buildNumber=390

View File

@ -1055,6 +1055,7 @@ Update visuals on pine tree
(11/16/2024) (11/16/2024)
Mountain generation work Mountain generation work
Implement crafting Implement crafting
Fix image panel test

View File

@ -31,6 +31,7 @@ import electrosphere.renderer.actor.ActorUtils;
import electrosphere.renderer.ui.elements.ActorPanel; import electrosphere.renderer.ui.elements.ActorPanel;
import electrosphere.renderer.ui.elements.Button; import electrosphere.renderer.ui.elements.Button;
import electrosphere.renderer.ui.elements.FormElement; import electrosphere.renderer.ui.elements.FormElement;
import electrosphere.renderer.ui.elements.ImagePanel;
import electrosphere.renderer.ui.elements.Slider; import electrosphere.renderer.ui.elements.Slider;
import electrosphere.renderer.ui.elements.StringCarousel; import electrosphere.renderer.ui.elements.StringCarousel;
import electrosphere.renderer.ui.elements.VirtualScrollable; import electrosphere.renderer.ui.elements.VirtualScrollable;
@ -61,6 +62,7 @@ public class MenuGeneratorsUITesting {
"Generic", "Generic",
"Slider", "Slider",
"Button", "Button",
"ImagePanel1",
"CharacterCustomizer", "CharacterCustomizer",
"NaturalInventoryPanel", "NaturalInventoryPanel",
"EquipInventoryPanel", "EquipInventoryPanel",
@ -124,6 +126,15 @@ public class MenuGeneratorsUITesting {
case "Button": { case "Button": {
formEl.addChild(Button.createButton("test", () -> {})); formEl.addChild(Button.createButton("test", () -> {}));
} break; } break;
case "ImagePanel1": {
Globals.assetManager.addTexturePathtoQueue("Textures/default_diffuse.png");
ImagePanel panel = ImagePanel.createImagePanel("Textures/default_diffuse.png");
panel.setMinWidth(100);
panel.setMinHeight(100);
panel.setWidth(100);
panel.setHeight(100);
formEl.addChild(panel);
} break;
case "CharacterCustomizer": { case "CharacterCustomizer": {
formEl.addChild(CharacterCustomizer.createCharacterCustomizerPanel("human", (CreatureTemplate template) ->{})); formEl.addChild(CharacterCustomizer.createCharacterCustomizerPanel("human", (CreatureTemplate template) ->{}));
} break; } break;

View File

@ -655,7 +655,7 @@ public class Globals {
solidPlaneModelID = assetManager.registerModel(RenderUtils.createInWindowPanel("Shaders/ui/plainBox/plainBox.vs", "Shaders/ui/plainBox/plainBox.fs")); solidPlaneModelID = assetManager.registerModel(RenderUtils.createInWindowPanel("Shaders/ui/plainBox/plainBox.vs", "Shaders/ui/plainBox/plainBox.fs"));
//image panel //image panel
ImagePanel.imagePanelModelPath = assetManager.registerModel(RenderUtils.createPlaneModel("Shaders/core/plane/plane.vs", "Shaders/core/plane/plane.fs")); ImagePanel.imagePanelModelPath = assetManager.registerModel(RenderUtils.createPlaneModel("Shaders/core/imagepanel/imagepanel.vs", "Shaders/core/imagepanel/imagepanel.fs"));
Globals.assetManager.addShaderToQueue("Shaders/ui/plainBox/plainBox.vs", "Shaders/ui/plainBox/plainBox.fs"); Globals.assetManager.addShaderToQueue("Shaders/ui/plainBox/plainBox.vs", "Shaders/ui/plainBox/plainBox.fs");

View File

@ -133,7 +133,7 @@ public class ImagePanel extends StandardElement implements DrawableElement, Drag
boxPosition = new Vector3f(ndcX,ndcY,0); boxPosition = new Vector3f(ndcX,ndcY,0);
boxDimensions = new Vector3f(ndcWidth,ndcHeight,0); boxDimensions = new Vector3f(ndcWidth,ndcHeight,0);
Model planeModel = Globals.assetManager.fetchModel(Globals.imagePlaneModelID); Model planeModel = Globals.assetManager.fetchModel(imagePanelModelPath);
if(texture != null){ if(texture != null){
customMat.setTexturePointer(texture.getTexturePointer()); customMat.setTexturePointer(texture.getTexturePointer());
} else if(this.texturePath != null){ } else if(this.texturePath != null){

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB