OpenGL ES 2.0 - Массив vec2 - PullRequest
       89

OpenGL ES 2.0 - Массив vec2

3 голосов
/ 27 марта 2012

У меня есть программа GLSL shader, на которой запущено приложение для iPhone (это очень очень простой шейдер). Я пытаюсь объявить массив vec2, но у меня много проблем. Мой шейдер обернут в стороннюю библиотеку, поэтому, к сожалению, я не могу получить никакой реальной информации о фактической ошибке в синтаксисе.

Мой код (не работает) для объявления массива vec2:

highp vec2 steps[5] = vec2[](
                            vec2(   0.0015625,  0.00208333333333),
                            vec2(    0.003125,  0.00416666666667),
                            vec2(     0.00625,  0.00833333333333),
                            vec2(      0.0125,  0.0166666666667),
                            vec2(       0.025,  0.0333333333333)
                            );

Кто-нибудь знает, как создать массив типов vec2 в OpenGLES 2.0?

Ответы [ 2 ]

2 голосов
/ 17 июля 2014

Я думаю, что это возможно создать, но я не уверен, что возможно инициализировать его во время объявления. Согласно спецификации OpenGL ES, http://www.khronos.org/files/opengles_shading_language.pdf

Нет механизма инициализации массивов во время объявления из в шейдере.

2 голосов
/ 28 марта 2012
highp vec2 steps[5] = {
                            vec2(   0.0015625,  0.00208333333333),
                            vec2(    0.003125,  0.00416666666667),
                            vec2(     0.00625,  0.00833333333333),
                            vec2(      0.0125,  0.0166666666667),
                            vec2(       0.025,  0.0333333333333)
                            };
...