Skip to content

Commit 3c587f1

Browse files
committed
fixed for the moment
1 parent 0627b09 commit 3c587f1

21 files changed

+125
-99
lines changed

.idea/kotlinc.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/php.xml

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build.gradle.kts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ dependencies {
2424

2525
// https://mvnrepository.com/artifact/com.twelvemonkeys.imageio/imageio-core
2626
listOf(/*"-batik",*/ "-bmp", "-core", "-icns", "-iff", "-jpeg", "-metadata", "-pcx", "-pdf", "-pict", "-pnm",
27-
"-psd", "-sgi", "-tga", "-thumbsdb", "-tiff"/*, "-reference", "-clippath", "-hdr"*/).forEach {
27+
"-psd", "-sgi", "-tga", "-thumbsdb", "-tiff"/*, "-reference", "-clippath", "-hdr"*/).forEach {
2828
implementation("com.twelvemonkeys.imageio:imageio$it:3.5")
2929
}
3030
// https://mvnrepository.com/artifact/org.apache.xmlgraphics/batik-transcoder
@@ -47,6 +47,7 @@ tasks {
4747
freeCompilerArgs += listOf("-opt-in=kotlin.RequiresOptIn")
4848
}
4949
}
50+
withType<Test>().configureEach { useJUnitPlatform() }
5051
}
5152

