Browse Source

WebGLRenderer: Rename `KhronosNeutralToneMapping` to `NeutralToneMapping`. (#27717)

Michael Herzog 1 year ago
parent
commit
ddecdd14ba

+ 5 - 1
docs/api/ar/constants/Renderer.html

@@ -51,13 +51,17 @@
 		THREE.CineonToneMapping 
 		THREE.CineonToneMapping 
 		THREE.ACESFilmicToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.AgXToneMapping
 		THREE.AgXToneMapping
+		THREE.NeutralToneMapping
 		THREE.CustomToneMapping
 		THREE.CustomToneMapping
 		</code>
 		</code>
 		<p>
 		<p>
 			هذه الخيارات تحدد خاصية [page:WebGLRenderer.toneMapping toneMapping] في WebGLRenderer. يتم استخدام هذا لتقريب مظهر نطاق الإضاءة العالي (HDR) على الوسط الذي يحتوي على نطاق إضاءة منخفض على شاشة الكمبيوتر القياسية أو شاشة الجوال.
 			هذه الخيارات تحدد خاصية [page:WebGLRenderer.toneMapping toneMapping] في WebGLRenderer. يتم استخدام هذا لتقريب مظهر نطاق الإضاءة العالي (HDR) على الوسط الذي يحتوي على نطاق إضاءة منخفض على شاشة الكمبيوتر القياسية أو شاشة الجوال.
 		</p>
 		</p>
 		<p>
 		<p>
-			THREE.LinearToneMapping، THREE.ReinhardToneMapping، THREE.CineonToneMapping، THREE.ACESFilmicToneMapping و THREE.AgXToneMapping هي تنفيذات مدمجة لتقريب مظهر نطاق الإضاءة العالي (HDR). يتوقع THREE.CustomToneMapping تنفيذًا مخصصًا عن طريق تعديل شفرة GLSL لبرنامج تظليل مقطع المواد. راجع [example:webgl_tonemapping WebGL / tonemapping] مثالًا. 
+			THREE.LinearToneMapping، THREE.ReinhardToneMapping، THREE.CineonToneMapping، THREE.ACESFilmicToneMapping، THREE.AgXToneMapping و THREE.NeutralToneMapping هي تنفيذات مدمجة لتقريب مظهر نطاق الإضاءة العالي (HDR). يتوقع THREE.CustomToneMapping تنفيذًا مخصصًا عن طريق تعديل شفرة GLSL لبرنامج تظليل مقطع المواد. راجع [example:webgl_tonemapping WebGL / tonemapping] مثالًا. 
+		</p>
+		<p>
+			THREE.NeutralToneMapping is an implementation based on the Khronos 3D Commerce Group standard tone mapping.
 		</p>
 		</p>
 
 
 		<h2>المصدر (Source)</h2>
 		<h2>المصدر (Source)</h2>

+ 7 - 4
docs/api/en/constants/Renderer.html

@@ -53,6 +53,7 @@
 		THREE.CineonToneMapping 
 		THREE.CineonToneMapping 
 		THREE.ACESFilmicToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.AgXToneMapping
 		THREE.AgXToneMapping
+		THREE.NeutralToneMapping
 		THREE.CustomToneMapping
 		THREE.CustomToneMapping
 		</code>
 		</code>
 		<p>
 		<p>
@@ -61,12 +62,14 @@
 			monitor or mobile device's screen.
 			monitor or mobile device's screen.
 		</p>
 		</p>
 		<p>
 		<p>
-			THREE.LinearToneMapping, THREE.ReinhardToneMapping,
-			THREE.CineonToneMapping, THREE.ACESFilmicToneMapping, and THREE.AgXToneMapping are built-in
-			implementations of tone mapping. THREE.CustomToneMapping expects a custom
-			implementation by modyfing GLSL code of the material's fragment shader.
+			THREE.LinearToneMapping, THREE.ReinhardToneMapping, THREE.CineonToneMapping, THREE.ACESFilmicToneMapping, 
+			THREE.AgXToneMapping and THREE.NeutralToneMapping are built-inimplementations of tone mapping. 
+			THREE.CustomToneMapping expects a custom implementation by modyfing GLSL code of the material's fragment shader.
 			See the [example:webgl_tonemapping WebGL / tonemapping] example.
 			See the [example:webgl_tonemapping WebGL / tonemapping] example.
 		</p>
 		</p>
+		<p>
+			THREE.NeutralToneMapping is an implementation based on the Khronos 3D Commerce Group standard tone mapping.
+		</p>
 
 
 		<h2>Source</h2>
 		<h2>Source</h2>
 		<p>
 		<p>

+ 5 - 2
docs/api/fr/constants/Renderer.html

@@ -47,6 +47,7 @@
 		THREE.CineonToneMapping
 		THREE.CineonToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.AgXToneMapping
 		THREE.AgXToneMapping
+		THREE.NeutralToneMapping
 		THREE.CustomToneMapping
 		THREE.CustomToneMapping
 		</code>
 		</code>
 		<p>
 		<p>
@@ -55,11 +56,13 @@
 		milieu de plage dynamique faible d'un écran d'ordinateur standard ou d'un écran d'appareil mobile.
 		milieu de plage dynamique faible d'un écran d'ordinateur standard ou d'un écran d'appareil mobile.
 		</p>
 		</p>
 		<p>
 		<p>
-		THREE.LinearToneMapping, THREE.ReinhardToneMapping, THREE.CineonToneMapping, THREE.ACESFilmicToneMapping et THREE.AgXToneMapping sont des implémentations intégrées à la cartographie des tons.
+		THREE.LinearToneMapping, THREE.ReinhardToneMapping, THREE.CineonToneMapping, THREE.ACESFilmicToneMapping, THREE.AgXToneMapping et THREE.NeutralToneMapping sont des implémentations intégrées à la cartographie des tons.
 		THREE.CustomToneMapping attend une implémentation personnalisée en modifiant le code GLSL du fragment shader du matériau.
 		THREE.CustomToneMapping attend une implémentation personnalisée en modifiant le code GLSL du fragment shader du matériau.
 		Voir l'exemple [example:webgl_tonemapping WebGL / tonemapping].
 		Voir l'exemple [example:webgl_tonemapping WebGL / tonemapping].
 		</p>
 		</p>
-
+		<p>
+			THREE.NeutralToneMapping is an implementation based on the Khronos 3D Commerce Group standard tone mapping.
+		</p>
 
 
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 

+ 5 - 1
docs/api/it/constants/Renderer.html

@@ -49,6 +49,7 @@
 		THREE.CineonToneMapping
 		THREE.CineonToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.AgXToneMapping
 		THREE.AgXToneMapping
+		THREE.NeutralToneMapping
 		THREE.CustomToneMapping
 		THREE.CustomToneMapping
 		</code>
 		</code>
 		<p>
 		<p>
@@ -57,11 +58,14 @@
       gamma dinamica bassa del monitor di un computer o dello schermo di un dispositivo mobile.
       gamma dinamica bassa del monitor di un computer o dello schermo di un dispositivo mobile.
 		</p>
 		</p>
 		<p>
 		<p>
-      THREE.LinearToneMapping, THREE.ReinhardToneMapping, THREE.CineonToneMapping, THREE.ACESFilmicToneMapping e THREE.AgXToneMapping sono implementazioni 
+      THREE.LinearToneMapping, THREE.ReinhardToneMapping, THREE.CineonToneMapping, THREE.ACESFilmicToneMapping THREE.AgXToneMapping e THREE.NeutralToneMapping sono implementazioni 
       integrate della mappatura dei toni.
       integrate della mappatura dei toni.
       THREE.CustomToneMapping prevede un'implementazione personalizzata modificando il codice GLSL dello shader di frammenti del materiale.
       THREE.CustomToneMapping prevede un'implementazione personalizzata modificando il codice GLSL dello shader di frammenti del materiale.
       Vedi l'esempio [example:webgl_tonemapping WebGL / tonemapping].
       Vedi l'esempio [example:webgl_tonemapping WebGL / tonemapping].
 		</p>
 		</p>
+		<p>
+			THREE.NeutralToneMapping is an implementation based on the Khronos 3D Commerce Group standard tone mapping.
+		</p>
 
 
 
 
 		<h2>Source</h2>
 		<h2>Source</h2>

+ 4 - 1
docs/api/ko/constants/Renderer.html

@@ -47,6 +47,7 @@
 		THREE.CineonToneMapping
 		THREE.CineonToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.AgXToneMapping
 		THREE.AgXToneMapping
+		THREE.NeutralToneMapping
 		THREE.CustomToneMapping
 		THREE.CustomToneMapping
 		</code>
 		</code>
 		<p>
 		<p>
@@ -56,7 +57,9 @@
 		[example:webgl_tonemapping WebGL / tonemapping] 예제를 참고하세요.
 		[example:webgl_tonemapping WebGL / tonemapping] 예제를 참고하세요.
 
 
 		</p>
 		</p>
-
+		<p>
+			THREE.NeutralToneMapping is an implementation based on the Khronos 3D Commerce Group standard tone mapping.
+		</p>
 
 
 		<h2>소스 코드</h2>
 		<h2>소스 코드</h2>
 
 

+ 5 - 1
docs/api/pt-br/constants/Renderer.html

@@ -47,6 +47,7 @@
 		THREE.CineonToneMapping
 		THREE.CineonToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.AgXToneMapping
 		THREE.AgXToneMapping
+		THREE.NeutralToneMapping
 		THREE.CustomToneMapping
 		THREE.CustomToneMapping
 		</code>
 		</code>
 		<p>
 		<p>
@@ -55,10 +56,13 @@
 		médio da faixa dinâmica baixa de um monitor de computador padrão ou tela de dispositivo móvel.
 		médio da faixa dinâmica baixa de um monitor de computador padrão ou tela de dispositivo móvel.
 		</p>
 		</p>
 		<p>
 		<p>
-		THREE.LinearToneMapping, THREE.ReinhardToneMapping, THREE.CineonToneMapping, THREE.ACESFilmicToneMapping e THREE.AgXToneMapping são implementações internas de mapeamento de tom.
+		THREE.LinearToneMapping, THREE.ReinhardToneMapping, THREE.CineonToneMapping, THREE.ACESFilmicToneMapping, THREE.AgXToneMapping e THREE.NeutralToneMapping são implementações internas de mapeamento de tom.
 		THREE.CustomToneMapping espera uma implementação personalizada modificando o código GLSL do sombreador de fragmento do material.  
 		THREE.CustomToneMapping espera uma implementação personalizada modificando o código GLSL do sombreador de fragmento do material.  
 		Vejo o exemplo [example:webgl_tonemapping WebGL / tonemapping].
 		Vejo o exemplo [example:webgl_tonemapping WebGL / tonemapping].
 		</p>
 		</p>
+		<p>
+			THREE.NeutralToneMapping is an implementation based on the Khronos 3D Commerce Group standard tone mapping.
+		</p>
 
 
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 

+ 4 - 1
docs/api/zh/constants/Renderer.html

@@ -47,6 +47,7 @@
 		THREE.CineonToneMapping
 		THREE.CineonToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.ACESFilmicToneMapping
 		THREE.AgXToneMapping
 		THREE.AgXToneMapping
+		THREE.NeutralToneMapping
 		THREE.CustomToneMapping
 		THREE.CustomToneMapping
 		</code>
 		</code>
 		<p>
 		<p>
@@ -57,7 +58,9 @@
 		请查看示例:[example:webgl_tonemapping WebGL / tonemapping]。
 		请查看示例:[example:webgl_tonemapping WebGL / tonemapping]。
 
 
 		</p>
 		</p>
-
+		<p>
+			THREE.NeutralToneMapping is an implementation based on the Khronos 3D Commerce Group standard tone mapping.
+		</p>
 
 
 		<h2>源代码</h2>
 		<h2>源代码</h2>
 
 

+ 2 - 1
editor/js/Sidebar.Project.Renderer.js

@@ -68,7 +68,8 @@ function SidebarProjectRenderer( editor ) {
 		2: 'Reinhard',
 		2: 'Reinhard',
 		3: 'Cineon',
 		3: 'Cineon',
 		4: 'ACESFilmic',
 		4: 'ACESFilmic',
-		6: 'AgX'
+		6: 'AgX',
+		7: 'Neutral'
 	} ).setWidth( '120px' ).onChange( updateToneMapping );
 	} ).setWidth( '120px' ).onChange( updateToneMapping );
 	toneMappingSelect.setValue( config.getKey( 'project/renderer/toneMapping' ) );
 	toneMappingSelect.setValue( config.getKey( 'project/renderer/toneMapping' ) );
 	toneMappingRow.add( toneMappingSelect );
 	toneMappingRow.add( toneMappingSelect );

