mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-17 11:24:56 -04:00
improve mesh performance
This commit is contained in:
parent
e328f36c48
commit
f043a9b620
@ -34,10 +34,8 @@ class FramebufferMesh(context: RenderContext) : Mesh(context, DefaultFramebuffer
|
||||
}
|
||||
|
||||
private fun addVertex(position: Vec2, uv: Vec2) {
|
||||
data.add(position.x)
|
||||
data.add(position.y)
|
||||
data.add(uv.x)
|
||||
data.add(uv.y)
|
||||
data.add(position.array)
|
||||
data.add(uv.array)
|
||||
}
|
||||
|
||||
data class DefaultFramebufferMeshStruct(
|
||||
|
@ -23,11 +23,8 @@ import de.bixilon.minosoft.gui.rendering.util.mesh.MeshStruct
|
||||
open class WeatherOverlayMesh(context: RenderContext, primitiveType: PrimitiveTypes = context.renderSystem.preferredPrimitiveType) : Mesh(context, WeatherOverlayMeshStruct, primitiveType, initialCacheSize = 2 * 3 * WeatherOverlayMeshStruct.FLOATS_PER_VERTEX) {
|
||||
|
||||
fun addVertex(position: Vec3, uv: Vec2, offset: Float, offsetMultiplicator: Float, alphaMultiplicator: Float) {
|
||||
data.add(position.x)
|
||||
data.add(position.y)
|
||||
data.add(position.z)
|
||||
data.add(uv.x)
|
||||
data.add(uv.y)
|
||||
data.add(position.array)
|
||||
data.add(uv.array)
|
||||
data.add(offset)
|
||||
data.add(offsetMultiplicator)
|
||||
data.add(alphaMultiplicator)
|
||||
|
@ -25,11 +25,8 @@ class SkeletalMesh(context: RenderContext, initialCacheSize: Int) : Mesh(context
|
||||
|
||||
override fun addVertex(position: FloatArray, uv: Vec2, transform: Int, texture: ShaderTexture, flags: Int) {
|
||||
val transformedUV = texture.transformUV(uv)
|
||||
data.add(position[0])
|
||||
data.add(position[1])
|
||||
data.add(position[2])
|
||||
data.add(transformedUV.x)
|
||||
data.add(transformedUV.y)
|
||||
data.add(position)
|
||||
data.add(transformedUV.array)
|
||||
data.add(transform.buffer())
|
||||
data.add(texture.shaderId.buffer())
|
||||
data.add(flags.buffer())
|
||||
@ -37,11 +34,8 @@ class SkeletalMesh(context: RenderContext, initialCacheSize: Int) : Mesh(context
|
||||
|
||||
@Deprecated("Pretty rendering specific")
|
||||
override fun addVertex(position: FloatArray, transformedUV: Vec2, transform: Float, textureShaderId: Float, flags: Float) {
|
||||
data.add(position[0])
|
||||
data.add(position[1])
|
||||
data.add(position[2])
|
||||
data.add(transformedUV.x)
|
||||
data.add(transformedUV.y)
|
||||
data.add(position)
|
||||
data.add(transformedUV.array)
|
||||
data.add(transform)
|
||||
data.add(textureShaderId)
|
||||
data.add(flags)
|
||||
|
@ -25,11 +25,8 @@ import de.bixilon.minosoft.gui.rendering.util.mesh.MeshStruct
|
||||
open class PlanetMesh(context: RenderContext, primitiveType: PrimitiveTypes = context.renderSystem.preferredPrimitiveType) : Mesh(context, SunMeshStruct, primitiveType, initialCacheSize = 2 * 3 * SunMeshStruct.FLOATS_PER_VERTEX) {
|
||||
|
||||
fun addVertex(position: Vec3, texture: AbstractTexture, uv: Vec2) {
|
||||
data.add(position.x)
|
||||
data.add(position.y)
|
||||
data.add(position.z)
|
||||
data.add(uv.x)
|
||||
data.add(uv.y)
|
||||
data.add(position.array)
|
||||
data.add(uv.array)
|
||||
data.add(texture.renderData.shaderTextureId.buffer())
|
||||
}
|
||||
|
||||
|
@ -25,11 +25,8 @@ import de.bixilon.minosoft.gui.rendering.system.base.texture.texture.AbstractTex
|
||||
open class SimpleTextureMesh(context: RenderContext, primitiveType: PrimitiveTypes = context.renderSystem.preferredPrimitiveType) : Mesh(context, SimpleTextureMeshStruct, primitiveType, initialCacheSize = 2 * 3 * SimpleTextureMeshStruct.FLOATS_PER_VERTEX) {
|
||||
|
||||
fun addVertex(position: Vec3, texture: AbstractTexture, uv: Vec2, tintColor: RGBColor?) {
|
||||
data.add(position.x)
|
||||
data.add(position.y)
|
||||
data.add(position.z)
|
||||
data.add(uv.x)
|
||||
data.add(uv.y)
|
||||
data.add(position.array)
|
||||
data.add(uv.array)
|
||||
data.add(texture.renderData.shaderTextureId.buffer())
|
||||
data.add((tintColor?.rgba ?: Colors.WHITE).buffer())
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user