threepipe
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

ExtendedCopyPass.ts 1014B

123456789101112131415161718192021222324252627
  1. import {UniformsUtils} from 'three'
  2. import {CopyShader} from 'three/examples/jsm/shaders/CopyShader.js'
  3. import {glsl} from 'ts-browser-helpers'
  4. import {ExtendedShaderPass} from './ExtendedShaderPass'
  5. export class ExtendedCopyPass extends ExtendedShaderPass {
  6. constructor() {
  7. super({
  8. uniforms: UniformsUtils.clone(CopyShader.uniforms),
  9. vertexShader: CopyShader.vertexShader,
  10. fragmentShader: glsl`
  11. uniform float opacity;
  12. #include <alphatest_pars_fragment>
  13. varying vec2 vUv;
  14. void main() {
  15. vec4 diffuseColor = tDiffuseTexelToLinear(texture2D(tDiffuse, vUv)) * opacity;
  16. #include <alphatest_fragment>
  17. #ifdef OPAQUE
  18. diffuseColor.a = 1.0;
  19. #endif
  20. gl_FragColor = diffuseColor;
  21. #include <encodings_fragment>
  22. }
  23. `,
  24. }, 'tDiffuse')
  25. }
  26. }