-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in 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: