{"id":16440187,"url":"https://github.com/soypat/glgl","last_synced_at":"2025-03-21T04:33:36.596Z","repository":{"id":65211316,"uuid":"584971893","full_name":"soypat/glgl","owner":"soypat","description":"OpenGL bindings for Go that are in the goldilocks level of abstraction zone.","archived":false,"fork":false,"pushed_at":"2024-10-11T19:58:51.000Z","size":157,"stargazers_count":12,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-12T09:11:26.392Z","etag":null,"topics":["glfw","go","golang","minimal","mwe","opengl","opengl-tutorial","simple"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soypat.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":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-04T01:42:17.000Z","updated_at":"2024-10-11T19:58:55.000Z","dependencies_parsed_at":"2024-08-21T04:26:42.924Z","dependency_job_id":"da837a60-751d-4306-a814-fa3fb68db057","html_url":"https://github.com/soypat/glgl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soypat%2Fglgl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soypat%2Fglgl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soypat%2Fglgl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soypat%2Fglgl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soypat","download_url":"https://codeload.github.com/soypat/glgl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221811725,"owners_count":16884413,"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":["glfw","go","golang","minimal","mwe","opengl","opengl-tutorial","simple"],"created_at":"2024-10-11T09:11:24.073Z","updated_at":"2024-10-28T09:26:33.597Z","avatar_url":"https://github.com/soypat.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# glgl\nOpenGL bindings for Go that are in the goldilocks level of abstraction zone.\n\n_WIP_.\n\n## Highlight #1\nExcellent documentation. Well suited to learn OpenGL without the pain.\nMore consistent and precise naming, i.e. \"Packing\" is much more precise\nthan OpenGL's Size parameter for AttributePointer functions since Size does not\nrefer to a size in bytes but rather the amount of packed types at the attribute location\n\n```go\n// AttribLayout is a low level configuration struct\n// for adding vertex buffers attribute layouts to a vertex array object.\ntype AttribLayout struct {\n\t// The OpenGL program identifier.\n\tProgram Program\n\t// Type is a OpenGL enum representing the underlying type. Valid types include\n\t// gl.FLOAT, gl.UNSIGNED_INT, gl.UNSIGNED_BYTE, gl.BYTE etc.\n\tType Type\n\t// Name is the identifier of the attribute in the\n\t// vertex shader source code finished with a null terminator.\n\tName string\n\t// Packing is a value between 1 and 4 and represents how many\n\t// of the type are present at the attribute location.\n\t//\n\t// Example:\n\t// When working with a vec3 attribute in the shader source code\n\t// with a gl.Float type, then the Packing is 3 since there are\n\t// 3 floats packed at each attribute location.\n\tPacking int\n\t// Stride is the distance in bytes between attributes in the buffer.\n\tStride int\n\t// Offset is the starting offset with which to start\n\t// traversing the vertex buffer.\n\tOffset int\n\t// specifies whether fixed-point data values should be normalized (when true)\n\t// or converted directly as fixed-point values (when false) when they are accessed.\n\t// Usually left as false?\n\tNormalize bool\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoypat%2Fglgl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoypat%2Fglgl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoypat%2Fglgl/lists"}