Comments (2)
Hello @trsh
Yes I agree! ;-)
I have been wanting to implement de-noising much like NVidia did with path traced Quake II recently:
q2vkpt tech
And the research paper that this project was based upon.
However, just glancing at some source code (what little is out there for public consumption), it is way more non-trivial than I had imagined. I was originally thinking in terms of simple Photoshop-type box and Gaussian filters, but it goes way beyond that with complex edge detection and also ventures into the temporal domain (temporal reprojection, etc.).
There are no quick and easy 'getting started' tutorials about this subject either (like there are for simple old-fashioned ray tracing), as it is an active area of computer scientific research at universities and professional companies, and is considered the Holy Grail of real-time rendering - noise free global illumination at 60 fps.
My only concern about going down this road and trying to get it to work, is that since this project runs on any GPU (commodity even) with Webgl in the browser, that the complex math and multiple texel lookups (which I'm sure are necessary for filtering and edge-detection) will slow my entire renderer down below 30 fps and will no longer be supported on mobile devices in real-time.
But if I find some tutorials or example projects that make compact, clever use of de-noising, I will definitely give it my best!
-Erich
from three.js-pathtracing-renderer.
Cool
from three.js-pathtracing-renderer.
Related Issues (20)
- muti material not supported
- WebGPU port HOT 3
- More abstractions HOT 9
- Using more information from earlier samples HOT 3
- More samples per frame option HOT 63
- More compatibility with three js APIs HOT 2
- Stop a caustic ray if it crosses a surface HOT 3
- Just wondering how you handled something HOT 14
- Blue noise HOT 8
- GLTF viewer textures HOT 3
- sampler2D array HOT 14
- How to use this pathtracer in Freeciv 3D version? HOT 2
- [question] how to debug glsl in chrome? HOT 2
- GLTF_Model_Viewer didn't get the right result? HOT 6
- How to incorporate it into project? HOT 9
- statistical tool: bootstrapping
- Shadow Catcher HOT 1
- Support for a THREE.ParametricGeometry HOT 1
- GLTF_Viewer is not able to load textures HOT 1
- image stretched for BHV point light source HOT 2
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 three.js-pathtracing-renderer.