+ 2 - 2
examples/jsm/postprocessing/OutputPass.js

@@ -7,7 +7,7 @@ import {
 	CineonToneMapping,
 	CineonToneMapping,
 	AgXToneMapping,
 	AgXToneMapping,
 	ACESFilmicToneMapping,
 	ACESFilmicToneMapping,
-	KhronosNeutralToneMapping,
+	NeutralToneMapping,
 	SRGBTransfer
 	SRGBTransfer
 } from 'three';
 } from 'three';
 import { Pass, FullScreenQuad } from './Pass.js';
 import { Pass, FullScreenQuad } from './Pass.js';
@@ -62,7 +62,7 @@ class OutputPass extends Pass {
 			else if ( this._toneMapping === CineonToneMapping ) this.material.defines.CINEON_TONE_MAPPING = '';
 			else if ( this._toneMapping === CineonToneMapping ) this.material.defines.CINEON_TONE_MAPPING = '';
 			else if ( this._toneMapping === ACESFilmicToneMapping ) this.material.defines.ACES_FILMIC_TONE_MAPPING = '';
 			else if ( this._toneMapping === ACESFilmicToneMapping ) this.material.defines.ACES_FILMIC_TONE_MAPPING = '';
 			else if ( this._toneMapping === AgXToneMapping ) this.material.defines.AGX_TONE_MAPPING = '';
 			else if ( this._toneMapping === AgXToneMapping ) this.material.defines.AGX_TONE_MAPPING = '';
-			else if ( this._toneMapping === KhronosNeutralToneMapping ) this.material.defines.KHRONOS_NEUTRAL_TONE_MAPPING = '';
+			else if ( this._toneMapping === NeutralToneMapping ) this.material.defines.NEUTRAL_TONE_MAPPING = '';
 
 
 			this.material.needsUpdate = true;
 			this.material.needsUpdate = true;
 
 

+ 2 - 2
examples/jsm/shaders/OutputShader.js

@@ -64,9 +64,9 @@ const OutputShader = {
 
 
 				gl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb );
 				gl_FragColor.rgb = AgXToneMapping( gl_FragColor.rgb );
 
 
-			#elif defined( KHRONOS_NEUTRAL_TONE_MAPPING )
+			#elif defined( NEUTRAL_TONE_MAPPING )
 
 
-				gl_FragColor.rgb = KhronosNeutralToneMapping( gl_FragColor.rgb );
+				gl_FragColor.rgb = NeutralToneMapping( gl_FragColor.rgb );
 
 
 			#endif
 			#endif
 
 

+ 1 - 0
examples/webgl_tonemapping.html

@@ -50,6 +50,7 @@
 				Cineon: THREE.CineonToneMapping,
 				Cineon: THREE.CineonToneMapping,
 				ACESFilmic: THREE.ACESFilmicToneMapping,
 				ACESFilmic: THREE.ACESFilmicToneMapping,
 				AgX: THREE.AgXToneMapping,
 				AgX: THREE.AgXToneMapping,
+				Neutral: THREE.NeutralToneMapping,
 				Custom: THREE.CustomToneMapping
 				Custom: THREE.CustomToneMapping
 			};
 			};
 
 

