cginternals / webgl-operate

A TypeScript based WebGL rendering framework.
https://webgl-operate.org
MIT License
167 stars 25 forks source link

Most Examples not working on Safari (context hash 1M+-1n, webgl 1) #269

Open anne-gropler opened 3 years ago

anne-gropler commented 3 years ago

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.

but also other errors like:

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

anne-gropler commented 3 years ago

Enabling webgl2 as experimental feature on Safari results in the context hash of 20401h and in a whole new world of not-working examples.