diff --git a/examples/jsm/effects/OutlineEffect.js b/examples/jsm/effects/OutlineEffect.js index e2fd11417fe433..aed3dc541084dc 100644 --- a/examples/jsm/effects/OutlineEffect.js +++ b/examples/jsm/effects/OutlineEffect.js @@ -135,7 +135,6 @@ class OutlineEffect { ' #include ', ' #include ', ' #include ', - ' #include ', '}' diff --git a/examples/jsm/lines/LineMaterial.js b/examples/jsm/lines/LineMaterial.js index f14534aa964f2b..22a9680e9dd715 100644 --- a/examples/jsm/lines/LineMaterial.js +++ b/examples/jsm/lines/LineMaterial.js @@ -396,7 +396,6 @@ ShaderLib[ 'line' ] = { #include #include #include - #include } ` diff --git a/examples/jsm/materials/LDrawConditionalLineMaterial.js b/examples/jsm/materials/LDrawConditionalLineMaterial.js index 9bb6be87afe1b7..55be277626ea54 100644 --- a/examples/jsm/materials/LDrawConditionalLineMaterial.js +++ b/examples/jsm/materials/LDrawConditionalLineMaterial.js @@ -119,7 +119,6 @@ class LDrawConditionalLineMaterial extends ShaderMaterial { #include #include #include - #include } `, diff --git a/examples/jsm/materials/MeshGouraudMaterial.js b/examples/jsm/materials/MeshGouraudMaterial.js index 44526da8d2656e..f87057b633bf7e 100644 --- a/examples/jsm/materials/MeshGouraudMaterial.js +++ b/examples/jsm/materials/MeshGouraudMaterial.js @@ -303,7 +303,6 @@ const GouraudShader = { #include #include #include - #include #include }` diff --git a/examples/screenshots/webgl_loader_ldraw.jpg b/examples/screenshots/webgl_loader_ldraw.jpg index 2b17a519f19bc7..2ca09c3775313a 100644 Binary files a/examples/screenshots/webgl_loader_ldraw.jpg and b/examples/screenshots/webgl_loader_ldraw.jpg differ diff --git a/examples/screenshots/webgl_materials_blending.jpg b/examples/screenshots/webgl_materials_blending.jpg index 20a5bbf341bc05..525169b12de17c 100644 Binary files a/examples/screenshots/webgl_materials_blending.jpg and b/examples/screenshots/webgl_materials_blending.jpg differ diff --git a/manual/en/indexed-textures.html b/manual/en/indexed-textures.html index 1f0430cace0fc0..afffeb2b56b790 100644 --- a/manual/en/indexed-textures.html +++ b/manual/en/indexed-textures.html @@ -319,7 +319,6 @@

Indexed Textures for Picking and Color

vec3 outgoingLight = reflectedLight.indirectDiffuse; #include <envmap_fragment> gl_FragColor = vec4( outgoingLight, diffuseColor.a ); - #include <premultiplied_alpha_fragment> #include <tonemapping_fragment> #include <colorspace_fragment> #include <fog_fragment> diff --git a/manual/fr/indexed-textures.html b/manual/fr/indexed-textures.html index 3a9a3bc0739a31..dcce7cdb29b556 100644 --- a/manual/fr/indexed-textures.html +++ b/manual/fr/indexed-textures.html @@ -319,7 +319,6 @@

Textures Indexées pour la Sélection et la Couleur

vec3 outgoingLight = reflectedLight.indirectDiffuse; #include <envmap_fragment> gl_FragColor = vec4( outgoingLight, diffuseColor.a ); - #include <premultiplied_alpha_fragment> #include <tonemapping_fragment> #include <colorspace_fragment> #include <fog_fragment> diff --git a/manual/ja/indexed-textures.html b/manual/ja/indexed-textures.html index b60f50974fb769..9b96f4e80c932f 100644 --- a/manual/ja/indexed-textures.html +++ b/manual/ja/indexed-textures.html @@ -299,7 +299,6 @@

圧縮テクスチャのピッキングとカラー

vec3 outgoingLight = reflectedLight.indirectDiffuse; #include <envmap_fragment> gl_FragColor = vec4( outgoingLight, diffuseColor.a ); - #include <premultiplied_alpha_fragment> #include <tonemapping_fragment> #include <colorspace_fragment> #include <fog_fragment> diff --git a/manual/ko/indexed-textures.html b/manual/ko/indexed-textures.html index cccc23666ad5ee..44726b6deb4028 100644 --- a/manual/ko/indexed-textures.html +++ b/manual/ko/indexed-textures.html @@ -266,7 +266,6 @@

피킹과 색상에 인덱스 텍스처 사용하기

vec3 outgoingLight = reflectedLight.indirectDiffuse; #include <envmap_fragment> gl_FragColor = vec4( outgoingLight, diffuseColor.a ); - #include <premultiplied_alpha_fragment> #include <tonemapping_fragment> #include <colorspace_fragment> #include <fog_fragment> diff --git a/manual/zh/indexed-textures.html b/manual/zh/indexed-textures.html index 78108fa3a1651a..42ac21ce9b7c2d 100644 --- a/manual/zh/indexed-textures.html +++ b/manual/zh/indexed-textures.html @@ -291,7 +291,6 @@

使用纹理索引来拾取和着色

vec3 outgoingLight = reflectedLight.indirectDiffuse; #include <envmap_fragment> gl_FragColor = vec4( outgoingLight, diffuseColor.a ); - #include <premultiplied_alpha_fragment> #include <tonemapping_fragment> #include <colorspace_fragment> #include <fog_fragment> diff --git a/src/renderers/shaders/ShaderChunk.js b/src/renderers/shaders/ShaderChunk.js index 4d7d78f0d63f67..caba4dada6ccca 100644 --- a/src/renderers/shaders/ShaderChunk.js +++ b/src/renderers/shaders/ShaderChunk.js @@ -81,7 +81,6 @@ import clearcoat_pars_fragment from './ShaderChunk/clearcoat_pars_fragment.glsl. import iridescence_pars_fragment from './ShaderChunk/iridescence_pars_fragment.glsl.js'; import opaque_fragment from './ShaderChunk/opaque_fragment.glsl.js'; import packing from './ShaderChunk/packing.glsl.js'; -import premultiplied_alpha_fragment from './ShaderChunk/premultiplied_alpha_fragment.glsl.js'; import project_vertex from './ShaderChunk/project_vertex.glsl.js'; import dithering_fragment from './ShaderChunk/dithering_fragment.glsl.js'; import dithering_pars_fragment from './ShaderChunk/dithering_pars_fragment.glsl.js'; @@ -208,7 +207,6 @@ export const ShaderChunk = { iridescence_pars_fragment: iridescence_pars_fragment, opaque_fragment: opaque_fragment, packing: packing, - premultiplied_alpha_fragment: premultiplied_alpha_fragment, project_vertex: project_vertex, dithering_fragment: dithering_fragment, dithering_pars_fragment: dithering_pars_fragment, diff --git a/src/renderers/shaders/ShaderChunk/opaque_fragment.glsl.js b/src/renderers/shaders/ShaderChunk/opaque_fragment.glsl.js index 07fb7207a8665b..fe9d410cd8d207 100644 --- a/src/renderers/shaders/ShaderChunk/opaque_fragment.glsl.js +++ b/src/renderers/shaders/ShaderChunk/opaque_fragment.glsl.js @@ -7,5 +7,13 @@ diffuseColor.a = 1.0; diffuseColor.a *= material.transmissionAlpha; #endif +#ifdef PREMULTIPLIED_ALPHA + +gl_FragColor = vec4( outgoingLight * diffuseColor.a, diffuseColor.a ); + +#else + gl_FragColor = vec4( outgoingLight, diffuseColor.a ); + +#endif `; diff --git a/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js b/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js deleted file mode 100644 index 497a583559742f..00000000000000 --- a/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +++ /dev/null @@ -1,8 +0,0 @@ -export default /* glsl */` -#ifdef PREMULTIPLIED_ALPHA - - // Get normal blending with premultipled, use with CustomBlending, OneFactor, OneMinusSrcAlphaFactor, AddEquation. - gl_FragColor.rgb *= gl_FragColor.a; - -#endif -`; diff --git a/src/renderers/shaders/ShaderLib/linedashed.glsl.js b/src/renderers/shaders/ShaderLib/linedashed.glsl.js index e04cfcefd396cd..7299f1f1e37477 100644 --- a/src/renderers/shaders/ShaderLib/linedashed.glsl.js +++ b/src/renderers/shaders/ShaderLib/linedashed.glsl.js @@ -70,7 +70,6 @@ void main() { #include #include #include - #include } `; diff --git a/src/renderers/shaders/ShaderLib/meshbasic.glsl.js b/src/renderers/shaders/ShaderLib/meshbasic.glsl.js index c9ee73866bde74..e7f08f30619169 100644 --- a/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +++ b/src/renderers/shaders/ShaderLib/meshbasic.glsl.js @@ -109,7 +109,6 @@ void main() { #include #include #include - #include #include } diff --git a/src/renderers/shaders/ShaderLib/meshlambert.glsl.js b/src/renderers/shaders/ShaderLib/meshlambert.glsl.js index f52ed6e8d58827..65d33e0a898187 100644 --- a/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +++ b/src/renderers/shaders/ShaderLib/meshlambert.glsl.js @@ -117,7 +117,6 @@ void main() { #include #include #include - #include #include } diff --git a/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js b/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js index e83c141597a10a..623aa53c606516 100644 --- a/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +++ b/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js @@ -105,7 +105,6 @@ void main() { #include #include #include - #include #include } diff --git a/src/renderers/shaders/ShaderLib/meshphong.glsl.js b/src/renderers/shaders/ShaderLib/meshphong.glsl.js index 3b9a59e0a32c1d..0c1f55d17ba026 100644 --- a/src/renderers/shaders/ShaderLib/meshphong.glsl.js +++ b/src/renderers/shaders/ShaderLib/meshphong.glsl.js @@ -119,7 +119,6 @@ void main() { #include #include #include - #include #include } diff --git a/src/renderers/shaders/ShaderLib/meshphysical.glsl.js b/src/renderers/shaders/ShaderLib/meshphysical.glsl.js index fe57808fc15c6e..726d1e3fcb7a79 100644 --- a/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +++ b/src/renderers/shaders/ShaderLib/meshphysical.glsl.js @@ -217,7 +217,6 @@ void main() { #include #include #include - #include #include } diff --git a/src/renderers/shaders/ShaderLib/meshtoon.glsl.js b/src/renderers/shaders/ShaderLib/meshtoon.glsl.js index 5ea0f7b623e4d2..ff6eaee57dbbce 100644 --- a/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +++ b/src/renderers/shaders/ShaderLib/meshtoon.glsl.js @@ -111,7 +111,6 @@ void main() { #include #include #include - #include #include } diff --git a/src/renderers/shaders/ShaderLib/points.glsl.js b/src/renderers/shaders/ShaderLib/points.glsl.js index 51dcdf566ac471..f558d82f0229a0 100644 --- a/src/renderers/shaders/ShaderLib/points.glsl.js +++ b/src/renderers/shaders/ShaderLib/points.glsl.js @@ -81,7 +81,6 @@ void main() { #include #include #include - #include } `;