I've written a (sparse voxel octree) raytracer for WebGL and see the same problem in Windows.I believe the problem is my for loops are being unrolled by the HLSL compiler. As I increase the number of steps, the compile time increases until at some point the context is lost (after ~10s of compilation.)I'd reduce your number_of_steps constant and see if that helps. Also, run Chrome with the --use-gl=desktop argument to check that it's the translation to HLSL causing the problem. To see the HLSL output, build ANGLE and run the essl_to_hlsl command-line tool.I imagine ANGLE using DirectX 11 will fix this.TimOn Friday, April 19, 2013 9:45:01 AM UTC-7, m.dewa...@atmind.nl wrote:Hi all,
We are experimenting with webgl and shaders, and tried implementing a realtime raytracer using WebGL and shaders. The raytracing is done in the fragment shader.
On Linux, Android (tablet) and the MacOS things work okay using Google Chrome and FireFox.
But on the Windows platform we are facing issues with Google Chrome and also some (but less) with Firefox.
Compiling the raytracer in one fragment shaders works for Chrome and Firefox on Linux and MacOs, but it doesn't for Windows. We have split the shader into several smaller shaders and that seems to compile okay in Firefox on Windows, but still fails in Chrome.
It seems that the gl_context is lost (null).
You can find the experiment here, but keep in mind that it doesn't work properly on Windows:
http://www.atmind.nl/webgl/marchingpath.html
Does anyone have any idea what goes wrong here?
And does any one know how we can view the Angle -generated code for Firefox?
Thanx in advance.
Rgds,
Jeroen & Monique
(At Mind)
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "WebGL Dev List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to webgl-dev-list+unsubscribe@googlegroups.com.
On Friday, May 24, 2013 3:25:28 PM UTC+2, m.dewa...@atmind.nl wrote:A small add-on, splitting up the complexity (for loops) in multiple shaders seems to make quite a big difference . i.e. having the reflections and AO pass in different shaders does imrpove the performance on the Windows platform....
I didn't notice any difference in startup time for this version
between MacOS and Windows. Looks like your change succeeded.
There is one nasty artefact in Firefox on Windows XP. I haven't
tested on Windows 7. That is tearing. It seems that either the
page composition is happening while the WebGL app is still drawing
the canvas or the page->screen updates are not happening in
sync with screen refresh. I think it is a Firefox problem on
Windows. I vaguely recall reporting it a long time ago. It doesn't
occur in Firefox on MacOS.
I showed the demo to a colleague who is working on ray-tracing.
His first question was why is there a "depth pass? You don't do
depth buffering in ray tracing." I was hoping your blog might
explain something about how you have implemented this but it was
exclusively about WebGL shader issues. Have you written up an
explanation somewhere else?
Regards
-Mark
NOTE: This electronic mail message may contain confidential and privileged information from HI Corporation. If you are not the intended recipient, any disclosure, photocopying, distribution or use of the contents of the received information is prohibited. If you have received this e-mail in error, please notify the sender immediately and permanently delete this message and all related copies.
I didn't notice any difference in startup time for this version between MacOS and Windows. Looks like your change succeeded.On 2013/05/24 22:38, m.dewa...@atmind.nl wrote:
On Friday, May 24, 2013 3:25:28 PM UTC+2, m.dewa...@atmind.nl wrote:A small add-on, splitting up the complexity (for loops) in multiple shaders seems to make quite a big difference . i.e. having the reflections and AO pass in different shaders does imrpove the performance on the Windows platform....
There is one nasty artefact in Firefox on Windows XP. I haven't tested on Windows 7. That is tearing. It seems that either the page composition is happening while the WebGL app is still drawing the canvas or the page->screen updates are not happening in sync with screen refresh.
I think it is a Firefox problem on Windows. I vaguely recall reporting it a long time ago. It doesn't occur in Firefox on MacOS.
I showed the demo to a colleague who is working on ray-tracing. His first question was why is there a "depth pass? You don't do depth buffering in ray tracing." I was hoping your blog might explain something about how you have implemented this but it was exclusively about WebGL shader issues. Have you written up an explanation somewhere else?
Regards
-Mark
--
注意:この電子メールには、株式会社エイチアイの機密情報が含まれている場合が有ります。正式なメール受信者では無い場合はメール複製、 再配信または情報の使用を固く禁じております。エラー、手違いでこのメールを受け取られましたら削除を行い配信者にご連絡をお願いいたし ます.NOTE: This electronic mail message may contain confidential and privileged information from HI Corporation. If you are not the intended recipient, any disclosure, photocopying, distribution or use of the contents of the received information is prohibited. If you have received this e-mail in error, please notify the sender immediately and permanently delete this message and all related copies.
--
There is one nasty artefact in Firefox on Windows XP. I haven't tested on Windows 7. That is tearing. It seems that either the page composition is happening while the WebGL app is still drawing the canvas or the page->screen updates are not happening in sync with screen refresh.
Has to be the latter (compositing not on vsync). Check if you are getting Direct3D compositing (in about:support) and if not, check if force-enabling it (layers.acceleration.force-enabled in about:config, restart) makes a difference.
Hi Benoit,
Force-enabling D3D compositing made no difference (or do I need
to restart FF?)
As for whether I am getting it without force-enable, there seems
no way to easily tell. All the layers.* config items are at their
default settings. I don't see anything directly relevant in
about:support except perhaps "GPU Accelerated Windows" which says
"1/1 Direct3D 9".
On 2013/05/27 20:10, Benoit Jacob wrote:
Hi Benoit,
2013/5/26 Mark Callow <callo...@artspark.co.jp>
There is one nasty artefact in Firefox on Windows XP. I haven't tested on Windows 7. That is tearing. It seems that either the page composition is happening while the WebGL app is still drawing the canvas or the page->screen updates are not happening in sync with screen refresh.
Has to be the latter (compositing not on vsync). Check if you are getting Direct3D compositing (in about:support) and if not, check if force-enabling it (layers.acceleration.force-enabled in about:config, restart) makes a difference.
Force-enabling D3D compositing made no difference (or do I need to restart FF?)
As for whether I am getting it without force-enable, there seems no way to easily tell. All the layers.* config items are at their default settings. I don't see anything directly relevant in about:support except perhaps "GPU Accelerated Windows" which says "1/1 Direct3D 9".
Regards
-Mark
--
注意:この電子メールには、株式会社エイチアイの機密情報が含まれている場合が有ります。正式なメール受信者では無い場合はメール複製、 再配信または情報の使用を固く禁じております。エラー、手違いでこのメールを受け取られましたら削除を行い配信者にご連絡をお願いいたし ます.NOTE: This electronic mail message may contain confidential and privileged information from HI Corporation. If you are not the intended recipient, any disclosure, photocopying, distribution or use of the contents of the received information is prohibited. If you have received this e-mail in error, please notify the sender immediately and permanently delete this message and all related copies.
--
This is well worth filing a bug and CC'ing Jeff and Vlad.
I added the information to my existing old bug report about this
problem. - Bug 646383.
I also cc'ed Vlad. You and Jeff are already in the cc list.
BTW, if anyone is interested, we have written a small article about a few challenges we had when developing the raytracer:
http://www.atmind.nl/?p=623