+ 1 - 1
src/constants.js

@@ -57,7 +57,7 @@ export const CineonToneMapping = 3;
 export const ACESFilmicToneMapping = 4;
 export const ACESFilmicToneMapping = 4;
 export const CustomToneMapping = 5;
 export const CustomToneMapping = 5;
 export const AgXToneMapping = 6;
 export const AgXToneMapping = 6;
-export const KhronosNeutralToneMapping = 7;
+export const NeutralToneMapping = 7;
 export const AttachedBindMode = 'attached';
 export const AttachedBindMode = 'attached';
 export const DetachedBindMode = 'detached';
 export const DetachedBindMode = 'detached';
 
 

+ 1 - 1
src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js

@@ -167,7 +167,7 @@ vec3 AgXToneMapping( vec3 color ) {
 
 
 // https://modelviewer.dev/examples/tone-mapping
 // https://modelviewer.dev/examples/tone-mapping
 
 
-vec3 KhronosNeutralToneMapping( vec3 color ) {
+vec3 NeutralToneMapping( vec3 color ) {
 	float startCompression = 0.8 - 0.04;
 	float startCompression = 0.8 - 0.04;
 	float desaturation = 0.15;
 	float desaturation = 0.15;
 
 

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

@@ -1,7 +1,7 @@
 import { WebGLUniforms } from './WebGLUniforms.js';
 import { WebGLUniforms } from './WebGLUniforms.js';
 import { WebGLShader } from './WebGLShader.js';
 import { WebGLShader } from './WebGLShader.js';
 import { ShaderChunk } from '../shaders/ShaderChunk.js';
 import { ShaderChunk } from '../shaders/ShaderChunk.js';
-import { NoToneMapping, AddOperation, MixOperation, MultiplyOperation, CubeRefractionMapping, CubeUVReflectionMapping, CubeReflectionMapping, PCFSoftShadowMap, PCFShadowMap, VSMShadowMap, AgXToneMapping, ACESFilmicToneMapping, KhronosNeutralToneMapping, CineonToneMapping, CustomToneMapping, ReinhardToneMapping, LinearToneMapping, GLSL3, LinearSRGBColorSpace, SRGBColorSpace, LinearDisplayP3ColorSpace, DisplayP3ColorSpace, P3Primaries, Rec709Primaries } from '../../constants.js';
+import { NoToneMapping, AddOperation, MixOperation, MultiplyOperation, CubeRefractionMapping, CubeUVReflectionMapping, CubeReflectionMapping, PCFSoftShadowMap, PCFShadowMap, VSMShadowMap, AgXToneMapping, ACESFilmicToneMapping, NeutralToneMapping, CineonToneMapping, CustomToneMapping, ReinhardToneMapping, LinearToneMapping, GLSL3, LinearSRGBColorSpace, SRGBColorSpace, LinearDisplayP3ColorSpace, DisplayP3ColorSpace, P3Primaries, Rec709Primaries } from '../../constants.js';
 import { ColorManagement } from '../../math/ColorManagement.js';
 import { ColorManagement } from '../../math/ColorManagement.js';
 
 
 // From https://www.khronos.org/registry/webgl/extensions/KHR_parallel_shader_compile/
 // From https://www.khronos.org/registry/webgl/extensions/KHR_parallel_shader_compile/
@@ -124,8 +124,8 @@ function getToneMappingFunction( functionName, toneMapping ) {
 			toneMappingName = 'AgX';
 			toneMappingName = 'AgX';
 			break;
 			break;
 
 
-		case KhronosNeutralToneMapping:
-			toneMappingName = 'KhronosNeutral';
+		case NeutralToneMapping:
+			toneMappingName = 'Neutral';
 			break;
 			break;
 
 
 		case CustomToneMapping:
 		case CustomToneMapping:

+ 1 - 1
test/unit/src/constants.tests.js

@@ -72,7 +72,7 @@ export default QUnit.module( 'Constants', () => {
 		assert.equal( Constants.ACESFilmicToneMapping, 4, 'ACESFilmicToneMapping is equal to 4' );
 		assert.equal( Constants.ACESFilmicToneMapping, 4, 'ACESFilmicToneMapping is equal to 4' );
 		assert.equal( Constants.CustomToneMapping, 5, 'CustomToneMapping is equal to 5' );
 		assert.equal( Constants.CustomToneMapping, 5, 'CustomToneMapping is equal to 5' );
 		assert.equal( Constants.AgXToneMapping, 6, 'AgXToneMapping is equal to 6' );
 		assert.equal( Constants.AgXToneMapping, 6, 'AgXToneMapping is equal to 6' );
-		assert.equal( Constants.KhronosNeutralToneMapping, 7, 'KhronosNeutralToneMapping is equal to 7' );
+		assert.equal( Constants.NeutralToneMapping, 7, 'NeutralToneMapping is equal to 7' );
 
 
 		assert.equal( Constants.AttachedBindMode, 'attached', 'AttachedBindMode is equal to attached' );
 		assert.equal( Constants.AttachedBindMode, 'attached', 'AttachedBindMode is equal to attached' );
 		assert.equal( Constants.DetachedBindMode, 'detached', 'DetachedBindMode is equal to detached' );
 		assert.equal( Constants.DetachedBindMode, 'detached', 'DetachedBindMode is equal to detached' );