cbaggers / varjo

Lisp to GLSL Language Translator
BSD 2-Clause "Simplified" License
223 stars 23 forks source link

Array of array in struct #241

Open Polyrhythm opened 4 years ago

Polyrhythm commented 4 years ago

The documentation says that multidimensional arrays are not supported but that arrays of arrays work fine.

I can't figure out how to generate the following glsl:

struct thing
{
    float[100][100][3] data;
};

Any permutation of (vector (vector ...)) or other nested array structure seems not allowed by the define-vari-struct macro. The closest I can seem to get is defining an array of another defined struct:

(v-defstruct some-data ()
  (ints (:int 1000)))

(v-defstruct outer-one ()
  (data (some-data 10)))

But this is much too unwieldy to actually be usable for my intended use case of a simple array of array of floats.