manually ignore unexplainable opengl error
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit

This commit is contained in:
austin 2024-08-28 20:59:23 -04:00
parent 1374c1c240
commit d558e60fd7
6 changed files with 31 additions and 14 deletions

View File

@ -1,3 +1,3 @@
#maven.buildNumber.plugin properties file
#Wed Aug 28 13:34:16 EDT 2024
buildNumber=298
#Wed Aug 28 20:50:08 EDT 2024
buildNumber=300

View File

@ -604,6 +604,7 @@ public class Globals {
Globals.clientSceneWrapper = new ClientSceneWrapper(Globals.clientScene, new CollisionEngine());
Globals.clientSynchronizationManager = new ClientSynchronizationManager();
Globals.realmManager = null;
Globals.assetManager = null;
}

View File

@ -102,7 +102,10 @@ public class ThreadManager {
try {
thread.getThread().join(10);
if(thread.getThread().isAlive()){
throw new IllegalStateException("Failed to interrupt thread! " + thread.getLabel());
String errorMessage = "Failed to interrupt thread! " + thread.getLabel();
System.err.println(errorMessage);
new IllegalStateException().printStackTrace();
System.exit(1);
}
} catch (InterruptedException e) {
CodeUtils.todo(e, "Think about how to handle this");

View File

@ -231,7 +231,7 @@ public class RenderingEngine {
//Gives hints to glfw to control how opengl will be used
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glslVersion = "#version 410";
glslVersion = "#version 430";
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
//headless option
if(Globals.RUN_HIDDEN){

View File

@ -411,8 +411,7 @@ public class Mesh {
if(texture != null){
texture.bind(openGLState,5+i);
}
glUniform1i(glGetUniformLocation(openGLState.getActiveShader().getShaderId(), textureMask.getUniformNames().get(i)),5+i);
Globals.renderingEngine.checkError();
openGLState.getActiveShader().setUniform(openGLState, textureMask.getUniformNames().get(i), 5+i);
i++;
}
} else if(textureMask.getTexturePaths() != null){
@ -435,8 +434,7 @@ public class Mesh {
Globals.renderingEngine.checkError();
openGLState.glBindTexture(GL_TEXTURE_2D, RenderingEngine.lightBufferDepthTexture.getTexturePointer());
Globals.renderingEngine.checkError();
glUniform1i(glGetUniformLocation(openGLState.getActiveShader().getShaderId(), "shadowMap"), 3);
Globals.renderingEngine.checkError();
openGLState.getActiveShader().setUniform(openGLState, "shadowMap", 3);
}

View File

@ -39,6 +39,7 @@ import org.lwjgl.system.MemoryStack;
import electrosphere.engine.Globals;
import electrosphere.logger.LoggerInterface;
import electrosphere.renderer.OpenGLState;
import electrosphere.renderer.RenderingEngine;
import electrosphere.util.FileUtils;
/**
@ -159,7 +160,7 @@ public class ShaderProgram {
LoggerInterface.loggerRenderer.ERROR("Runtime Exception", new RuntimeException(GL20.glGetShaderInfoLog(rVal.fragmentShader)));
}
//This creates a shader program opengl object and assigns its 'pointer' to the integer shaderProgram
rVal.shaderId = glCreateProgram();
rVal.shaderId = GL40.glCreateProgram();
//This attaches the vertex and fragment shaders to the program
glAttachShader(rVal.shaderId, rVal.vertexShader);
glAttachShader(rVal.shaderId, rVal.fragmentShader);
@ -279,7 +280,7 @@ public class ShaderProgram {
LoggerInterface.loggerRenderer.ERROR("Runtime Exception", new RuntimeException(GL20.glGetShaderInfoLog(rVal.fragmentShader)));
}
//This creates a shader program opengl object and assigns its 'pointer' to the integer shaderProgram
rVal.shaderId = glCreateProgram();
rVal.shaderId = GL40.glCreateProgram();
//This attaches the vertex and fragment shaders to the program
glAttachShader(rVal.shaderId, rVal.vertexShader);
glAttachShader(rVal.shaderId, rVal.fragmentShader);
@ -380,7 +381,7 @@ public class ShaderProgram {
LoggerInterface.loggerRenderer.ERROR("Runtime Exception", new RuntimeException(GL20.glGetShaderInfoLog(rVal.fragmentShader)));
}
//This creates a shader program opengl object and assigns its 'pointer' to the integer shaderProgram
rVal.shaderId = glCreateProgram();
rVal.shaderId = GL40.glCreateProgram();
//This attaches the vertex and fragment shaders to the program
glAttachShader(rVal.shaderId, rVal.vertexShader);
glAttachShader(rVal.shaderId, rVal.fragmentShader);
@ -557,7 +558,7 @@ public class ShaderProgram {
}
}
//This creates a shader program opengl object and assigns its 'pointer' to the integer shaderProgram
rVal.shaderId = glCreateProgram();
rVal.shaderId = GL40.glCreateProgram();
//This attaches the vertex and fragment shaders to the program
glAttachShader(rVal.shaderId, rVal.vertexShader);
glAttachShader(rVal.shaderId, rVal.fragmentShader);
@ -646,7 +647,7 @@ public class ShaderProgram {
LoggerInterface.loggerRenderer.ERROR("Runtime Exception", new RuntimeException(GL20.glGetShaderInfoLog(rVal.fragmentShader)));
}
//This creates a shader program opengl object and assigns its 'pointer' to the integer shaderProgram
rVal.shaderId = glCreateProgram();
rVal.shaderId = GL40.glCreateProgram();
//This attaches the vertex and fragment shaders to the program
glAttachShader(rVal.shaderId, rVal.vertexShader);
glAttachShader(rVal.shaderId, rVal.geometryShader);
@ -719,13 +720,27 @@ public class ShaderProgram {
* @param value The value to set the uniform to
*/
public void setUniform(OpenGLState openGLState, String uniformName, Object value){
//
//Error checking
if(uniformName == null || uniformName.equals("")){
throw new IllegalArgumentException("Trying to set invalid uniform name");
}
if(this.getShaderId() != openGLState.getActiveShader().getShaderId()){
throw new IllegalStateException("Trying to set uniform on shader that is not active");
}
//
//get uniform location
int uniformLocation = GL40.glGetUniformLocation(this.getShaderId(), uniformName);
if(Globals.renderingEngine.checkError()){
int glErrorCode = Globals.renderingEngine.getError();
//TODO: fix manually ignoring GL_INVALID_VALUE from call
if(glErrorCode != 0 && glErrorCode != GL40.GL_INVALID_VALUE){
LoggerInterface.loggerRenderer.DEBUG_LOOP(RenderingEngine.getErrorInEnglish(glErrorCode));
LoggerInterface.loggerRenderer.WARNING("Shader id: " + this.getShaderId());
}
//
//set the uniform
if(uniformLocation == INVALID_UNIFORM_NAME){
LoggerInterface.loggerRenderer.DEBUG_LOOP("Searched for uniform in a shader that does not contain it. Uniform name: \"" + uniformName + "\"");
} else {