{"id":43620686,"url":"https://github.com/kotlin-graphics/glm","last_synced_at":"2026-02-04T13:02:43.434Z","repository":{"id":40558630,"uuid":"71653021","full_name":"kotlin-graphics/glm","owner":"kotlin-graphics","description":"jvm glm","archived":false,"fork":false,"pushed_at":"2025-10-06T15:24:29.000Z","size":3311,"stargazers_count":138,"open_issues_count":6,"forks_count":22,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-10-13T18:58:02.935Z","etag":null,"topics":["android","geometry-library","glm","graphics","java","jogl","kotlin","lwjgl","math-library","mathematics","matrices","vectors"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kotlin-graphics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-10-22T16:59:10.000Z","updated_at":"2025-10-11T00:22:29.000Z","dependencies_parsed_at":"2023-01-20T21:00:47.423Z","dependency_job_id":"8873a644-2903-474c-905f-a2d9f3a5fb23","html_url":"https://github.com/kotlin-graphics/glm","commit_stats":null,"previous_names":[],"tags_count":45,"template":false,"template_full_name":null,"purl":"pkg:github/kotlin-graphics/glm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotlin-graphics%2Fglm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotlin-graphics%2Fglm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotlin-graphics%2Fglm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotlin-graphics%2Fglm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kotlin-graphics","download_url":"https://codeload.github.com/kotlin-graphics/glm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotlin-graphics%2Fglm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29085068,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-04T03:31:03.593Z","status":"ssl_error","status_checked_at":"2026-02-04T03:29:50.742Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","geometry-library","glm","graphics","java","jogl","kotlin","lwjgl","math-library","mathematics","matrices","vectors"],"created_at":"2026-02-04T13:02:31.814Z","updated_at":"2026-02-04T13:02:43.420Z","avatar_url":"https://github.com/kotlin-graphics.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"![glm](src/main/resources/logo-mini.png)\n\n[![Build Status](https://github.com/kotlin-graphics/glm/workflows/build/badge.svg)](https://github.com/kotlin-graphics/glm/actions?workflow=build)\n[![license](https://img.shields.io/badge/License-MIT-orange.svg)](https://github.com/kotlin-graphics/glm/blob/master/LICENSE) \n[![Release](https://jitpack.io/v/kotlin-graphics/glm.svg)](https://jitpack.io/#kotlin-graphics/glm) \n![Size](https://github-size-badge.herokuapp.com/kotlin-graphics/glm.svg)\n[![Github All Releases](https://img.shields.io/github/downloads/kotlin-graphics/glm/total.svg)]()\n[![Awesome Kotlin Badge](https://kotlin.link/awesome-kotlin.svg)](https://github.com/KotlinBy/awesome-kotlin)\n\nThis is the Kotlin port of [OpenGL Mathematics](http://glm.g-truc.net/) (*GLM*), written by [g-truc](https://github.com/Groovounet) ([repository](https://github.com/g-truc/glm)), a header only C++ mathematics library for graphics software based on the [OpenGL Shading Language (GLSL) specifications](https://www.opengl.org/registry/doc/GLSLangSpec.4.50.diff.pdf).\n\n*GLM* provides classes and functions designed and implemented with the same naming conventions and functionality than *GLSL* so that anyone who knows *GLSL*, can use *GLM* as well in Kotlin and Java.\n\nThis project isn't limited to *GLSL* features. An extension system, based on the *GLSL* extension conventions, provides extended capabilities: matrix transformations, quaternions, data packing, random numbers, noise, etc...\n\nThis library works perfectly with *[OpenGL](https://www.opengl.org)* but it also ensures interoperability with other third party libraries and SDK. It is a good candidate for software rendering (raytracing / rasterisation), image processing, physic simulations and any development context that requires a simple and convenient mathematics library.\n\n*GLM* is written entirely in Kotlin, but can be also used from Java. It is a platform independent library with no dependences other than [kotlin-unsigned](https://github.com/elect86/kotlin-unsigned) for unsigned support and [kotlin-test](https://github.com/kotlintest/kotlintest) for testing.\n\nFor more information about *GLM*, please have a look at the [manual](https://github.com/kotlin-graphics/glm/wiki) and the original [API reference documentation](http://glm.g-truc.net/0.9.8/api/index.html).\nThe source code and the documentation are licensed under both the [Happy Bunny License (Modified MIT) or the MIT License](https://github.com/kotlin-graphics/glm/wiki/Manual#section0).\n\nDon't hesitate to contribute to the project by submitting [issues](https://github.com/kotlin-graphics/glm/issues) or [pull requests](https://github.com/kotlin-graphics/glm/pulls) for bugs and features. Any feedback is welcome at [elect86@gmail.com](mailto://elect86@gmail.com).\n\n```kotlin\nimport glm_.vec2.Vec2\nimport glm_.vec3.Vec3\nimport glm_.mat4x4.Mat4\nimport glm_.glm\n\nfun camera(translate: Float, rotate: Vec2): Mat4 {\n    val projection = glm.perspective(glm.PIf * 0.25f, 4.0f / 3.0f, 0.1f, 100.0f)\n    var view = glm.translate(Mat4(1.0f), Vec3(0.0f, 0.0f, -translate))\n    view = glm.rotate(view, rotate.y, Vec3(-1.0f, 0.0f, 0.0f))\n    view = glm.rotate(view, rotate.x, Vec3(0.0f, 1.0f, 0.0f))\n    val model = glm.scale(Mat4(1.0f), Vec3(0.5f))\n    return projection * view * model\n}\n```\n\n### How to retrieve it:\n\n#### mary\n```kotlin\nrepositories {\n    maven(\"https://raw.githubusercontent.com/kotlin-graphics/mary/master\")\n    // or with magik plugin\n    //github(\"kotlin-graphics/mary\")\n}\ndependencies {\n    implementation(\"kotlin.graphics:glm:0.9.9.1-11\")\n}\n```\n\n#### maven central\n```kotlin\ndependencies {\n    implementation(\"io.github.kotlin-graphics:glm:0.9.9.1-12\")\n}\n```\n\nYou can find more info by [mary](https://github.com/kotlin-graphics/mary)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkotlin-graphics%2Fglm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkotlin-graphics%2Fglm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkotlin-graphics%2Fglm/lists"}