5253
publishing {

src/main/kotlin/gli_/Image.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ class Image {
105105
* genType size must match the block size corresponding to the image format. */
106106
inline fun <reified T> size() = size(T::class)
107107

108-
fun size(clazz: KClass<*>): Int {
109-
val blockSize = getSize(clazz)
108+
fun size(kClass: KClass<*>): Int {
109+
val blockSize = getSize(kClass)
110110
assert(blockSize <= storage!!.blockSize)
111111
return size / blockSize
112112
}
@@ -118,7 +118,7 @@ class Image {
118118
}
119119

120120
inline fun <reified T> data(): reinterpreter<T> = data(T::class)
121-
fun <T> data(clazz: KClass<*>) = getReinterpreter<T>(clazz).apply { data = data()!! }
121+
fun <T> data(kClass: KClass<*>) = getReinterpreter<T>(kClass).apply { data = data()!! }
122122

123123
/** Clear the entire image storage_linear with zeros */
124124
fun clear() {

src/main/kotlin/gli_/Texture.kt

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -230,17 +230,13 @@ 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-
@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) }
233+
fun <T> data(kClass: KClass<*>, layer: Int, face: Int, level: Int): reinterpreter<T> = getReinterpreter<T>(kClass).apply { data = data(layer, face, level) }
235234
fun data(layer: Int, face: Int, level: Int): ByteBuffer {
236235
assert((notEmpty()))
237236
assert(layer in 0 until layers() && face in 0 until faces() && level in 0 until levels())
238237
val size = storage!!.levelSize(level)
239238
return memByteBuffer(cache.baseAddress(layer, face, level), size)
240239
}
241-
@PublishedApi
242-
internal
243-
fun a() = 3
244240
fun extent(level: Int = 0): Vec3i {
245241
assert(notEmpty())
246242
assert(level in 0 until levels())
@@ -321,8 +317,8 @@ open class Texture {
321317
}
322318

323319
inline fun <reified T> swizzles(swizzles: Swizzles) = swizzles(T::class, swizzles)
324-
fun swizzles(clazz: KClass<*>, swizzles: Swizzles) {
325-
when (clazz) {
320+
fun swizzles(kClass: KClass<*>, swizzles: Swizzles) {
321+
when (kClass) {
326322
Vec4b::class, Vec4ub::class -> {
327323
val texel = Vec4b()
328324
val data = data()
@@ -338,27 +334,27 @@ open class Texture {
338334

339335
fun imageOffset(coord: Vec3i, extent: Vec3i) = storage!!.imageOffset(coord, extent)
340336
inline fun <reified T> load(texelCoord: Vec3i, layer: Int, face: Int, level: Int): T = load(T::class, texelCoord, layer, face, level)
341-
fun <T> load(clazz: KClass<*>, texelCoord: Vec3i, layer: Int, face: Int, level: Int): T {
342-
assert(notEmpty() && !format.isCompressed && format.blockSize == getSize(clazz))
337+
fun <T> load(kClass: KClass<*>, texelCoord: Vec3i, layer: Int, face: Int, level: Int): T {
338+
assert(notEmpty() && !format.isCompressed && format.blockSize == getSize(kClass))
343339
val imageOffset = imageOffset(texelCoord, extent(level))
344340
assert(imageOffset < size(level))
345-
return data<T>(clazz, layer, face, level)[imageOffset]
341+
return data<T>(kClass, layer, face, level)[imageOffset]
346342
}
347343

348344
// fun store(texelCoord: Vec1i, layer: Int, face: Int, level: Int, texel: Any) = store(Vec3i(texelCoord.x, 1, 1), layer, face, level, texel) TODO check
349345
// fun store(texelCoord: Vec2i, layer: Int, face: Int, level: Int, texel: Any) = store(Vec3i(texelCoord.x, texelCoord.y, 1), layer, face, level, texel)
350346
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) {
347+
fun <T> store(kClass: KClass<*>, texelCoord: Vec3i, layer: Int, face: Int, level: Int, texel: T) {
352348

353349
assert(notEmpty() && !format.isCompressed)
354350
val extent = extent(level)
355351
assert(glm.all(glm.lessThan(texelCoord, extent)))
356352

357353
val imageOffset = imageOffset(texelCoord, extent)
358354

359-
val blockSize = getSize(clazz)
355+
val blockSize = getSize(kClass)
360356
assert(format.blockSize == blockSize && imageOffset < size(level) / blockSize)
361-
data<T>(clazz, layer, face, level)[imageOffset] = texel
357+
data<T>(kClass, layer, face, level)[imageOffset] = texel
362358
}
363359

364360
open fun dispose() = storage?.dispose()

src/main/kotlin/gli_/Texture1d.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,8 @@ class Texture1d : Texture {
8080

8181
fun extent_(level: Int = 0) = Vec1i(super.extent(level))
8282

83-
inline fun <reified T> load(texelCoord: Vec1i, level: Int): T = super.load<T>(Vec3i(texelCoord.x, 0, 0), 0, 0, level)
84-
fun <T> load(clazz: KClass<*>, texelCoord: Vec1i, level: Int): T = super.load(clazz, Vec3i(texelCoord.x, 0, 0), 0, 0, level)
85-
inline fun <reified T> store(texelCoord: Vec1i, level: Int, texel: T) = super.store(T::class, Vec3i(texelCoord.x, 0, 0), 0, 0, level, texel)
86-
fun <T> store(clazz: KClass<*>, texelCoord: Vec1i, level: Int, texel: T) = super.store(clazz, Vec3i(texelCoord.x, 0, 0), 0, 0, level, texel)
83+
internal inline fun <reified T> load(texelCoord: Vec1i, level: Int): T = super.load(Vec3i(texelCoord.x, 0, 0), 0, 0, level)
84+
fun <T> load(kClass: KClass<*>, texelCoord: Vec1i, level: Int): T = super.load(kClass, Vec3i(texelCoord.x, 0, 0), 0, 0, level)
85+
internal inline fun <reified T> store(texelCoord: Vec1i, level: Int, texel: T) = super.store(T::class, Vec3i(texelCoord.x, 0, 0), 0, 0, level, texel)
86+
fun <T> store(kClass: KClass<*>, texelCoord: Vec1i, level: Int, texel: T) = super.store(kClass, Vec3i(texelCoord.x, 0, 0), 0, 0, level, texel)
8787
}

src/main/kotlin/gli_/Texture1dArray.kt

Lines changed: 34 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package gli_
33
import glm_.glm
44
import glm_.vec1.Vec1i
55
import glm_.vec3.Vec3i
6+
import kotlin.reflect.KClass
67

78
/**
89
* Created by GBarbieri on 04.04.2017.
@@ -16,67 +17,68 @@ class Texture1dArray : Texture {
1617

1718
/** Create a texture1d_array and allocate a new storage_linear */
1819
constructor(
19-
format: Format,
20-
extent: Vec1i,
21-
layers: Int,
22-
levels: Int,
23-
swizzles: Swizzles = Swizzles()
24-
) :
20+
format: Format,
21+
extent: Vec1i,
22+
layers: Int,
23+
levels: Int,
24+
swizzles: Swizzles = Swizzles()
25+
) :
2526
super(Target._1D_ARRAY, format, Vec3i(extent.x, 1, 1), layers, 1, levels, swizzles)
2627

2728
/** Create a texture1d_array and allocate a new storage_linear with a complete mipmap chain */
2829
constructor(
29-
format: Format,
30-
extent: Vec1i,
31-
layers: Int,
32-
swizzles: Swizzles = Swizzles()
33-
) :
30+
format: Format,
31+
extent: Vec1i,
32+
layers: Int,
33+
swizzles: Swizzles = Swizzles()
34+
) :
3435
super(Target._1D_ARRAY, format, Vec3i(extent.x, 1, 1), layers, 1, glm.levels(extent), swizzles)
3536

3637
/** Create a texture1d_array view with an existing storage_linear */
3738
constructor(
38-
texture: Texture
39-
) :
39+
texture: Texture
40+
) :
4041
super(texture, Target._1D_ARRAY, texture.format)
4142

4243
/** Create a texture1d_array view with an existing storage_linear */
4344
constructor(
44-
texture: Texture,
45-
format: Format,
46-
baseLayer: Int, maxLayer: Int,
47-
baseFace: Int, maxFace: Int,
48-
baseLevel: Int, maxLevel: Int,
49-
swizzles: Swizzles = Swizzles()
50-
) :
45+
texture: Texture,
46+
format: Format,
47+
baseLayer: Int, maxLayer: Int,
48+
baseFace: Int, maxFace: Int,
49+
baseLevel: Int, maxLevel: Int,
50+
swizzles: Swizzles = Swizzles()
51+
) :
5152
super(texture, Target._1D_ARRAY, format, baseLayer, maxLayer, baseFace, maxFace, baseLevel, maxLevel, swizzles)
5253

5354
/** Create a texture view, reference a subset of an exiting storage_linear */
5455
constructor(texture: Texture,
5556
baseLayer: Int, maxLayer: Int,
5657
baseLevel: Int, maxLevel: Int
57-
) :
58+
) :
5859
super(texture, Target._1D_ARRAY, texture.format,
59-
texture.baseLayer + baseLayer, texture.baseLayer + maxLayer,
60-
texture.baseFace, texture.maxFace,
61-
texture.baseLevel + baseLevel, texture.baseLevel + maxLevel)
60+
texture.baseLayer + baseLayer, texture.baseLayer + maxLayer,
61+
texture.baseFace, texture.maxFace,
62+
texture.baseLevel + baseLevel, texture.baseLevel + maxLevel)
6263

6364
/** Create a view of the texture identified by Layer in the texture array */
6465
operator fun get(layer: Int): Texture1d {
6566

6667
assert(notEmpty() && layer < layers())
6768

6869
return Texture1d(
69-
this, format,
70-
baseLayer + layer, baseLayer + layer,
71-
baseFace, maxFace,
72-
baseLevel, maxLevel)
70+
this, format,
71+
baseLayer + layer, baseLayer + layer,
72+
baseFace, maxFace,
73+
baseLevel, maxLevel)
7374
}
7475

7576
fun extent_(level: Int = 0) = Vec1i(super.extent(level))
7677

77-
internal inline fun <reified T> load(texelCoord: Vec1i, layer: Int, level: Int) =
78-
super.load<T>(Vec3i(texelCoord.x, 0, 0), layer, 0, level)
78+
internal inline fun <reified T> load(texelCoord: Vec1i, layer: Int, level: Int): T = super.load(Vec3i(texelCoord.x, 0, 0), layer, 0, level)
7979

80-
internal inline fun <reified T> store(texelCoord: Vec1i, layer: Int, level: Int, texel: T) =
81-
super.store(Vec3i(texelCoord.x, 0, 0), layer, 0, level, texel)
80+
fun <T> load(kClass: KClass<*>, texelCoord: Vec1i, layer: Int, level: Int): T = super.load(kClass, Vec3i(texelCoord.x, 0, 0), layer, 0, level)
81+
82+
internal inline fun <reified T> store(texelCoord: Vec1i, layer: Int, level: Int, texel: T) = super.store(Vec3i(texelCoord.x, 0, 0), layer, 0, level, texel)
83+
fun <T> store(kClass: KClass<*>, texelCoord: Vec1i, layer: Int, level: Int, texel: T) = super.store(kClass, Vec3i(texelCoord.x, 0, 0), layer, 0, level, texel)
8284
}

src/main/kotlin/gli_/Texture2d.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package gli_
33
import glm_.glm
44
import glm_.vec2.Vec2i
55
import glm_.vec3.Vec3i
6+
import kotlin.reflect.KClass
67

78
/**
89
* Created by GBarbieri on 03.04.2017.
@@ -59,6 +60,8 @@ class Texture2d : Texture {
5960

6061
fun extent_(level: Int = 0) = Vec2i(super.extent(level))
6162

63+
internal inline fun <reified T> load(texelCoord: Vec2i, level: Int): T = super.load(Vec3i(texelCoord, 0), 0, 0, level)
64+
fun <T> load(kclass: KClass<*>, texelCoord: Vec2i, level: Int): T = super.load(kclass, Vec3i(texelCoord, 0), 0, 0, level)
6265
internal inline fun <reified T> store(texelCoord: Vec2i, level: Int, texel: T) = super.store(Vec3i(texelCoord, 0), 0, 0, level, texel)
63-
internal inline fun <reified T> load(texelCoord: Vec2i, level: Int) = super.load<T>(Vec3i(texelCoord, 0), 0, 0, level)
66+
fun <T> store(kclass: KClass<*>, texelCoord: Vec2i, level: Int, texel: T) = super.store(kclass, Vec3i(texelCoord, 0), 0, 0, level, texel)
6467
}

src/main/kotlin/gli_/Texture2dArray.kt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package gli_
33
import glm_.glm
44
import glm_.vec2.Vec2i
55
import glm_.vec3.Vec3i
6+
import kotlin.reflect.KClass
67

78
/**
89
* Created by GBarbieri on 04.04.2017.
@@ -57,9 +58,9 @@ class Texture2dArray : Texture {
5758

5859
fun extent_(level: Int = 0) = Vec2i(super.extent(level))
5960

60-
internal inline fun <reified T> load(texelCoord: Vec2i, layer: Int, level: Int) =
61-
super.load<T>(Vec3i(texelCoord.x, texelCoord.y, 0), layer, 0, level)
61+
internal inline fun <reified T> load(texelCoord: Vec2i, layer: Int, level: Int): T = super.load(Vec3i(texelCoord.x, texelCoord.y, 0), layer, 0, level)
62+
fun <T> load(kClass: KClass<*>, texelCoord: Vec2i, layer: Int, level: Int): T = super.load(kClass, Vec3i(texelCoord.x, texelCoord.y, 0), layer, 0, level)
6263

63-
internal inline fun <reified T> store(texelCoord: Vec2i, layer: Int, level: Int, texel: T) =
64-
super.store(Vec3i(texelCoord.x, texelCoord.y, 0), layer, 0, level, texel)
64+
internal inline fun <reified T> store(texelCoord: Vec2i, layer: Int, level: Int, texel: T) = super.store(Vec3i(texelCoord.x, texelCoord.y, 0), layer, 0, level, texel)
65+
fun <T> store(kClass: KClass<*>, texelCoord: Vec2i, layer: Int, level: Int, texel: T) = super.store(kClass, Vec3i(texelCoord.x, texelCoord.y, 0), layer, 0, level, texel)
6566
}

0 commit comments

Comments
 (0)