33 lines
		
	
	
		
			628 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			628 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import TempNode from '../core/TempNode.js';
 | 
						|
import { addNodeClass } from '../core/Node.js';
 | 
						|
import { addNodeElement, nodeProxy } from '../shadernode/ShaderNode.js';
 | 
						|
 | 
						|
class PosterizeNode extends TempNode {
 | 
						|
 | 
						|
	constructor( sourceNode, stepsNode ) {
 | 
						|
 | 
						|
		super();
 | 
						|
 | 
						|
		this.sourceNode = sourceNode;
 | 
						|
		this.stepsNode = stepsNode;
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
	setup() {
 | 
						|
 | 
						|
		const { sourceNode, stepsNode } = this;
 | 
						|
 | 
						|
		return sourceNode.mul( stepsNode ).floor().div( stepsNode );
 | 
						|
 | 
						|
	}
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
export default PosterizeNode;
 | 
						|
 | 
						|
export const posterize = nodeProxy( PosterizeNode );
 | 
						|
 | 
						|
addNodeElement( 'posterize', posterize );
 | 
						|
 | 
						|
addNodeClass( 'PosterizeNode', PosterizeNode );
 |