Use hash map in uniform location cache

This commit is contained in:
DBotThePony 2022-09-11 11:29:06 +07:00
parent 0cf0bcea57
commit 2cb2ac16ce
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -2,6 +2,7 @@ package ru.dbotthepony.kstarbound.client.gl.shader
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap
import it.unimi.dsi.fastutil.objects.Object2ObjectFunction
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap
import org.lwjgl.opengl.GL46.*
import ru.dbotthepony.kstarbound.client.gl.GLStateTracker
import ru.dbotthepony.kvector.api.IFloatMatrix
@ -18,7 +19,7 @@ open class GLShaderProgram(val state: GLStateTracker, vararg shaders: GLShader)
private val attached = HashSet<GLShader>()
val access = object : Collection<GLShader> by attached {}
private val locationCache = Object2ObjectArrayMap<String, Optional<GLUniformLocation>>()
private val locationCache = Object2ObjectOpenHashMap<String, Optional<GLUniformLocation>>()
/**
* Возвращает GLUniformLocation или null, если у данной программы нет такого uniform