mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-14 01:48:04 -04:00
minor performance improvements
This commit is contained in:
parent
abd79f3485
commit
5a695919e4
@ -38,6 +38,7 @@ import de.bixilon.minosoft.gui.rendering.gui.mesh.GUIVertexOptions
|
|||||||
import de.bixilon.minosoft.gui.rendering.system.window.CursorShapes
|
import de.bixilon.minosoft.gui.rendering.system.window.CursorShapes
|
||||||
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2iUtil.EMPTY
|
import de.bixilon.minosoft.gui.rendering.util.vec.vec2.Vec2iUtil.EMPTY
|
||||||
import de.bixilon.minosoft.gui.rendering.util.vec.vec4.Vec4iUtil.offset
|
import de.bixilon.minosoft.gui.rendering.util.vec.vec4.Vec4iUtil.offset
|
||||||
|
import de.bixilon.minosoft.util.KUtil.length
|
||||||
|
|
||||||
open class TextElement(
|
open class TextElement(
|
||||||
guiRenderer: GUIRenderer,
|
guiRenderer: GUIRenderer,
|
||||||
@ -49,7 +50,7 @@ open class TextElement(
|
|||||||
parent: Element? = null,
|
parent: Element? = null,
|
||||||
scale: Float = 1.0f,
|
scale: Float = 1.0f,
|
||||||
shadow: Boolean = true,
|
shadow: Boolean = true,
|
||||||
) : Element(guiRenderer, text.toString().length * 6 * GUIMesh.GUIMeshStruct.FLOATS_PER_VERTEX), Labeled {
|
) : Element(guiRenderer, text.length * 6 * GUIMesh.GUIMeshStruct.FLOATS_PER_VERTEX), Labeled {
|
||||||
private var activeElement: TextComponent? = null
|
private var activeElement: TextComponent? = null
|
||||||
lateinit var renderInfo: TextRenderInfo
|
lateinit var renderInfo: TextRenderInfo
|
||||||
private set
|
private set
|
||||||
|
@ -26,24 +26,22 @@ class SingleWorldMesh(renderWindow: RenderWindow, initialCacheSize: Int, onDeman
|
|||||||
|
|
||||||
fun addVertex(position: FloatArray, uv: Vec2, texture: AbstractTexture, tintColor: Int, light: Int) {
|
fun addVertex(position: FloatArray, uv: Vec2, texture: AbstractTexture, tintColor: Int, light: Int) {
|
||||||
data.ensureSize(WorldMeshStruct.FLOATS_PER_VERTEX)
|
data.ensureSize(WorldMeshStruct.FLOATS_PER_VERTEX)
|
||||||
val transformedUV = texture.renderData.transformUV(uv)
|
val transformedUV = texture.renderData.transformUV(uv).array
|
||||||
data.add(position[0])
|
data.add(position[0])
|
||||||
data.add(position[1])
|
data.add(position[1])
|
||||||
data.add(position[2])
|
data.add(position[2])
|
||||||
data.add(transformedUV.x)
|
data.addAll(transformedUV)
|
||||||
data.add(transformedUV.y)
|
|
||||||
data.add(texture.renderData.shaderTextureId.buffer())
|
data.add(texture.renderData.shaderTextureId.buffer())
|
||||||
data.add((tintColor or (light shl 24)).buffer())
|
data.add((tintColor or (light shl 24)).buffer())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun addVertex(x: Float, y: Float, z: Float, uv: Vec2, texture: AbstractTexture, shaderTextureId: Float, tintLight: Float) {
|
fun addVertex(x: Float, y: Float, z: Float, uv: Vec2, texture: AbstractTexture, shaderTextureId: Float, tintLight: Float) {
|
||||||
data.ensureSize(WorldMeshStruct.FLOATS_PER_VERTEX)
|
data.ensureSize(WorldMeshStruct.FLOATS_PER_VERTEX)
|
||||||
val transformedUV = texture.renderData.transformUV(uv)
|
val transformedUV = texture.renderData.transformUV(uv.array)
|
||||||
data.add(x)
|
data.add(x)
|
||||||
data.add(y)
|
data.add(y)
|
||||||
data.add(z)
|
data.add(z)
|
||||||
data.add(transformedUV.x)
|
data.addAll(transformedUV)
|
||||||
data.add(transformedUV.y)
|
|
||||||
data.add(shaderTextureId)
|
data.add(shaderTextureId)
|
||||||
data.add(tintLight)
|
data.add(tintLight)
|
||||||
}
|
}
|
||||||
|
@ -153,6 +153,7 @@ object KUtil {
|
|||||||
return ChatComponent.of(
|
return ChatComponent.of(
|
||||||
when (this) {
|
when (this) {
|
||||||
is ChatComponent -> return this
|
is ChatComponent -> return this
|
||||||
|
is CharSequence -> this.toString()
|
||||||
null -> TextComponent("null").color(ChatColors.DARK_RED)
|
null -> TextComponent("null").color(ChatColors.DARK_RED)
|
||||||
is TextFormattable -> this.toText()
|
is TextFormattable -> this.toText()
|
||||||
is Boolean -> TextComponent(this.toString()).color(this.decide(ChatColors.GREEN, ChatColors.RED))
|
is Boolean -> TextComponent(this.toString()).color(this.decide(ChatColors.GREEN, ChatColors.RED))
|
||||||
@ -306,4 +307,11 @@ object KUtil {
|
|||||||
Platform.exit()
|
Platform.exit()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
val Any.length: Int
|
||||||
|
get() {
|
||||||
|
if (this is ChatComponent) return this.length
|
||||||
|
if (this is CharSequence) return this.length
|
||||||
|
return toString().length
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user