UNPKG

@woosh/meep-engine

Version:

Pure JavaScript game engine. Fully featured and production ready.

75 lines (71 loc) 2.04 kB
import { AddEquation, CustomBlending, GLSL3, OneFactor, OneMinusSrcAlphaFactor, RawShaderMaterial, Vector3 } from "three"; import shader_vx from './glsl/v1/vertex.glsl'; import shader_fg from './glsl/v1/flagment.glsl'; export class ImpostorShaderV1 extends RawShaderMaterial { constructor() { super({ fragmentShader: shader_fg, vertexShader: shader_vx, uniforms: { /** * RGB + Alpha */ tBase: { value: null }, /** * Normal+Depth */ tGeometry: { value: null }, /** * Material properties: Occlusion, Roughness, Metalness * Alpha unused */ tMaterial: { value: null }, /** * Number of frames */ uFrames: { value: 0 }, /** * Radius of bounding sphere of the impostor */ uRadius: { value: 0 }, /** * Impostor offset */ uOffset: { value: new Vector3(0, 0, 0) }, uIsFullSphere: { value: false }, uDepthScale:{ // value should be in range between 0 and 1 value:1 } }, glslVersion: GLSL3 }); // Save some effort by disabling blending this.blending = CustomBlending; this.blendEquation = AddEquation; this.blendSrc = OneFactor; this.blendDst = OneMinusSrcAlphaFactor; } }