Comments (7)
Sure, you can make the repo public 😊
from glsl-pathtracer.
@ib00 This answer from stack overflow explains it in a more understandable way than I probably did:
https://stackoverflow.com/questions/44181875/ray-tracing-via-compute-shader-vs-screen-quad
from glsl-pathtracer.
Hey :) Rendering the frame a tile at a time increases responsiveness of the application on older GPUs.
Some background:
The project is aimed at older GPUs that do not have support for hardware-accelerated RT. That is why everything from BVH traversal, and ray-triangle intersections to shading is done in a pixel shader. This allows people with old yet relatively decent GPUs to run the code. However, pixel shaders have their limitations as there's no control over how work gets executed on the GPU. This, along with the compute intensive nature of path tracing would mean rendering the entire frame at once will often cause the GPU to hang up and the display driver to crash. A simple solution to this is to split the rendering into small tiles, essentially simulating (in an very unsophisticated way of course) what CUDA/Compute shaders explicitly allow you to do.
With Vulkan/DXR/OptiX, significantly higher performance can be achieved with the cost of being locked to a vendor and/or the need to have a modern GPU that supports hardware-accelerated RT.
from glsl-pathtracer.
Thanks a lot for your quick answer, it lets me know why you're doing this. ≧◠◡◠≦
from glsl-pathtracer.
Hey :) I just make a simple real-time raytracing (with gpu filtering) using your framework. Can I make this repositorie public? Here is my url(https://github.com/qstx/Real-Time-GLSL-Based-PathTracing).
from glsl-pathtracer.
You mention that pixel shaders are executed in a different way than compute shaders
(hence need of tiles). Is there a good reference describing this (difference of pixel vs
compute shaders are executed)?
Thanks.
from glsl-pathtracer.
Thanks for the link. Good explanation.
from glsl-pathtracer.
Related Issues (20)
- Adding support for MacOS build
- Reading materials for the shader pipeline in the code HOT 1
- Anisotropy Bug HOT 1
- Furnace test fails when specTrans ~ 0.5
- How to change Camera position via .JSON file? HOT 7
- hello,Why is this error when I open and build the solution in vs after I do my project cmake? How Do We Fix This? HOT 6
- HI!!!u are so awsome that could write so large programme. im a student,and i want to know how to learn it ? or do sir have some course about it? HOT 1
- How to export Blender scene step by step? HOT 3
- Bug(s) in Rust port HOT 8
- when rendering,why divide a Framebuffer into some Tiles HOT 5
- Running [Make] in Apple M2 : Undefined symbols for architecture arm64 HOT 8
- Density / Fog Integration HOT 4
- Absorption HOT 2
- Request: Change movement HOT 1
- Request: Change GUI
- I saw a very magical piece of code
- Bug: mouse pan/zoom only work after first mouse rotation HOT 1
- Water in tropical island scene is always black HOT 4
- Is it possible make Blender addon not exporter? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glsl-pathtracer.