{"id":24383876,"url":"https://github.com/cpluspatch/spearstake","last_synced_at":"2026-04-14T12:32:12.309Z","repository":{"id":212536675,"uuid":"731724319","full_name":"CPlusPatch/spearstake","owner":"CPlusPatch","description":"A C++ game engine with OpenGL","archived":false,"fork":false,"pushed_at":"2023-12-15T18:57:10.000Z","size":80,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-26T23:24:35.985Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CPlusPatch.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-12-14T18:18:47.000Z","updated_at":"2023-12-14T19:05:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"4aff2ded-4885-41a0-ba7d-2b6a5f1ccee0","html_url":"https://github.com/CPlusPatch/spearstake","commit_stats":null,"previous_names":["cpluspatch/spearstake"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CPlusPatch/spearstake","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPlusPatch%2Fspearstake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPlusPatch%2Fspearstake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPlusPatch%2Fspearstake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPlusPatch%2Fspearstake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CPlusPatch","download_url":"https://codeload.github.com/CPlusPatch/spearstake/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPlusPatch%2Fspearstake/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31797370,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-14T11:13:53.975Z","status":"ssl_error","status_checked_at":"2026-04-14T11:13:53.299Z","response_time":153,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2025-01-19T10:16:23.850Z","updated_at":"2026-04-14T12:32:12.301Z","avatar_url":"https://github.com/CPlusPatch.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spearstake\n\nThis project is a 3D rendering application built with OpenGL, GLFW, and ImGui. It includes a block rendering system and texture loading from DDS files.\n\n## Goals and Features\n\nSpearstake is a small demo project I created to learn more about OpenGL and 3D rendering. It is supposed to be a voxel sandbox similar to Minecraft, with very large 3D world generation and rendering.\n\nThe project is currently in a very early stage of development, and only includes a block rendering system and texture loading from DDS files. Contributions are welcome!\n\n### Features\n\n- [x] 3D coordinate based block renderer (broken textures)\n- [ ] Chunk system\n- [ ] World generation\n- [x] Player movement (as a camera)\n\n## Project Structure\n\n- `src/`: Contains the source files for the project.\n- `src/shaders/`: Contains the vertex and fragment shader files.\n- `textures/`: Contains the DDS texture files.\n- `modules/`: Contains the ImGui library files, as well as other future Git submodules.\n- `build/`: Contains the build files generated by CMake.\n\n## Source Files\n\n- [`Block.cpp`](src/Block.cpp) and `Block.hpp`: Defines the `Block` class for rendering 3D blocks.\n- [`DDSLoader.cpp`](src/DDSLoader.cpp) and `DDSLoader.hpp`: Defines a function to load textures from DDS files.\n- [`Position.cpp`](src/Position.cpp) and `Position.hpp`: Defines the `Position` class for handling 3D positions of blocks, not cameras.\n- [`Shaders.cpp`](src/Shaders.cpp) and `Shaders.hpp`: Contains a function to load shaders from files.\n- [`Window.cpp`](src/Window.cpp) and `Window.hpp`: Defines the `Window` class for creating and managing the application window.\n- [`main.cpp`](src/main.cpp): The entry point for the application.\n\n## Installation\n\nThis project's dependencies can be installed with this command in Arch Linux:\n\n```sh\nsudo pacman -S glfw-wayland glew glm glu cmake make\n```\n\nFor other Linux distributions, you can install the dependencies with the following commands:\n\nUbuntu:\n```sh\nsudo apt install libglfw3-dev libglew-dev libglm-dev libglu1-mesa-dev cmake make\n```\n\nFedora:\n```sh\nsudo dnf install glfw-devel glew-devel glm-devel mesa-libGLU-devel cmake make\n```\n\nOnce the dependencies are installed, you can clone the repository with the following command (including submodules):\n\n```sh\ngit clone https://github.com/CPlusPatch/spearstake.git --recurse-submodules\n```\n\n## Building the Project\n\nThis project uses CMake for building. To build the project, navigate to the project root directory and run the following commands:\n\n```sh\nmkdir build\ncmake .\nmake\n```\n\nThis will generate an executable in the [`build`](build) directory.\n\n## Running the Project\n\nAfter building the project, you can run the application with the following command:\n\n```sh\n./build/spearstake\n```\n\n## Running with Visual Studio Code\n\nThis project includes a [Visual Studio Code](https://code.visualstudio.com/) configuration file for building and running the project. To use this configuration, you must have the [C/C++ extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) installed.\n\nTo build and run the project, you can run the `(gdb) Launch` configuration in the Debug tab, or simply press F5.\n\n## License\n\nThis project is licensed under the terms of the [`GPL-3.0`](LICENSE) license.\n\n## Contributing\n\nContributions are welcome. Please submit a pull request or create an issue to discuss the changes.\n\n## Contact\n\nFor any questions or concerns, please open an issue on the project repository.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpluspatch%2Fspearstake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcpluspatch%2Fspearstake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpluspatch%2Fspearstake/lists"}