Это относится к тому факту, что вы можете помещать и вставлять матрицы в стек OpenGL. Избегайте таких вещей, как glTranslate и тому подобное. Таким образом, вы можете делать все свои умножения матриц и т. Д. Самостоятельно, и это определенно не будет проходить через эмуляцию с плавающей запятой. Затем вы просто устанавливаете матрицу напрямую.
Что касается освещения, вы делаете это с помощью glDisable. Похоже, они просто используют текстурное освещение. В основном вы рисуете свет на текстуру карты окружающей среды. Это дает вам эффект направленного света, и вы можете добавить столько источников света, сколько вам нужно, и единственная увеличенная стоимость - это создание карты окружающей среды. Хотя довольно сложно настроить карту окружения, но она определенно выполнима и дает действительно хорошие результаты (Вы могли бы использовать подобный прием, чтобы получить диффузное рельефное отображение DOT3 еще в DX6!)
Они могут говорить о том, чтобы самостоятельно освещать ваши данные вершин, когда вы добавляете их в движок. т. е. бегите через ваши нормали и положения и выполняйте расчет освещения с использованием фиксированной точки, прежде чем передавать их в GLES с помощью glColorPointer. Это ОЧЕНЬ простая вещь, и делать направленное освещение вершин легко (N.L, где N - нормаль вершины, а L - направление света в относительном пространстве модели).