-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Impressive Project! #17
Comments
Hi! Thank you very much for the kind words and the star! I work professionally as a software engineer where some graphics programming is involved, so I have a couple of years worth of experience working with graphics and gpus. I started this project to try out Vulkan, since at work I've only used OpenGL and Direct3D. So about a year ago I started following these tutorials (https://vulkan-tutorial.com/ and https://vkguide.dev/) to just get a triangle on the screen to kind of get a hang of Vulkan. I also have colleagues that have similar projects that I discussed and learned from. As I got the basic hang of the API (which I enjoy a lot by the way, I think it's a great API if you have a solid understanding of graphics programming and gpus in general) I wanted to challenge myself and implement modern rendering techniques. The first step was to create a frame graph, so that I could have a somewhat solid testbed to run things off. After that, stuff like completely GPU-driven rendering and Hi-Z occlusion culling came in. As for real time GI, I've watched a lot of GDC and Siggraph talks, as well as read a lot of papers on the subject. I've then tried to implement some of them, most notably DDGI and Radiance Cascades from Alexander Sennikov. I've also tried the screen-space probe approaches from Frostbite, AMD and Epic, but they're not as usable as of now. As the project is more on a hobby level, and I don't really have much time to work on it, the code is quite messy... :) So unfortunately this means that it is probably hard to read/follow for an outsider. If you really want to dwell deeper into the code, I would recommend focusing on a specific part. For instance, if you are interested in learning how I implemented DDGI, you don't necessarily have to understand how the frame graph is implemented. It is probably enough to look at the shaders that generate the DDGI probes (irradiance_probe_update.rgen/.rchit/.rmiss) and the shaders that utilize them (deferred_tiled.comp and probably pbr_light.glsl for some helper functions). I am also more than happy to answer any specific questions should you have them! |
As the title said, this is really impressive! There are lot of mediocre projects which have thousand of stars but your only have 5 ! What a crime if this project don't have 1k stars!
I have 2 questions:
The text was updated successfully, but these errors were encountered: