Какая разница, цель мудрая между этими двумя методами в моем цикле рендеринга?Разница между glkView: drawInRect: и glkViewControllerUpdate :? OpenGL ES 2 - iOS
Apple, это сказать ....
об обновлении() Контроллер зрения называет своего делегата glkViewControllerUpdate: метод. Ваш делегат должен обновить данные фрейма, которые не связаны с отображением результатов на экране.
О drawInRect: объект GLKView делает его контекст OpenGL ES текущий контекст и связывает его фреймбуфера в качестве мишени для рендеринга OpenGL ES команд. Затем ваш метод делегата нарисует содержимое представления.
Так что, в основном, когда я создаю GLKView в своем контроллере, этот контроллер становится delate, поэтому я рассматриваю эти методы бок о бок.
Я предположил, что update() должен содержать любые преобразования или другую логику.
Я вижу. Так, например, в Space Invaders, новый корабль, вводящий образ модели или игрок, масштабирующийся на планете, будет обязан обновлять. В то время как drawInRect: просто проектирует матрицу, до нужной частоты кадров, но не всегда в состоянии поддерживать скорость в зависимости от нагрузки. –
Да - любая логика, которая обновляет состояние игры, будет частью обновления, будь то добавление новой модели или перемещение камеры. – Tommy