Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
nnnikotinnn995
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 314
#1

OpenGL ES 1.0 и плавное пермещение - Программирование Android

07.02.2012, 12:43. Просмотров 1702. Ответов 4
Метки нет (Все метки)

Здравствуйте. Я решил добить проблему плавного перемещения спрайтов, стандартным приемом (вложение Tectn5) не получается, решил попробовать с помощью OpenGL (вложение HelloOpenGLES53). Вот основной принцип перемещения
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 // Redraw background color
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
     // Draw the triangle
        gl.glColor4f(0.63671875f, 0.76953125f, 0.22265625f, 0.0f);
        gl.glVertexPointer(3, GL10.GL_FLOAT, 0, triangleVB);
        gl.glDrawArrays(GL10.GL_TRIANGLES, 0, 3);
        
     // Set GL_MODELVIEW transformation mode
        gl.glMatrixMode(GL10.GL_MODELVIEW);
        gl.glLoadIdentity();   // reset the matrix to its default state
 
     // When using GL_MODELVIEW, you must set the view point
        GLU.gluLookAt(gl, 0, 0, -5, 0f, 0f, 0f, 0f, 1.0f, 0.0f);        
    
        
        float xtrans = -xpos;                       //Used For Player Translation On The X Axis
        float ztrans = -zpos;                       //Used For Player Translation On The Z Axis
        float ytrans = -walkbias - 0.25f;
       
        
       // перемещение по х
        gl.glTranslatef(xtrans/15, ytrans, ztrans);
       
        xpos+=1;
}
Принцип построения сцены взят от сюда.
На телефоне пака не смотрел но на эмуляторе дергается (как мне кажется) даже больше чем в стандартном типе перемещения, однако если заменить перемещение на вращение, то оно получается более плавно (вложение HelloOpenGLES52) . Может движение с помощью
gl.glTranslatef(xtrans, ytrans, ztrans); - не единственный (и не самый качественный) способ перемещения? Скажите пожалуйста у вас дергается или нет перемещение треугольника, если да то подскажите пожалуйста как можно сделать его более плавным?
0
Вложения
Тип файла: zip Tectn5.zip (3.17 Мб, 20 просмотров)
Тип файла: zip HelloOpenGLES53.zip (34.6 Кб, 21 просмотров)
Тип файла: zip HelloOpenGLES52.zip (57.5 Кб, 19 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.02.2012, 12:43
Здравствуйте! Я подобрал для вас темы с ответами на вопрос OpenGL ES 1.0 и плавное пермещение (Программирование Android):

TreeView + Навигация пермещение - Delphi
Попробую описать проблему: Дерево имеет "2 уровня" 1 здание _1 _2 _3 2 здание _цех 2 _цех 1

Пермещение объекта в позицию другого объекта по его клику - Visual Basic
Имеется command1 и command2 Как сделать чтобы при нажатии на command2, command1 перемещалась в позицию command2 только не сразу...

Perl + OpenGL Как избавиться от повторного подключения библиотеки OpenGL в модулях - Perl
Доброго времени суток! Сегодня решил заняться программированием на языке Perl, используя библиотеку OpenGL :D Возникли вопросы: ...

Создаю игру с научным уколоном на C++/opengl. Как подключить openGL и добиться кроссплатформенности - OpenGL
Я читал про opengl - для его инициализации нужно создавать windows - окно. Для linux видимо инициализация происходить по другому. как мне...

Чем отличаются готовые сборки Qt под Win + MSVC с OpenGL и без OpenGL? - C++ Qt
Ну вопрос собственно в том, что мне не очень понятно, что же в сборке кьюте без опен джел имеется вместо него? Тоесть понятно, что в сборке...

OpenGL Ваша текущая конфигурация рабочего стола не поддерживает OpenGL Аппаратное ускорение. - Windows 7
всем здрасте ) скачал opengl extensions viewer решил проверить драйверы на видео карту.В разделе программы Repot мне посыпалось куча...

4
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
07.02.2012, 17:45 #2
Цитата Сообщение от nnnikotinnn995 Посмотреть сообщение
На телефоне пака не смотрел но на эмуляторе дергается (как мне кажется)
совет протестировать на реальном устройстве, эмулятор очень тормозит сам по себе.
0
nnnikotinnn995
4 / 4 / 0
Регистрация: 07.07.2011
Сообщений: 314
07.02.2012, 20:22  [ТС] #3
Да брата не дождешься, до пятницы придется ждать,а денег купить самому пака нет,я по оптимизации кода думал у вас мнения узнать.Кстати , вот еще пример - 2 перемещающихся квадрата, как вы думаете, хватит ли скорости OpenGL ES 1.0 (2.0) чтобы качественно просчитать это квадраты с назначенными на них анимированными прозрачными (png) текстурами (типа спрайтов), да и есть ли у OpenGL ES 1.0 такая возможность?
0
Вложения
Тип файла: zip lesson02.zip (37.8 Кб, 17 просмотров)
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
07.02.2012, 21:01 #4
скорости openGL точно хватит.
у openGL скорости на многие вещи может хватить, вопрос в мощности самого устройства.
по поводу спрайтов в самом openGL не в курсе, так как на прямую с ним не работал, только с движками на его основе.

для построения динамических интерфейсов или даже для простой игрушки вполне может хватить встроенных средств андроида (Canvas)
так что все зависит от поставленной задачи
1
MonGraph
Сообщений: n/a
31.03.2012, 21:53 #5
посмотри на мой блог http://andmonahov.blogspot.com
там есть пример с вращающимися текстурированными пирамидами. Работает быстро
31.03.2012, 21:53
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.03.2012, 21:53
Привет! Вот еще темы с ответами:

(2 главы перевода книги доступно) OpenGL Programming Guide, Version 4.3, 8th Edition - OpenGL - OpenGL
Продолжая тему с переводом книги http://www.cyberforum.ru/opengl/thread1551398.html Выкладываю для скачивания вторую переведенную главу в...

Ошибки при подключение opengl, немного не связанные с opengl - OpenGL
#include <windows.h> #include "stdafx.h" #include <gl/gl.h> #include <gl/glu.h> #include <stdio.h> //#include "TXLib.h" ...

Не загружается текстура в OpenGL (OpenGL + Классы) - OpenGL
Здравствуйте! Пишу движок для игры. Первый прототип я сделал процедурно. Все работает как надо. Сейчас переписываю в классах....

OpenGL.Урок 1. простой OpenGL-проект - OpenGL
Не компилируется кодю #include <GL\glut.h> void DrawLine() { glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0, 1.0, 1.0); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru