manually ignore unexplainable opengl error
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
Some checks failed
studiorailgun/Renderer/pipeline/head There was a failure building this commit
This commit is contained in:
parent
1374c1c240
commit
d558e60fd7
@ -1,3 +1,3 @@
|
|||||||
#maven.buildNumber.plugin properties file
|
#maven.buildNumber.plugin properties file
|
||||||
#Wed Aug 28 13:34:16 EDT 2024
|
#Wed Aug 28 20:50:08 EDT 2024
|
||||||
buildNumber=298
|
buildNumber=300
|
||||||
|
|||||||
@ -604,6 +604,7 @@ public class Globals {
|
|||||||
Globals.clientSceneWrapper = new ClientSceneWrapper(Globals.clientScene, new CollisionEngine());
|
Globals.clientSceneWrapper = new ClientSceneWrapper(Globals.clientScene, new CollisionEngine());
|
||||||
Globals.clientSynchronizationManager = new ClientSynchronizationManager();
|
Globals.clientSynchronizationManager = new ClientSynchronizationManager();
|
||||||
Globals.realmManager = null;
|
Globals.realmManager = null;
|
||||||
|
Globals.assetManager = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -102,7 +102,10 @@ public class ThreadManager {
|
|||||||
try {
|
try {
|
||||||
thread.getThread().join(10);
|
thread.getThread().join(10);
|
||||||
if(thread.getThread().isAlive()){
|
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) {
|
} catch (InterruptedException e) {
|
||||||
CodeUtils.todo(e, "Think about how to handle this");
|
CodeUtils.todo(e, "Think about how to handle this");
|
||||||
|
|||||||
@ -231,7 +231,7 @@ public class RenderingEngine {
|
|||||||
//Gives hints to glfw to control how opengl will be used
|
//Gives hints to glfw to control how opengl will be used
|
||||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4);
|
||||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
||||||
glslVersion = "#version 410";
|
glslVersion = "#version 430";
|
||||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||||
//headless option
|
//headless option
|
||||||
if(Globals.RUN_HIDDEN){
|
if(Globals.RUN_HIDDEN){
|
||||||
|
|||||||
@ -411,8 +411,7 @@ public class Mesh {
|
|||||||
if(texture != null){
|
if(texture != null){
|
||||||
texture.bind(openGLState,5+i);
|
texture.bind(openGLState,5+i);
|
||||||
}
|
}
|
||||||
glUniform1i(glGetUniformLocation(openGLState.getActiveShader().getShaderId(), textureMask.getUniformNames().get(i)),5+i);
|
openGLState.getActiveShader().setUniform(openGLState, textureMask.getUniformNames().get(i), 5+i);
|
||||||
Globals.renderingEngine.checkError();
|
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
} else if(textureMask.getTexturePaths() != null){
|
} else if(textureMask.getTexturePaths() != null){
|
||||||
@ -435,8 +434,7 @@ public class Mesh {
|
|||||||
Globals.renderingEngine.checkError();
|
Globals.renderingEngine.checkError();
|
||||||
openGLState.glBindTexture(GL_TEXTURE_2D, RenderingEngine.lightBufferDepthTexture.getTexturePointer());
|
openGLState.glBindTexture(GL_TEXTURE_2D, RenderingEngine.lightBufferDepthTexture.getTexturePointer());
|
||||||
Globals.renderingEngine.checkError();
|
Globals.renderingEngine.checkError();
|
||||||
glUniform1i(glGetUniformLocation(openGLState.getActiveShader().getShaderId(), "shadowMap"), 3);
|
openGLState.getActiveShader().setUniform(openGLState, "shadowMap", 3);
|
||||||
Globals.renderingEngine.checkError();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -39,6 +39,7 @@ import org.lwjgl.system.MemoryStack;
|
|||||||
import electrosphere.engine.Globals;
|
import electrosphere.engine.Globals;
|
||||||
import electrosphere.logger.LoggerInterface;
|
import electrosphere.logger.LoggerInterface;
|
||||||
import electrosphere.renderer.OpenGLState;
|
import electrosphere.renderer.OpenGLState;
|
||||||
|
import electrosphere.renderer.RenderingEngine;
|
||||||
import electrosphere.util.FileUtils;
|
import electrosphere.util.FileUtils;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -159,7 +160,7 @@ public class ShaderProgram {
|
|||||||
LoggerInterface.loggerRenderer.ERROR("Runtime Exception", new RuntimeException(GL20.glGetShaderInfoLog(rVal.fragmentShader)));
|
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
|
//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
|
//This attaches the vertex and fragment shaders to the program
|
||||||
glAttachShader(rVal.shaderId, rVal.vertexShader);
|
glAttachShader(rVal.shaderId, rVal.vertexShader);
|
||||||
glAttachShader(rVal.shaderId, rVal.fragmentShader);
|
glAttachShader(rVal.shaderId, rVal.fragmentShader);
|
||||||
@ -279,7 +280,7 @@ public class ShaderProgram {
|
|||||||
LoggerInterface.loggerRenderer.ERROR("Runtime Exception", new RuntimeException(GL20.glGetShaderInfoLog(rVal.fragmentShader)));
|
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
|
//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
|
//This attaches the vertex and fragment shaders to the program
|
||||||
glAttachShader(rVal.shaderId, rVal.vertexShader);
|
glAttachShader(rVal.shaderId, rVal.vertexShader);
|
||||||
glAttachShader(rVal.shaderId, rVal.fragmentShader);
|
glAttachShader(rVal.shaderId, rVal.fragmentShader);
|
||||||
@ -380,7 +381,7 @@ public class ShaderProgram {
|
|||||||
LoggerInterface.loggerRenderer.ERROR("Runtime Exception", new RuntimeException(GL20.glGetShaderInfoLog(rVal.fragmentShader)));
|
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
|
//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
|
//This attaches the vertex and fragment shaders to the program
|
||||||
glAttachShader(rVal.shaderId, rVal.vertexShader);
|
glAttachShader(rVal.shaderId, rVal.vertexShader);
|
||||||
glAttachShader(rVal.shaderId, rVal.fragmentShader);
|
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
|
//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
|
//This attaches the vertex and fragment shaders to the program
|
||||||
glAttachShader(rVal.shaderId, rVal.vertexShader);
|
glAttachShader(rVal.shaderId, rVal.vertexShader);
|
||||||
glAttachShader(rVal.shaderId, rVal.fragmentShader);
|
glAttachShader(rVal.shaderId, rVal.fragmentShader);
|
||||||
@ -646,7 +647,7 @@ public class ShaderProgram {
|
|||||||
LoggerInterface.loggerRenderer.ERROR("Runtime Exception", new RuntimeException(GL20.glGetShaderInfoLog(rVal.fragmentShader)));
|
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
|
//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
|
//This attaches the vertex and fragment shaders to the program
|
||||||
glAttachShader(rVal.shaderId, rVal.vertexShader);
|
glAttachShader(rVal.shaderId, rVal.vertexShader);
|
||||||
glAttachShader(rVal.shaderId, rVal.geometryShader);
|
glAttachShader(rVal.shaderId, rVal.geometryShader);
|
||||||
@ -719,13 +720,27 @@ public class ShaderProgram {
|
|||||||
* @param value The value to set the uniform to
|
* @param value The value to set the uniform to
|
||||||
*/
|
*/
|
||||||
public void setUniform(OpenGLState openGLState, String uniformName, Object value){
|
public void setUniform(OpenGLState openGLState, String uniformName, Object value){
|
||||||
|
//
|
||||||
|
//Error checking
|
||||||
if(uniformName == null || uniformName.equals("")){
|
if(uniformName == null || uniformName.equals("")){
|
||||||
throw new IllegalArgumentException("Trying to set invalid uniform name");
|
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);
|
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());
|
LoggerInterface.loggerRenderer.WARNING("Shader id: " + this.getShaderId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
//set the uniform
|
||||||
if(uniformLocation == INVALID_UNIFORM_NAME){
|
if(uniformLocation == INVALID_UNIFORM_NAME){
|
||||||
LoggerInterface.loggerRenderer.DEBUG_LOOP("Searched for uniform in a shader that does not contain it. Uniform name: \"" + uniformName + "\"");
|
LoggerInterface.loggerRenderer.DEBUG_LOOP("Searched for uniform in a shader that does not contain it. Uniform name: \"" + uniformName + "\"");
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user