{"id":15051707,"url":"https://github.com/porem5002/quartz","last_synced_at":"2026-02-26T18:05:19.716Z","repository":{"id":255851407,"uuid":"838594259","full_name":"Porem5002/quartz","owner":"Porem5002","description":"A library for making graphical applications and games","archived":false,"fork":false,"pushed_at":"2025-04-22T08:36:44.000Z","size":2403,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-22T09:45:50.795Z","etag":null,"topics":["c","cpp","game-development","gamedev","graphics","opengl","videogames"],"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/Porem5002.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,"zenodo":null}},"created_at":"2024-08-06T01:14:41.000Z","updated_at":"2025-01-12T23:21:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"504e6d45-bad5-4d4a-a6b2-1c86afaa45e3","html_url":"https://github.com/Porem5002/quartz","commit_stats":{"total_commits":50,"total_committers":2,"mean_commits":25.0,"dds":"0.040000000000000036","last_synced_commit":"d3e01a42c30a10bcc79c7001c6133dc4a3f19ed4"},"previous_names":["porem5002/quartz"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Porem5002%2Fquartz","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Porem5002%2Fquartz/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Porem5002%2Fquartz/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Porem5002%2Fquartz/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Porem5002","download_url":"https://codeload.github.com/Porem5002/quartz/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254496290,"owners_count":22080687,"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":["c","cpp","game-development","gamedev","graphics","opengl","videogames"],"created_at":"2024-09-24T21:36:53.460Z","updated_at":"2026-02-26T18:05:19.657Z","avatar_url":"https://github.com/Porem5002.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Quartz\n\nA library for making graphical applications and games\n\n**BEWARE:**\nQuartz is still in its infancy meaning that API breaking changes are constantly being made, there is pretty much no documentation and cross platform support is still limited.\n\n## Game of Life in Quartz\nhttps://github.com/user-attachments/assets/441ea195-ef05-487b-b5bd-c6e622b0eb93\n\n## Code Example\n```C\n#include \u003cquartz.h\u003e\n\nint main() \n{\n    quartz_start(900, 600, \"My Blue Window\");\n\n    while(quartz_update())\n    {\n        quartz_clear(QUARTZ_BLUE);\n    }\n\n    quartz_finish();\n\n    return 0;\n}\n```\n\n## Platform Support\nThe only platform supported right now is Windows.\n\nQuartz uses OpenGL 4.3 internally so it can only run on systems with drivers that support it.\n\n## Using Quartz\nYou can use Quartz either as a static library or as a dynamic one, both versions are provided in the [Precompiled Binaries](https://github.com/Porem5002/quartz/releases/)\n \nTo use the dynamic version (**quartzdyn**) make sure to define the macro **QUARTZ_DYNAMIC_LIB_IMPORT** when compiling your project (on Windows you also need to link with **quartzdyn.lib**)\n\nTo use the static version (**quartz**) you need to link it when compiling your project. Depending on your platform you will also need to link with other native libraries:\n- Windows - **user32.lib**, **opengl32.lib** and **gdi32.lib**\n\nAfter setting up the library for using in your project, you just need to include **quartz.h** to get access to the API.\n\n## Building from source\nTo compile Quartz you will need a C++ compiler. At the moment of writing, any of the popular C++ compilers (MSVC, Clang and GCC) should work.\n\nThe main way of compiling the library is using the [CMake](https://cmake.org) build system.\n\nTo build the library you just need to follow these steps:\n```sh\nmkdir build\ncd build\ncmake ..\ncmake --build .\n```\n\nYou can also specify some options to control what will be compiled and how it will be compiled:\n- **DYNAMIC** - if **ON** compiles as a dynamic library otherwise as a static library\n- **EXAMPLES** - if **ON** the examples will be compiled\n\nThese options can be specified on the third command of the build steps, for example this will generate a dynamic library without compiling the examples.\n```sh\ncmake -DDYNAMIC=ON -DEXAMPLES=OFF ..\n```\n\nFinally to explicitly select if you want a debug build or a release build you use the **--config** flag of the last build step, like this:\n```sh\ncmake --build . --config=debug\n# OR\ncmake --build . --config=release\n```\n\n# License\nQuartz is licensed under the [MIT License](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fporem5002%2Fquartz","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fporem5002%2Fquartz","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fporem5002%2Fquartz/lists"}