Git Product home page Git Product logo

Comments (7)

knightcrawler25 avatar knightcrawler25 commented on June 14, 2024 1

Sure, you can make the repo public 😊

from glsl-pathtracer.

knightcrawler25 avatar knightcrawler25 commented on June 14, 2024 1

@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.

knightcrawler25 avatar knightcrawler25 commented on June 14, 2024

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.

qstx avatar qstx commented on June 14, 2024

Thanks a lot for your quick answer, it lets me know why you're doing this. ≧◠◡◠≦

from glsl-pathtracer.

qstx avatar qstx commented on June 14, 2024

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.

ib00 avatar ib00 commented on June 14, 2024

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.

ib00 avatar ib00 commented on June 14, 2024

Thanks for the link. Good explanation.

from glsl-pathtracer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.