UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

53 lines (51 loc) 1.06 kB
var gsplatCommonVS = ` struct SplatSource { order: u32, id: u32, uv: vec2<i32>, cornerUV: vec2f, } struct SplatCenter { view: vec3f, proj: vec4f, modelView: mat4x4f, projMat00: f32, } struct SplatCorner { offset: vec2f, uv: vec2f, #if GSPLAT_AA aaFactor: f32, #endif } #include "gsplatEvalSHVS" #include "gsplatQuatToMat3VS" #if GSPLAT_COMPRESSED_DATA #include "gsplatCompressedDataVS" #if SH_BANDS > 0 #include "gsplatCompressedSHVS" #endif #elif GSPLAT_SOGS_DATA #include "gsplatSogsDataVS" #include "gsplatSogsColorVS" #if SH_BANDS > 0 #include "gsplatSogsSHVS" #endif #else #include "gsplatDataVS" #include "gsplatColorVS" #if SH_BANDS > 0 #include "gsplatSHVS" #endif #endif #include "gsplatSourceVS" #include "gsplatCenterVS" #include "gsplatCornerVS" #include "gsplatOutputVS" fn clipCorner(corner: ptr<function, SplatCorner>, alpha: f32) { let clip: f32 = min(1.0, sqrt(-log(1.0 / (255.0 * alpha))) / 2.0); corner.offset = corner.offset * clip; corner.uv = corner.uv * clip; } `; export { gsplatCommonVS as default };