r.uniforms = Object.assign(shader.uniforms, uniforms);

                    shader.vertexShader = shader.vertexShader.replace(
                        'void main() {',
                        /* glsl */ `
                        out vec3 vWorldNormal;
                        out vec3 vViewDirection;

                        void main() {
                        `
                    );

                    shader.vertexShader = shader.vertexShader.replace(
                        '#include <project_vertex>'