Comments (6)
I also think the problem is safari doesn't support webgl2 by default. It must be enabled in preferences, at least on Mac it works like this
from three.js-pathtracing-renderer.
@fabiodr
Hi, I'm afraid for mobile devices, it only works on Google Chrome browser for Android at the moment. Also I only own a Samsung phone so that's what I've been able to test it on for my projects. I know some people who have iPhones but I would need to have one on hand to debug an application. Yes, like you mentioned, it probably is an issue with the shaders. Some of the shader source (1000 lines) for the demos are at the limits of compiling successfully on older machines. I would have to start from scratch, make an all red screen (most simple Hello World shader) and slowly build up line by line to see where a compilation problem occurred on iOS. Unfortunately GPU shader programming does not have a lot of debugging tools like one has in other environments.
Sorry it's not working for you. Thank you for the message and heads up.
-Erich
from three.js-pathtracing-renderer.
Indeed, GLSL can become tricky for many browser/gpu configurations, maybe a service for JS error tracking (Sentry, Rollbar...) can help to understand where it’s running or not, they have a free tier.
Thanks for the attention :)
Obs: just saw a very interesting technique for realtime illumination, it’s in Processing (Java) but the creator said it’s based on OpenGL ES 3.0, so it may be possible with acceptable performance in WebGL 2.0
http://thomasdiewald.com/blog/?p=2949
http://thomasdiewald.com/blog/?p=3159
from three.js-pathtracing-renderer.
@fabiodr
Thanks for the Sentry and Rollbar error tracking tip, I will check those out. Also I think Firefox had some sort of GLSL inspector that shows all of the execution steps on the GPU so you can kind of see what's being called. I think originally it was intended to profile for optimizations because there could be too many draw calls at times when you weren't expecting them. But maybe that can help. I think Chrome has a browser extension also nowadays.
Wow that 2d radiosity Java app is beautiful! I must admit I don't know quite how he is doing that via the rasterizer as he mentioned in his blog post. I would guess he does some kind of shadowmap depth projection, then saving the ray cast bounce info in a huge light map texture, then sampling from that on a pixel by pixel basis. I'll try to check out his source, although I don't think he has that particular project public on his github repos: Recent Source request It seems like magic though - it has given me some ideas for future scenes in my project!
Thanks again,
-Erich
from three.js-pathtracing-renderer.
@fabiodr iPhone only supports HalfFloatType(even iPhone11pro) .
You can try to replace THREE.FloatType in pathTracingRenderTarget(commandFunctions.js) and screenTextureRenderTargett(commandFunctions.js) with THREE.HalfFloatType.
@fabiodr 因为目前市面上的苹果手机只支持半浮点运算。(甚至是苹果11pro),你可以试着把全浮点改成半浮点。希望对你有用。
from three.js-pathtracing-renderer.
@q750831855
Thank you for the tip! Some of my family members have iPhones, so I will give this a try on their devices. Thanks again!
-Erich
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.