Станет ли OpenGL ES 1.1 устаревшим в iOS? - PullRequest
0 голосов
/ 25 ноября 2011

Я нахожусь на распутье между использованием OpenGL ES 1.1 и 2.0 для разработки iPhone.Я планирую создавать 2D-приложения и простые 3D-приложения.В интересах простоты, я должен использовать 1.1?Или это будет прекращено в какой-то момент в iOS?Я хотел бы знать, являются ли шейдеры в версии 2.0 значительно более полезными для создания простых программ, чем шейдеры в версии 1.1.Пожалуйста, расскажите мне о преимуществах каждого из них.Спасибо.

Ответы [ 2 ]

2 голосов
/ 25 ноября 2011

Я бы сказал, что окончательная причина, по которой использование 2.0 начинается с сложных эффектов, 2.0 - это дикая карта в этом вопросе, шейдеры - это небольшие кусочки программного обеспечения, которые работают внутри видеокарты (хорошо, не всегда верно) и имеют возможностьвлиять на отдельные пиксели во время выполнения.В 1.1 вы можете многое сделать, но большую часть времени вы воздействуете на все пиксели в текстуре, чтобы воздействовать на отдельные пиксели, вы должны комбинировать текстуры, и через некоторое время есть просто вещи, которые вы не можете сделать в1.1.

Теперь, если вам не нужны сложные эффекты, вы можете запустить и использовать 1.1, но позвольте мне показать вам ваше путешествие:

В начале 1.1 будет проще, glTranslatef, glRotatef, glScalef и т. д. действительно экономят ваше время и позволяют легко начать манипулирование объектами.

Но если вы прогрессируете и начинаете делать более сложные вещи, вы узнаете о матричных манипуляциях, скажем, есть подпрограмма, которая немного медленна, потому чтовы делаете много транластов, вращений и т. д. Итак, вы прочитали тему и узнали, что вы можете объединить все эти операции в одну матрицу, так что вы начнете выполнять свои собственные функции вычисления матрицы и начнете больше использовать glMultMatrixf послев то время как всегда проще glMultMatrixf, потому что вы можете добавлять вещи без необходимости переписывать код.

На данный момент у вас нет причин использовать 1.1, переход от glMultMatrixf к 2.0 - очень маленький шаг, и вы получаете весь новый мир от шейдеров.

Итак, если вам не нужнобольшие эффекты и жаждут идти, хорошо использовать 1.1.Все остальное, просто перейдите непосредственно к 2.0.

Отказ от ответственности Да, это упрощение, но путешествие, которое я совершил сам.

1 голос
/ 25 ноября 2011

2.0 имеет программируемый конвейер

Кажется, что это не очень много информации (как, когда я только начинал, я выглядел как "ну хорошо?"), Но это действительно много значит.

Впозволяя вам взять под контроль преобразования вершин

Теперь в меньших вещах, которые я сделал (3d), преобразованиями легко можно было управлять с помощью 1.1 автоматически, но здорово иметь полный контроль над ними в 2.0

Если вы изучаете opengles на идеях, я предлагаю сначала создать программы, поддерживающие как 1.1, так и 2.0, чтобы вы могли получить еще больше опыта и понимания в opengles

Если вам нужен полный контроль надвершины тогда 2.0 - путь, иначе 1.1 должно быть хорошо

...