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

OpenGL (Android) - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Eclipse и Android http://www.cyberforum.ru/android-dev/thread275964.html
виртуальная машина запускается, но сам проект нет. Т.е. пишет в консоле: Android Launch! adb is running normally. Performing lab4.lab444444.lab44Activity activity launch Automatic Target...
Программирование Android Не получается запустить hello world в эмуляторе Здравствуйте! такая проблема: установил эклипс, скачал sdk и adt, настроил виртуальное устройство.. но запустить простейшую программу никак не получается! В Джава код пишу package q.q; import... http://www.cyberforum.ru/android-dev/thread267583.html
Программирование Android Программирование под Android
Собераюсь писать приложение для сотового телефона! Хочется что б приожение подходило как можно большему числу моделей телефонов. Но основной уклон для Sumsung Galaxy S Вопросы: Подходит...
Программирование Android How to set view position on parent (Android)
Hello to everybody. Here is my problem: In my android application I need to use custom menu. In xml I make menu layout (RelativLayout) and inflate it on application start, then add it to parent...
Программирование Android Создание приложений на c++ для смартов работающих на ОС Android http://www.cyberforum.ru/android-dev/thread191901.html
кто может дать ссылки на учебники, материалы, софт для програмирования на c++ для android ОС.... или может кто обьяснит на чём всё основывается? очень заинтерисован!
Программирование Android Программирование фаервола для смартфона Всем доброго времени суток. Передо мной стоит задача программирования фаервола для смартфона. Если кто-то что-то может подсказать по этому поводу буду очень благодарен. Реально ли это вообще? Что... подробнее

Показать сообщение отдельно
Osanve
2 / 2 / 1
Регистрация: 03.08.2008
Сообщений: 12

OpenGL (Android) - Программирование Android

23.04.2011, 20:37. Просмотров 9162. Ответов 2
Метки (Все метки)

Гугля данную тематику нашел цикл уроков по работе с OpenGL: http://*******/qHG0i
Начал изучать и пробовать писать что-то свое.
После изучения второго урока решил реализовать вывод на экран невыпуклового шестиугольника. При запуске на эмуляторе выдается ошибка:
The application MyOpenGLTest (process ru.osanve.myopengltest) has stopped unexpectedly. Please try again.
Run.java:
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
26
27
28
29
30
31
32
33
package ru.osanve.myopengltest;
 
import android.app.Activity;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
 
public class Run extends Activity
{
    private GLSurfaceView glSurface;
    
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        glSurface = new GLSurfaceView(this);
        glSurface.setRenderer(new MyOpenGLTest());
        setContentView(glSurface);
    }
    
    @Override
    protected void onResume()
    {
        super.onResume();
        glSurface.onResume();
    }
    
    @Override
    protected void onPause()
    {
        super.onPause();
        glSurface.onPause();
    }
}
MyOpenGLTest.java:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package ru.osanve.myopengltest;
 
import javax.microedition.khronos.egl.EGLConfig;
import javax.microedition.khronos.opengles.GL10;
 
import android.opengl.GLU;
import android.opengl.GLSurfaceView.Renderer;
 
public class MyOpenGLTest implements Renderer
{
    private MoveBar moveBar;
    
    public MyOpenGLTest()
    {
        moveBar = new MoveBar();
    }
    
    public void onSurfaceCreated(GL10 gl, EGLConfig config)
    {
        gl.glShadeModel(GL10.GL_SMOOTH);
        gl.glClearColor(0.0f, 0.0f, 0.0f, 0.5f);
        gl.glClearDepthf(1.0f);
        gl.glEnable(GL10.GL_DEPTH_TEST);
        gl.glDepthFunc(GL10.GL_LEQUAL);
        
        gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);
    }
    
    public void onDrawFrame(GL10 gl)
    {
        gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
        gl.glLoadIdentity();
        
        gl.glTranslatef(0.0f, -1.0f, 0.0f);
        moveBar.draw(gl);
    }
    
    public void onSurfaceChanged(GL10 gl, int width, int height)
    {
        if(height==0)
        {
            height = 1;
        }
        
        gl.glViewport(0, 0, width, height);
        gl.glMatrixMode(GL10.GL_PROJECTION);
        gl.glLoadIdentity();
        
        GLU.gluPerspective(gl, 45.0f, (float)width/(float)height, 0.1f, 100.0f);
        
        gl.glMatrixMode(GL10.GL_MODELVIEW);
        gl.glLoadIdentity();
    }
}
MoveBar.java:
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
26
27
28
29
30
31
32
33
34
35
36
37
package ru.osanve.myopengltest;
 
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
 
import javax.microedition.khronos.opengles.GL10;
 
public class MoveBar
{
    private FloatBuffer vertexBuffer;
    
    private float vertices[] = {-1.0f, -1.0f, 0.0f,
                                1.0f, -1.0f, 0.0f,
                                1.0f, 1.0f, 0.0f,
                                1.5f, 1.5f, 0.0f,
                                -1.5f, -1.5f, 0.0f,
                                -1.0f, -1.5f, 0.0f};
    
    public MoveBar()
    {
        ByteBuffer byteBuf = ByteBuffer.allocateDirect(vertices.length*4);
        byteBuf.order(ByteOrder.nativeOrder());
        vertexBuffer = byteBuf.asFloatBuffer();
        vertexBuffer.put(vertices);
        vertexBuffer.position(0);
    }
    
    public void draw(GL10 gl)
    {
        gl.glFrontFace(GL10.GL_CW);
        gl.glVertexPointer(3, GL10.GL_FLOAT, 0, vertexBuffer);
        gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
        gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, 0, vertices.length/3);
        gl.glDisableClientState(GL10.GL_VERTEX_ARRAY);
    }
}
Структура проекта повторена как в уроке: http://*******/mr50E

В чем может быть проблема?

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

P.S. Т.к. не вдавался в подробности какая версия Java используется на Android - создал тему в общем разделе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru