{"id":18130255,"url":"https://github.com/spicycactuar/heightmap","last_synced_at":"2025-04-06T14:45:22.323Z","repository":{"id":260523329,"uuid":"881535906","full_name":"SpicyCactuar/heightmap","owner":"SpicyCactuar","description":"Textured heightmap OpenGL application","archived":false,"fork":false,"pushed_at":"2025-02-20T23:13:05.000Z","size":5814,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T14:45:17.036Z","etag":null,"topics":["blinn-phong","computer-graphics","cpp","glm","glsl","heightmap","opengl","premake5"],"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}},"created_at":"2024-10-31T19:10:34.000Z","updated_at":"2025-03-02T04:33:17.000Z","dependencies_parsed_at":"2024-12-12T23:35:51.139Z","dependency_job_id":null,"html_url":"https://github.com/SpicyCactuar/heightmap","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"966aa8e676d85d4960c6345207300a2a394a7662"},"previous_names":["spicycactuar/heightmap"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fheightmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fheightmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fheightmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpicyCactuar%2Fheightmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpicyCactuar","download_url":"https://codeload.github.com/SpicyCactuar/heightmap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247500455,"owners_count":20948878,"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":["blinn-phong","computer-graphics","cpp","glm","glsl","heightmap","opengl","premake5"],"created_at":"2024-11-01T11:06:52.973Z","updated_at":"2025-04-06T14:45:22.318Z","avatar_url":"https://github.com/SpicyCactuar.png","language":"C++","readme":"# Heightmap\r\n\r\n![heightmap](https://github.com/user-attachments/assets/893ab962-5d3c-440b-b562-1c01093ce4b6)\r\n\r\nOpenGL application displaying a textured heightmap.\r\nAn `nPoints` sized triangle strip is generated at runtime. For each vertex, its tangents and UVs are computed. \r\nThe information is fed into a basic graphics pipeline (`.vert` + `.frag`) that displaces the vertices \r\nand subsequently Blinn-Phong shades the resulting fragments. Three terrain textures are mixed according to height.\r\nA single directional light illuminates the scene.\r\n\r\n## Project Structure\r\n\r\n```plaintext\r\nheightmap/\r\n├── src/                 # Source code, including shaders\r\n├── external/            # Bundled libraries' source code (GLFW, GLEW, GLM)\r\n├── assets/              # Static assets (.bmp files)\r\n├── premake5.lua         # Premake 5 config\r\n├── premake5             # Premake 5 executable (Unix)\r\n├── premake5.exe         # Premake 5 executable (Windows)\r\n└── README.md            # Project README\r\n```\r\n\r\n## Build - Make\r\n\r\n```shell\r\n./premake5 gmake2\r\nmake [config={debug_x64|release_x64}]\r\n```\r\n\r\nThe `config` parameter defaults to `debug_x64`.\r\n\r\n## Build - Visual Studio\r\n\r\n```shell\r\n./premake5.exe vs2022\r\n```\r\n\r\nOpen generated `.sln` project file.\r\n\r\n## Build - Xcode\r\n\r\n```shell\r\n./premake5.apple xcode4\r\n```\r\n\r\nOpen generated Xcode project.\r\n\r\n## Run\r\n\r\n```shell\r\nbin/heightmap-{target}.exe\r\n```\r\n\r\nExecutables have `.exe` extension for all platforms, but binaries are platform-specific.\r\n\r\n## Controls\r\n\r\n| Key(s)                  | Action                                |\r\n|-------------------------|---------------------------------------|\r\n| `↑` / `↓` / `←` / `→`   | Move forward, back, left, and right   |\r\n| `Space`                 | Toggle wireframe visualisation mode   |\r\n| `N`                     | Toggle normal visualisation mode      |\r\n| `T` / `S`               | Scale height up and down              |\r\n| `W` / `A` / `S` / `D`   | Rotate directional light              |\r\n| `Esc`                   | Close the application                 |\r\n\r\n## Technologies\r\n\r\n* **Premake**: `5`\r\n* **C++**: `\u003e= C++17`\r\n* **OpenGL**: `\u003e= 4.2`\r\n* **GLFW**: `3.4.0`\r\n* **GLEW**: `1.13.0`\r\n* **GLM**: `0.9.7.1`\r\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspicycactuar%2Fheightmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspicycactuar%2Fheightmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspicycactuar%2Fheightmap/lists"}