|
@@ -1,4 +1,3 @@
|
|
|
-import { registerNode } from '../core/Node.js';
|
|
|
|
|
import TempNode from '../core/TempNode.js';
|
|
import TempNode from '../core/TempNode.js';
|
|
|
import { uv } from '../accessors/UV.js';
|
|
import { uv } from '../accessors/UV.js';
|
|
|
import { Fn, nodeObject, vec2, vec3, float, If } from '../tsl/TSLBase.js';
|
|
import { Fn, nodeObject, vec2, vec3, float, If } from '../tsl/TSLBase.js';
|
|
@@ -16,6 +15,12 @@ import { NearestFilter } from '../../constants.js';
|
|
|
|
|
|
|
|
class PixelationNode extends TempNode {
|
|
class PixelationNode extends TempNode {
|
|
|
|
|
|
|
|
|
|
+ static get type() {
|
|
|
|
|
+
|
|
|
|
|
+ return 'PixelationNode';
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
constructor( textureNode, depthNode, normalNode, pixelSize, normalEdgeStrength, depthEdgeStrength ) {
|
|
constructor( textureNode, depthNode, normalNode, pixelSize, normalEdgeStrength, depthEdgeStrength ) {
|
|
|
|
|
|
|
|
super();
|
|
super();
|
|
@@ -153,12 +158,16 @@ class PixelationNode extends TempNode {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-PixelationNode.type = /*@__PURE__*/ registerNode( 'Pixelation', PixelationNode );
|
|
|
|
|
-
|
|
|
|
|
const pixelation = ( node, depthNode, normalNode, pixelSize = 6, normalEdgeStrength = 0.3, depthEdgeStrength = 0.4 ) => nodeObject( new PixelationNode( convertToTexture( node ), convertToTexture( depthNode ), convertToTexture( normalNode ), nodeObject( pixelSize ), nodeObject( normalEdgeStrength ), nodeObject( depthEdgeStrength ) ) );
|
|
const pixelation = ( node, depthNode, normalNode, pixelSize = 6, normalEdgeStrength = 0.3, depthEdgeStrength = 0.4 ) => nodeObject( new PixelationNode( convertToTexture( node ), convertToTexture( depthNode ), convertToTexture( normalNode ), nodeObject( pixelSize ), nodeObject( normalEdgeStrength ), nodeObject( depthEdgeStrength ) ) );
|
|
|
|
|
|
|
|
class PixelationPassNode extends PassNode {
|
|
class PixelationPassNode extends PassNode {
|
|
|
|
|
|
|
|
|
|
+ static get type() {
|
|
|
|
|
+
|
|
|
|
|
+ return 'PixelationPassNode';
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
constructor( scene, camera, pixelSize = 6, normalEdgeStrength = 0.3, depthEdgeStrength = 0.4 ) {
|
|
constructor( scene, camera, pixelSize = 6, normalEdgeStrength = 0.3, depthEdgeStrength = 0.4 ) {
|
|
|
|
|
|
|
|
super( 'color', scene, camera, { minFilter: NearestFilter, magFilter: NearestFilter } );
|
|
super( 'color', scene, camera, { minFilter: NearestFilter, magFilter: NearestFilter } );
|
|
@@ -202,5 +211,3 @@ class PixelationPassNode extends PassNode {
|
|
|
export const pixelationPass = ( scene, camera, pixelSize, normalEdgeStrength, depthEdgeStrength ) => nodeObject( new PixelationPassNode( scene, camera, pixelSize, normalEdgeStrength, depthEdgeStrength ) );
|
|
export const pixelationPass = ( scene, camera, pixelSize, normalEdgeStrength, depthEdgeStrength ) => nodeObject( new PixelationPassNode( scene, camera, pixelSize, normalEdgeStrength, depthEdgeStrength ) );
|
|
|
|
|
|
|
|
export default PixelationPassNode;
|
|
export default PixelationPassNode;
|
|
|
-
|
|
|
|
|
-PixelationPassNode.type = /*@__PURE__*/ registerNode( 'PixelationPass', PixelationPassNode );
|
|
|