Where does `#define XXX` get added to GLSL code?

@pailhead Figured it out. I noticed at the end of the vertex shader I was getting a lot of empty if statements.
def
So I looked into the shader chunk that pertained to that segment, and it looks like it’s actually a variable that gets preprocessed into a number literal:
def2
I’m guessing there’s a preprocessing step somewhere that replaces NUM_??_LIGHT_SHADOWS with 0, and that’s how you get all those if 0 > 0 to ignore that section.

Edit: I just found where this replacement takes place. Starts in line 176 of WebGLProgram.js