{"id":18372285,"url":"https://github.com/spicycactuar/basic-flight","last_synced_at":"2026-05-09T04:31:51.456Z","repository":{"id":261316185,"uuid":"883461566","full_name":"SpicyCactuar/basic-flight","owner":"SpicyCactuar","description":"Basic arcball-like flight simulator","archived":false,"fork":false,"pushed_at":"2025-02-20T22:52:45.000Z","size":49,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T23:55:32.064Z","etag":null,"topics":["computer-graphics","cpp","matrix-transformations","opengl","qt5","render-loop"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpicyCactuar.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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-11-05T02:12:56.000Z","updated_at":"2025-02-20T22:52:49.000Z","dependencies_parsed_at":"2024-11-05T22:28:12.783Z","dependency_job_id":"086f14ee-0cd0-4a88-ba2a-f8fb8192c452","html_url":"https://github.com/SpicyCactuar/basic-flight","commit_stats":null,"previous_names":["spicycactuar/basic-flight"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fbasic-flight","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fbasic-flight/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fbasic-flight/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fbasic-flight/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpicyCactuar","download_url":"https://codeload.github.com/SpicyCactuar/basic-flight/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248317699,"owners_count":21083528,"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":["computer-graphics","cpp","matrix-transformations","opengl","qt5","render-loop"],"created_at":"2024-11-06T00:04:55.033Z","updated_at":"2026-05-09T04:31:51.414Z","avatar_url":"https://github.com/SpicyCactuar.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Basic Flight\n\n![basic-flight](https://github.com/user-attachments/assets/1e457f28-ac3e-4172-8f80-ef44ef4a60af)\n\nSimple flight simulation application showcasing basic arcball-like physics and sphere collisions. Built using Qt and rendered with OpenGL immediate mode.\n\nThe bulk of the logic consists of rendering the scene from the plane's perspective. By keeping track of its `position` and `rotation`, the Camera View matrix is consstructed as follows:\n\n$C = R^T * -T$\n\nPlane collisions against lava bombs are Point-Sphere intersection tests. For the floor a distance with an epsillon is checked.\n\n## Project Structure\n\n```plaintext\nbasic-flight/\n├── src/                 # Source code\n├── assets/              # Static assets (.tri and .dem files)\n├── basic-flight.pro     # QMake project\n└── README.md            # Project README\n```\n\n## Build\n\n```bash\nqmake\nmake\n```\n\n## Run\n\n```bash\nbin/basic-flight \u003cinitial (x, y, z)\u003e\n```\n\nExample:\n\n```shell\nbin/basic-flight -33000 3000 2000\n```\n\n## Controls\n\n| Key(s)                  | Action                                |\n|-------------------------|---------------------------------------|\n| `A` / `S`               | Pitch down and up by 3°               |\n| `Q` / `E`               | Roll left and right by 3°             |\n| `W` / `D`               | Yaw left and right by 3°              |\n| `+` / `-`               | Increase and decrease                 |\n| `X`                     | Close the application                 |\n\n## Technologies\n\n* **C++**: `\u003e= C++17`\n* **Qt**: `5.12.x`\n* **OpenGL**: `\u003e= 4.0`\n\nNewer versions of Qt might work correctly, if no breaking changes that affect the application were introduced.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspicycactuar%2Fbasic-flight","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspicycactuar%2Fbasic-flight","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspicycactuar%2Fbasic-flight/lists"}