-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
130 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,116 @@ | ||
# cpp-template | ||
<!-- | ||
*** This readme was adapted from Best-README-Template. | ||
https://github.com/othneildrew/Best-README-Template | ||
--> | ||
|
||
A template for creating C++ projects. | ||
<!-- PROJECT SHIELDS --> | ||
<!-- | ||
*** I'm using markdown "reference style" links for readability. | ||
*** Reference links are enclosed in brackets [ ] instead of parentheses ( ). | ||
*** See the bottom of this document for the declaration of the reference variables | ||
*** for contributors-url, forks-url, etc. This is an optional, concise syntax you may use. | ||
*** https://www.markdownguide.org/basic-syntax/#reference-style-links | ||
--> | ||
<div align="left"> | ||
|
||
[![Contributors][contributors-shield]][contributors-url] | ||
[![Forks][forks-shield]][forks-url] | ||
[![Stargazers][stars-shield]][stars-url] | ||
|
||
</div> | ||
|
||
<a href="https://github.com/Kaweees/cpp-template"> | ||
<img alt="C++ Logo" src="assets/img/cpp.svg" align="right" width="150"> | ||
</a> | ||
|
||
<div align="left"> | ||
<h1><em><a href="https://github.com/Kaweees/cpp-template">~cpp-template</a></em></h1> | ||
</div> | ||
|
||
<!-- ABOUT THE PROJECT --> | ||
|
||
A template for creating C++13 projects accelerated with CUDA/Apple Metal | ||
|
||
### Built With | ||
|
||
[![C++][C++-shield]][C++-url] | ||
[![CUDA][CUDA-shield]][CUDA-url] | ||
[![Apple][Apple-shield]][Apple-url] | ||
[![GitHub Actions][github-actions-shield]][github-actions-url] | ||
|
||
<!-- PROJECT PREVIEW --> | ||
## Preview | ||
|
||
<p align="center"> | ||
<img src="assets/img/demo.mp4" | ||
width = "80%" | ||
alt = "Video demonstration" | ||
/> | ||
</p> | ||
|
||
<!-- GETTING STARTED --> | ||
## Getting Started | ||
|
||
### Prerequisites | ||
|
||
Before attempting to build this project, make sure you have [GNU Make](https://www.gnu.org/software/make/), and [CMake](https://cmake.org) installed on your machine. | ||
|
||
Additionally, if you wish to utilize the GPU acceleration features, you will need to have [CUDA Toolkit](https://developer.nvidia.com/cuda-downloads) or [Apple Metal](https://developer.apple.com/metal/cpp/) installed on your machine. | ||
|
||
|
||
you will need a C++ compiler that supports C++13, and a CUDA compatible GPU if you wish to use the CUDA acceleration features. | ||
|
||
### Installation | ||
|
||
To get a local copy of the project up and running on your machine, follow these simple steps: | ||
|
||
1. Clone the project repository | ||
|
||
```sh | ||
git clone https://github.com/Kaweees/cpp-template.git | ||
cd graphics | ||
``` | ||
|
||
2. Build and execute the project | ||
```sh | ||
clear && cmake CMakeLists.txt && make && ./target/release/cpp-template | ||
``` | ||
|
||
<!-- PROJECT FILE STRUCTURE --> | ||
## Project Structure | ||
|
||
```sh | ||
clear && cmake CMakeLists.txt && make && ./target/release/cpp-template | ||
graphics/ | ||
βββ .github/ - GitHub Actions CI/CD workflows | ||
βββ include/ - project header files | ||
βββ src/ - project source files | ||
β βββ main.c - Entry point, main function | ||
βββ CMakeLists.txt - CMake build script | ||
βββ LICENSE - project license | ||
βββ README.md - you are here | ||
``` | ||
|
||
## License | ||
|
||
The source code for my website is distributed under the terms of the GNU General Public License v3.0, as I firmly believe that collaborating on free and open-source software fosters innovations that mutually and equitably beneficial to both collaborators and users alike. See [`LICENSE`](./LICENSE) for details and more information. | ||
|
||
<!-- MARKDOWN LINKS & IMAGES --> | ||
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --> | ||
|
||
[contributors-shield]: https://img.shields.io/github/contributors/Kaweees/cpp-template.svg?style=for-the-badge | ||
[contributors-url]: https://github.com/Kaweees/cpp-template/graphs/contributors | ||
[forks-shield]: https://img.shields.io/github/forks/Kaweees/cpp-template.svg?style=for-the-badge | ||
[forks-url]: https://github.com/Kaweees/cpp-template/network/members | ||
[stars-shield]: https://img.shields.io/github/stars/Kaweees/cpp-template.svg?style=for-the-badge | ||
[stars-url]: https://github.com/Kaweees/cpp-template/stargazers | ||
|
||
<!-- MARKDOWN SHIELD BAGDES & LINKS --> | ||
<!-- https://github.com/Ileriayo/markdown-badges --> | ||
[C++-shield]: https://img.shields.io/badge/C++-%23008080.svg?style=for-the-badge&logo=c%2B%2B&logoColor=004482&labelColor=222222&color=004482 | ||
[C++-url]: https://isocpp.org/ | ||
[CUDA-shield]: https://img.shields.io/badge/cuda-%23008080.svg?style=for-the-badge&logo=nVIDIA&logoColor=76B900&labelColor=222222&color=76B900 | ||
[CUDA-url]: https://developer.nvidia.com/cuda-zone | ||
[Apple-shield]: https://img.shields.io/badge/metal-%23008080.svg?style=for-the-badge&logo=apple&logoColor=white&labelColor=222222&color=white | ||
[Apple-url]: https://developer.apple.com/metal/ | ||
[github-actions-shield]: https://img.shields.io/badge/github%20actions-%232671E5.svg?style=for-the-badge&logo=githubactions&logoColor=2671E5&labelColor=222222&color=2671E5 | ||
[github-actions-url]: https://github.com/features/actions |