{"id":20147884,"url":"https://github.com/aconstlink/motor","last_synced_at":"2026-06-12T07:32:38.727Z","repository":{"id":206487779,"uuid":"715080936","full_name":"aconstlink/motor","owner":"aconstlink","description":"Software Framework for Audio/Visual/Interactive Real-Time Applications","archived":false,"fork":false,"pushed_at":"2026-05-31T21:53:38.000Z","size":2003,"stargazers_count":3,"open_issues_count":49,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-31T23:22:15.765Z","etag":null,"topics":["2d","3d","audio-visual","c-plus-plus-17","cmake","directx-11","directx11","game-engine","interactive","opengl","opengl-es","real-time"],"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/aconstlink.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-11-06T12:49:45.000Z","updated_at":"2026-05-31T21:53:42.000Z","dependencies_parsed_at":"2023-11-28T04:29:53.785Z","dependency_job_id":"dfe8170a-ede3-4080-973f-4afc4c6eee44","html_url":"https://github.com/aconstlink/motor","commit_stats":null,"previous_names":["aconstlink/motor"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/aconstlink/motor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aconstlink%2Fmotor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aconstlink%2Fmotor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aconstlink%2Fmotor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aconstlink%2Fmotor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aconstlink","download_url":"https://codeload.github.com/aconstlink/motor/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aconstlink%2Fmotor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34234557,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"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":["2d","3d","audio-visual","c-plus-plus-17","cmake","directx-11","directx11","game-engine","interactive","opengl","opengl-es","real-time"],"created_at":"2024-11-13T22:32:38.447Z","updated_at":"2026-06-12T07:32:38.722Z","avatar_url":"https://github.com/aconstlink.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# motor\n\n[![CMake on Linux with OpenGL](https://github.com/aconstlink/motor/actions/workflows/cmake-lin-gcc-gl.yml/badge.svg)](https://github.com/aconstlink/motor/actions/workflows/cmake-lin-gcc-gl.yml)\n[![CMake on Win32 with DirectX 11](https://github.com/aconstlink/motor/actions/workflows/cmake-win32-dx11.yml/badge.svg)](https://github.com/aconstlink/motor/actions/workflows/cmake-win32-dx11.yml)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n`motor` is a custom C++ engine for real-time audio/visual applications. It is designed around explicit control, predictable ownership, modular systems, and fast iteration.\n\nThe project is primarily a learning and research engine: it explores rendering abstraction, runtime systems, memory/resource management, and tooling workflows without hiding the low-level details.\n\n## Features\n\n### Rendering\n\n- Multi-backend rendering architecture\n  - OpenGL 4\n  - DirectX 11\n  - OpenGL ES 3\n- Cross-backend shader and material flow through the engine's MSL layer\n- Runtime shader compilation and reload-oriented workflows\n- Support for running multiple rendering backends/windows for debugging and comparison\n\n### Runtime Systems\n\n- Modular engine libraries built with CMake targets\n- Application lifecycle hooks for update, render, audio, input, logic, physics, profiling, networking, and tooling\n- Scene graph with components and visitors\n- Custom task/concurrency utilities\n- Explicit resource and memory management\n\n### Memory\n\n- Central memory manager\n- Allocation tracking with purpose tags\n- Managed and borrowed pointer conventions\n- Runtime memory visibility and leak-dump support\n\n### Tooling\n\n- Dear ImGui integration\n- Built-in tooling hooks through `on_tool()`\n- Engine profiling UI support\n- Asset- and shader-iteration workflows intended for fast development loops\n\n## Repository Scope\n\nThis repository contains the engine code itself. It intentionally does not contain the main sample and demo applications.\n\nRelated repositories:\n\n- [`motor_suites`](https://github.com/aconstlink/motor_suites)  \n  Sample applications, manual/visual test scenarios, and integration checks for engine layers.\n\n- [`motor_exdep`](https://github.com/aconstlink/motor_exdep)  \n  Work-in-progress external dependency and package integration setup.\n\n- [`motor_demos`](https://github.com/aconstlink/motor_demos)  \n  Demo-focused applications built with the engine.\n\nKeeping samples and demos outside the engine repository helps keep the engine code focused and makes the engine easier to include in other projects.\n\n## Dependencies\n\nThird-party code is pulled in through git submodules under `externals/`. The engine provides local CMake files that expose those dependencies as targets used by the rest of the build.\n\n## Build\n\n```bash\ngit clone --recursive https://github.com/aconstlink/motor.git\ncd motor\ncmake -S . -B build\ncmake --build build\n```\n\nIf the repository was cloned without submodules:\n\n```bash\ngit submodule update --init --recursive\n```\n\n## Platforms\n\nWindows is the main development platform.\n\nRegularly used targets include:\n\n- Windows 10/11 with Visual Studio 2019 or newer\n- Linux with GCC and OpenGL development packages\n  ```libX11 mesa-libGLES mesa-libGL mesa-libEGL alsa-lib```  \nOpenGL ES support exists in the codebase, but is not currently the primary tested path.\n\n## Status\n\nActive development. The current focus is on building toward polished real-time demos that exercise scene loading, rendering, runtime resources, and iteration workflows.\n\n## License\n\nMIT License\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faconstlink%2Fmotor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faconstlink%2Fmotor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faconstlink%2Fmotor/lists"}