Это не аппаратная функция MBX, но быстрая проверка gl.h для ES 1.x из iPhone SDK показывает, что GL_PALETTE4_RGB8_OES
, GL_PALETTE8_RGBA8_OES
и множество других доступны в качестве одной из констант дляперейдите к glCompressedTexImage2D
, в соответствии с man-страницей здесь .Таким образом, вы можете передавать текстуры с помощью палитр, но я готов поспорить, что драйвер просто превратит их в RGB-текстуры на процессоре, а затем загрузит их в графический процессор.Я не верю, что Apple поддерживает эти типы сжатых текстур по любой причине, за исключением того, что они являются частью спецификации ES 1.x.
В ES 2.x вы можете делать все, что захотите,Вы можете легко загрузить палитру как одну текстуру (скажем, с пикселем в точке (x, 0), который является цветом для индекса палитры x), а текстуру палитры - как другую.Затем вы будете использовать два текстурных блока для выполнения той работы, которую, вероятно, мог бы выполнять при построении фрагментов, поэтому примите собственное суждение относительно того, можете ли вы себе это позволить.