Browse Source

flip refraction option

SUNAG 9 years ago
parent
commit
48d93817c4
1 changed files with 23 additions and 4 deletions
  1. 23 4
      examples/webgl_postprocessing_nodes.html

+ 23 - 4
examples/webgl_postprocessing_nodes.html

@@ -334,18 +334,29 @@
 
 
 						var normal = new THREE.TextureNode( decalNormal );
 						var normal = new THREE.TextureNode( decalNormal );
 						var normalXY = new THREE.SwitchNode( normal, 'xy' );
 						var normalXY = new THREE.SwitchNode( normal, 'xy' );
+						var scale = new THREE.FloatNode( .5 );
+						var flip = new THREE.Vector2Node( -1, 1 );
 
 
-						var offsetNormal = new THREE.OperatorNode(
+						var normalXYFlip = new THREE.Math1Node(
 							normalXY,
 							normalXY,
+							THREE.Math1Node.INVERT
+						);
+
+						var offsetNormal = new THREE.OperatorNode(
+							normalXYFlip,
 							new THREE.FloatNode( .5 ),
 							new THREE.FloatNode( .5 ),
 							THREE.OperatorNode.ADD
 							THREE.OperatorNode.ADD
 						);
 						);
 
 
-						var scale = new THREE.FloatNode( .5 );
+						var scaleTexture = new THREE.OperatorNode(
+							new THREE.SwitchNode( normal, 'z' ),
+							offsetNormal,
+							THREE.OperatorNode.MUL
+						);
 
 
 						var scaleNormal = new THREE.Math3Node(
 						var scaleNormal = new THREE.Math3Node(
 							new THREE.FloatNode( 1 ),
 							new THREE.FloatNode( 1 ),
-							offsetNormal,
+							scaleTexture,
 							scale,
 							scale,
 							THREE.Math3Node.MIX
 							THREE.Math3Node.MIX
 						);
 						);
@@ -368,6 +379,14 @@
 
 
 						}, false, 0, 1 );
 						}, false, 0, 1 );
 
 
+						addGui( 'invert', false, function( val ) {
+
+							offsetNormal.a = val ? normalXYFlip : normalXY;
+
+							nodepass.build();
+
+						} );
+
 					break;
 					break;
 
 
 					case 'mosaic':
 					case 'mosaic':
@@ -435,7 +454,7 @@
 
 
 							nodepass.build();
 							nodepass.build();
 
 
-						}, false, 0, 1 );
+						} );
 
 
 					break;
 					break;