Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Kaweees committed Oct 17, 2024
1 parent ce024db commit eb91fe2
Show file tree
Hide file tree
Showing 2 changed files with 158 additions and 3 deletions.
136 changes: 133 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,137 @@
# fuzzy-robot
<!--
*** This readme was adapted from Best-README-Template.
https://github.com/othneildrew/Best-README-Template
-->

A three-dimensional graphics library from scratch written in C++13 and accelerated with CUDA.
<!-- 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/graphics">
<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/graphics">~graphics</a></em></h1>
</div>

<!-- ABOUT THE PROJECT -->

A three-dimensional graphics library from scratch written in C++13 and accelerated with CUDA/Apple Metal.

### Built With

[![Neovim][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 [Simple DirectMedia Layer (SDL 2)](https://wiki.libsdl.org/SDL2/Installation), [GNU Make](https://www.gnu.org/software/make/), and [CMake](https://cmake.org) installed on your machine.


### 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/graphics.git
cd graphics
```

2. Build and execute the project
```sh
clear && cmake CMakeLists.txt && make && ./target/release/graphics
```

## Usage

### Keyboard Shortcuts

To enter custom commands into nvim, you must first enter a specific keybind, which is called the leader, followed by the command keybind while in a specific editor mode. My prefix key is <kbd>space</kbd>.

To refresh neovim and install new plugins, type <kbd>leader</kbd> + <kbd>I</kbd> (capital i, as in Install) while in normal mode.

<!-- | Mode | Command Keybind | Command Description |
| ---- | --------------- | ------------------- |
| normal | <kbd>leader</kbd> + <kbd>c</kbd> | create new window and switch to it |
| a | <kbd>leader</kbd> + <kbd>#</kbd> | switch to window # |
| a | <kbd>leader</kbd> + <kbd>n</kbd> | switch to next window |
| a | <kbd>leader</kbd> + <kbd>p</kbd> | switch to previous window |
| a | <kbd>leader</kbd> + <kbd>:</kbd> | swap window with next window |
| a | <kbd>leader</kbd> + <kbd>;</kbd> | swap window with previous window |
| a | <kbd>leader</kbd> + <kbd>&</kbd> | kill window and all panes in it | -->

<!-- Normal | `<leader>` + `p` + `v` | Execute `:PackerSync` | -->

<!-- PROJECT FILE STRUCTURE -->
## Project Structure

```sh
clear && cmake CMakeLists.txt && make && ./target/release/graphics
.
├── after/plugins/ - plugin-specific configurations
├── lua
│ ├── include - lua modules
│ │ ├── lazy.lua - packages installed by lazy.nvim
│ │ ├── remap.lua - keybinds and leader configuration
│ │ └── set.lua - miscellaneous settings
│ └── plugins
│ ├── spec1.lua
│ ├── **
│ └── spec2.lua
├── init.lua - Entry point, loads all plugins and configurations
└── 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/graphics.svg?style=for-the-badge
[contributors-url]: https://github.com/Kaweees/graphics/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/Kaweees/graphics.svg?style=for-the-badge
[forks-url]: https://github.com/Kaweees/graphics/network/members
[stars-shield]: https://img.shields.io/github/stars/Kaweees/graphics.svg?style=for-the-badge
[stars-url]: https://github.com/Kaweees/graphics/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
25 changes: 25 additions & 0 deletions assets/img/cpp.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit eb91fe2

Please sign in to comment.