Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sid911/vulkan_basics
A basic vulkan 3d rendered with depth, mipmap, multisampling support.
https://github.com/sid911/vulkan_basics
Last synced: about 2 months ago
JSON representation
A basic vulkan 3d rendered with depth, mipmap, multisampling support.
- Host: GitHub
- URL: https://github.com/sid911/vulkan_basics
- Owner: Sid911
- Created: 2024-07-21T19:07:20.000Z (6 months ago)
- Default Branch: master
- Last Pushed: 2024-07-21T19:22:07.000Z (6 months ago)
- Last Synced: 2024-07-21T21:03:32.003Z (6 months ago)
- Language: C++
- Size: 1.34 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# Vulkan Basics
This repo follows https://vulkan-tutorial.com/ as a source reference with some modifications of my own to create a 3d renderer. My goal was to learn the basics of vulkan and how it works.
This is in a single file for the most part.Supports
- Depth Buffer
- Textures (Single per object) using `stb_iamge`
- Model loading using `tiny_obj_loader` library for obj objects
- Automatic runtime mipmap generation
- Multisampling> Note: Currently the windowing library only supports X11 at the moment on linux unlike in the reference. For a learning project windows wasn't really a priority although it is probably easy to build in :P
# Compilation
compilation should be very easy with cmake installed (ninja route is recommended)- Create the build directory
```
mkdir build && cd build
```- Generate Make file or build.ninja with `COMPILE_SHADER` option turned true
```
cmake .. -DCOMPILE_SHADER=true// or
cmake .. -GNinja -DCOMPILE_SHADER=true
```- Build
```
make .// or
ninja -j 2
```