Added NodeJS Demo.
This commit is contained in:
1960
framework/WebGpu_node.js
Normal file
1960
framework/WebGpu_node.js
Normal file
File diff suppressed because it is too large
Load Diff
214
framework/eventManager_node.js
Normal file
214
framework/eventManager_node.js
Normal file
@@ -0,0 +1,214 @@
|
||||
// eventManager.js
|
||||
|
||||
import sdl from '@kmamal/sdl'
|
||||
|
||||
var isNode = true;
|
||||
|
||||
if ( typeof window === 'undefined' ) {
|
||||
|
||||
//isNode = false;
|
||||
|
||||
}
|
||||
|
||||
console.log("isNode", isNode);
|
||||
|
||||
export default class EventManager {
|
||||
|
||||
isDragging = false;
|
||||
|
||||
lastX = 0;
|
||||
|
||||
lastY = 0;
|
||||
|
||||
camera;
|
||||
|
||||
canvas;
|
||||
|
||||
setCanvas( canvas ) {
|
||||
|
||||
this.canvas = canvas;
|
||||
|
||||
|
||||
//this.registerEventListeners();
|
||||
|
||||
//this.handleResize();
|
||||
|
||||
}
|
||||
|
||||
setup( canvas, camera ) {
|
||||
|
||||
this.canvas = canvas;
|
||||
|
||||
this.camera = camera;
|
||||
|
||||
//this.registerEventListeners();
|
||||
|
||||
//this.handleResize();
|
||||
|
||||
}
|
||||
|
||||
registerEventListeners() {
|
||||
|
||||
this.canvas.addEventListener( "mousedown", this.onMouseDown.bind(this) );
|
||||
|
||||
this.canvas.addEventListener( "mouseup", this.onMouseUp.bind(this) );
|
||||
|
||||
this.canvas.addEventListener( "mouseleave", this.onMouseLeave.bind(this) );
|
||||
|
||||
this.canvas.addEventListener( "mousemove", this.onMouseMove.bind(this) );
|
||||
|
||||
this.canvas.addEventListener( "wheel", this.onWheel.bind(this), { passive: false } );
|
||||
|
||||
}
|
||||
|
||||
registerEventListenersNode() {
|
||||
|
||||
var that = this;
|
||||
|
||||
this.canvas.on('mouseMove', function( event ) {
|
||||
|
||||
that.mousemove( event )
|
||||
|
||||
});
|
||||
|
||||
this.canvas.on('mouseButtonDown', function( event ) {
|
||||
|
||||
that.mousedown( event )
|
||||
|
||||
});
|
||||
|
||||
this.canvas.on('mouseButtonUp', function( event ) {
|
||||
|
||||
that.mouseup( event )
|
||||
|
||||
});
|
||||
|
||||
|
||||
/*
|
||||
this.canvas.on( "mouseButtonDown", this.onMouseDown.bind(this) );
|
||||
|
||||
this.canvas.on( "mouseButtonUp", this.onMouseUp.bind(this) );
|
||||
|
||||
//this.canvas.on( "mouseleave", this.onMouseLeave.bind(this) );
|
||||
|
||||
this.canvas.on( "mouseMove", this.onMouseMove.bind(this) );
|
||||
|
||||
this.canvas.on( "mouseWheel", this.onWheel.bind(this), { passive: false } );
|
||||
*/
|
||||
}
|
||||
|
||||
resize( event ) {
|
||||
|
||||
this.canvas.width = event.width;
|
||||
|
||||
this.canvas.height = event.height;
|
||||
|
||||
//this.canvas.width = window.innerWidth;
|
||||
|
||||
//this.canvas.height = window.innerHeight;
|
||||
|
||||
}
|
||||
|
||||
mousedown( event ) {
|
||||
|
||||
|
||||
|
||||
this.isDragging = true;
|
||||
|
||||
if( isNode ) {
|
||||
|
||||
var mouseX = event.x;
|
||||
|
||||
var mouseY = event.y;
|
||||
|
||||
} else {
|
||||
|
||||
var mouseX = event.clientX;
|
||||
|
||||
var mouseY = event.clientY;
|
||||
|
||||
}
|
||||
|
||||
//console.log("mouseDownHandler", mouseX, mouseY);
|
||||
|
||||
if( isNode ) {
|
||||
|
||||
this.lastX = mouseX;
|
||||
|
||||
this.lastY = mouseY;
|
||||
|
||||
} else {
|
||||
|
||||
this.lastX = mouseX;
|
||||
|
||||
this.lastY = mouseY;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
mouseup( event ) {
|
||||
|
||||
this.isDragging = false;
|
||||
|
||||
}
|
||||
|
||||
mouseleave( event ) {
|
||||
|
||||
this.isDragging = false;
|
||||
|
||||
}
|
||||
|
||||
mousemove( event ) {
|
||||
|
||||
if( isNode ) {
|
||||
|
||||
var mouseX = event.x;
|
||||
|
||||
var mouseY = event.y;
|
||||
|
||||
} else {
|
||||
|
||||
var mouseX = event.clientX;
|
||||
|
||||
var mouseY = event.clientY;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if ( !this.isDragging ) return;
|
||||
|
||||
const deltaX = ( mouseX - this.lastX ) * 0.005;
|
||||
|
||||
const deltaY = ( mouseY - this.lastY ) * 0.005;
|
||||
|
||||
//console.log("mousemove", mouseX, mouseY);
|
||||
|
||||
this.camera.rotate( deltaX, -deltaY );
|
||||
|
||||
this.lastX = mouseX;
|
||||
|
||||
this.lastY = mouseY;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
wheel( event ) {
|
||||
|
||||
|
||||
const delta = event.deltaY * 0.01;
|
||||
|
||||
this.camera.zoom( delta );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user