{"id":25036766,"url":"https://github.com/arthurlumertz/orin","last_synced_at":"2025-03-30T21:20:27.024Z","repository":{"id":246797304,"uuid":"823368667","full_name":"ArthurLumertz/orin","owner":"ArthurLumertz","description":"Engine built with GLFW, OpenGL and STB for making 2D. Highly inspired from RayLib and libGDX.","archived":false,"fork":false,"pushed_at":"2025-01-01T22:29:15.000Z","size":168,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-06T00:35:10.029Z","etag":null,"topics":["2d","cpp","framework","game","game-development","game-engine","graphics","input","opengl","opensource"],"latest_commit_sha":null,"homepage":"https://arthurlumertz.github.io/orinengine-www/","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/ArthurLumertz.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":"2024-07-02T22:56:01.000Z","updated_at":"2025-01-28T14:33:30.000Z","dependencies_parsed_at":null,"dependency_job_id":"79343c8d-a989-4b69-a03e-84aa6c59f1cc","html_url":"https://github.com/ArthurLumertz/orin","commit_stats":null,"previous_names":["arthurlumertz/orinengine","arthurlumertz/orinframework","arthurlumertz/orin"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurLumertz%2Forin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurLumertz%2Forin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurLumertz%2Forin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ArthurLumertz%2Forin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ArthurLumertz","download_url":"https://codeload.github.com/ArthurLumertz/orin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246380054,"owners_count":20767800,"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":["2d","cpp","framework","game","game-development","game-engine","graphics","input","opengl","opensource"],"created_at":"2025-02-06T00:33:33.109Z","updated_at":"2025-03-30T21:20:27.007Z","avatar_url":"https://github.com/ArthurLumertz.png","language":"C++","readme":"# Orin - C++ Game Framework\n\nA C++ game framework built with OpenGL.\n\nSimilar to LibGDX, RayLib, and MonoGame, Orin provides a simple and effective way to build games using OpenGL.\n\n## Setup\n\nTo set up Orin, follow these steps:\n\n1. Download the files inside the `./src` directory.\n2. Add the files to your project's directory.\n\nAfter that, create a `main.cpp` file and start using Orin as shown below.\n\n## Basic Example\n\nThis example demonstrates how to open a window, render basic graphics, create a camera, and load/unload textures.\n\n\u003e Keep in mind, this library is still in its development stage, and several performance improvements will be coming in 2025!\n\n```cpp\n#include \"orin.hpp\"\n\nint main() {\n    // Initializes a basic window with the title \"First Application\"\n    InitWindow(960, 540, \"First Application\");\n\n    // Create and set up a basic camera (position and zoom)\n    Camera2D camera;\n    camera.position = { 0.0f, 0.0f };\n    camera.zoom = 1.0f;\n\n    // Load a basic texture from an image file\n    Texture2D texture = LoadTexture(\"image.png\");\n\n    // Game loop: Run until the user closes the window\n    while (!WindowShouldClose()) {\n        ClearBackground(WHITE); // Clear the screen with a white background\n        \n        BeginDrawing(); // Begin rendering\n\n        SetColor(BLACK); // Set the rendering color to black\n        // Draw a black rectangle at position (0, 0) with size 48x48\n        DrawRectangle(0.0f, 0.0f, 48.0f, 48.0f);\n\n        // Draw a black rectangle rotated 45 degrees at position (0, 48)\n        DrawRectangle(0.0f, 48.0f, 48.0f, 48.0f, 45.0f);\n\n        SetColor(WHITE); // Set the rendering color to white before drawing the texture\n        // Draw the texture at position (48, 0) with size 48x48\n        DrawTexture(texture, 48.0f, 0.0f, 48.0f, 48.0f);\n        \n        EndDrawing(); // End rendering\n\n        // Update the window\n        UpdateWindow();\n    }\n\n    // Unloads the texture loaded previously\n    UnloadTexture(texture);\n\n    // Closes the window\n    CloseWindow();\n\n    return 0;\n}\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farthurlumertz%2Forin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farthurlumertz%2Forin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farthurlumertz%2Forin/lists"}