{"id":48823125,"url":"https://github.com/marovira/atlas","last_synced_at":"2026-04-14T16:02:03.753Z","repository":{"id":39034500,"uuid":"47657265","full_name":"marovira/atlas","owner":"marovira","description":"A graphics framework for educational and prototyping projects.","archived":false,"fork":false,"pushed_at":"2022-10-02T16:54:02.000Z","size":12847,"stargazers_count":9,"open_issues_count":0,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-03-07T23:18:38.531Z","etag":null,"topics":["cmake","cpp","cpp17","graphics-3d","opengl","opengl-application"],"latest_commit_sha":null,"homepage":"","language":"C++","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/marovira.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}},"created_at":"2015-12-09T00:03:30.000Z","updated_at":"2023-03-06T06:35:53.000Z","dependencies_parsed_at":"2023-01-19T02:16:00.450Z","dependency_job_id":null,"html_url":"https://github.com/marovira/atlas","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/marovira/atlas","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marovira%2Fatlas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marovira%2Fatlas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marovira%2Fatlas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marovira%2Fatlas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marovira","download_url":"https://codeload.github.com/marovira/atlas/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marovira%2Fatlas/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31803790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"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":["cmake","cpp","cpp17","graphics-3d","opengl","opengl-application"],"created_at":"2026-04-14T16:01:54.373Z","updated_at":"2026-04-14T16:02:03.745Z","avatar_url":"https://github.com/marovira.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Atlas v3.0\n\n\u003e A graphics framework for education and prototyping.\n\n[![Generic badge](https://img.shields.io/badge/License-BSD3-blue)](LICENSE)\n[![Generic badge](https://img.shields.io/badge/Language-C++20-red.svg)](https://en.wikipedia.org/wiki/C%2B%2B17)\n[![Clang](https://github.com/marovira/atlas/actions/workflows/clang.yml/badge.svg)](https://github.com/marovira/atlas/actions/workflows/clang.yml)\n[![GCC](https://github.com/marovira/atlas/actions/workflows/gcc.yml/badge.svg)](https://github.com/marovira/atlas/actions/workflows/gcc.yml)\n[![MSVC](https://github.com/marovira/atlas/actions/workflows/msvc.yml/badge.svg)](https://github.com/marovira/atlas/actions/workflows/msvc.yml)\n[![CodeFactor](https://www.codefactor.io/repository/github/marovira/atlas/badge)](https://www.codefactor.io/repository/github/marovira/atlas)\n\n## What is Atlas?\n\nAtlas is the result of my years learning graphics and GPU programming.\nInitially, it started as a loose collection of wrappers for common OpenGL\noperations, but eventually grew to be a full development framework. As it always\nhappens, throughout the journey, the internal specification for Atlas has\nchanged and evolved to match my current understanding of graphics and GPU\nprogramming. This leads us to the current version, which abandons all pretenses\nof wrappers in favour of a clean, concise API that should permit development of\n*any* type of application.\n\nIt is important to understand that Atlas is **not** a rendering engine or a game\nengine of any kind. It is a collection of modules that can be used to create an\nengine or any other type of application while giving the user full control over\nwhat is happening.\n\nThe key features of Atlas are as follows:\n\n* Straight-forward, clear, function-based, data-driven API. In many ways, it\n  takes inspiration from Vulkan's general structure. \n* Separation into independent modules makes adding them to your project easy.\n  Just pick whichever modules you prefer and off you go.\n* Convenience extensions to OpenGL and GLSL. Chief amongst them is a new file\n  include system for GLSL source files that emulates as closely as possible the\n  C++ inclusion system.\n\n## Dependencies\n\nThe following are **core** requirements of Atlas:\n\n* OpenGL 4.5+,\n* CMake 3.22+,\n* Python 2.7+ or 3.x.\n\nAtlas supports the following platforms and compilers:\n\n| Platform (Compiler) | Version |\n| ------------------- | ------- |\n| Windows (MSVC) | 19.32 |\n| Linux (GCC) | 10.3.0 |\n| Linux (LLVM Clang) | 11.0 |\n\nPlease note that macOS is **not** supported.\n\nIn addition, Atlas depends on the following libraries:\n\n* [Zeus](https://github.com/marovira/zeus),\n* [GLFW](https://github.com/glfw/glfw),\n* [GL3W](https://github.com/marovira/gl3w),\n* [GLM](https://github.com/g-truc/glm),\n* [ImGUI](https://github.com/ocornut/imgui),\n* [STB](https://github.com/nothings/stb),\n* [tinyobjloader](https://github.com/tinyobjloader/tinyobjloader).\n\nThe dependencies per module are as follows:\n\n| Module | Dependencies |\n| ------ | ------------ |\n| math | GLM, Zeus |\n| glx | OpenGL, GLFW, gl3w, Zeus |\n| gui | glx, Zeus, ImGUI (included) |\n| utils | math, Zeus, tinyobjloader, stb (included) | \n\n## Contributing\n\nThere are three ways in which you can contribute to Atlas:\n\n* If you find a bug, please open an issue. Similarly, if you have a question\n  about how to use it, or if something is unclear, please post an issue so it\n  can be addressed.\n* If you have a fix for a bug, or a code enhancement, please open a pull\n  request. Before you submit it though, make sure to abide by the rules written\n  below.\n* If you have a feature proposal, you can either open an issue or create a pull\n  request. If you are submitting a pull request, it must abide by the rules\n  written below. Note that any new features need to be approved by me.\n\nIf you are submitting a pull request, the guidelines are the following:\n\n1. Ensure that your code follows the standards and formatting of the framework.\n   The coding standards can be seen throughout the code, and the formatting is\n   handled through the `.clang-format` file located at the root of the\n   directory. Any changes that do not follow the style and format will be\n   rejected.\n2. Ensure that *all* unit tests are working prior to submitting the pull\n   request. If you are adding a new feature that has been approved, it is your\n   responsibility to provide the corresponding unit tests (if applicable). \n\n## License\n\nAtlas is published under the BSD-3 license and can be viewed\n[here](https://github.com/marovira/atlas/blob/master/LICENSE). Atlas also\nbundles third-party code that is distributed under their corresponding licenses\nwhich can be seen\n[here](https://github.com/marovira/atlas/blob/master/LICENSE-3RD-PARTY).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarovira%2Fatlas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarovira%2Fatlas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarovira%2Fatlas/lists"}