webgl-operate
webgl-operate copied to clipboard
Most Examples not working on Safari (context hash 1M+-1n, webgl 1)
I opened webgl-operate.org/examples on Safari and found several issues. Below you find the list of Examples and their state of functionality. Looking at that list, it seems that everything related to textures is broken. Opening the broken examples shows several errors in the console related to shader compilation, e.g.
-
'textureLod': no matching overloaded function found
-
'textureCubeLod': no matching overloaded function found
-
'dFdx': no matching overloaded function found
-
'normalize': operation result is undefined for the values passed in
-
'switch': illegal use of reserved word
,'switch': syntax error
-
'<<' bit-wise operator supported in GLSL ES 3.00 and above only
- ...
but also other errors like:
-
INVALID_ENUM: texImage2D: invalid texture format
, -
drawArrays: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete', or it is a float/half-float type with linear filtering and without te relevant float/half-float linear extension enabled
-
loading image from 'https://webgl-operate.org/examples/data/triangle-texture.webp' failed
-
Unhandled Promis Rejection
(probably due to failed image loading)
To me it seems that webgl1 is not handled, or maybe just not recognized as such. I see this as critical, since the code uses facades and masquerades to make webgl-operate handle webgl1 and webgl2 and handle querying/enabling of extensions.
I used Safari Version 13.1.2 (latest), Backend is webgl1
, Context Hash is 1M+-1n
.
List of Examples:
Examples that work well: Canvas Size Color Lerp Color Scale Label 3D Label Anchor Label Elide Shadow Mapping Shadow Mapping (Progressive)
Examples that work in parts: Environment Mapping (from left to right: black, landscape, white, landscape) Perlin Noise (only shows grey background; but at least it stopped loading) Tile-based 4k Rendering (it renderes a coloured cube without texture)
Examples that keep loading forever: Context Lost Example Gouraud/Phong Shading Image Based Lighting Scene Textured Cube Textured Cube (Progressive) Textured Triangle Xtoon Shading
Enabling webgl2 as experimental feature on Safari results in the context hash of 20401h
and in a whole new world of not-working examples.