{"id":13413665,"url":"https://github.com/go-gl/mathgl","last_synced_at":"2025-04-08T12:09:22.329Z","repository":{"id":6929272,"uuid":"8180452","full_name":"go-gl/mathgl","owner":"go-gl","description":"A pure Go 3D math library.","archived":false,"fork":false,"pushed_at":"2024-01-27T14:18:18.000Z","size":2076,"stargazers_count":556,"open_issues_count":10,"forks_count":65,"subscribers_count":30,"default_branch":"master","last_synced_at":"2024-10-25T05:24:35.552Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/go-gl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-02-13T14:18:55.000Z","updated_at":"2024-10-22T13:49:50.000Z","dependencies_parsed_at":"2023-01-13T14:10:54.336Z","dependency_job_id":"40382d81-6fbd-43f6-a8bf-8ca202e2de7e","html_url":"https://github.com/go-gl/mathgl","commit_stats":{"total_commits":415,"total_committers":21,"mean_commits":"19.761904761904763","dds":0.2096385542168675,"last_synced_commit":"45f44e1fbc36e29eb200186c5fd63828a2ffc540"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-gl%2Fmathgl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-gl%2Fmathgl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-gl%2Fmathgl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/go-gl%2Fmathgl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/go-gl","download_url":"https://codeload.github.com/go-gl/mathgl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247838444,"owners_count":21004580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-07-30T20:01:45.815Z","updated_at":"2025-04-08T12:09:22.306Z","avatar_url":"https://github.com/go-gl.png","language":"Go","readme":"# MathGL [![Build Status](https://travis-ci.org/go-gl/mathgl.svg?branch=master)](https://travis-ci.org/go-gl/mathgl) [![GoDoc](https://godoc.org/github.com/go-gl/mathgl?status.svg)](https://godoc.org/github.com/go-gl/mathgl)\n\nThis is a Go matrix and vector math library specialized for Open GL graphics capabilities.\n\nThis package is made primarily with code generation for the basic vector and matrix operations, though and functionality beyond that is handwritten.\n\nVectors and matrices are stored in Column Major Order, just like OpenGL, which means the \"transpose\" argument should be **false** when passing in vectors and matrices using this package.\n\nThis package is split into two sub-packages. The package `mgl32` deals with 32-bit floats, and `mgl64` deals with 64-bit ones. Generally you'll use the 32-bit ones with OpenGL, but the 64-bit one is available in case you use the double extension or simply want to do higher precision 3D math without OpenGL.\n\nThe old repository, before the split between the 32-bit and 64-bit subpackages, is kept at github.com/Jragonmiris/mathgl (the old repository path), but is no longer maintained.\n\nExamples can be found in [github.com/go-gl/example](https://github.com/go-gl/example).\n\nWhy am I not getting what I see on github!?\n===========================================\n\nYou're probably using a combination of `go get` and an old Go version. The `go get` utility is programmed to look for tags matching the current Go version. Right now there's a tag for Go1.2.2 for instance, so if you haven't upgraded to Go1.3, `go get` will grab an older API. See the [API Changes](https://github.com/go-gl/mathgl#api-changes) section for details on the version tagging.\n\nContributing\n============\n\nFeel free to submit pull requests for features and bug fixes. Do note that, aside from documentation bugs, meta (travis.yml etc) fixes, example code, and *extremely* trivial changes (basic accessors) pull requests will not be accepted without tests corresponding to the new code. If it's a bug fix, the test should test the bug.\n\n`mgl64` is generated directly from 32-bit version. To reflect your changes run `go generate github.com/go-gl/mathgl/mgl32` (or just `go generate` in `mgl32` directory). Also note that since code generation is used in `matrix.go` and `vector.go`, no changes should be made to those files directly. Edit `matrix.tmpl` or `vector.tmpl` and run go generate.\n\nAPI Changes\n===========\n\nFrom now on, no major API breaking changes will be made between Go version releases. That means any time any \"x\" in Go1.x.x increases. Exceptions are made, of course, for bug fixes. If a bug fix necessitates changing semantics of calling software, it will be changed. (An example is the recent update of Transpose which was mistakenly using row major rules). Deprecated functions may also be nuked at major version released. Before any API breaking changes near major releases, the most recent non-breaking commit will be tagged with the previous Go version number (e.g. Go1.2.2). If no such tag exists, one can assume nothing has been broken.\n\nAPI-Breaking changes made for latest Go release\n-----------------------------------------------\n\nRemoval of EulerToQuat; use AnglesToQuat with the order ZYX instead.\n","funding_links":[],"categories":["OpenGL","\u003cspan id=\"opengl\"\u003eOpenGL\u003c/span\u003e","网络相关库","Wireless Communication","Relational Databases"],"sub_categories":["HTTP Clients","HTTP客户端","Advanced Console UIs","\u003cspan id=\"高级控制台用户界面-advanced-console-uis\"\u003e高级控制台用户界面 Advanced Console UIs\u003c/span\u003e","OpenGL","WASI and WASM Unknown","交流"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-gl%2Fmathgl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgo-gl%2Fmathgl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgo-gl%2Fmathgl/lists"}