Use hash map in uniform location cache
This commit is contained in:
parent
0cf0bcea57
commit
2cb2ac16ce
@ -2,6 +2,7 @@ package ru.dbotthepony.kstarbound.client.gl.shader
|
|||||||
|
|
||||||
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap
|
import it.unimi.dsi.fastutil.objects.Object2ObjectArrayMap
|
||||||
import it.unimi.dsi.fastutil.objects.Object2ObjectFunction
|
import it.unimi.dsi.fastutil.objects.Object2ObjectFunction
|
||||||
|
import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap
|
||||||
import org.lwjgl.opengl.GL46.*
|
import org.lwjgl.opengl.GL46.*
|
||||||
import ru.dbotthepony.kstarbound.client.gl.GLStateTracker
|
import ru.dbotthepony.kstarbound.client.gl.GLStateTracker
|
||||||
import ru.dbotthepony.kvector.api.IFloatMatrix
|
import ru.dbotthepony.kvector.api.IFloatMatrix
|
||||||
@ -18,7 +19,7 @@ open class GLShaderProgram(val state: GLStateTracker, vararg shaders: GLShader)
|
|||||||
private val attached = HashSet<GLShader>()
|
private val attached = HashSet<GLShader>()
|
||||||
val access = object : Collection<GLShader> by attached {}
|
val access = object : Collection<GLShader> by attached {}
|
||||||
|
|
||||||
private val locationCache = Object2ObjectArrayMap<String, Optional<GLUniformLocation>>()
|
private val locationCache = Object2ObjectOpenHashMap<String, Optional<GLUniformLocation>>()
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Возвращает GLUniformLocation или null, если у данной программы нет такого uniform
|
* Возвращает GLUniformLocation или null, если у данной программы нет такого uniform
|
||||||
|
Loading…
Reference in New Issue
Block a user