Open Fox2Code opened 1 month ago
As stated by OpenGL spec:
Texture names are unsigned integers. The value zero is reserved to represent the default texture for each texture target.
.
Your current implementation is not following that as there's only one global default texture. At the current state it can only be used as a temporary workaround to prevent crashes in cases where the 0 value is bound.
As stated by OpenGL spec:
Texture names are unsigned integers. The value zero is reserved to represent the default texture for each texture target..
Your current implementation is not following that as there's only one global default texture. At the current state it can only be used as a temporary workaround to prevent crashes in cases where the 0 value is bound.
Well, I implemented as close to my understanding as possible, if I'm that far from the OpenGL spec, this means I for sure don't understand what the OpenGL spec want to say by using thoses words.
I used this exact statement to guide the implementation included in this PR.
Note: @xCollateral want to do the commit himself, I keep this PR as a reminder for him.
https://registry.khronos.org/OpenGL-Refpages/gl4/html/glBindTexture.xhtml
"The value zero is reserved to represent the default texture for each texture target."
https://stackoverflow.com/questions/15273674/binding-a-zero-texture-in-opengl
(Link show graphics drivers usually make it black or white, but specifics are undefined)
Also I cannot initialize the
defaultTexture
field in the static initializer because it crashes due to cycling dependencies.This is required to properly support Not-Enough-Crashes