it's not really weird more just UB in opengl, should we throw an exception or manage an second texture to acheive correct results?