Toy 3d rendering engine
  • C++ 93.7%
  • GLSL 5.4%
  • Makefile 0.5%
  • Python 0.2%
  • Batchfile 0.2%
Find a file
silverweed ee54a130e9 add GPL
2025-11-20 09:45:03 +01:00
assets work on debug draw shadow maps 2023-09-24 13:10:56 +02:00
shaders use adjoint instead of transposed(inverse) [to be tested] 2024-12-11 08:54:16 +01:00
src add GPL 2025-11-20 09:45:03 +01:00
third_party add our implementation of heap alloc 2023-09-24 21:28:47 +02:00
tools make (single) spot light work 2023-06-17 18:14:08 +02:00
.gdbinit add gdb pretty printer for Dyn_Array 2023-05-28 18:40:13 +02:00
.gitignore disable asan in release builds 2023-07-09 14:18:22 +02:00
build.bat make it compile on windows (with VS) 2023-05-03 12:23:09 +02:00
COPYING add GPL 2025-11-20 09:45:03 +01:00
glfw_haru.sln remove haru_shmall vcxproj 2023-09-26 14:26:58 +02:00
glfw_haru.sln.DotSettings.user some reorganizing+avoid an allocation in read file 2023-05-10 17:18:04 +02:00
glfw_haru.vcxproj disable asan in release builds 2023-07-09 14:18:22 +02:00
glfw_haru.vcxproj.filters simplify make_bump_allocator interface 2023-07-07 16:45:01 +02:00
glfw_haru.vcxproj.user fix include 2023-05-10 08:52:39 +02:00
haru.vcxproj remove haru_shmall vcxproj 2023-09-26 14:26:58 +02:00
haru.vcxproj.filters add natvis for Dyn_Array 2023-06-02 09:27:17 +02:00
haru.vcxproj.user rename sfml_haru.vcxproj to haru.vcxproj 2023-05-13 20:43:21 +02:00
haru_tests.vcxproj enable asan in msvc builds 2023-07-07 15:58:04 +02:00
haru_tests.vcxproj.filters rename sfml_haru.vcxproj to haru.vcxproj 2023-05-13 20:43:21 +02:00
haru_tests.vcxproj.user add pool allocator 2023-05-10 10:32:21 +02:00
imgui.vcxproj fix tests and project paths on window 2023-05-23 15:58:30 +02:00
imgui.vcxproj.filters rename sfml_haru.vcxproj to haru.vcxproj 2023-05-13 20:43:21 +02:00
imgui.vcxproj.user add imgui to solution 2023-05-10 08:37:25 +02:00
makefile use adjoint instead of transposed(inverse) [to be tested] 2024-12-11 08:54:16 +01:00
README.md update README 2024-12-13 17:11:12 +01:00
vs-chromium-project.txt reduce gbuffer size by computing ws_pos from depth buffer 2023-07-05 19:15:07 +02:00

Haru is a work-in-progress 3D rendering engine using OpenGL 4.6.

Haru screenshot

Building

On Linux, a simple make should work, although that's not been necessarily proved to work on any machine other than mine. On Windows, use glfw_haru.sln.

A C++20-compatible compiler is required.

Dependencies

Haru aims to be as bloat-free as possible, which implies having as few dependencies as possible. All dependencies are vendored in the third_party directory.

These are the dependencies currently used:

  • Dear Imgui
  • KHR/khrplatform.h (used by imgui opengl backend)
  • GLFW
  • GLAD
  • cgltf
  • stb_image
  • doctest (only for unit tests)