Modificadores de shader SceneKit com matrizes GLSL

Estou tentando passar uma matriz de pontos para um modificador de sombreador no SceneKit, mas não consigo descobrir a sintaxe correta. No meu código de extensão do shader, tenho:

uniform vec2 points[100];

Se eu ligar ...

material.setValue(NSValue(point: CGPoint(x: 100.5, y: 50.5)), forKey: "points")

… Então define o valor depoints[0], o que me faz pensar que talvez não seja possível. Eu tentei muitas outras combinações para a chave e o valor, mas nada parece funcionar.

Existe uma maneira melhor de fazer isso? Meu objetivo final é modificar a cor difusa da superfície para um conjunto de pontos na matriz e usar a renderização padrão caso contrário. Existe uma maneira melhor de fazer isso no shader do que fazer um loop sobre uma matriz devec2s?

Obrigado pela ajuda.

questionAnswers(1)

yourAnswerToTheQuestion