UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

3 lines (2 loc) 954 B
declare const _default: "\nuniform matrix_model: mat4x4f;\nuniform matrix_view: mat4x4f;\nuniform matrix_projection: mat4x4f;\n\n// project the model space gaussian center to view and clip space\nfn initCenter(modelCenter: vec3f, center: ptr<function, SplatCenter>) -> bool {\n let modelView: mat4x4f = uniform.matrix_view * uniform.matrix_model;\n let centerView: vec4f = modelView * vec4f(modelCenter, 1.0);\n\n // early out if splat is behind the camera\n if (centerView.z > 0.0) {\n return false;\n }\n\n var centerProj: vec4f = uniform.matrix_projection * centerView;\n\n // ensure gaussians are not clipped by camera near and far\n centerProj.z = clamp(centerProj.z, 0.0, abs(centerProj.w));\n\n center.view = centerView.xyz / centerView.w;\n center.proj = centerProj;\n center.projMat00 = uniform.matrix_projection[0][0];\n center.modelView = modelView;\n return true;\n}\n"; export default _default;