diff options
author | J10a1n15 <45315647+j10a1n15@users.noreply.github.com> | 2024-06-30 12:40:10 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-30 12:40:10 +0200 |
commit | 4a55a7d4d8c3551cc4cfa3bd82867579494e3c70 (patch) | |
tree | 420f2cca39de625307d5356f5a01635071c8b42a /src/main/java/at/hannibal2/skyhanni/utils/shader | |
parent | 2e93920ab64bacfc428cf8bf040a2b10b6d9f2f8 (diff) | |
download | skyhanni-4a55a7d4d8c3551cc4cfa3bd82867579494e3c70.tar.gz skyhanni-4a55a7d4d8c3551cc4cfa3bd82867579494e3c70.tar.bz2 skyhanni-4a55a7d4d8c3551cc4cfa3bd82867579494e3c70.zip |
Backend: Enabling Shader with Enum (#2035)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils/shader')
-rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/shader/ShaderManager.kt | 37 |
1 files changed, 8 insertions, 29 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/shader/ShaderManager.kt b/src/main/java/at/hannibal2/skyhanni/utils/shader/ShaderManager.kt index b32e3fa26..057e0a031 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/shader/ShaderManager.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/shader/ShaderManager.kt @@ -31,40 +31,19 @@ object ShaderManager { DARKEN(DarkenShader.INSTANCE) ; - fun enableShader() = ShaderManager.enableShader(name.lowercase()) - - companion object { - - fun getShaderInstance(shaderName: String): Shader? = when (shaderName) { - "standard_chroma" -> STANDARD_CHROMA.shader - "textured_chroma" -> TEXTURED_CHROMA.shader - "rounded_rect" -> ROUNDED_RECTANGLE.shader - "rounded_rect_outline" -> ROUNDED_RECT_OUTLINE.shader - "darken" -> DARKEN.shader - else -> { - null - } - } - } + fun enableShader() = enableShader(this) } - private val shaders: MutableMap<String, Shader> = mutableMapOf() private var activeShader: Shader? = null - fun enableShader(shaderName: String) { - var shader = shaders[shaderName] - - if (shader == null) { - shader = Shaders.getShaderInstance(shaderName) - if (shader == null) return - shaders[shaderName] = shader - } + fun enableShader(shader: Shaders) { + val shaderInstance = shader.shader - if (!shader.created) return + if (!shaderInstance.created) return - activeShader = shader - shader.enable() - shader.updateUniforms() + activeShader = shaderInstance + shaderInstance.enable() + shaderInstance.updateUniforms() } fun attachShader(shaderProgram: Int, shaderID: Int) { @@ -101,7 +80,7 @@ object ShaderManager { ErrorManager.logErrorWithData( OpenGLException("Shader compilation error."), errorMessage, - "GLSL Compilation Error:\n" to errorLog + "GLSL Compilation Error:\n" to errorLog, ) } else { LorenzUtils.consoleLog("$errorMessage $errorLog") |