UNPKG

playcanvas

Version:

PlayCanvas WebGL game engine

3 lines (2 loc) 7.62 kB
declare const _default: "\n\n // globals\n var<private> dAlpha: f32 = 1.0;\n\n // all passes handle opacity\n #if LIT_BLEND_TYPE != NONE || defined(LIT_ALPHA_TEST) || defined(LIT_ALPHA_TO_COVERAGE) || STD_OPACITY_DITHER != NONE\n #ifdef STD_OPACITY_TEXTURE_ALLOCATE\n var texture_opacityMap : texture_2d<f32>;\n var texture_opacityMapSampler : sampler;\n #endif\n #endif\n\n #ifdef FORWARD_PASS // ----------------\n\n // globals\n var<private> dAlbedo: vec3f;\n var<private> dNormalW: vec3f;\n var<private> dSpecularity: vec3f = vec3f(0.0, 0.0, 0.0);\n var<private> dGlossiness: f32 = 0.0;\n\n #ifdef LIT_REFRACTION\n var<private> dTransmission: f32;\n var<private> dThickness: f32;\n #endif\n\n #ifdef LIT_SCENE_COLOR\n var uSceneColorMap : texture_2d<f32>;\n var uSceneColorMapSampler : sampler;\n #endif\n\n #ifdef LIT_SCREEN_SIZE\n uniform uScreenSize: vec4f;\n #endif\n\n #ifdef LIT_TRANSFORMS\n var<private> matrix_viewProjection: mat4x4f;\n var<private> matrix_model: mat4x4f;\n #endif\n\n // parallax\n #ifdef STD_HEIGHT_MAP\n var<private> dUvOffset: vec2f;\n #ifdef STD_DIFFUSE_TEXTURE_ALLOCATE\n var texture_heightMap : texture_2d<f32>;\n var texture_heightMapSampler : sampler;\n #endif\n #endif\n\n // diffuse\n #ifdef STD_DIFFUSE_TEXTURE_ALLOCATE\n var texture_diffuseMap : texture_2d<f32>;\n var texture_diffuseMapSampler : sampler;\n #endif\n\n #ifdef STD_DIFFUSEDETAIL_TEXTURE_ALLOCATE\n var texture_diffuseDetailMap : texture_2d<f32>;\n var texture_diffuseDetailMapSampler : sampler;\n #endif\n\n // normal\n #ifdef STD_NORMAL_TEXTURE_ALLOCATE\n var texture_normalMap : texture_2d<f32>;\n var texture_normalMapSampler : sampler;\n #endif\n\n #ifdef STD_NORMALDETAIL_TEXTURE_ALLOCATE\n var texture_normalDetailMap : texture_2d<f32>;\n var texture_normalDetailMapSampler : sampler;\n #endif\n\n // refraction\n #ifdef STD_THICKNESS_TEXTURE_ALLOCATE\n var texture_thicknessMap : texture_2d<f32>;\n var texture_thicknessMapSampler : sampler;\n #endif\n #ifdef STD_REFRACTION_TEXTURE_ALLOCATE\n var texture_refractionMap : texture_2d<f32>;\n var texture_refractionMapSampler : sampler;\n #endif\n\n // iridescence\n #ifdef LIT_IRIDESCENCE\n var<private> dIridescence: f32;\n var<private> dIridescenceThickness: f32;\n\n #ifdef STD_IRIDESCENCE_THICKNESS_TEXTURE_ALLOCATE\n var texture_iridescenceThicknessMap : texture_2d<f32>;\n var texture_iridescenceThicknessMapSampler : sampler;\n #endif\n #ifdef STD_IRIDESCENCE_TEXTURE_ALLOCATE\n var texture_iridescenceMap : texture_2d<f32>;\n var texture_iridescenceMapSampler : sampler;\n #endif\n #endif\n\n #ifdef LIT_CLEARCOAT\n var<private> ccSpecularity: f32;\n var<private> ccGlossiness: f32;\n var<private> ccNormalW: vec3f;\n #endif\n\n #ifdef LIT_GGX_SPECULAR\n var<private> dAnisotropy: f32;\n var<private> dAnisotropyRotation: vec2f;\n #endif\n\n // specularity & glossiness\n #ifdef LIT_SPECULAR_OR_REFLECTION\n\n // sheen\n #ifdef LIT_SHEEN\n var<private> sSpecularity: vec3f;\n var<private> sGlossiness: f32;\n\n #ifdef STD_SHEEN_TEXTURE_ALLOCATE\n var texture_sheenMap : texture_2d<f32>;\n var texture_sheenMapSampler : sampler;\n #endif\n #ifdef STD_SHEENGLOSS_TEXTURE_ALLOCATE\n var texture_sheenGlossMap : texture_2d<f32>;\n var texture_sheenGlossMapSampler : sampler;\n #endif\n #endif\n\n // metalness\n #ifdef LIT_METALNESS\n var<private> dMetalness: f32;\n var<private> dIor: f32;\n\n #ifdef STD_METALNESS_TEXTURE_ALLOCATE\n var texture_metalnessMap : texture_2d<f32>;\n var texture_metalnessMapSampler : sampler;\n #endif\n #endif\n\n // specularity factor\n #ifdef LIT_SPECULARITY_FACTOR\n var<private> dSpecularityFactor: f32;\n\n #ifdef STD_SPECULARITYFACTOR_TEXTURE_ALLOCATE\n var texture_specularityFactorMap : texture_2d<f32>;\n var texture_specularityFactorMapSampler : sampler;\n #endif\n #endif\n\n // specular color\n #ifdef STD_SPECULAR_COLOR\n #ifdef STD_SPECULAR_TEXTURE_ALLOCATE\n var texture_specularMap : texture_2d<f32>;\n var texture_specularMapSampler : sampler;\n #endif\n #endif\n\n // gloss\n #ifdef STD_GLOSS_TEXTURE_ALLOCATE\n var texture_glossMap : texture_2d<f32>;\n var texture_glossMapSampler : sampler;\n #endif\n #endif\n\n // ao\n #ifdef STD_AO\n var <private> dAo: f32;\n #ifdef STD_AO_TEXTURE_ALLOCATE\n var texture_aoMap : texture_2d<f32>;\n var texture_aoMapSampler : sampler;\n #endif\n #ifdef STD_AODETAIL_TEXTURE_ALLOCATE\n var texture_aoDetailMap : texture_2d<f32>;\n var texture_aoDetailMapSampler : sampler;\n #endif\n #endif\n\n // emission\n var <private> dEmission: vec3f;\n #ifdef STD_EMISSIVE_TEXTURE_ALLOCATE\n var texture_emissiveMap : texture_2d<f32>;\n var texture_emissiveMapSampler : sampler;\n #endif\n\n // clearcoat\n #ifdef LIT_CLEARCOAT\n #ifdef STD_CLEARCOAT_TEXTURE_ALLOCATE\n var texture_clearCoatMap : texture_2d<f32>;\n var texture_clearCoatMapSampler : sampler;\n #endif\n #ifdef STD_CLEARCOATGLOSS_TEXTURE_ALLOCATE\n var texture_clearCoatGlossMap : texture_2d<f32>;\n var texture_clearCoatGlossMapSampler : sampler;\n #endif\n #ifdef STD_CLEARCOATNORMAL_TEXTURE_ALLOCATE\n var texture_clearCoatNormalMap : texture_2d<f32>;\n var texture_clearCoatNormalMapSampler : sampler;\n #endif\n #endif\n\n // anisotropy\n #ifdef LIT_GGX_SPECULAR\n #ifdef STD_ANISOTROPY_TEXTURE_ALLOCATE\n var texture_anisotropyMap : texture_2d<f32>;\n var texture_anisotropyMapSampler : sampler;\n #endif\n #endif\n\n // lightmap\n #if defined(STD_LIGHTMAP) || defined(STD_LIGHT_VERTEX_COLOR)\n var<private> dLightmap: vec3f;\n #ifdef STD_LIGHT_TEXTURE_ALLOCATE\n var texture_lightMap : texture_2d<f32>;\n var texture_lightMapSampler : sampler;\n #endif\n #endif\n #endif\n\n // front end outputs to lit shader\n #include \"litShaderCorePS\"\n"; export default _default;