Как переместить определенную текстуру вокруг экрана в Android с помощью OpenGLES? - PullRequest
2 голосов
/ 09 февраля 2010

Я очень новичок в OpenGL ES. Я реализую некоторое демонстрационное приложение для загрузки нескольких текстур на экране. Для демонстрации я загрузил 2 текстуры в 2 разных местах экрана, дважды используя glTranslatef () и glBindTextures ().

Теперь я могу видеть 2 разных изображения на экране. Теперь я хочу переместить одну конкретную текстуру по экрану с помощью мыши.

Я знаю, что это может быть глупая тема, но, пожалуйста, помогите мне в этом ..

Заранее спасибо ..

Ответы [ 2 ]

1 голос
/ 10 февраля 2010

Как уже упоминалось выше, вам нужно будет перевести координаты поверхности.

Если вы используете ортогональную (2D) проекцию, соотношение пикселей / координат можно легко установить в 1: 1, определив проекцию равной размеру экрана. Например:

 glOrthof(0.0f, screenWidth, -screenHeight, 0.0f, -1.0f, 1.0f);

должен определять проекцию с (0,0) в левом верхнем углу и таким же размером, как ваш экран.

Если вы используете 3D-проекцию, эта ссылка может оказаться полезной: http://www.mvps.org/directx/articles/rayproj.htm

0 голосов
/ 09 февраля 2010

Вы на самом деле не хотите перемещать текстуру, но вы либо перемещаете свою точку зрения на сцену (gluortho2d / glulookat / gltranslatef - или что-то еще), либо перемещаете вершины формы, к которой вы применяете свою текстуру .

Вот как я это делаю в моей 2D игре:

gl.glTranslatef (-cameraPosX% 32, -cameraPosY% 32, 0);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...