LINUX.ORG.RU

IO-либа для Андроид-порта OpenGL C++ приложения? Тьюториал для SDL?

 , ,


1

2

Привет всем!

Написал десктопный OpenGL прототипчик своего аппа, с glfw (спасибо goto-vlad за наводку на толковый тьюториал, learnopengl.com). Хочется сразу попробовать сделать Андроид-порт. Не пойму какую лучше использовать IO-либу, аналог glfw.

SDL похоже устарела. Почти все тьюториалы что видел — либо старая SDL (<2), либо старый OpenGL (<3.3), включая 3 офиц. тьюториала SDL (twinklebear.github.io, SDLTutorials.com, lazyfoo.net), и тьюториал хроноса. Видел где и SDL2 и современный OpenGL, но не устроило то что видел... (примитивно: скорее блог-посты, а не тьюториалы).

Или я зря боюсь, и SDL не устарела? И можно не обращать внимания на древнюю OpenGL в примерах?

Qt большая какая-то вроде (у меня крохотный аппик).

Если IO-либа без гуи (циферки-кнопочки-слайдбары), то какую гуи-либу посоветуете?

Я совсем нуб, подскажите пожалуйста. Спасибо.


Туториалы не нужны. Учи сложным путём — читай документацию, экспериментируй, ковыряй чужой код, формируй собственное мнение.

На Android нет OpenGL, но есть OpenGLES.

Если IO-либа без гуи (циферки-кнопочки-слайдбары), то какую гуи-либу посоветуете?

Я тут подумал. А тебе зачем вообще нативщина?

a1batross ★★★★★ ()
Ответ на: комментарий от a1batross

Спасибо.

slovazap:

Версия OpenGL в примерах как-то мешает тебе использовать более новую?

Я не пробовал ещё ничего. Я вообще интересуюсь, какую либу лучше взять.

Учи...

Стар стал, надоело учиться :)

OpenGLES

Ну да, само собой. И конечно, я писал с оглядкой на ES.

А тебе зачем вообще нативщина?

Чтобы учиться меньше. C,C++ - единственное что я раньше знал. И чтобы раздражаться меньше (увидев nodejs понял, что угодно, любыми силами, но JavaScript в моём аппе не будет! java может хороша в теории и в задумках, но реализация в андроиде... мне, нубу-незнайке, сильно не понравилась)

the1 ()

SDL2 будет слишком ЖИРНО для простого открытия OpenGL ES-контекста.

Посмотри в сторону glfm: https://github.com/brackeen/glfm

Если IO-либа без гуи (циферки-кнопочки-слайдбары), то какую гуи-либу посоветуете?

Тебе действительно нужны ненативные контролы, которые рендерятся в OpenGL? ИМХО, a1batross тебе правильно намекнул, если хочешь меньше страдать — используй стандартную библиотеку GUI.

Но если хочешь в OpenGL ES, посмотри вот на это, например: https://github.com/google/liquidfun/tree/master/liquidfun/Box2D/glui

EXL ★★★★★ ()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от EXL

glfm

Собственно да, мне бы что попроще (нет аудио, сети, физики). glfm я видел пару недель назад... Не помню, вроде из обсуждения в проекте glfw показалось что glfm сыроват, не было там чего-то. Нормально, можно использовать?

используй стандартную библиотеку GUI

Какую «стандартную»? Андроидовскую? Тогда у меня будет две ветки исходников, android и десктоп (и если надумаю потом iOS, то 3 ветки будет). Хотелось бы единые исходники для всех платформ.

the1 ()
Ответ на: комментарий от the1

Нормально, можно использовать?

Ну для открытия GL-контекста этой либы будет за глаза.

Какую «стандартную»? Андроидовскую? Тогда у меня будет две ветки исходников, android и десктоп (и если надумаю потом iOS, то 3 ветки будет).

Я ведь не знаю что у тебя там за приложение и как ты хочешь реализовать GUI: внутри GL-контекста, или просто обвязкой. GLFM кстати поддерживает iOS.

EXL ★★★★★ ()

Там всё очень сложно. Вроде бы в sdl2 для android можно только на си, но я незнаю как c++ код там использовать. Также нужна книжка click. Там всё об opengl es 3.0 рассказано. Если поймешь как сделать sdl2 для android пиши мне, будет очень интересно. В opengl es тебе придется матрицами управлять самостоятельно. То есть там нет таких команд

glPush();
glTranslate ( x, y, z );
glPop()
В этой книге, которую я привел есть ещё либа, которая собирается для android, но название не помню, название написано в книге, и есть github где исходники можно скачать.

ghost_of_the_west ()