godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
91.46k stars 21.26k forks source link

TextureProgress nine patch stretch doesn't work in clockwise base fill mode (GLES3) #56527

Open lucassardois opened 2 years ago

lucassardois commented 2 years ago

Godot version

Godot Engine v3.4.2.stable.flathub.45eaa2daf

System information

Linux, Fedora 34, OpenGL ES 3.0 Renderer: Mesa Intel(R) UHD Graphics 620 (KBL GT2)

Issue description

TextureProgress nine patch stretch option doesn't work correctly. Indeed it works as excepted for Left To Right, Right To Left, Top To Bottom, Bottom To Top, Top To Bottom, Billinear (Left And Right), Billinear (Top And Bottom) but not for Clockwise, Counter Clockwise, Clockwise and Counter Clockwise.

In Left To Right fill mode: image

In Clockwise fill mode: image

Note, this issue was already reported: https://github.com/godotengine/godot/issues/33222#issuecomment-1005895440 and should had been fixed by: https://github.com/godotengine/godot/pull/45815.

Steps to reproduce

Check the attached minimal reproductible project below. Change the fill mode from Left To Right to Clockwise and see the difference in the scene or when running the project.

Minimal reproduction project

godot-bug-report.zip

Calinou commented 2 years ago

cc @lawnjelly

Can you reproduce this after disabling Use Batching and Use Batching In Editor in the Project Settings?

lawnjelly commented 2 years ago

It seems to have the same behaviour with batching on or off.

Despite the ninepatch name I don't think this uses a ninepatch primitive, it is drawn with polys. And any bug is likely on the scene side rather than in the renderer. Buck passed! :grin: