New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ShaderMaterial bug (GL_OES_standard_derivatives) #3145
Comments
It's not crashing here. Maybe your graphics card doesn't support GL_OES_standard_derivatives? |
You are missing |
Does this example also crash? |
Hi guys mrdoob, that example works correctly. I have a geforce 680 and all the drivers are up to date. I don't think its the driver... tapio might be onto something though. The original shader I wrote - which is currently breaking - has always been working until recently. I added some additional functionality to my application and the shader broke. I spent hours and could not isolate the problem. So I decided to start from scratch and write the most simple shader possible without anything else added to the scene. The simple shader kept working until I added the function dFdx. What was driving me crazy though, was that I knew for a fact that the dFdx function was being used in the phong material and that was used elsewhere in the application. When I used the Phong material instead of the simple shader that I had created, it would work Let me try what tapio advised and get back to you. |
Also - something quite disconcerting about this issue, is that it doesn't always break. Firefox seems to Flag the issue up consistently, but chrome (which breaks 90% of the time) seems to work on occasions :S I cant stress how annoying this was because it meant i just kept going around in circles |
I get this output with an NVIDIA GeForce 560 on Windows 8 with the Firefox 18.0.2 & Firefox 19.0.1:
This URL works great in both Chrome and Firefox: http://prideout.net/recipes/ExtensionViewer.html says that the extension is there (OES_standard_derivatives), thus I am unsure how it is saying that it is disabled in Firefox. |
@bhouston, did you try what I suggested in my earlier comment? |
Hi tapio, I added the line you mentioned in my original shader and it works in chrome now (although I cant say for certain if it is a fix as chrome has now decided that even my previous example works >:/ ) But on firefox this came up: WARNING: 0:35: extension 'GL_OES_standard_derivatives' is not supported ERROR: 0:126: 'dFdx' : no matching overloaded function found ERROR: 0:126: '=' : cannot convert from 'const mediump float' to '2-component vector of float' ERROR: 0:127: 'dFdy' : no matching overloaded function found ERROR: 0:127: '=' : cannot convert from 'const mediump float' to '2-component vector of float' ERROR: 0:135: 'dFdx' : no matching overloaded function found ERROR: 0:135: '=' : cannot convert from 'const mediump float' to '3-component vector of float' ERROR: 0:136: 'dFdy' : no matching overloaded function found ERROR: 0:136: '=' : cannot convert from 'const mediump float' to '3-component vector of float |
The machine Im currently testing with is ATI Radeon HD 3400. The firefox version is 5.0 and the chrome version is 25. At home I was running the Geforce 6800 with firefox 19 and chrome 25. |
@ABlueEyedMonkey The "ATI Radeon HD 3400" (only OpenGL 3.3) and the "Geforce 6800" (only OpenGL 2.0) are pretty old cards and may not support the various extensions. ATI Radeon HD 3000 series info: http://en.wikipedia.org/wiki/R600_(ASIC) @tapio That is the bug that prevented it from working on my machine. I missed your comment, sorry about that. |
Hi bhouston - ok it def seems to be the browser for the FF5. The fix tapio mentioned seems to be working both in chrome and in later versions of FF. |
Thanks a heap fellas - this has been driving me mad for the last 3 days now :D |
Hi guys - I think i found a bug in the Shader Material. I have re-created the bug on this jsFiddle:
http://jsfiddle.net/ABlueEyedMonkey/NwgKs/1/
Not too sure how/why this happening, but if you use a shader material and use the function 'dFdx' the tool crashes.
If you comment this line out:
"vec2 dSTdx = dFdx( vec2(1.0, 1.0) );",
Then the shader works.
Is there some kind of initialization that needs to happen to get GL_OES_standard_derivatives initialized?
This issue is related to #3140
The text was updated successfully, but these errors were encountered: