浏览代码

split normal_fragment to normal_fragment_begin and normal_fragment_maps

sunag 7 年之前
父节点
当前提交
6fef1bb5e8

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

@@ -58,7 +58,8 @@ import metalnessmap_pars_fragment from './ShaderChunk/metalnessmap_pars_fragment
 import morphnormal_vertex from './ShaderChunk/morphnormal_vertex.glsl';
 import morphtarget_pars_vertex from './ShaderChunk/morphtarget_pars_vertex.glsl';
 import morphtarget_vertex from './ShaderChunk/morphtarget_vertex.glsl';
-import normal_fragment from './ShaderChunk/normal_fragment.glsl';
+import normal_fragment_begin from './ShaderChunk/normal_fragment_begin.glsl';
+import normal_fragment_maps from './ShaderChunk/normal_fragment_maps.glsl';
 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';
@@ -173,7 +174,8 @@ export var ShaderChunk = {
 	morphnormal_vertex: morphnormal_vertex,
 	morphtarget_pars_vertex: morphtarget_pars_vertex,
 	morphtarget_vertex: morphtarget_vertex,
-	normal_fragment: normal_fragment,
+	normal_fragment_begin: normal_fragment_begin,
+	normal_fragment_maps: normal_fragment_maps,
 	normalmap_pars_fragment: normalmap_pars_fragment,
 	packing: packing,
 	premultiplied_alpha_fragment: premultiplied_alpha_fragment,

+ 0 - 10
src/renderers/shaders/ShaderChunk/normal_fragment.glsl → src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl

@@ -17,13 +17,3 @@
 	#endif
 
 #endif
-
-#ifdef USE_NORMALMAP
-
-	normal = perturbNormal2Arb( -vViewPosition, normal );
-
-#elif defined( USE_BUMPMAP )
-
-	normal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );
-
-#endif

+ 9 - 0
src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl

@@ -0,0 +1,9 @@
+#ifdef USE_NORMALMAP
+
+	normal = perturbNormal2Arb( -vViewPosition, normal );
+
+#elif defined( USE_BUMPMAP )
+
+	normal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );
+
+#endif

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

@@ -45,7 +45,8 @@ void main() {
 	#include <alphamap_fragment>
 	#include <alphatest_fragment>
 	#include <specularmap_fragment>
-	#include <normal_fragment>
+	#include <normal_fragment_begin>
+	#include <normal_fragment_maps>
 	#include <emissivemap_fragment>
 
 	// accumulation

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

@@ -60,7 +60,8 @@ void main() {
 	#include <alphatest_fragment>
 	#include <roughnessmap_fragment>
 	#include <metalnessmap_fragment>
-	#include <normal_fragment>
+	#include <normal_fragment_begin>
+	#include <normal_fragment_maps>
 	#include <emissivemap_fragment>
 
 	// accumulation

+ 2 - 1
src/renderers/shaders/ShaderLib/normal_frag.glsl

@@ -23,7 +23,8 @@ uniform float opacity;
 void main() {
 
 	#include <logdepthbuf_fragment>
-	#include <normal_fragment>
+	#include <normal_fragment_begin>
+	#include <normal_fragment_maps>
 
 	gl_FragColor = vec4( packNormalToRGB( normal ), opacity );