commonMain.com.soywiz.korge3d.Mesh3D.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of korge-jvm Show documentation
Show all versions of korge-jvm Show documentation
Multiplatform Game Engine written in Kotlin
package com.soywiz.korge3d
import com.soywiz.kds.*
import com.soywiz.kmem.*
import com.soywiz.korag.*
import com.soywiz.korag.shader.*
data class BufferWithVertexLayout(
val buffer: FBuffer,
val layout: VertexLayout
) {
val vertexSizeInBytes = layout.totalSize
val vertexSizeInFloats = vertexSizeInBytes / 4
}
@Korge3DExperimental
data class Mesh3D constructor(
val vertexBuffers: FastArrayList,
val indexBuffer: FBuffer,
val indexType: AG.IndexType,
val vertexCount:Int,
val program: Program?,
val drawType: AG.DrawType,
val hasTexture: Boolean = false,
val maxWeights: Int = 0,
var skin: Skin3D? = null,
var material: Material3D? = null
) {
//val modelMat = Matrix3D()
//val vertexCount = vertexBuffer.size / 4 / vertexSizeInFloats
/*
val fbuffer by lazy {
FBuffer.alloc(data.size * 4).apply {
setAlignedArrayFloat32(0, [email protected], 0, [email protected])
}
//FBuffer.wrap(MemBufferAlloc(data.size * 4)).apply {
// arraycopy([email protected], 0, [email protected], 0, [email protected]) // Bug in kmem-js?
//}
}
*/
init {
//println("vertexCount: $vertexCount, vertexSizeInFloats: $vertexSizeInFloats, data.size: ${data.size}")
}
}