Skip to content

Releases: glimpse-graphics/glimpse

v2.0.0-alpha.3

06 May 21:47
Compare
Choose a tag to compare
v2.0.0-alpha.3 Pre-release
Pre-release

Includes all changes from v2.0.0-alpha.1 and v2.0.0-alpha.2.

Added

  • Add curves and surfaces to geometry library

v2.0.0-alpha.2

30 Apr 13:33
Compare
Choose a tag to compare
v2.0.0-alpha.2 Pre-release
Pre-release

Includes all changes from v2.0.0-alpha.1.

Fixed

  • Triangulation of a polygon with straight angles

v2.0.0-alpha.1

29 Apr 11:52
Compare
Choose a tag to compare
v2.0.0-alpha.1 Pre-release
Pre-release

Added

  • 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 and FloatUniformBuffer 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 or Vec4
  • Texture pixel type: HALF_FLOAT
  • Texture pixel formats: DEPTH_STENCIL, RED and RG
  • Texture internal formats: RGB32F and RGBA32F
  • Glimpse geometry library with basic geometric shapes
  • Glimpse testing library with delta assertions

Changed

  • BREAKING CHANGE: Add parameter type T : Number to Angle and AngleRange
  • BREAKING CHANGE: Add parameter type T : Number to Vec and all inheriting types
  • BREAKING CHANGE: Method Vec.toFloatArray() replaced with a set of extension functions VecN<Float>.toFloatArray()
  • BREAKING CHANGE: Add parameter type T : Number to Mat and all inheriting types
  • BREAKING CHANGE: Method Mat.toFloatArray() replaced with a set of extension functions BaseMat<Float, M, V>.toFloatArray()
  • BREAKING CHANGE: Property BaseMat.elements is now protected (use Mat.toList() instead)
  • BREAKING CHANGE: Add parameter type T : Number to Camera and its implementations
  • BREAKING CHANGE: Add parameter type T : Number to Lens and its implementations
  • BREAKING CHANGE: Rename EmptyTexturePresets to TexturePresets
  • 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 to 1.6.4
    • Upgrade androidx.appcompat:appcompat to 1.6.1
    • Upgrade com.google.android.material:material to 1.8.0
    • Upgrade androidx.annotation:annotation to 1.6.0
    • Upgrade activity-compose to 1.7.1
    • Upgrade kotlinpoet to 1.13.0
    • Upgrade slf4j-api to 2.0.7
    • Upgrade logback-core to 1.4.7
    • Upgrade logback-classic to 1.4.7
    • Upgrade mockk to 1.13.5
    • Upgrade detekt-gradle-plugin to 1.22.0
    • Upgrade org.jetbrains.changelog to 2.0.0
    • Upgrade org.jetbrains.dokka to 1.8.10

Deprecated

  • Functions: magnitude(Vec2), magnitude(Vec3), normalize(Vec2), normalize(Vec3)
  • Functions: Vec3(Color), Vec4(Color), Vec3(@ColorInt Int), Vec4(@ColorInt Int)

Removed

  • Method ProgramExecutor.dispose() without parameters

v1.2.1

24 Jan 23:44
Compare
Choose a tag to compare

Fixed

  • Correctly apply face culling mode

v1.2.0

08 Nov 21:53
Compare
Choose a tag to compare

Added

  • Utilities for rendering HUD-style 2D elements on top of 3D scene
  • Build TextureImageSource from BufferedImage
  • Build TextureImageSource containing text
  • Properties width and height in TextureImageSource and Texture
  • @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)

