Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mamayaya1
GitHub Repository: mamayaya1/game
Path: blob/main/projects/HexGL/libs/postprocessing/DotScreenPass.js
4627 views
1
/**
2
* @author alteredq / http://alteredqualia.com/
3
*/
4
5
THREE.DotScreenPass = function ( center, angle, scale ) {
6
7
var shader = THREE.ShaderExtras[ "dotscreen" ];
8
9
this.uniforms = THREE.UniformsUtils.clone( shader.uniforms );
10
11
if ( center !== undefined )
12
this.uniforms[ "center" ].value.copy( center );
13
14
if ( angle !== undefined ) this.uniforms[ "angle"].value = angle;
15
if ( scale !== undefined ) this.uniforms[ "scale"].value = scale;
16
17
this.material = new THREE.ShaderMaterial( {
18
19
uniforms: this.uniforms,
20
vertexShader: shader.vertexShader,
21
fragmentShader: shader.fragmentShader
22
23
} );
24
25
this.enabled = true;
26
this.renderToScreen = false;
27
this.needsSwap = true;
28
29
};
30
31
THREE.DotScreenPass.prototype = {
32
33
render: function ( renderer, writeBuffer, readBuffer, delta ) {
34
35
this.uniforms[ "tDiffuse" ].texture = readBuffer;
36
this.uniforms[ "tSize" ].value.set( readBuffer.width, readBuffer.height );
37
38
THREE.EffectComposer.quad.material = this.material;
39
40
if ( this.renderToScreen ) {
41
42
renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera );
43
44
} else {
45
46
renderer.render( THREE.EffectComposer.scene, THREE.EffectComposer.camera, writeBuffer, false );
47
48
}
49
50
}
51
52
};
53
54