DoonEngine
所属分类:OpenGL
开发工具:C
文件大小:0KB
下载次数:0
上传日期:2023-05-01 02:29:23
上 传 者:
sh-1993
说明: 体素路径跟踪器,
(a voxel path-tracer,)
文件列表:
CMakeLists.txt (921, 2023-11-30)
DoonEngine.code-workspace (554, 2023-11-30)
LICENSE.md (1070, 2023-11-30)
Makefile (611, 2023-11-30)
assets/ (0, 2023-11-30)
assets/models/ (0, 2023-11-30)
assets/models/testApple.vox (23690, 2023-11-30)
assets/models/tree.vox (65031, 2023-11-30)
assets/screenshots/ (0, 2023-11-30)
assets/screenshots/1.PNG (233364, 2023-11-30)
assets/screenshots/2.PNG (122240, 2023-11-30)
assets/screenshots/3.PNG (176033, 2023-11-30)
assets/shaders/ (0, 2023-11-30)
assets/shaders/fragTest.frag (106, 2023-11-30)
assets/shaders/quad.frag (162, 2023-11-30)
assets/shaders/quad.vert (207, 2023-11-30)
assets/shaders/vertTest.vert (210, 2023-11-30)
assets/shaders/voxelDraw.comp (5094, 2023-11-30)
assets/shaders/voxelLighting.comp (10191, 2023-11-30)
assets/shaders/voxelShared.comp (16647, 2023-11-30)
assets/textures/ (0, 2023-11-30)
assets/textures/skybox/ (0, 2023-11-30)
assets/textures/skybox/back.jpg (740068, 2023-11-30)
assets/textures/skybox/bottom.jpg (280589, 2023-11-30)
assets/textures/skybox/front.jpg (473329, 2023-11-30)
assets/textures/skybox/left.jpg (601885, 2023-11-30)
assets/textures/skybox/right.jpg (538038, 2023-11-30)
assets/textures/skybox/top.jpg (346139, 2023-11-30)
assets/volumes/ (0, 2023-11-30)
assets/volumes/demo.voxvol (112578, 2023-11-30)
assets/volumes/sphere.voxvol (37514768, 2023-11-30)
dependencies/ (0, 2023-11-30)
dependencies/include/ (0, 2023-11-30)
dependencies/include/GLAD/ (0, 2023-11-30)
dependencies/include/GLAD/glad.h (246548, 2023-11-30)
dependencies/include/GLFW/ (0, 2023-11-30)
dependencies/include/GLFW/glfw3.h (214879, 2023-11-30)
... ...
# DoonEngine
DoonEngine is a voxel path tracing engine that calculates lighting per-voxel instead of per-pixel. It allows for dynamic streaming of voxels from the CPU and fast edits to the map. It is being developed only by one person and is still a work-in-progress, so don't expect too much polish.
# Overview
The voxels are separated into 8x8x8 chunks, which allows for faster dynamic editing as only a portion of the map needs to be reuploaded when it is edited. Additionally, empty chunks are able to be skipped over when ray casting. When drawing the map, each chunk that is visible to the camera is added to a buffer. Each chunk in this buffer then has its lighting updated, allowing for per-voxel lighting. The diffuse lighting is pure path-traced and accumulates over many frames. The direct light and specular component, however, are calculated by shooting a fixed number of uniformly-spaced rays so that they can be updated instantly as the camera moves and the map is edited.
# Build
This project can be built using either CMake or Make. Nominally, CMake should be used with Visual Studio on Windows, and Make should be used on Linux. This project depends on OpenGL, GLFW, and stb_image.
## CMake on Windows
To build this project on Windows, run CMakeLists.txt using CMake. The working directory should be set to the assets folder. If there is an issue with the CMake build, please let me know as I am new to the software.
## Make on Linux
To build this project on Linux, simply run `make`. The built executable will be located at `build/doonengine`. To run it, first navigate to the `assets` directory, then run `../build/doonengine`.
# Development Videos
https://www.youtube.com/watch?v=OAF4RCS_pPc
https://www.youtube.com/watch?v=T0hunImo9Hs
https://www.youtube.com/watch?v=ePOooVJizc8
https://www.youtube.com/watch?v=Saq4GRS5iyI
https://www.youtube.com/watch?v=XH950nLKghE
# Screenshots
![alt text](https://github.com/frozein/VoxelEngine/blob/master/assets/screenshots/1.PNG)
![alt text](https://github.com/frozein/VoxelEngine/blob/master/assets/screenshots/2.PNG)
![alt text](https://github.com/frozein/VoxelEngine/blob/master/assets/screenshots/3.PNG)
近期下载者:
相关文件:
收藏者: