Я хочу отображать и вращать одну 3D-модель, желательно текстурированную, на iPhone. Не нужно увеличивать и уменьшать масштаб, иметь фон или что-то еще.
Имею следующее:
Моя база знаний:
Что я не знаю:
Моя главная проблема в том, что я не знаю, с чего начать! Все книги по iPhone, которые я нашел, похоже, посвящены созданию приложений с графическим интерфейсом, а не приложений OpenGL. Я нашел книгу по OpenGL, но не знаю, насколько она применима к разработке для iPhone. И я нахожу синтаксис Objective C несколько сбивающим с толку со странным именованием вложенных методов, бессмысленными вещами вроде «id» и пугающей мыслью о том, что мне приходится вручную управлять памятью.
С чего лучше всего начать? Я не мог найти никаких руководств по этому поводу, но, возможно, мой Google-Fu слабый. Или, может быть, мне стоит начать с изучения Objective C? Я знаю такие книги, как Аарон Хиллграсс, но я также читал, что они устарели, и большая часть примеров кода не работает с iPhone SDK, плюс, похоже, они ориентированы на парадигму модель-представление-контроллер, которая не работает. кажется, что подходит для 3D-приложений.
В основном я не понимаю, какими должны быть мои первые шаги.





Вам, вероятно, следует начать с некоторых более простых приложений / руководств для iphone, просто чтобы освоить obj-c, xcode и т. д.
Для этого я рекомендую книгу прагматичного программиста для iphone, в которой достаточно информации для начала работы (я начал, не зная xcode, obj-c, iphone или mac, и довольно быстро добрался до рабочего приложения, используя в основном это). Однако я должен добавить, что у меня довольно хороший опыт работы с C / C++ и Java.
Для вашего конкретного проекта, возможно, взгляните на ответ это, который относится к 3D-приложению с открытым исходным кодом, на которое вы можете посмотреть и получить советы.
Еще раз, если я могу подключить свою собственную работу, у меня есть написал сообщение о вещах, которые я узнал при разработке приложения OpenGL ES на iPhone. Это приложение, Молекулы (на которое ссылается frankodwyer), является открытым исходным кодом, и у меня есть записать по некоторым другим сложным вопросам, с которыми я столкнулся при его разработке. Приложение генерирует трехмерные модели и позволяет вращать и масштабировать их пальцами, что соответствует вашим потребностям. Вы можете загрузить код, скомпилировать его и запустить на рабочем столе за несколько минут. Если вы присоединитесь к программе разработчиков iPhone, вы сможете установить ее на свое устройство.
Когда дело доходит до загрузки объекта, Билл Дадни работает с Загрузчик Wavefront OBJ для iPhone, который может принимать ваши файлы Blender, если их можно экспортировать в этом формате. Я еще не много работал с текстурами на iPhone, но похоже, что в его примере это работает.
В целом, я считаю, что обучение на примерах и переход к разработке небольших целевых приложений (которые вы, возможно, никогда не выпустите) - вот что мне подходит. Попробуйте настроить приведенные выше примеры и посмотрите, что произойдет. Вы должны быть в состоянии прочитать код Objective-C в этих примерах и начать понимать, что они делают.
Несмотря на то, что книга Хиллегасса (третье издание только что вышло и актуально) посвящена Mac, основы Cocoa, которым он учит, все еще актуальны для iPhone. Шаблон проектирования MVC работает на iPhone так же хорошо, как и на Mac. На самом деле я отклонился от этого шаблона в нескольких местах в Molecules, и я сожалею об этом решении, потому что эти разделы приложения превратились в беспорядок. Книгу легко читать, и она стоит вашего времени.
Я немного поигрался с разработкой для iPhone, чтобы немного повеселиться, и купил «Начало разработки для iPhone» Дэйва Марка и Джеффа Ламарша (ISBN13: 978-1-4302-1626-1), и мне нравится работать над главами. У меня есть опыт работы с Win32 Delphi с небольшим количеством .NET, поэтому Objective C для меня очень новичок.
Одна из глав посвящена OpenGL и Quartz, которая может вас заинтересовать. Я еще не дошел до этого, поэтому я не могу сказать, насколько это будет полезно для вас, но стиль письма очень доступен, и он хорошо развит (по крайней мере для меня).
Первые главы объясняют, как именно начать работу, с хорошим введением в Xcode и InterfaceBuilder.
Для всего на iOS 8 или новее ответ - SceneKit. SceneKit будет отображать файлы Collada (DAE). Любой достойный пакет моделирования (например, Cheetah, Blender) должен экспортировать файл DAE - это документированный переносимый формат в XML (хотя xCode компилирует их в двоичный формат для экономии места).