@animech-public/playcanvas
Version:
PlayCanvas WebGL game engine
2 lines (1 loc) • 815 B
JavaScript
import{ChunkBuilder as e}from"../chunk-builder.js";import{LitShader as n}from"./lit-shader.js";import{LitOptionsUtils as t}from"./lit-options-utils.js";import{ShaderGenerator as r}from"./shader-generator.js";const o=[0,1,2,3,4,5,6,7];const s=new class extends r{generateKey(e){return`lit${o.map(((n,t)=>e.usedUvs[t]?"1":"0")).join("")}${e.shaderChunk}${t.generateKey(e.litOptions)}`}createShaderDefinition(t,r){const o=new n(t,r.litOptions),s=new e,i=new e,a=new e;s.append("uniform float textureBias;"),s.append(o.chunks.litShaderArgsPS),i.append(r.shaderChunk),a.code="evaluateFrontend();",a.code=`\n${a.code.split("\n").map((e=>` ${e}`)).join("\n")}\n\n`;const d=r.usedUvs||[!0];return o.generateVertexShader(d,d,[]),o.generateFragmentShader(s.code,i.code,a.code,"vUv0"),o.getDefinition()}};export{s as lit};