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)

近期下载者

相关文件


收藏者