Wracam do tematu który właściwie nie jest bardzo problematyczny, ale gryzie mnie wewnętrznie. W ostatnim czasie exe zaczęło respektować origin TGA, więc uporządkowało się origin tablic relacyjnych, ale pozostaje dalej kwestia DDS. OpenGL przechowuje tekstury w konwencji origin dolny-lewy, jednak kontener DDS klasycznie przechowuje origin górny-lewy, i tak jest obsługiwany zwykle przez narzędzia, zapis, podgląd miniaturek. Obecnie exe wyciąga bezpośrednio dane z DDS i puszcza to na opengl oczekujący danych z odwrotnym originem, więc w celu poprawnej orientacji tekstury musi być vflip. Moja propozycja jest taka że poprawiamy w exe wewnętrzy flip, tak aby poprawnie odczytywało DDS z konwencją górny-lewy. Zakładając że flipuje się z prędkością 600MB/s, a przeciętna sceneria może mieć 250MB tekstur to całkowite spowolnienie wczytywania to jakieś 0.4 sekundy. Wada oczywiście taka że wszystkie unoffy trzymane w DDS będą wymagać flip, bo źle się załadują.
Co z tym robimy?