armory
armory copied to clipboard
Bad view in Firefox and ok in IE
Thank you for contributing to Armory!
Description In image we se some defects on Firefox 100.0
To Reproduce Run the example files
Expected behavior Good view without defects in Firefox
System Blender: blender 3.01 and upper to blender-3.3.0 Armory: 2022.05.0 OS: w10 Graphics card: gtx 1650
Test File
Hi, I guess you're using the third person template file?
For me it looks totally fine on Firefox:
Please try if the error goes away if you use Blender 2.93 LTS (Armory only supports that version, support for the 3.3 LTS version will follow if Blender 3.3 is released). Does the issue still happen if you set Armory Render Path > Post Process > SSGI
to No AO
?
I can confirm this issue on FireFox and Chrome. Both in the online example browser and when run from Blender by targeting browser. It however does not occur when targeting Krom.
All tests below are done in Blender 2.93 LTS
Browser:
Krom:
Here's the result with SSGI
set to no
Browser:
Krom:
So, yes, disabling SSGI seems to solve the issue. But it still is not a permanent fix in my opinion.
This might be a quirk of the GPU?
My system specs: OS: Windows 10 Processor: Intel Core i7 10th Gen GPU: Nvidia Geforce RTX 2060
This might be a quirk of the GPU?
Yes, maybe. I still can't reproduce it on my GTX 750Ti (so Nvidia as well) even after reinstalling the latest drivers. Maybe it's an architecture specific thing?
Firefox
Microsoft Edge
I can partially reproduce the as well, I suspect it's modern day GPU driver issue. Perhaps related to a similar bug me and several others had with PlayCanvas and shadows.
On a side note, aren't these shadows screen-spaced? They're suppose to have poorer quality for optimal performance...
Specs:
OS: Windows 11 Home
GPU: NVIDIA GeForce RTX 3050 Ti Laptop GPU
CPU: 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz 2.30 GHz (8 cores)
Can you please try to replace the following line in <armsdk>/armory/blender/arm/write_data.py
https://github.com/armory3d/armory/blob/7203c3296021e0283a039068edea0fd117d033dd/blender/arm/write_data.py#L516
with
<meta charset="utf-8"/><script src="https://greggman.github.io/webgl-lint/webgl-lint.js" data-gman-debug-helper='{"throwOnError": false}' crossorigin></script>""")
to use this debug library, then restart Blender, build and run the game again and then paste the output of the browser's console? It should look something like this, maybe we have different errors/warnings that can give a clue about what's wrong with the ambient occlusion:
Note that not every warning/error must be severe, but it can be a hint.
<meta charset="utf-8"/>""")
- not sure I made this in good, soo.. you can try put right example on remote server and I can run this html to see logs
Successfully compiled asm.js code (total compilation time 157ms) [kha.js](http://localhost:8000/kha.js)
WebGL warning: texImage: Alpha-premult and y-flip are deprecated for non-DOM-Element uploads. 17
Sources/armory/trait/internal/CanvasScript.hx:36: "_themes.json" is empty! Using default theme instead. [Log.hx:66:3](file:///D:/REC/3DCAD/Blender/Add-in/ArmorySDK2205/armsdk/Kha/Tools/haxe/std/haxe/Log.hx)
WebGL warning: texImage: Alpha-premult and y-flip are deprecated for non-DOM-Element uploads.
https://greggman.github.io/webgl-lint/webgl-lint.js:2239: error in drawElements(TRIANGLES, 3, UNSIGNED_INT, 0): uniforms "casData[17]", "casData[18]", "casData[19]" have not been set
See docs at https://github.com/greggman/webgl-lint/ for how to turn off this check using "failUnsetUniforms": false
with WebGLProgram("*UNTAGGED:Program30*") as current program
with the default vertex array bound [webgl-lint.js:2199:17](https://greggman.github.io/webgl-lint/webgl-lint.js)
https://greggman.github.io/webgl-lint/webgl-lint.js:2270: error in drawElements(TRIANGLES, 3, UNSIGNED_INT, 0): texture WebGLTexture("*UNTAGGED:Texture34*") on texture unit 6 referenced by uniform sampler2D shadowMap is not renderable: texture of type (DEPTH_COMPONENT16) is not filterable but TEXTURE_MIN_FILTER is set to LINEAR
with WebGLProgram("*UNTAGGED:Program30*") as current program
with the default vertex array bound [webgl-lint.js:2199:17](https://greggman.github.io/webgl-lint/webgl-lint.js)
https://greggman.github.io/webgl-lint/webgl-lint.js:2239: error in drawElements(TRIANGLES, 3, UNSIGNED_INT, 0): uniforms "casData[17]", "casData[18]", "casData[19]" have not been set
See docs at https://github.com/greggman/webgl-lint/ for how to turn off this check using "failUnsetUniforms": false
with WebGLProgram("*UNTAGGED:Program30*") as current program
with the default vertex array bound [webgl-lint.js:2199:17](https://greggman.github.io/webgl-lint/webgl-lint.js)
https://greggman.github.io/webgl-lint/webgl-lint.js:2270: error in drawElements(TRIANGLES, 3, UNSIGNED_INT, 0): texture WebGLTexture("*UNTAGGED:Texture34*") on texture unit 6 referenced by uniform sampler2D shadowMap is not renderable: texture of type (DEPTH_COMPONENT16) is not filterable but TEXTURE_MIN_FILTER is set to LINEAR
with WebGLProgram("*UNTAGGED:Program30*") as current program
with the default vertex array bound [webgl-lint.js:2199:17](https://greggman.github.io/webgl-lint/webgl-lint.js)
https://greggman.github.io/webgl-lint/webgl-lint.js:2239: error in drawElements(TRIANGLES, 3, UNSIGNED_INT, 0): uniforms "casData[17]", "casData[18]", "casData[19]" have not been set
See docs at https://github.com/greggman/webgl-lint/ for how to turn off this check using "failUnsetUniforms": false
with WebGLProgram("*UNTAGGED:Program30*") as current program
with the default vertex array bound [webgl-lint.js:2199:17](https://greggman.github.io/webgl-lint/webgl-lint.js)
https://greggman.github.io/webgl-lint/webgl-lint.js:2270: error in drawElements(TRIANGLES, 3, UNSIGNED_INT, 0): texture WebGLTexture("*UNTAGGED:Texture34*") on texture unit 6 referenced by uniform sampler2D shadowMap is not renderable: texture of type (DEPTH_COMPONENT16) is not filterable but TEXTURE_MIN_FILTER is set to LINEAR
with WebGLProgram("*UNTAGGED:Program30*") as current program
with the default vertex array bound
Thanks! Looks correct to me. Unfortunately it doesn't look different to the errors I get, so the issue is probably caused by something not related to how the AO shader is invoked or what data is sent to it. Maybe it's indeed a driver issue?
Maybe it's indeed a driver issue?
Take attention that on IE is ok just FF. I hear that on FF some webgl aps working slowly and with worst performance. And maybe it can be this issue more like driver https://www.reddit.com/r/firefox/comments/eh6d64/webgl_gets_worse_performance_in_firefox_compared/
Problem is still not solved? I'm testing armory_templates-22.06 on UPBGEv0.2.5b2.79Windows64 with ArmorySDK2310