Changed

  • @Uniform can no longer be used to annotate properties of type Texture
    (@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 to 1.6.3-native-mt
    • Upgrade androidx.appcompat:appcompat to 1.5.1
    • Upgrade com.google.android.material:material to 1.7.0
    • Upgrade androidx.annotation:annotation to 1.5.0
    • Upgrade activity-compose to 1.5.0
    • Upgrade kotlinpoet to 1.12.0
    • Upgrade slf4j-api to 2.0.3
    • Upgrade logback-core to 1.4.4
    • Upgrade logback-classic to 1.4.4
    • Upgrade mockk to 1.13.2
    • Upgrade detekt-gradle-plugin to 1.21.0
    • Upgrade org.jetbrains.dokka to 1.7.10

Deprecated

  • Usage of method ProgramExecutor.dispose() without parameters will be reported as an error

Removed

  • Remove Kapt processors (glimpse-processor-java and glimpse-processor-kotlin).
    Use KSP processor instead (glimpse-processor-ksp)

Fixed

  • Apply correct unpack pixel alignment for texture data before calling glTexImage2D()
  • Remove misleading error after deleting program or shader

v1.1.0

30 Apr 15:08
Compare
Choose a tag to compare

Added

  • Support for Boolean uniform shader parameters
    (uniform value in shader is still an Int, with a value of GL_TRUE or GL_FALSE):
    • Method GlimpseAdapter.glUniform(Int, Boolean)
    • Method BaseProgramExecutor.glUniform(GlimpseAdapter, String, Boolean)
  • Method ProgramExecutor.dispose(GlimpseAdapter), disposing also referenced Program
  • Support for framebuffers
  • Support bitangents shader attribute
  • Additional parameters in composable GlimpseView:
    • modifier – the modifier to be applied to the layout
    • onClick – called when the view has been clicked
    • update – the callback to be invoked after the layout is inflated
  • Composable GlimpseView function with separate functional parameters instead of callback
  • Utility functions for creating Vec3 and Vec4 from Jetpack Compose Color
  • 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

Changed

  • 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 to 1.6.1-native-mt
    • Upgrade androidx.appcompat:appcompat to 1.4.1
    • Upgrade com.google.android.material:material to 1.5.0
    • Upgrade androidx.annotation:annotation to 1.3.0
    • Upgrade activity-compose to 1.4.0
    • Upgrade kotlinpoet to 1.11.0
    • Upgrade slf4j-api to 1.7.36
    • Upgrade logback-core to 1.2.11
    • Upgrade logback-classic to 1.2.11
    • Upgrade mockk to 1.12.3
    • Upgrade detekt-gradle-plugin to 1.19.0
    • Upgrade org.jetbrains.changelog to 1.3.1
    • Upgrade org.jetbrains.dokka to 1.6.20

Deprecated

  • Method ProgramExecutor.dispose() without parameters

Removed

  • BREAKING CHANGE: Remove zOrderOnTop from GlimpseView composable function.
    Call zOrderOnTop = … inside update block instead.

Fixed

  • Fix bitangent calculations
  • Correct implementation of toString() for buffer data objects

v1.1.0-BETA1

15 Apr 16:04
Compare
Choose a tag to compare
v1.1.0-BETA1 Pre-release
Pre-release

Added

  • Support for Boolean uniform shader parameters
    (uniform value in shader is still an Int, with a value of GL_TRUE or GL_FALSE):
    • Method GlimpseAdapter.glUniform(Int, Boolean)
    • Method BaseProgramExecutor.glUniform(GlimpseAdapter, String, Boolean)
  • Method ProgramExecutor.dispose(GlimpseAdapter), disposing also referenced Program
  • Support for framebuffers
  • Support bitangents shader attribute
  • Additional parameters in composable GlimpseView:
    • modifier – the modifier to be applied to the layout
    • onClick – called when the view has been clicked
    • update – the callback to be invoked after the layout is inflated
  • Composable GlimpseView function with separate functional parameters instead of callback
  • Utility functions for creating Vec3 and Vec4 from Jetpack Compose Color
  • 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

Changed

  • 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 to 1.6.1-native-mt
    • Upgrade androidx.appcompat:appcompat to 1.4.1
    • Upgrade com.google.android.material:material to 1.5.0
    • Upgrade androidx.annotation:annotation to 1.3.0
    • Upgrade activity-compose to 1.4.0
    • Upgrade kotlinpoet to 1.11.0
    • Upgrade slf4j-api to 1.7.36
    • Upgrade logback-core to 1.2.11
    • Upgrade logback-classic to 1.2.11
    • Upgrade mockk to 1.12.3
    • Upgrade detekt-gradle-plugin to 1.19.0
    • Upgrade org.jetbrains.changelog to 1.3.1
    • Upgrade org.jetbrains.dokka to 1.6.20

Deprecated

  • Method ProgramExecutor.dispose() without parameters

Removed

  • BREAKING CHANGE: Remove zOrderOnTop from GlimpseView composable function.
    Call zOrderOnTop = … inside update block instead.

Fixed

  • Fix bitangent calculations
  • Correct implementation of toString() for buffer data objects

v1.1.0-ALPHA3

15 Feb 22:27
Compare
Choose a tag to compare
v1.1.0-ALPHA3 Pre-release
Pre-release

Fixed

  • Fix bitangent calculations
  • Correct implementation of toString() for buffer data objects

v1.1.0-ALPHA2

24 Jan 19:34
Compare
Choose a tag to compare
v1.1.0-ALPHA2 Pre-release
Pre-release

Added

  • Support bitangents shader attribute

Changed

  • Set texture parameters in texture builder
  • Dependencies:
    • Upgrade slf4j-api to 1.7.33
    • Upgrade org.jetbrains.dokka to 1.6.10
    • Upgrade androidx.appcompat:appcompat to 1.4.1
    • Upgrade com.google.android.material:material to 1.5.0

v1.1.0-ALPHA1

08 Jan 20:53
Compare
Choose a tag to compare
v1.1.0-ALPHA1 Pre-release
Pre-release

Added

  • Support for Boolean uniform shader parameters
    (uniform value in shader is still an Int, with a value of GL_TRUE or GL_FALSE):
    • Method GlimpseAdapter.glUniform(Int, Boolean)
    • Method BaseProgramExecutor.glUniform(GlimpseAdapter, String, Boolean)
  • Method ProgramExecutor.dispose(GlimpseAdapter), disposing also referenced Program
  • Support for framebuffers
  • Additional parameters in composable GlimpseView:
    • modifier – the modifier to be applied to the layout
    • onClick – called when the view has been clicked
    • update – the callback to be invoked after the layout is inflated
  • Composable GlimpseView function with separate functional parameters instead of callback
  • Utility functions for creating Vec3 and Vec4 from Jetpack Compose Color
  • KSP processor for shader parameters

Changed

  • Make Kapt processors incremental (isolating)
  • Change target JVM to Java 11
  • Upgrade Gradle Wrapper to 7.3.2
  • Dependencies:
    • Upgrade Kotlin to 1.6.10
    • Upgrade JetBrains Compose for Desktop to 1.0.1
    • Upgrade Android Gradle Plugin to 7.0.4
    • Upgrade org.jetbrains.dokka to 1.6.0
    • Upgrade kotlinpoet to 1.10.2
    • Upgrade androidx.annotation:annotation to 1.3.0
    • Upgrade mockk to 1.12.2
    • Upgrade activity-compose to 1.4.0
    • Upgrade kotlinx-coroutines-android to 1.6.0-native-mt
    • Upgrade slf4j-api to 1.7.32
    • Upgrade logback-core to 1.2.10
    • Upgrade logback-classic to 1.2.10
    • Upgrade androidx.appcompat:appcompat to 1.4.0
    • Upgrade com.google.android.material:material to 1.4.0
    • Upgrade detekt-gradle-plugin to 1.19.0
    • Upgrade org.jetbrains.changelog to 1.3.1

Deprecated

  • Method ProgramExecutor.dispose() without parameters

Removed

  • BREAKING CHANGE: Remove zOrderOnTop from GlimpseView composable function.
    Call zOrderOnTop = … inside update block instead.