diff --git a/examples/webgl_decals.html b/examples/webgl_decals.html
index db2289c961c917..401d3d1e4094fe 100644
--- a/examples/webgl_decals.html
+++ b/examples/webgl_decals.html
@@ -131,48 +131,42 @@
} );
- window.addEventListener( 'mousedown', function () {
+ window.addEventListener( 'pointerdown', function () {
moved = false;
}, false );
- window.addEventListener( 'mouseup', function () {
+ window.addEventListener( 'pointerup', function ( event ) {
- checkIntersection();
- if ( ! moved && intersection.intersects ) shoot();
+ if ( moved === false ) {
- } );
+ checkIntersection( event.clientX, event.clientY );
- window.addEventListener( 'mousemove', onTouchMove );
- window.addEventListener( 'touchmove', onTouchMove );
+ if ( intersection.intersects ) shoot();
- function onTouchMove( event ) {
+ }
- var x, y;
+ } );
- if ( event.changedTouches ) {
+ window.addEventListener( 'pointermove', onPointerMove );
- x = event.changedTouches[ 0 ].pageX;
- y = event.changedTouches[ 0 ].pageY;
+ function onPointerMove( event ) {
- } else {
+ if ( event.isPrimary ) {
- x = event.clientX;
- y = event.clientY;
+ checkIntersection( event.clientX, event.clientY );
}
- mouse.x = ( x / window.innerWidth ) * 2 - 1;
- mouse.y = - ( y / window.innerHeight ) * 2 + 1;
-
- checkIntersection();
-
}
- function checkIntersection() {
+ function checkIntersection( x, y ) {
+
+ if ( mesh === undefined ) return;
- if ( ! mesh ) return;
+ mouse.x = ( x / window.innerWidth ) * 2 - 1;
+ mouse.y = - ( y / window.innerHeight ) * 2 + 1;
raycaster.setFromCamera( mouse, camera );
raycaster.intersectObject( mesh, false, intersects );