ПрограммированиеФорумГрафика

Marmalade, OpenGL2 ES: подскажите как делать :)

#0
22:17, 7 мар 2013

Предисловие.

Раньше программировал на OpenGL, первой версии. Но это было давно и не очень много знал.
Сейчас вот решил попробовать написать маленькую 3D-игру для Android. Чтобы как то облегчить себе жизнь взял уже готовый движок - Marmalade (С++),
но он все-таки достаточно низкоуровневый (купить Unity жаба не позволила).

Что хочется сделать:
1. Камера от первого лица
2. Плавный поворот в выбранную точку на сенсорном экране.
3. Вывод текста в затемняемой нижней части, как напр. в Resident Evil.
4. Полно-экранные спецэффекты, в том числе вывод поверх дополнительного изображения, напр. как в The Path.

Вопросы
1. Насколько правильно перемещение игрока-камеры по плоскости делать через изменение Model-матрицы, а управление взглядом через изменение View-матрицы?
Если неправильно, то может кто-то поделится псевдо-кодом, как более правильно?
4. Где бы почитать про полно-экранный вывод?

Может кто поделится ссылками на уроки для начинающих? Nehe устарел насколько я понял.
А FAQ на форуме - http://www.gamedev.ru/code/forum/?id=138435 - уже для следующей версии OpenGL :(
Было бы здорово, если бы нашелся сайт с уроками по Marmalade (уроки с gamedev.ru положены в копилку). Официальный сайт что-то не очень для начала.

P.S. Движок нужен простейший. Без физики, даже наверно без вывода анимации, потому, несмотря на незнание OpenGL/C++, надеюсь у меня всё получится :)

#1
22:59, 7 мар 2013

1. Я бы так и сделал.
2. Поворот в точку - это как?
3. Resident Evil не видел. Речь про субтитры? Не вижу, какие с ним проблемы. Берём и выводим текст. Под него при надобности можно положить черный полупрозрачный прямоугольник.
4. Рендер в текстуру при помощи FBO, а затем рисование одного большого квада на весь экран с этой текстурой. В шейдере пиши нужный тебе эффект (размытие, цветокоррекция и т.д.)

#2
17:46, 9 мар 2013

ALPINE,
1. я так и сделал. Просто сомнения были, что верно. Спасибо за развеянные сомнения. Оставляю.
2. У меня управление не мышкой, а в зависимости от того, куда пользователь пальцем нажал. Сам сделал: пришлось вспомнить курс школьной геометрии.
3. С текстом в разделе Мобильные устройства помогли :)
4. Нашел демку, так что вопрос снялся. На моем телефоне на MTK 6577 (PowerVR 531) на разрешении 1280x720 на простой сцене выдается 25 кадров, и ровно в два раза меньше, если полноэкранный bloom сделать :(

#3
19:55, 9 мар 2013

Zoobastik
> полноэкранный bloom
Для полноэкранного bloom'a можно уменьшить размеры FBO в два раза. К чему такая точность, когда блум и так всё размывает? Рендерим в маленький FBO, маленький FBO натягиваем на другой маленький FBO с применением bloom'a (пикселей в 4 раз меньше чем изначальный вариант), затем готовую текстуру выводим. Надо только в fillrate не упереться.

#4
20:40, 9 мар 2013

ALPINE
> Для полноэкранного bloom'a можно уменьшить размеры FBO в два раза. К чему такая
> точность, когда блум и так всё размывает? Рендерим в маленький FBO, маленький
> FBO натягиваем на другой маленький FBO с применением bloom'a (пикселей в 4 раз
> меньше чем изначальный вариант), затем готовую текстуру выводим. Надо только в
> fillrate не упереться.
На PowerVR с этим плохо, у меня делается все примерно так, как ты сказал, но лучше не особо становится,
когда на сцене полигоны на пол экрана и много прозрачности, а потом сверху бросаем блум, то фреймрейт дико падает.

#5
20:58, 9 мар 2013

Печально, я сейчас игру пишу, в которой как раз рассчитывал на подобную технику. Надо будет провести тесты. Если несколько квадов с размером в 4 раза меньше площади экрана и несложным шейдером будут тормозить - это будет очень печально.

#6
21:07, 9 мар 2013

Рекомендую java + libgdx. Просто, бесплатно, удобно.

#7
0:34, 10 мар 2013

Если я не ошибаюсь, мармелад ваш 2д движок, непонято о каком 3д идет у вас речь
Про то, что хочется, при желании думаю вам это удастся, но желания надо очень много.

Вопросы
1. Камера = управление взглядом = GL_PROJECTION
4. Тоже что и оконный вывод, только окно весь экран, ничего нового там не изобрели

Nehe вам в самый раз
простых движков небывает.

#8
1:30, 10 мар 2013

Рекомендую java + libgdx. Просто, бесплатно, удобно.

Если я не ошибаюсь, мармелад ваш 2д движок, непонято о каком 3д идет у вас речь

Мужики, вы хоть на сайт мармелада зашли бы для начала, прежде чем что-то писать.

ПрограммированиеФорумГрафика

Тема в архиве.