glimpse

OpenGL made simple

APACHE-2.0 License

Stars
6

Bot releases are visible (Hide)

glimpse - v2.0.0-alpha.3 Latest Release

Published by sczerwinski over 1 year ago

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

Added

  • Add curves and surfaces to geometry library
glimpse - v2.0.0-alpha.2

Published by github-actions[bot] over 1 year ago

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

Fixed

  • Triangulation of a polygon with straight angles
glimpse - v2.0.0-alpha.1

Published by github-actions[bot] over 1 year ago

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
glimpse - v1.2.1

Published by github-actions[bot] over 1 year ago

Fixed

  • Correctly apply face culling mode
glimpse - v1.2.0

Published by github-actions[bot] almost 2 years ago

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
glimpse - v1.1.0

Published by github-actions[bot] over 2 years ago

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
glimpse - v1.1.0-BETA1

Published by sczerwinski over 2 years ago

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
glimpse - v1.1.0-ALPHA3

Published by github-actions[bot] over 2 years ago

Fixed

  • Fix bitangent calculations
  • Correct implementation of toString() for buffer data objects
glimpse - v1.1.0-ALPHA2

Published by github-actions[bot] over 2 years ago

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
glimpse - v1.1.0-ALPHA1

Published by github-actions[bot] almost 3 years ago

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.
glimpse - v1.0.0

Published by github-actions[bot] over 3 years ago

Added

  • 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

Changed

  • Dependencies:
    • Upgrade JetBrains Compose for Desktop to 0.3.1
glimpse - v1.0.0-RC1

Published by github-actions[bot] over 3 years ago

Added

  • TextureImageSourceBuilder.buildPrepared()

Removed

  • BREAKING CHANGE: Remove filename from TextureImageSource
  • BREAKING CHANGE: Remove withFilename from Android implementation
    of TextureImageSourceBuilder
glimpse - v1.0.0-BETA2

Published by github-actions[bot] over 3 years ago

Added

  • Support for non-32-bpp texture images (Desktop)
  • Matrix times vector multiplication

Changed

  • Use ComponentActivity.setContent(...) from activity-compose

Fixed

  • Flip texture image vertically on Android to match Desktop behaviour
glimpse - v1.0.0-BETA1

Published by github-actions[bot] over 3 years ago

Added

  • GlimpseAdapter methods:
    • glEnableLineSmooth()
    • glDisableLineSmooth()
    • glEnableProgramPointSize()
    • glDisableProgramPointSize()

Changed

  • Dependencies:
    • Upgrade Kotlin to 1.4.30
    • Upgrade JetBrains Compose for Desktop to 0.3.0-build152
    • Upgrade org.jetbrains.changelog to 1.1.1
  • Use a temporary workaround for the missing
    ComponentActivity.setContent(...) extension function
glimpse - v1.0.0-ALPHA4

Published by github-actions[bot] over 3 years ago

Added

  • GlimpseAdapter.glLineWidth(float) to set line width
  • Blending-related methods in GlimpseAdapter:
    • glEnableBlending
    • glDisableBlending
    • glBlendingFunction
    • glBlendingColor
  • Color conversion tools for AWT Color (Desktop) and Android
  • Functions Angle.atan() and Angle.atan2(), returning Angle

Changed

  • Make GLCapabilitiesFactory internal in glimpse-ui
  • Setting fixed surface scale in GlimpsePanel with parameter fixedScale
  • Convert JogAmp and slf4j dependencies to compileOnly
glimpse - v1.0.0-ALPHA3

Published by github-actions[bot] over 3 years ago

Changed

  • Create GlimpsePanel with GLCapabilities for any existing GLProfile
    supporting OpenGL ES 2.0 and GLSL 1.00
glimpse - v1.0.0-ALPHA2

Published by github-actions[bot] almost 4 years ago

Added

  • Java resource texture image source (Desktop)
  • Offscreen rendering (Desktop)

Fixed

  • Publish Android artifacts for debug variant
  • Fix IndexOutOfBoundsException in texture builder
  • Fix loading texture image (Desktop)
glimpse - v1.0.0-ALPHA1

Published by github-actions[bot] almost 4 years ago

Added

  • Core types:
    • Angles
    • Vectors
    • Matrices, including transformation, view and projection matrices
  • 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 (Android)
Package Rankings
Top 29.24% on Repo1.maven.org
Badges
Extracted from project README
Build Documentation Maven Central Sonatype Nexus (Snapshots) Maven Central Sonatype Nexus (Snapshots) Maven Central Sonatype Nexus (Snapshots) Maven Central Sonatype Nexus (Snapshots) Maven Central Sonatype Nexus (Snapshots) Maven Central Sonatype Nexus (Snapshots) Maven Central Sonatype Nexus (Snapshots) Maven Central Sonatype Nexus (Snapshots) Maven Central Sonatype Nexus (Snapshots)