Marcin Ignac
Marcin Ignac
ThreeJS work "towards mediump" - [Textures Rendered as Black on (some?) devices with Android 7+](https://github.com/mrdoob/three.js/issues/14137#issuecomment-397856954) lot's of horror stories as it seem that they are not mediump ready - [Materials:...
I'm not sure about this approach ```javascript const renderer = createRendererer({ ..., precision: 'highp' // 'lowp' || 'mediump' }) ``` After reading all the references above it seems that correct...
BabylonJS does [string replacement](https://github.com/BabylonJS/Babylon.js/blob/f3b4098c0f3f00f7f3993494bf833af266160b1b/src/Materials/effect.ts#L741) on all shaders if `highp` is not supported. Hmm. So is anybody doing per variable precision optimisations beside some autogenerated/cross-compiled shaders in AAA engines like unity?
If we are not interested in per-variable precision tweaking why not automate the whole thing in `pex-context` (e.g inside `pipeline()`) and get rid of `getMaxPrecision` in favour of `capabilities.fragmentPrecisionHigh` boolean...
> I have never seen any WebGL shader in the wild making use of per variable precision setting (eg. no @dmnsgn ```glsl #version 300 es precision mediump float; precision mediump...
I think we should test it our pex-renderer materials with mediump devices and use GL_FRAGMENT_PRECISION_HIGH for portability.
Not clear what to do with shared data. E.g. material component shared a texture with another one?
Added test cases Expected  Broken  Visit in Safari with dev tools opened and leave for few minutes. Whenever...
@vorg please test if we can still recreate it
Add dirty flag and recompile / rebuild pipeline on next use