Ну вот моя просьба. Я уже не знаю OpenGL, и я не хочу его изучать, однако я хочу изучить OpenGL ES напрямую, поскольку я нацелен на разработку для Android. Я хочу изучить OpenGL ES, чтобы разрабатывать свои 2D- игры. Я выбрал его для повышения производительности (поскольку базовое рисование SurfaceView не так эффективно, когда дело касается игр RT). У меня вопрос: с чего начать? Я потратил больше месяца, просматривая Google и читая / пробуя некоторые учебники / примеры, которые я где-то нашел, но, честно говоря, это не сильно помогло, и это произошло по двум причинам:
- Почти все статьи / руководства, с которыми я сталкивался, связаны с 3D (я хочу только научиться рисовать 2D-спрайты)
- Нет основы для начала, поскольку все статьи нацелены на определенные вещи, такие как: «Как нарисовать треугольник (с вершинами)», «Как создать сетку» ... и т. Д.
Я тоже пытался прочитать исходный код (например, остров реплик), но коды слишком сложны и содержат много ненужных вещей; Результат: я теряюсь среди 100 файлов .java со странными именами классов и прочим.
Я думаю, что нет курса, подобного тому, который я ищу, но я буду очень рад, если кто-нибудь даст мне несколько рекомендаций и несколько ссылок, возможно, чтобы узнать, что я делаю (только рендеринг спрайтов OpenGL ES 2D! ).
and I'm not willing to learn it
Это не очень хороший способ начать вопрос здесьОтветы:
Я был в похожей ситуации.
То, как я начал с openGL, я начал с просмотра очень простых примеров / демонстраций GLSurfaceView.
Начните с настройки активности вашего приложения и настройте базовый холст.
Возьмите добычу в файле исходного кода острова реплики: GameRenderer.java, чтобы узнать, как настроить свой холст с соответствующими флагами GL для 2D-рендеринга (спрайтов). Вам действительно стоит взглянуть на SpriteMethodTest того же автора острова реплик: http://code.google.com/p/apps-for-android/source/browse/trunk/SpriteMethodTest
См. Этот вопрос, где я разместил свой собственный код: Использование OpenGL для замены Canvas - Android
После настройки холста вы начинаете с вызова чего-то вроде: gl.glClear (GL10.GL_COLOR_BUFFER_BIT);
После этого вы готовы рендерить спрайт. Сначала вам нужно загрузить спрайт в текстуру: http://qdevarena.blogspot.com/2009/02/how-to-load-texture-in-android-opengl.html
Однако этот учебник действительно помог мне с загрузкой спрайтов: http://tkcodesharing.blogspot.com/2008/05/working-with-textures-in-androids.html
Вот как я это делаю, у меня есть класс с именем Texture.java:
Затем в моем методе onDrawFrame () я просто делаю:
Это должно помочь вам в рисовании 2D-спрайтов на холсте openGL. Я заметил, что на самом деле нет простого руководства по этому поводу. Надеюсь, в будущем я опубликую один в своем блоге разработчиков: http://developingthedream.blogspot.com/
источник
2D-программирование - это просто 3D-программирование, ограниченное плоскостью. У вас не будет выбора, кроме как изучить 3D, но когда вы его используете, просто установите z = 0.
Есть официальная книга по OpenGL ES. Это может дать вам вступление, которое вам нужно: http://www.amazon.com/OpenGL-ES-2-0-Programming-Guide/dp/0321502795/
источник
Я бы определенно проверил Android - Лекция Криса Пруэтта Google IO Написание игр в реальном времени для Android redux
возьмите PDF также
это действительно полезно на многих уровнях, у Криса действительно большой опыт создания игр для мобильных устройств
но если вы действительно сосредоточены на 2D, начните с Canvas http://developer.android.com/guide/topics/graphics/index.html#drawing-with-canvas
Другой вариант зависит от уровня навыков - это Flash + AdobeAIR для Android, мне нравится и уровень программирования luv, и по мере того, как вы начнете разработку, вы поймете, почему.
OpenGL: проверка - Nehe Productions
пара приложений, которые вы можете захотеть установить на свой телефон, которые того стоят, и они бесплатны: OpenGL Demo, min3d Framework, RedBook Sample
источник
Вы можете увидеть проект : https://github.com/ChillingVan/android-openGL-canvas/blob/master/README-en.md Это реализует холст с OpenGL. Это чистая Java. Он реализует части того, что может делать обычный холст.
источник
Я вижу, что уже было предоставлено много полезной информации. Я хотел поделиться сайтом, который помог быстро освоить OpenGLE! Это заняло всего несколько месяцев, и у него была собственная система координат, основанная на декартовой системе координат. Я смог визуализировать 3D-объект без камеры, используя методы дополненной реальности.
Я начал, имея только опыт программирования, без опыта работы с OpenGL. Я использовал сайт обучающих программ Рэя Вендерлиха. Информация, представленная там, является первоклассной и простой для понимания. Он отсеивает большую часть лишней информации и дает то, что вам нужно знать, чтобы быстро работать. Я настоятельно рекомендую этот урок в качестве отправной точки: http://www.raywenderlich.com/5223/beginning-opengl-es-2-0-with-glkit-part-1
Другой ресурс, который я порекомендовал бы, - это книга Эрика М. Бака под названием Learning OpenGL ES for iOS.
Некоторые раскритиковали его, заявив, что он слишком упрощен. Но это именно то, что я искал. Это помогло мне понять все основы и дало представление о том, куда мне следует идти дальше, чтобы изучать более сложные вещи. Но неудивительно, что я смог создать свое приложение дополненной реальности, используя простые методы, которые я узнал на сайте Рэя и в книге Эрика. Спасибо им обоим за то, что поделились !!!
источник
Есть много онлайн-руководств, которым вы можете следовать, но для новичка ничто не может заменить это: Настоящее 2D-руководство по Open GL ES 2.0
источник