commonMain.earth.worldwind.render.buffer.FloatBufferObject.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of worldwind-jvm Show documentation
Show all versions of worldwind-jvm Show documentation
The WorldWind Kotlin SDK (WWK) includes the library, examples and tutorials for building multiplatform 3D virtual globe applications for Android, Web and Java.
The newest version!
package earth.worldwind.render.buffer
import earth.worldwind.draw.DrawContext
import earth.worldwind.util.kgl.GL_STATIC_DRAW
open class FloatBufferObject(
target: Int, array: FloatArray, size: Int = array.size
) : AbstractBufferObject(target, size * Float.SIZE_BYTES) {
protected var array: FloatArray? = array
override fun release(dc: DrawContext) {
super.release(dc)
array = null // array can be non-null if the object has not been bound
}
override fun bindBuffer(dc: DrawContext): Boolean {
array?.let { loadBuffer(dc) }.also { array = null }
return super.bindBuffer(dc)
}
override fun loadBufferObjectData(dc: DrawContext) {
array?.let { dc.gl.bufferData(target, byteCount, it, GL_STATIC_DRAW) }
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy