Comments 16
Спасибо! Это очень интересно. Я только начинаю осваивать азы графики, опенгл и т.п., поэтом, для меня такая статься — просто клад. Было бы очень здорово, если бы Вы написали статью и про загрузку моделей!!!
0
К сожалению, именно азов тут нет, статья предполагает наличие некоторого начального знания OpenGL.
С другой стороны, программу я начал писать, зная о программировании для OpenGL под Android только то, что было в Tutorial'е, так что — почему бы и нет? :)
Ну а про загрузку ещё напишу, надо только будет только код немного причесать, да дописать немного: в формате .3ds немало очень специфических грабель, которые мне в данном конкретном файле не встретились, но попадаются нередко.
С другой стороны, программу я начал писать, зная о программировании для OpenGL под Android только то, что было в Tutorial'е, так что — почему бы и нет? :)
Ну а про загрузку ещё напишу, надо только будет только код немного причесать, да дописать немного: в формате .3ds немало очень специфических грабель, которые мне в данном конкретном файле не встретились, но попадаются нередко.
+1
Давно собирался научиться использовать OpenGL в программах для android. Спасибо!
+1
UFO just landed and posted this here
1. Загрузку .3ds — позже: её ещё надо немного поправить, сейчас некоторые файлы у меня грузятся некорректно, и я даже знаю причину, просто лень было править ради этого конкретного проекта. Но выложу (заодно и пост напишу).
2. Синтаксис проверить легко (см. функцию loadShader, строчка
Log.i(«Shader», GLES20.glGetShaderInfoLog(shader));
как раз выведет ошибку, если она есть), а вот функциональность… Я писал не тыком, но почти: например, правильность передачи нормалей в шейдер я проверял присвоением вершине цвета из нормали. Но вообще, конечно, IDE существует немало, см. хотя бы википедию: хоты бы те же RenderMonkey и ShaderDesigner.
2. Синтаксис проверить легко (см. функцию loadShader, строчка
Log.i(«Shader», GLES20.glGetShaderInfoLog(shader));
как раз выведет ошибку, если она есть), а вот функциональность… Я писал не тыком, но почти: например, правильность передачи нормалей в шейдер я проверял присвоением вершине цвета из нормали. Но вообще, конечно, IDE существует немало, см. хотя бы википедию: хоты бы те же RenderMonkey и ShaderDesigner.
+2
А можно ссылку на АПК, посмотреть результат на своем девайсе.
А так статья годная. тоже надо с подобным похимичить на досуге.
А так статья годная. тоже надо с подобным похимичить на досуге.
0
Ох… В принципе, можно, но только через две недели. Как уже было сказано, программа создавалась ко дню рождения жены. Простите за такое неудобство.
Зато, к тому времени есть шанс справиться с проблемами отрисовки на Qualcomm'ах.
Зато, к тому времени есть шанс справиться с проблемами отрисовки на Qualcomm'ах.
+2
Хорошо. Ждем.
0
Собственно, APK можно скачать по адресу bit.ly/roseapk
Файл данных (розочка в формате 3ds) скачивается самой программой при первом запуске и кладётся в /sdcard — я так сделал для ускорения тестирования, чтобы не нужно было при изменениях в программе заново качать двухмегабайтный APK, а директорию ради одного файла создавать было странно. Соответственно, при первом запуске рекомендуется включить вайфай.
Ну и вообще, всяких красот я не наводил, так как программа создавалась для своих целей. Зато в свежем билде есть два варианта отрисовки — «обычный», как в статье, и «быстрый», когда сцена вместо двух раз отрисовывается один, но на большую текстуру.
Файл данных (розочка в формате 3ds) скачивается самой программой при первом запуске и кладётся в /sdcard — я так сделал для ускорения тестирования, чтобы не нужно было при изменениях в программе заново качать двухмегабайтный APK, а директорию ради одного файла создавать было странно. Соответственно, при первом запуске рекомендуется включить вайфай.
Ну и вообще, всяких красот я не наводил, так как программа создавалась для своих целей. Зато в свежем билде есть два варианта отрисовки — «обычный», как в статье, и «быстрый», когда сцена вместо двух раз отрисовывается один, но на большую текстуру.
0
Красиво.
п.с. мой SE Xperia x8 тянет с трудом, в нормальном режиме 1,2 FPS, в быстром — 2,1…
п.с. мой SE Xperia x8 тянет с трудом, в нормальном режиме 1,2 FPS, в быстром — 2,1…
0
Неудивительно для одного из самых старых чипов, да с невысокой частотой.
Кстати, из всех устройств, на которых я до сих пор тестировал, лучший результат показал HTC One S (даже не X, правда на нём ещё не тестил) — порядка 60 fps. Также неплохо работает HTC Sensation (на нём, что интересно, «быстрый» режим работает медленнее «обычного») — около 40 fps, а вот всякие самсунги оказались довольно неспешными (включая S3 — максимум 26 fps).
Так что, свежие Qualcomm'овские чипы стали гораздо лучше со времён той же X8 (спасибо Adreno), а вот ускорители Mali разочаровали. Интересно ещё на обеих теграх попробовать (в смысле, второй и третьей), обязательно займусь этим.
Кстати, из всех устройств, на которых я до сих пор тестировал, лучший результат показал HTC One S (даже не X, правда на нём ещё не тестил) — порядка 60 fps. Также неплохо работает HTC Sensation (на нём, что интересно, «быстрый» режим работает медленнее «обычного») — около 40 fps, а вот всякие самсунги оказались довольно неспешными (включая S3 — максимум 26 fps).
Так что, свежие Qualcomm'овские чипы стали гораздо лучше со времён той же X8 (спасибо Adreno), а вот ускорители Mali разочаровали. Интересно ещё на обеих теграх попробовать (в смысле, второй и третьей), обязательно займусь этим.
0
Не могли бы вы мне помочь улучшить дефолтный шейдер gaussian blur toster.ru/q/71918?
0
Sign up to leave a comment.
Эффект Glow гауссовым размытием на Android