https://github.com/name-hw/janrenderer
심심해서 만든 C++17과 Zig로 작성된 Vulkan 렌더링 엔진
https://github.com/name-hw/janrenderer
3d 3d-graphics cpp graphics graphics-engine graphics-programming render renderer renderering rendering-3d-graphics rendering-engine shader shaders vulkan vulkan-compute-shaders vulkan-engine vulkan-renderer zig zig-lib zig-library
Last synced: 4 months ago
JSON representation
심심해서 만든 C++17과 Zig로 작성된 Vulkan 렌더링 엔진
- Host: GitHub
- URL: https://github.com/name-hw/janrenderer
- Owner: Name-hw
- License: mit
- Created: 2025-02-21T10:22:20.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-08-10T17:17:34.000Z (6 months ago)
- Last Synced: 2025-08-10T19:11:49.368Z (6 months ago)
- Topics: 3d, 3d-graphics, cpp, graphics, graphics-engine, graphics-programming, render, renderer, renderering, rendering-3d-graphics, rendering-engine, shader, shaders, vulkan, vulkan-compute-shaders, vulkan-engine, vulkan-renderer, zig, zig-lib, zig-library
- Language: C++
- Homepage:
- Size: 12.8 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# **JanRenderer (WIP)**
[](https://github.com/Name-hw/JanRenderer/actions/workflows/CI.yml)
Rendering engine built with Vulkan written in C++17 and Zig.
https://github.com/user-attachments/assets/17ed007a-4180-4430-8240-73fc46285b80
## **Features**
- Rendering engine built with Vulkan
- Written in C++17 and Zig
- Using Depth buffer
- Generate Mipmaps
- MSAA (MultiSampling Anti-Aliasing) support
- Compute Shader
## **Getting Started**
1. Link the JanRenderer, zglfw, zgui library (see [this](https://github.com/Name-hw/JanRenderer/blob/09737e3dbf671c098cf2e8e6a234f6afa62bbfa3/build.zig#L268)).
2. Import JanRenderer.zig. (see [this](https://github.com/Name-hw/JanRenderer/blob/main/src/TestApp/main.zig)).
## **Build**
1. First, install [vcpkg](https://vcpkg.io/) and run 'vcpkg install'.
2. Build using zig's build system in Visual Studio Code (Check detailed build steps with `zig build -h`).
3. Executable program and Library files are created.
### Shortcuts (for Vscode users)
- build: Ctrl+Shift+B
- debug: F5
- run: Ctrl+F5
### Vscode extensions
1.
2.
3.
### Libraries
Install the library via vcpkg or zig's build system (see build.zig, build.zig.zon).
### Namings
1. Variables: camelCase
2. Functions: camelCase
3. Types (including objects, structs, enums, typedefs, etc): PascalCase
4. Enums: PascalCase
5. Views (texts displayed in GUI): Title Case
6. ViewModels: PascalCase
7. Initials: UPPERCASE
## **Dependencies**
### Vcpkg
- [volk](https://github.com/zeux/volk)
- [cglm](https://github.com/recp/cglm)
- [stb](https://github.com/nothings/stb)
- [tinyobjloader](https://github.com/tinyobjloader/tinyobjloader)
- [VulkanMemoryAllocator](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator)
### Zig build system
- [zmath](https://github.com/zig-gamedev/zmath)
- [zglfw](https://github.com/zig-gamedev/zglfw)
- [zgui](https://github.com/zig-gamedev/zgui)