Массивы во время выполнения с использованием opengl-es - PullRequest
0 голосов
/ 28 июля 2011

Я использую этот урок для проработки некоторых вещей, но мне нужно портировать код, потому что он в OpenGL вместо GL-ES. Одна из проблем, с которыми я сталкиваюсь, - это установка массивов, потому что Android, похоже, не поддерживает этот вид массива

например:

GLint viewport[4];

Поправьте меня, если я ошибаюсь, и этот тип массива поддерживается, или просветите меня, как я должен настраивать массивы

Спасибо

Ответы [ 3 ]

1 голос
/ 28 июля 2011

См. Это - Android: 3D с OpenGL

Тип GLint отсутствует. Для этого примера используйте:

public abstract void glGetIntegerv (int pname, IntBuffer params)

public abstract void glGetIntegerv (int pname, int[] params, int offset)

Итак, вам просто нужно использовать что-то вроде этого:

int[] viewport = new int[4];
gl.glGetIntegerv(GL11.GL_VIEWPORT, viewport, 0);
0 голосов
/ 28 июля 2011

Уроки Nehe великолепны, но не ориентированы на Android.Посмотрите insanitydesign.com , они портировали кучу уроков Nehe, так что вам не нужно!

И, кроме того, есть несколько отличных уроков OpenGL, написанных специально для Android (как этот на jayway.com ), почему бы вам не использовать один из них, чтобы намочить ноги?

0 голосов
/ 28 июля 2011

Если я не ошибаюсь, Android так же, как Java не поддерживает объявление массивов таким образом, это c / c ++ как (статическое) объявление.Я предполагаю, что вы должны объявить массив следующим образом:

GLint viewport[] = new GLint[4];
...