{"id":28172711,"url":"https://github.com/kafkaphoenix/newleaf","last_synced_at":"2025-05-15T20:11:02.762Z","repository":{"id":225416612,"uuid":"765919176","full_name":"kafkaphoenix/newleaf","owner":"kafkaphoenix","description":"C++ game engine for 3D and 2D development","archived":false,"fork":false,"pushed_at":"2024-09-18T00:01:50.000Z","size":888400,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-18T11:02:28.170Z","etag":null,"topics":["cmake","cpp","entity-component-system","entt","game-engine","glfw3","opengl4"],"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/kafkaphoenix.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":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-01T22:02:25.000Z","updated_at":"2024-04-15T23:03:19.000Z","dependencies_parsed_at":"2024-10-26T18:51:24.206Z","dependency_job_id":null,"html_url":"https://github.com/kafkaphoenix/newleaf","commit_stats":null,"previous_names":["kafkaphoenix/newleaf"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kafkaphoenix%2Fnewleaf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kafkaphoenix%2Fnewleaf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kafkaphoenix%2Fnewleaf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kafkaphoenix%2Fnewleaf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kafkaphoenix","download_url":"https://codeload.github.com/kafkaphoenix/newleaf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414503,"owners_count":22067272,"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":["cmake","cpp","entity-component-system","entt","game-engine","glfw3","opengl4"],"created_at":"2025-05-15T20:11:01.175Z","updated_at":"2025-05-15T20:11:02.738Z","avatar_url":"https://github.com/kafkaphoenix.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# newleaf\n\nC++ game engine for 3d and 2d development\n\n## Engine Features\n\n- Scene manager: entity component system oriented. Loading scenes and entity prototypes from json\n- Render manager: openGL 4.6 api abstraction. Model, texture and cubemaps loading capabilities. FBO\n- Window manager: glfw abstraction\n- Event-driven (mouse/keyboard/window/application)\n- Settings manager: customizable engine defined settings\n- Debugger layer: logger, metrics and an assets/entities/scene/states/settings inspector\n- Assets manager: caching and hot reloading of prefabs, shaders, textures, models and scenes\n- States manager: state machine with layers and overlays\n- Perspective camera\n- Model, texture and cubemaps loading capabilities\n\n## How to use the engine in a personal project\n\n- Use the engine as a library (shared or static)\n```cmake\ninclude(FetchContent)\nFetchContent_Declare(\n    newleaf\n    GIT_REPOSITORY https://github.com/kafkaphoenix/newleaf.git\n    GIT_TAG        v0.1.0\n)\n\nFetchContent_GetProperties(newleaf)\nif(NOT newleaf_POPULATED)\n  FetchContent_Populate(newleaf)\n  set(BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS} CACHE INTERNAL \"\" FORCE)\n  add_subdirectory(${newleaf_SOURCE_DIR} ${newleaf_BINARY_DIR})\nendif()\n```\n\n## Demos\n\n- Engine use cases can be found in the [newleaf demos repository](https://github.com/kafkaphoenix/newleaf_demos)\n\n## Planned features\n\n- User defined settings\n- Shader compilation\n- Render commands batching\n- Expand camera class supporting more modes\n- Serialization\n- Per module tests using catch2\n- Profiler\n- Font rendering\n- Audio\n- Physics\n- Networking\n- Vulkan support\n- Engine wiki documentation\n- Editor Mode\n- Multi window/overlay\n- Scripting language\n- Multiplatform\n- Multithreading\n\n## Third party libraries\n\n- [glfw](https://github.com/glfw/glfw): openGL application development framework\n- [glad](https://github.com/Dav1dde/glad): openGL loader\n- [EnTT](https://github.com/skypjack/entt): entity component system\n- [stb](https://github.com/nothings/stb): image loading\n- [glm](https://github.com/g-truc/glm): math operations\n- [imGui](https://github.com/ocornut/imgui): ui framework\n- [nlohmann_json](https://github.com/nlohmann/json): json processing\n- [assimp](https://github.com/assimp/assimp): model loading\n- [spdlog](https://github.com/gabime/spdlog): structured logging\n- [Catch2](https://github.com/catchorg/Catch2): unit testing\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkafkaphoenix%2Fnewleaf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkafkaphoenix%2Fnewleaf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkafkaphoenix%2Fnewleaf/lists"}