Чтобы следовать тому, что сказал Кристиан, вам нужно самостоятельно отслеживать матрицу вида модели и манипулировать ею для выполнения необходимых вам вращений.Затем вы передадите матрицу в качестве униформы для своего шейдера и сделаете что-то вроде следующего:
attribute vec4 position;
uniform mat4 modelViewProjMatrix;
void main()
{
gl_Position = modelViewProjMatrix * position;
}
Я обнаружил, что вспомогательные функции Core Animation CATransform3D работают очень хорошо для выполнения правильного видаматричных манипуляций, необходимых для этого.Вы можете вращать, масштабировать и переводить CATransform3D, а затем считывать его матричные элементы 4x4, чтобы создать необходимую матрицу представления модели.
Если вы хотите увидеть это в действии, это пример приложения для iPhone Я создал, показывает, как выполнить вращение куба с использованием OpenGL ES 1.1 и 2.0.