@@ -230,14 +230,17 @@ open class Texture {
230230 }
231231
232232 inline fun <reified T > data (layer : Int , face : Int , level : Int ): reinterpreter<T > = data(T ::class , layer, face, level)
233- fun <T > data (clazz : KClass <* >, layer : Int , face : Int , level : Int ) = getReinterpreter<T >(clazz).apply { data = data(layer, face, level) }
233+ @PublishedApi
234+ internal fun <T > data (clazz : KClass <* >, layer : Int , face : Int , level : Int ): reinterpreter<T > = getReinterpreter<T >(clazz).apply { data = data(layer, face, level) }
234235 fun data (layer : Int , face : Int , level : Int ): ByteBuffer {
235236 assert ((notEmpty()))
236237 assert (layer in 0 until layers() && face in 0 until faces() && level in 0 until levels())
237238 val size = storage!! .levelSize(level)
238239 return memByteBuffer(cache.baseAddress(layer, face, level), size)
239240 }
240-
241+ @PublishedApi
242+ internal
243+ fun a () = 3
241244 fun extent (level : Int = 0): Vec3i {
242245 assert (notEmpty())
243246 assert (level in 0 until levels())
@@ -334,7 +337,6 @@ open class Texture {
334337 }
335338
336339 fun imageOffset (coord : Vec3i , extent : Vec3i ) = storage!! .imageOffset(coord, extent)
337-
338340 inline fun <reified T > load (texelCoord : Vec3i , layer : Int , face : Int , level : Int ): T = load(T ::class , texelCoord, layer, face, level)
339341 fun <T > load (clazz : KClass <* >, texelCoord : Vec3i , layer : Int , face : Int , level : Int ): T {
340342 assert (notEmpty() && ! format.isCompressed && format.blockSize == getSize(clazz))
@@ -345,17 +347,18 @@ open class Texture {
345347
346348 // fun store(texelCoord: Vec1i, layer: Int, face: Int, level: Int, texel: Any) = store(Vec3i(texelCoord.x, 1, 1), layer, face, level, texel) TODO check
347349// fun store(texelCoord: Vec2i, layer: Int, face: Int, level: Int, texel: Any) = store(Vec3i(texelCoord.x, texelCoord.y, 1), layer, face, level, texel)
348- inline fun <reified T > store (texelCoord : Vec3i , layer : Int , face : Int , level : Int , texel : T ) {
350+ inline fun <reified T > store (texelCoord : Vec3i , layer : Int , face : Int , level : Int , texel : T ) = store(T ::class , texelCoord, layer, face, level, texel)
351+ fun <T > store (clazz : KClass <* >, texelCoord : Vec3i , layer : Int , face : Int , level : Int , texel : T ) {
349352
350353 assert (notEmpty() && ! format.isCompressed)
351354 val extent = extent(level)
352355 assert (glm.all(glm.lessThan(texelCoord, extent)))
353356
354357 val imageOffset = imageOffset(texelCoord, extent)
355358
356- val blockSize = getSize(T :: class )
359+ val blockSize = getSize(clazz )
357360 assert (format.blockSize == blockSize && imageOffset < size(level) / blockSize)
358- data<T >(layer, face, level)[imageOffset] = texel
361+ data<T >(clazz, layer, face, level)[imageOffset] = texel
359362 }
360363
361364 open fun dispose () = storage?.dispose()
0 commit comments