Передача пользовательских атрибутов в настраиваемый шейдер фрагмента

Возможно ли передать пользовательские атрибуты в шейдер фрагмента, я знаю, что могу передавать атрибуты через GLES20.glVertexAttribPointer в вершинный шейдер, но как я могу передать float [] в шейдер фрагмента?

Нет.

Если вы хотите передать униформу в шейдер фрагмента, вы можете легко это сделать (см. Любой учебник). Но если вам нужно что-то похожее на атрибуты per-vertex, тогда нет смысла это делать. То, что вы также можете сделать, это передать атрибуты вершинному шейдеру, а затем в вершинном шейдере передать их в шейдер фрагмента как изменения. Они будут интерполированы по примитиву и представлены в качестве вклада в шейдер фрагмента.

Ответ Тима, конечно, правильный.

Возможным обходным решением будет сохранение ваших значений float в 2D-текстуре и передача координат текстуры (и количества значений) в шейдер. Однако это может стать очень медленным, если у вас есть большое количество значений float на вершину (из-за всех текстурных запросов на фрагмент). Другая проблема заключается в том, что это приводит к очень большим текстурам, если у вас много вершин. Во всяком случае, в некоторых случаях такой подход может быть полезен.