Quartz или Core Animation против OpenGL действительно зависят от того, что вы пытаетесь сделать. Если вы хотите простой рисунок и анимацию, используйте Quartz или CA. Если вы хотите быстрые / мощные игры, используйте OpenGL. В конце концов я бы предложил изучить оба.
Для вещей typedef'd используйте ту, которая предназначена для конкретной системы, которую вы используете. Для Quartz / CA / CG используйте CGFloat. Для OpenGL используйте GLfloat.
Objective-C против C также зависит от скорости, которую вы хотите. Objective-C добавляет немного накладных расходов, но (очевидно) позволит вам создавать гораздо более объектно-ориентированные игры. Я бы предложил использовать Objective-C, если вы используете Quartz и Core Animation, и Obj-C или C, если вы используете OpenGL. Однако, если вы делаете это на Mac (например, не для iPhone), вы, вероятно, не увидите большой разницы, если не будете выполнять сложное быстрое рисование.
Я не совсем уверен насчет drawRect, но этот вопрос содержит некоторую информацию, которая может ответить на этот вопрос для вас.
Для введения в Quartz я бы порекомендовал этот учебник , и я всегда слышал NeHe учебники , рекомендуемые для OpenGL.