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

Падает программа при отрисовке графики в opengl под android - Программирование

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Программирование под iOS http://www.cyberforum.ru/mobile-dev/thread1481705.html
Что там с программированием под iOS сейчас? На каком языке пишут приложения, что за swift и что с objective-c?
Программирование Что значит документ lcp.sdk.trace.txt? телефон Леново А6000 телефон Леново А6000. Для чего нужен этот документ? Как работает? Не можжет ли он служить дя дистанционной проверки телефона и передачи личных файлов,без веедома хозяина? http://www.cyberforum.ru/mobile-dev/thread1481092.html
Программирование Box2D как обнулить скорость по оси X?
http://www.cyberforum.ru/attachment.php?attachmentid=541765&stc=1&d=1434115366 Имеются два динамических тел. Одно летит к другому под углом (шар к платформе). В то же время платформа движется...
Кластеризация гео данных Программирование
Предлагаю обсудить такой вопрос: Кластеризация гео данных (куча точек разбросано на карте и чтобы они не накладывались друг на друга их объединяют в кластер и говорят, что там столько то их). На...
Программирование Нужно мобильное приложение. Что требовать от разработчиков? http://www.cyberforum.ru/mobile-dev/thread1474389.html
Всем привет! Опытные разработчики помогите советом! Мне нужно приложение, хочу заказать чтобы сделали, но опасаюсь что прокатят меня (или по деньгам или по функционалу). Что мне от...
Программирование Принцип процесса сканирования Wi-Fi точек Всем привет, кто подскажет суть процесса сканирования окружающих вайфай точек доступа мобильным телефоном? Как это вообще происходит? Вот один телефон в роли точки доступа второй в роли клиента,... подробнее

Показать сообщение отдельно
Donny322
0 / 0 / 0
Регистрация: 21.06.2015
Сообщений: 1

Падает программа при отрисовке графики в opengl под android - Программирование

21.06.2015, 01:32. Просмотров 347. Ответов 0
Метки (Все метки)

Вчера в целях изучения opengl написал приложение, которое создает 3-х мерный куб, а также вращает его в ответ на касания.
Сегодня модернизировал программу, в следствии чего она просто начала вылетать (не ошибка, а просто выключается эмулятор, на реальном устройстве просто закрывается приложение без каких-либо уведомлений).

Вернул всё к тому моменту, когда работало. Но эмулятор продолжает падать.
Код Activity:
Java
1
2
3
4
5
6
7
8
9
private GLSurfaceView mTestHarness;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mTestHarness = new GLSurfaceView(this);
        mTestHarness.setEGLConfigChooser(false);
        mTestHarness.setRenderer(new CubeRenderer());
        setContentView(mTestHarness);
    }
Сам инициализация buffer'ов:
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
ByteBuffer vbb = ByteBuffer.allocateDirect(8 * 3 * 4);
        vbb.order(ByteOrder.nativeOrder());
        mFVertexBuffer = vbb.asFloatBuffer();
 
        ByteBuffer ibb = ByteBuffer.allocateDirect(36 * 2);
        ibb.order(ByteOrder.nativeOrder());
        mIndexBuffer = ibb.asShortBuffer();
//вершины
        float[] coords = { -0.5f, 0.5f, 0.5f, // 0
                -0.5f, 0.5f, -0.5f, // 1
                0.5f, 0.5f, -0.5f, // 2
                0.5f, 0.5f, 0.5f, // 3
                -0.5f, -0.5f, 0.5f, // 4
                -0.5f, -0.5f, -0.5f, // 5
                0.5f, -0.5f, -0.5f, // 6
                0.5f, -0.5f, 0.5f }; // 7
 
        for (int i = 0; i < 8; i++) {
            for (int j = 0; j < 3; j++) {
                mFVertexBuffer.put(coords[i * 3 + j]);
            }
        }
//Порядок отрисовки треугольников
        short[] myIndecesArray = { 0, 1, 2, 0, 3, 2, 0, 4, 5, 5, 0, 1, 4, 7, 5,
                5, 7, 6, 6, 5, 1, 1, 6, 2, 3, 2, 6, 3, 7, 6, 3, 4, 0, 4, 7, 3 };
        for (int i = 0; i < 36; i++) {
            mIndexBuffer.put(myIndecesArray[i]);
        }
        mFVertexBuffer.position(0);
        mIndexBuffer.position(0);
Метод draw:
Java
1
2
3
4
5
6
7
8
@Override
    protected void draw(GL10 gl) {
 
        gl.glColor4f(1.0f, 0, 0, 0.5f);
        gl.glVertexPointer(8, GL10.GL_FLOAT, 0, mVertexBuffer);
        gl.glDrawElements(GL10.GL_TRIANGLES, 36, GL10.GL_UNSIGNED_SHORT,
                mIndexBuffer);
    }
Если уменьшить количество вершин до 4, а длину массива, по которому рисуются треугольники соответственно до 6, то всё прекрасно работает, но с 6+ вершинами уже всё валится.
В чем может быть проблема? Долго пытался найти решение, но безуспешно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru