Я разрабатываю клиент для службы LBS, и мне нужно реализовать некоторые 2D и 3D графики. Как я читал, стандартный пакет android.graphics лучше подходит для 2D-графики и рисования простых объектов, а opengl es лучше для 3D и работает быстрее. К несчастью, я ничего не узнал об их различиях. Кто-нибудь знает больше о различиях между рисунком с OpenGL ES и с android.graphics?OpenGL ES или android.graphics?
ответ
Главное отличие заключается в том, что OpenGL намного быстрее по сравнению с Canvas (поверхность 2D-графики для 2D-графики). Хотя аппаратное ускорение включено для Canvas с сотовым устройством, немного сложно использовать его эффективно.
Холст действительно облегчает жизнь. Он прост в использовании и прост для понимания даже для кого-то нового для компьютерной графики.
В конце концов, это будет зависеть от того, что вам нужно сделать. Если вам нужны модные вещи, такие как Geometry, Lighting и т. Д., То вам обязательно нужно пойти на OpenGL. Кроме того, если вам нужен 3D, то OpenGL - это ваш единственный вариант, поскольку Canvas поддерживает только 2D-графику.
Голых кости OpenGL очень утомительно использовать на моем взгляде, так что я хотел бы предложить рамки, такие, как те, упомянутые here.
Надеется, что это помогает.
OpenGL предоставит вам полный контроль над графикой, которую вы используете. У вас не будет много ограничений в долгосрочной перспективе на то, что вы хотели бы сделать. Вы можете сделать хорошую 3D-игру на Android с помощью OpenGL, так как вы можете отображать большое количество полисов и накладывать 2D-графики поверх них. Однако это большая работа.
Обычный старый OpenGL - мой любимый, и мне бы не хотелось использовать какие-либо фреймворки, упомянутые в других ответах, но я много лет работаю с 3D-графикой. Я вижу, почему другие рекомендуют их.
Если вы еще не сделали 3D-графики раньше, у вас будет крутая кривая обучения перед вами. Если вы не нашли времени, чтобы изучить базовую математику и концепции рендеринга, вы будете бороться с ней надолго.
Я люблю reference pages from Khronos
Кроме того, Android developer сайт имеет некоторые полезные ссылки.
- 1. OpenGL или OpenGL ES
- 2. Выберите OpenGL ES 1.1 или OpenGL ES 2.0?
- 3. Core Animation или OpenGL ES?
- 4. OpenGL to OpenGL-ES - glRectf()
- 5. OpenGL to OpenGL-ES - glBegin();
- 6. OpenGL/OpenGL ES update texture
- 7. Android запускает OpenGL ES 1.1 или 1.0?
- 8. Рисование ткани или поверхностей в openGL ES?
- 9. OpenGL ES текстуры потокового или отображение
- 10. Android OpenGL ES GL10 или GL11
- 11. Проекционная матрица или нет? (OpenGL ES 2.0)
- 12. iPhone настольная игра: OpenGL ES или CoreGraphics?
- 13. Android openGL ES glDrawArrays или glDrawElements?
- 14. Android OpenGL-ES-2.0 Круг или диск
- 15. OpenGL ES - фиолетовый или черный экран
- 16. OpenGL ES 1.1 или 2.0 на iPhone
- 17. 2D архитектура OpenGL ES
- 18. буфер глубины OpenGL ES
- 19. SurfaceView с OpenGL ES
- 20. opengl-es glUseProgram() adrugments
- 21. OpenGL ES Texture Masking
- 22. OpenGL ES в SmartEyeGlass
- 23. iPhone OpenGL ES
- 24. OpenGL ES Startup
- 25. OpenGL ES 2.0 viewport
- 26. Камера в OpenGL ES
- 27. Координаты в OpenGL ES
- 28. OpenGL ES вращать текстуры
- 29. Разница в IOS OpenGL ES и Android OpenGL ES
- 30. Смешивание OpenGL ES 1 и OpenGL ES 2