set pieces color

This commit is contained in:
2025-04-26 12:35:37 +02:00
parent 1b22de17d8
commit f8ae19fee8
2 changed files with 16 additions and 7 deletions

View File

@@ -1,6 +1,7 @@
package chess.view.DDDrender.shader;
import org.joml.Matrix4f;
import org.joml.Vector3f;
public class PieceShader extends ShaderProgram {
@@ -18,8 +19,6 @@ public class PieceShader extends ShaderProgram {
out vec3 toLightVector;
out vec3 surfaceNormal;
flat out vec3 pass_color;
void main(void){
vec4 worldPos = modelTransform * vec4(position, 1.0);
@@ -27,7 +26,6 @@ public class PieceShader extends ShaderProgram {
surfaceNormal = (modelTransform * vec4(normal, 0.0)).xyz;
gl_Position = camMatrix * worldPos;
pass_color = position;
}
""";
@@ -37,7 +35,7 @@ public class PieceShader extends ShaderProgram {
in vec3 toLightVector;
in vec3 surfaceNormal;
flat in vec3 pass_color;
uniform vec3 modelColor = vec3(1, 1, 1);
out vec4 out_color;
@@ -49,7 +47,7 @@ public class PieceShader extends ShaderProgram {
float brightness = diffuse;
out_color = vec4(pass_color, 1.0) * brightness;
out_color = vec4(modelColor, 1.0) * brightness;
out_color.w = 1.0;
}
@@ -57,6 +55,7 @@ public class PieceShader extends ShaderProgram {
private int location_CamMatrix = 0;
private int location_ModelTransform = 0;
private int location_ModelColor = 0;
public PieceShader() {
@@ -70,6 +69,7 @@ public class PieceShader extends ShaderProgram {
protected void GetAllUniformLocation() {
location_CamMatrix = GetUniformLocation("camMatrix");
location_ModelTransform = GetUniformLocation("modelTransform");
location_ModelColor = GetUniformLocation("modelColor");
}
public void SetCamMatrix(Matrix4f mat) {
@@ -79,4 +79,8 @@ public class PieceShader extends ShaderProgram {
public void setModelTransform(Matrix4f mat) {
LoadMat4(location_ModelTransform, mat);
}
public void setModelColor(Vector3f color) {
LoadVector(location_ModelColor, color);
}
}