Pull to refresh

Comments 16

Спасибо! Это очень интересно. Я только начинаю осваивать азы графики, опенгл и т.п., поэтом, для меня такая статься — просто клад. Было бы очень здорово, если бы Вы написали статью и про загрузку моделей!!!
К сожалению, именно азов тут нет, статья предполагает наличие некоторого начального знания OpenGL.
С другой стороны, программу я начал писать, зная о программировании для OpenGL под Android только то, что было в Tutorial'е, так что — почему бы и нет? :)
Ну а про загрузку ещё напишу, надо только будет только код немного причесать, да дописать немного: в формате .3ds немало очень специфических грабель, которые мне в данном конкретном файле не встретились, но попадаются нередко.
Ну… не совсем прям азы, конечно. В очень базовых вещах я и сам разобрался, прочел хорошие книжки как по opengl, так и по геймдеву, т. е. в целом, о чем речь идет понимаю. Просто, очень сложно находить реальные примеры, на которых можно учиться, разбираться и т. п.
Давно собирался научиться использовать OpenGL в программах для android. Спасибо!
UFO landed and left these words here
вот, кстати, второй вопрос тоже меня очень интересует — где пишут шейдеры? Есть ли какой-то «IDE» для этого или плагин хороший? Все, что я смог найти — это шейдертой, что не совсем то, конечно, хотя и полезно тоже.
См. ответ к родительскому комменту.
1. Загрузку .3ds — позже: её ещё надо немного поправить, сейчас некоторые файлы у меня грузятся некорректно, и я даже знаю причину, просто лень было править ради этого конкретного проекта. Но выложу (заодно и пост напишу).
2. Синтаксис проверить легко (см. функцию loadShader, строчка
Log.i(«Shader», GLES20.glGetShaderInfoLog(shader));
как раз выведет ошибку, если она есть), а вот функциональность… Я писал не тыком, но почти: например, правильность передачи нормалей в шейдер я проверял присвоением вершине цвета из нормали. Но вообще, конечно, IDE существует немало, см. хотя бы википедию: хоты бы те же RenderMonkey и ShaderDesigner.
А можно ссылку на АПК, посмотреть результат на своем девайсе.
А так статья годная. тоже надо с подобным похимичить на досуге.
Ох… В принципе, можно, но только через две недели. Как уже было сказано, программа создавалась ко дню рождения жены. Простите за такое неудобство.
Зато, к тому времени есть шанс справиться с проблемами отрисовки на Qualcomm'ах.
Собственно, APK можно скачать по адресу bit.ly/roseapk

Файл данных (розочка в формате 3ds) скачивается самой программой при первом запуске и кладётся в /sdcard — я так сделал для ускорения тестирования, чтобы не нужно было при изменениях в программе заново качать двухмегабайтный APK, а директорию ради одного файла создавать было странно. Соответственно, при первом запуске рекомендуется включить вайфай.

Ну и вообще, всяких красот я не наводил, так как программа создавалась для своих целей. Зато в свежем билде есть два варианта отрисовки — «обычный», как в статье, и «быстрый», когда сцена вместо двух раз отрисовывается один, но на большую текстуру.
Красиво.
п.с. мой SE Xperia x8 тянет с трудом, в нормальном режиме 1,2 FPS, в быстром — 2,1…
Неудивительно для одного из самых старых чипов, да с невысокой частотой.
Кстати, из всех устройств, на которых я до сих пор тестировал, лучший результат показал HTC One S (даже не X, правда на нём ещё не тестил) — порядка 60 fps. Также неплохо работает HTC Sensation (на нём, что интересно, «быстрый» режим работает медленнее «обычного») — около 40 fps, а вот всякие самсунги оказались довольно неспешными (включая S3 — максимум 26 fps).
Так что, свежие Qualcomm'овские чипы стали гораздо лучше со времён той же X8 (спасибо Adreno), а вот ускорители Mali разочаровали. Интересно ещё на обеих теграх попробовать (в смысле, второй и третьей), обязательно займусь этим.
Ну да, я в принципе и ожидал таких результатов, если даже на топовых моделях подтормаживает картинка.
Но так классно.
Как заберу из сервиса планшет-гляну на нем…
Only those users with full accounts are able to leave comments. Log in, please.