{"id":15052144,"url":"https://github.com/dm8at/objectgl","last_synced_at":"2026-02-10T23:32:35.694Z","repository":{"id":253670953,"uuid":"844165458","full_name":"DM8AT/ObjectGL","owner":"DM8AT","description":"An object-oriented wrapper around OpenGL written in C++","archived":false,"fork":false,"pushed_at":"2024-09-06T16:39:59.000Z","size":1355,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-16T08:44:05.000Z","etag":null,"topics":["cpp","object-oriented","opengl","os-independent"],"latest_commit_sha":null,"homepage":"","language":"C++","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/DM8AT.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-18T15:25:12.000Z","updated_at":"2024-09-06T16:40:02.000Z","dependencies_parsed_at":"2024-11-19T19:46:07.423Z","dependency_job_id":"6bb723e9-92eb-4694-b1cf-bc9a08c58e43","html_url":"https://github.com/DM8AT/ObjectGL","commit_stats":{"total_commits":33,"total_committers":2,"mean_commits":16.5,"dds":"0.36363636363636365","last_synced_commit":"bfe3d716ce5260b443b091a094a16deb783ed462"},"previous_names":["dm8at/objectgl"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DM8AT/ObjectGL","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DM8AT%2FObjectGL","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DM8AT%2FObjectGL/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DM8AT%2FObjectGL/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DM8AT%2FObjectGL/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DM8AT","download_url":"https://codeload.github.com/DM8AT/ObjectGL/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DM8AT%2FObjectGL/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272124753,"owners_count":24877720,"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","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cpp","object-oriented","opengl","os-independent"],"created_at":"2024-09-24T21:37:13.653Z","updated_at":"2026-02-10T23:32:35.661Z","avatar_url":"https://github.com/DM8AT.png","language":"C++","readme":"# ObjectGL\nObject GL is a object-oriented wraper around OpenGL objects, like vertex buffers, index buffers, shader storage buffers, and so on. It is designed to work with new OpenGL-features, so a context version of 3.0 or greater is recomended, but not strictly necessery. \n# Downloading\nTo download the library, move into a directory of your choise and run `git clone https://github.com/DM8AT/ObjectGL.git` to get the newest stable version of the library. After that, see the [the chapter about compilation](#compiling). \n# Compiling\n## Dependencys\nTo compile the library, a few other librarys need to be installed. They are:\n - OpenGL: Of course you need OpenGL for any library that works with OpenGL. \n    - Installation on Linux: On Linux, run `sudo apt install libgl-dev` to install it\n - GLEW: GLEW is a library to map OpenGL commands so the call names are independend of OpenGL version, driver version and operating system. \n    - Installation on Linux: On Linux, run `sudo apt install libglew-dev`\n - SDL2: SDL2 stands for \"Simple Direct media Layer\" and the library is the second major version. In this library, SDL2 is nececery to abstract window and instance creation from the operating system and window manager. \n    - Installation on Linux: On Linux, run `sudo apt install libsdl2-dev`\n - SDL2 image: SDL2 image is a sub-library of SDL2. It is used to load images and format them for OpenGL. \n    - Installation on Linux: On Linux, run `sudo apt install libsdl2-image-dev`\n## Simple installation\n### Linux\nOn Linux, to install all the librarys just run \n`sudo apt install libgl-dev libglew-dev libsdl2-dev libsdl2-image-dev` in the terminal. \n## Compiling under Linux\n### Compiling the library\nTo compile the library, go into the main directory the library was downloaded to (the directory should contain this README and an makefile). Then, run `make libObjectGL -j` and the file \"libObjectGL\" should appear in the current directory. This is the static compiled library. Just link it to any project you want, and it should work. If not, write an issue detailing what did not work. \n### Compiling the example\nTo compile the example, run `make -j` in this directory. After that, the \"bin\" folder should fill with object files, the static compiled library and an executable named \"main\". This is the example program. To run it, keep staying in this directory and type `./bin/main` into a console. You should see a window named \"Hello World!\" open. \n\n# Ongoing developement\n## What is to come\nHere is a list of all features i am planing to add to this library:\n- a class to handle framebuffers\n- functions to add geometry, tesselation and tesselation controll shaders to the shader class\n\n## Help the developement\nIf you are missing a feature you'd love to have a wrapper for, create an issue using the \"Feature Request\" template and describe the feature according to the questions in the template. \n\n## Changelog\nHere you can look up what changed accross the versions. \nHere is a list of all code related chages that happend after the last major release:\n- added compute shaders\n- Added support for framebuffers\n- The window class supports a function that is called on the \"Window Resize\" event","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdm8at%2Fobjectgl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdm8at%2Fobjectgl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdm8at%2Fobjectgl/lists"}