playcanvas
Version:
PlayCanvas WebGL game engine
3 lines (2 loc) • 926 B
TypeScript
declare const _default: "\n#ifndef VIEWMATRIX\n #define VIEWMATRIX\n uniform matrix_view: mat4x4f;\n#endif\n\nvar texture_sphereMap: texture_2d<f32>;\nvar texture_sphereMapSampler: sampler;\nuniform material_reflectivity: f32;\n\nfn calcReflection(reflDir: vec3f, gloss: f32) -> vec3f {\n let viewRotationMatrix = mat3x3f(uniform.matrix_view[0].xyz, uniform.matrix_view[1].xyz, uniform.matrix_view[2].xyz);\n let reflDirV: vec3f = viewRotationMatrix * reflDir;\n\n let m: f32 = 2.0 * sqrt(dot(reflDirV.xy, reflDirV.xy) + (reflDirV.z + 1.0) * (reflDirV.z + 1.0));\n let sphereMapUv: vec2f = reflDirV.xy / m + 0.5;\n\n return {reflectionDecode}(textureSample(texture_sphereMap, texture_sphereMapSampler, sphereMapUv));\n}\n\nfn addReflection(reflDir: vec3f, gloss: f32) {\n dReflection = dReflection + vec4f(calcReflection(reflDir, gloss), uniform.material_reflectivity);\n}\n";
export default _default;