Browse Source

Rename removeBanding to dithering #11076

Brian Chirls 8 years ago
parent
commit
e1f2773178

+ 1 - 1
docs/api/materials/Material.html

@@ -198,7 +198,7 @@
 		Default is *false*.
 		</div>
 
-		<h3>[property:Boolean removeBanding]</h3>
+		<h3>[property:Boolean dithering]</h3>
 		<div>
 		Whether to apply dithering to the color to remove the appearance of banding.
 		Default is *false*.

+ 2 - 2
examples/webgl_lights_spotlight.html

@@ -54,8 +54,8 @@
 
 			var scene = new THREE.Scene();
 
-			var matFloor = new THREE.MeshPhongMaterial( { removeBanding: true } );
-			var matBox = new THREE.MeshPhongMaterial( { color: 0x4080ff, removeBanding: true } );
+			var matFloor = new THREE.MeshPhongMaterial( { dithering: true } );
+			var matBox = new THREE.MeshPhongMaterial( { color: 0x4080ff, dithering: true } );
 
 			var geoFloor = new THREE.BoxGeometry( 2000, 1, 2000 );
 			var geoBox = new THREE.BoxGeometry( 3, 1, 2 );

+ 1 - 1
src/materials/Material.js

@@ -52,7 +52,7 @@ function Material() {
 	this.polygonOffsetFactor = 0;
 	this.polygonOffsetUnits = 0;
 
-	this.removeBanding = false;
+	this.dithering = false;
 
 	this.alphaTest = 0;
 	this.premultipliedAlpha = false;

+ 4 - 4
src/renderers/shaders/ShaderChunk.js

@@ -61,8 +61,8 @@ import normalmap_pars_fragment from './ShaderChunk/normalmap_pars_fragment.glsl'
 import packing from './ShaderChunk/packing.glsl';
 import premultiplied_alpha_fragment from './ShaderChunk/premultiplied_alpha_fragment.glsl';
 import project_vertex from './ShaderChunk/project_vertex.glsl';
-import removebanding_fragment from './ShaderChunk/removebanding_fragment.glsl';
-import removebanding_pars_fragment from './ShaderChunk/removebanding_pars_fragment.glsl';
+import dithering_fragment from './ShaderChunk/dithering_fragment.glsl';
+import dithering_pars_fragment from './ShaderChunk/dithering_pars_fragment.glsl';
 import roughnessmap_fragment from './ShaderChunk/roughnessmap_fragment.glsl';
 import roughnessmap_pars_fragment from './ShaderChunk/roughnessmap_pars_fragment.glsl';
 import shadowmap_pars_fragment from './ShaderChunk/shadowmap_pars_fragment.glsl';
@@ -174,8 +174,8 @@ export var ShaderChunk = {
 	packing: packing,
 	premultiplied_alpha_fragment: premultiplied_alpha_fragment,
 	project_vertex: project_vertex,
-	removebanding_fragment: removebanding_fragment,
-	removebanding_pars_fragment: removebanding_pars_fragment,
+	dithering_fragment: dithering_fragment,
+	dithering_pars_fragment: dithering_pars_fragment,
 	roughnessmap_fragment: roughnessmap_fragment,
 	roughnessmap_pars_fragment: roughnessmap_pars_fragment,
 	shadowmap_pars_fragment: shadowmap_pars_fragment,

+ 5 - 0
src/renderers/shaders/ShaderChunk/dithering_fragment.glsl

@@ -0,0 +1,5 @@
+#if defined( REMOVE_BANDING )
+
+  gl_FragColor.rgb = dithering( gl_FragColor.rgb );
+
+#endif

+ 1 - 1
src/renderers/shaders/ShaderChunk/removebanding_pars_fragment.glsl → src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl

@@ -1,5 +1,5 @@
 // based on https://www.shadertoy.com/view/MslGR8
-vec3 removeBanding( vec3 color ) {
+vec3 dithering( vec3 color ) {
 	//Calculate grid position
 	float grid_position = fract( dot( gl_FragCoord.xy - vec2( 0.5, 0.5 ) , vec2( 1.0 / 16.0, 10.0 / 36.0 ) + 0.25 ) );
 

+ 0 - 5
src/renderers/shaders/ShaderChunk/removebanding_fragment.glsl

@@ -1,5 +0,0 @@
-#if defined( REMOVE_BANDING )
-
-  gl_FragColor.rgb = removeBanding( gl_FragColor.rgb );
-
-#endif

+ 1 - 1
src/renderers/shaders/ShaderLib/meshlambert_frag.glsl

@@ -75,7 +75,7 @@ void main() {
 
 	gl_FragColor = vec4( outgoingLight, diffuseColor.a );
 
-	#include <removebanding_fragment>
+	#include <dithering_fragment>
 	#include <premultiplied_alpha_fragment>
 	#include <tonemapping_fragment>
 	#include <encodings_fragment>

+ 1 - 1
src/renderers/shaders/ShaderLib/meshphong_frag.glsl

@@ -60,7 +60,7 @@ void main() {
 
 	gl_FragColor = vec4( outgoingLight, diffuseColor.a );
 
-	#include <removebanding_fragment>
+	#include <dithering_fragment>
 	#include <premultiplied_alpha_fragment>
 	#include <tonemapping_fragment>
 	#include <encodings_fragment>

+ 1 - 1
src/renderers/shaders/ShaderLib/meshphysical_frag.glsl

@@ -74,7 +74,7 @@ void main() {
 
 	gl_FragColor = vec4( outgoingLight, diffuseColor.a );
 
-	#include <removebanding_fragment>
+	#include <dithering_fragment>
 	#include <premultiplied_alpha_fragment>
 	#include <tonemapping_fragment>
 	#include <encodings_fragment>

+ 2 - 2
src/renderers/webgl/WebGLProgram.js

@@ -477,8 +477,8 @@ function WebGLProgram( renderer, code, material, parameters ) {
 			( parameters.toneMapping !== NoToneMapping ) ? ShaderChunk[ 'tonemapping_pars_fragment' ] : '',  // this code is required here because it is used by the toneMapping() function defined below
 			( parameters.toneMapping !== NoToneMapping ) ? getToneMappingFunction( "toneMapping", parameters.toneMapping ) : '',
 
-			parameters.removeBanding ? '#define REMOVE_BANDING' : '',
-			parameters.removeBanding ? ShaderChunk[ 'removebanding_pars_fragment' ] : '',
+			parameters.dithering ? '#define REMOVE_BANDING' : '',
+			parameters.dithering ? ShaderChunk[ 'dithering_pars_fragment' ] : '',
 
 			( parameters.outputEncoding || parameters.mapEncoding || parameters.envMapEncoding || parameters.emissiveMapEncoding ) ? ShaderChunk[ 'encodings_pars_fragment' ] : '', // this code is required here because it is used by the various encoding/decoding function defined below
 			parameters.mapEncoding ? getTexelDecodingFunction( 'mapTexelToLinear', parameters.mapEncoding ) : '',

+ 2 - 2
src/renderers/webgl/WebGLPrograms.js

@@ -33,7 +33,7 @@ function WebGLPrograms( renderer, capabilities ) {
 		"maxMorphTargets", "maxMorphNormals", "premultipliedAlpha",
 		"numDirLights", "numPointLights", "numSpotLights", "numHemiLights", "numRectAreaLights",
 		"shadowMapEnabled", "shadowMapType", "toneMapping", 'physicallyCorrectLights',
-		"alphaTest", "doubleSided", "flipSided", "numClippingPlanes", "numClipIntersection", "depthPacking", "removeBanding"
+		"alphaTest", "doubleSided", "flipSided", "numClippingPlanes", "numClipIntersection", "depthPacking", "dithering"
 	];
 
 
@@ -185,7 +185,7 @@ function WebGLPrograms( renderer, capabilities ) {
 			numClippingPlanes: nClipPlanes,
 			numClipIntersection: nClipIntersection,
 
-			removeBanding: material.removeBanding,
+			dithering: material.dithering,
 
 			shadowMapEnabled: renderer.shadowMap.enabled && object.receiveShadow && lights.shadows.length > 0,
 			shadowMapType: renderer.shadowMap.type,