During lecture Professor Kanazawa mentioned that the lightDir is uniformly constant which means that it's an infinitely faraway light. How is the direction of the light represented in a vec3 format? Do the values represent some point in space that the light is coming from? Or is there some specific value that denotes an infinitely faraway light?
I'm kind of confused about how a shader is a program. Is it a program in the conventional sense, where the instructions are loaded into memory, and the processor steps through the instructions? If that's the case, what's the point in having a separate language (i.e., GLSL)? Couldn't you just create a C library or API to achieve the same functionality?
I think it GLSL has close parallels with a C-Library