asny / three-d

2D/3D renderer - makes it simple to draw stuff across platforms (including web)
MIT License
1.29k stars 109 forks source link

Upgrading V0.16.1 => V0.17 breaks loading a 1x1 pixel white texture #451

Closed miwarnec closed 1 month ago

miwarnec commented 6 months ago

Hey there! Super excited to try the new updated, since it fixes the egui destroy bug.

Updated three-d from 0.16.1 to 0.17 while also having to update three-d-asset from 0.6 to 0.7.

However, there seems to be a regression now. I have a 1x1 white pixel texture that I use in a low resolution Pong demo, uploaded here (it's tiny, zoom in): ball

After upgrading to 0.18, when attempting to load the texture I am getting:

15:29:17 [ERROR] GL error, at /.cargo/registry/src/index.crates.io-6f17d22bba15001f/egui_glow-0.26.2/src/painter.rs:143 (before Painter::new): GL_INVALID_VALUE (0x501). Please file a bug at https://github.com/emilk/egui/issues
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 0 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
asny commented 4 months ago

Thanks for reporting, I'll try to find some time to fix it. In the meantime, a 2x2 texture should work, I hope.

miwarnec commented 3 months ago

Hey @asny yes indeed, other textures work. Slightly concerning nonetheless - for example: which other resolutions may not work either?

asny commented 1 month ago

It's a special case with 1x1 pixel textures. Fixed in https://github.com/asny/three-d/commit/39eac7f3cd42e79b8c32a7f172aebfbc882fa08e