@luma.gl/shadertools
Version:
Shader module system for luma.gl
39 lines (35 loc) • 1 kB
JavaScript
// luma.gl
// SPDX-License-Identifier: MIT
// Copyright (c) vis.gl contributors
export const vs = /* glsl */ `\
out vec3 pbr_vPosition;
out vec2 pbr_vUV;
out mat3 pbr_vTBN;
out vec3 pbr_vNormal;
void pbr_setPositionNormalTangentUV(vec4 position, vec4 normal, vec4 tangent, vec2 uv)
{
vec4 pos = pbrProjection.modelMatrix * position;
pbr_vPosition = vec3(pos.xyz) / pos.w;
vec3 normalW = normalize(vec3(pbrProjection.normalMatrix * vec4(normal.xyz, 0.0)));
vec3 tangentW = normalize(vec3(pbrProjection.modelMatrix * vec4(tangent.xyz, 0.0)));
vec3 bitangentW = cross(normalW, tangentW) * tangent.w;
pbr_vTBN = mat3(tangentW, bitangentW, normalW);
pbr_vNormal = normalize(vec3(pbrProjection.modelMatrix * vec4(normal.xyz, 0.0)));
pbr_vUV = uv;
pbr_vUV = vec2(0.,0.);
}
`;
//# sourceMappingURL=pbr-vertex-glsl.js.map