Double
buffer data wrapper:DoubleBufferData
- Extension functions
VecN<Int>.toIntArray()
- Extension functions
VecN<Long>.toLongArray()
- Extension functions
VecN<Double>.toDoubleArray()
- Method
Mat.toList()
, returning elements of the matrix - Extension function
BaseMat<Double, M, V>.toDoubleArray()
- Add support for
Int
vectors to@Uniform
annotation - Buffers for uniform data:
IntUniformBuffer
,FloatUniformBuffer
- Add support for
IntUniformBuffer
andFloatUniformBuffer
to@Uniform
annotation - Add
Vec2.cross(Vec2): Vec3
method - Methods:
Vec2.magnitude()
,Vec3.magnitude()
,Vec2.normalize()
,Vec3.normalize()
- Extension functions:
Color.toVec3()
,Color.toVec4()
,Int.toVec3()
,Int.toVec4()
- Extension functions:
Vec3.toColor()
,Vec4.toColor()
,Vec3.toColorInt()
,vec4.toColorInt()
,Vec3.toComposeColor()
,Vec4.toComposeColor()
- Generating 1x1 texture from
Vec3
orVec4
- Texture pixel type:
HALF_FLOAT
- Texture pixel formats:
DEPTH_STENCIL
,RED
andRG
- Texture internal formats:
RGB32F
andRGBA32F
- Glimpse geometry library with basic geometric shapes, curves and surfaces
- Glimpse testing library with delta assertions
- BREAKING CHANGE: Add parameter type
T : Number
toAngle
andAngleRange
- BREAKING CHANGE: Add parameter type
T : Number
toVec
and all inheriting types - BREAKING CHANGE: Method
Vec.toFloatArray()
replaced with a set of extension functionsVecN<Float>.toFloatArray()
- BREAKING CHANGE: Add parameter type
T : Number
toMat
and all inheriting types - BREAKING CHANGE: Method
Mat.toFloatArray()
replaced with a set of extension functionsBaseMat<Float, M, V>.toFloatArray()
- BREAKING CHANGE: Property
BaseMat.elements
is now protected (useMat.toList()
instead) - BREAKING CHANGE: Add parameter type
T : Number
toCamera
and its implementations - BREAKING CHANGE: Add parameter type
T : Number
toLens
and its implementations - BREAKING CHANGE: Rename
EmptyTexturePresets
toTexturePresets
- BREAKING CHANGE: Support for multiple color framebuffer attachments
- Use ear clipping method to triangulate faces added to
MeshDataBuilder
- Minimum Android API level 21
- Upgrade to OpenGL ES 3.1
- Upgrade Gradle Wrapper to
8.1
- Dependencies:
- Upgrade Kotlin to
1.8.20
- Upgrade KSP to
1.8.20-1.0.11
- Upgrade JetBrains Compose for Desktop to
1.4.0
- Upgrade Android Gradle Plugin to
7.4.2
- Upgrade JogAmp to
2.4.0
- Upgrade
kotlinx-coroutines-android
to1.6.4
- Upgrade
androidx.appcompat:appcompat
to1.6.1
- Upgrade
com.google.android.material:material
to1.8.0
- Upgrade
androidx.annotation:annotation
to1.6.0
- Upgrade
activity-compose
to1.7.1
- Upgrade
kotlinpoet
to1.13.0
- Upgrade
slf4j-api
to2.0.7
- Upgrade
logback-core
to1.4.7
- Upgrade
logback-classic
to1.4.7
- Upgrade
mockk
to1.13.5
- Upgrade
detekt-gradle-plugin
to1.22.0
- Upgrade
org.jetbrains.changelog
to2.0.0
- Upgrade
org.jetbrains.dokka
to1.8.10
- Upgrade Kotlin to
- Functions:
magnitude(Vec2)
,magnitude(Vec3)
,normalize(Vec2)
,normalize(Vec3)
- Functions:
Vec3(Color)
,Vec4(Color)
,Vec3(@ColorInt Int)
,Vec4(@ColorInt Int)
- Method
ProgramExecutor.dispose()
without parameters
- Correctly apply face culling mode
- Utilities for rendering HUD-style 2D elements on top of 3D scene
- Build
TextureImageSource
fromBufferedImage
- Build
TextureImageSource
containing text - Properties
width
andheight
inTextureImageSource
andTexture
@Sampler2D
annotation that can be used to annotate shader parameters properties of types:Texture
Array<Texture>
Iterable<Texture>
- Method
GlimpseAdapter.glVSync(VSync)
, setting V-sync mode (if supported) - Automatic module names for Java 9 (desktop and processor)
@Uniform
can no longer be used to annotate properties of typeTexture
(@Sampler2D
should be used instead)- Upgrade Gradle Wrapper to
7.5
- Dependencies:
- Upgrade Kotlin to
1.7.20
- Upgrade KSP to
1.7.20-1.0.8
- Upgrade JetBrains Compose for Desktop to
1.2.1
- Upgrade Android Gradle Plugin to
7.2.1
- Upgrade
kotlinx-coroutines-android
to1.6.3-native-mt
- Upgrade
androidx.appcompat:appcompat
to1.5.1
- Upgrade
com.google.android.material:material
to1.7.0
- Upgrade
androidx.annotation:annotation
to1.5.0
- Upgrade
activity-compose
to1.5.0
- Upgrade
kotlinpoet
to1.12.0
- Upgrade
slf4j-api
to2.0.3
- Upgrade
logback-core
to1.4.4
- Upgrade
logback-classic
to1.4.4
- Upgrade
mockk
to1.13.2
- Upgrade
detekt-gradle-plugin
to1.21.0
- Upgrade
org.jetbrains.dokka
to1.7.10
- Upgrade Kotlin to
- Usage of method
ProgramExecutor.dispose()
without parameters will be reported as an error
- Remove Kapt processors (
glimpse-processor-java
andglimpse-processor-kotlin
). Use KSP processor instead (glimpse-processor-ksp
)
- Apply correct unpack pixel alignment for texture data before calling
glTexImage2D()
- Remove misleading error after deleting program or shader
- Support for
Boolean
uniform shader parameters (uniform value in shader is still anInt
, with a value ofGL_TRUE
orGL_FALSE
):- Method
GlimpseAdapter.glUniform(Int, Boolean)
- Method
BaseProgramExecutor.glUniform(GlimpseAdapter, String, Boolean)
- Method
- Method
ProgramExecutor.dispose(GlimpseAdapter)
, disposing also referencedProgram
- Support for framebuffers
- Support bitangents shader attribute
- Additional parameters in composable
GlimpseView
:modifier
– the modifier to be applied to the layoutonClick
– called when the view has been clickedupdate
– the callback to be invoked after the layout is inflated
- Composable
GlimpseView
function with separate functional parameters instead ofcallback
- Utility functions for creating
Vec3
andVec4
from Jetpack ComposeColor
- Method
Vec2.dot(Vec2)
- Method
Vec2.atan()
- Method
Mat3.toMat2()
- Method
Mat4.toMat2()
- Factory function
Vec2.fromPolarCoordinates(Float, Angle)
- Constants:
Vec2.nullVector
Vec2.unitX
Vec2.unitY
- KSP processor for shader parameters
- Set texture parameters in texture builder
- Make Kapt processors incremental (isolating)
- Change target JVM to Java 11
- Upgrade Gradle Wrapper to
7.4.2
- Dependencies:
- Upgrade Kotlin to
1.6.10
- Upgrade KSP to
1.6.10-1.0.4
- Upgrade JetBrains Compose for Desktop to
1.1.1
- Upgrade Android Gradle Plugin to
7.0.4
- Upgrade
kotlinx-coroutines-android
to1.6.1-native-mt
- Upgrade
androidx.appcompat:appcompat
to1.4.1
- Upgrade
com.google.android.material:material
to1.5.0
- Upgrade
androidx.annotation:annotation
to1.3.0
- Upgrade
activity-compose
to1.4.0
- Upgrade
kotlinpoet
to1.11.0
- Upgrade
slf4j-api
to1.7.36
- Upgrade
logback-core
to1.2.11
- Upgrade
logback-classic
to1.2.11
- Upgrade
mockk
to1.12.3
- Upgrade
detekt-gradle-plugin
to1.19.0
- Upgrade
org.jetbrains.changelog
to1.3.1
- Upgrade
org.jetbrains.dokka
to1.6.20
- Upgrade Kotlin to
- Method
ProgramExecutor.dispose()
without parameters
- BREAKING CHANGE: Remove
zOrderOnTop
fromGlimpseView
composable function. CallzOrderOnTop = …
insideupdate
block instead.
- Fix bitangent calculations
- Correct implementation of
toString()
for buffer data objects
- Core types:
- Angles
- Vectors
- Matrices, including transformation, view and projection matrices
- Color conversion tools for AWT Color (Desktop) and Android
- Glimpse OpenGL adapter
- Glimpse logger
- Buffers
- Meshes
- Models
- Textures
- Shaders
- Cameras
- Lenses
- UI components:
GlimpseSurfaceView
(Android)GlimpseFrame
(Desktop)GlimpsePanel
(Desktop)
- Composable UI components:
GlimpseView
- Generating program executors from annotated shader parameters class
- Support for Wavefront OBJ files
- Offscreen rendering