|
@@ -66,7 +66,7 @@
|
|
|
|
|
|
var camera, scene, renderer;
|
|
|
|
|
|
- var mesh;
|
|
|
+ var mesh, materialShader;
|
|
|
|
|
|
var mouseX = 0;
|
|
|
var mouseY = 0;
|
|
@@ -91,11 +91,9 @@
|
|
|
scene = new THREE.Scene();
|
|
|
|
|
|
var material = new THREE.MeshNormalMaterial();
|
|
|
- material.onBeforeCompile = function () {
|
|
|
+ material.onBeforeCompile = function ( shader ) {
|
|
|
|
|
|
- var shader = this.__webglShader;
|
|
|
-
|
|
|
- // console.log( shader );
|
|
|
+ // console.log( shader )
|
|
|
|
|
|
shader.uniforms.time = { value: 0 };
|
|
|
|
|
@@ -105,6 +103,8 @@
|
|
|
'vec3 transformed = vec3( position.x + sin( time + position.y ) / 2.0, position.y, position.z );'
|
|
|
);
|
|
|
|
|
|
+ materialShader = shader;
|
|
|
+
|
|
|
};
|
|
|
|
|
|
loader = new THREE.JSONLoader();
|
|
@@ -177,11 +177,11 @@
|
|
|
mesh.rotation.y += 0.05 * ( targetX - mesh.rotation.y );
|
|
|
mesh.rotation.x += 0.05 * ( targetY - mesh.rotation.x );
|
|
|
|
|
|
- if ( mesh.material.__webglShader ) {
|
|
|
+ }
|
|
|
|
|
|
- mesh.material.__webglShader.uniforms.time.value = performance.now() / 1000;
|
|
|
+ if ( materialShader ) {
|
|
|
|
|
|
- }
|
|
|
+ materialShader.uniforms.time.value = performance.now() / 1000;
|
|
|
|
|
|
}
|
|
|
|