Как повернуть "Землю", прикоснувшись к GLES20 (Android)?

Вчера я пытался решить проблему, которая у меня была целый день, и она все еще не решена. Я искал все комбинации слов, которые мог себе представить, чтобы найти решения в Google и т. Д. Но безуспешно.:(

Проблема состоит в следующем: я начал программировать GLES20 (не GLES10!) На Android. Есть много других способов вычисления матриц и объектов. Так что нет никаких методов, таких как "Pop" или "Push" Matrix. Я хочу вращать шар / сферу только касаясь и двигая пальцами. Функции касания и т. Д. Работают нормально, но само вращение никогда не работает. Каждый раз, когда я сначала вращаюсь по оси x, а затем вращаюсь по оси y, вращение все еще вычисляется по локальной пространственной оси объекта, а не по двум глобальным осям. Это происходит независимо от того, что я делаю...:/ Некоторые люди ищут решение той же проблемы, но в основном это GLES10 или совершенно разные языки программирования, а не GLES20 и Java.

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

Спасибо вам большое!:) Chrise

1 ответ

В OpenGL ES 2.0 нет никаких матричных функций, и вы должны позаботиться о своих собственных матрицах. Итак, для проталкивания и выталкивания матриц вам нужно сделать, чтобы при рисовании вы копировали свою матрицу во временную, делали все преобразования и передавали временную матрицу в вершинный шейдер.

Другие вопросы по тегам