Dzwonię do glTexSubImage2D. Jeśli mój format pikseli to GL_RGBA
, to czy typy pikseli GL_UNSIGNED_BYTE
i GL_UNSIGNED_INT_8_8_8_8
są w pełni równoważne?Przesyłanie tekstury OpenGL: UNSIGNED_BYTE kontra UNSIGNED_INT_8_8_8_8
Czy te dwie pary są równoważne?
Format = GL_RGBA, Type = GL_UNSIGNED_INT_8_8_8_8
Format = GL_BGRA, Type = GL_UNSIGNED_INT_8_8_8_8_REV
Próbowałem czytać specyfikację OpenGL i spec GL_EXT_packed_pixels, ale szczerze mówiąc nie mogę zrobić głowę lub ogon z nich.
Warto zauważyć, że "GL_UNSIGNED_BYTE" i "GL_UNSIGNED_INT _..." w tym przykładzie to typy transferu pikseli. Nie mówią nic o tym, jak GL przechowuje kolor, tylko o tym, jak "upakowane" kolory są interpretowane przez GL, gdy dane koloru są do niego wysyłane. To ważne wyróżnienie, ponieważ zwykle celem tych bardziej egzotycznych formatów jest dopasowanie formatu klienta (CPU) i serwera (GPU), aby GL nie musiał wykonywać konwersji danych i mógł wykonać prosty transfer blokowy. –