startDraw3D

GPGPU.startDraw3D(draw_obj)

3D表示を開始します。

ソース

startDraw3D(draw_obj) {
    this.drawObj = draw_obj;
    this.drawParam = {
        xRot : 0,
        yRot : 0,
        z    : -5.0
    }

    var lastMouseX = null;
    var lastMouseY = null;

    // mousemoveのイベント リスナーを登録する。
    this.canvas.addEventListener('mousemove', function (event) {
        var newX = event.clientX;
        var newY = event.clientY;

        if (event.buttons != 0 && lastMouseX != null) {

            this.drawParam.xRot += (newY -lastMouseY) / 300;
            this.drawParam.yRot += (newX - lastMouseX) / 300;
        }

        lastMouseX = newX
        lastMouseY = newY;
    }.bind(this));

    // touchmoveのイベント リスナーを登録する。
    this.canvas.addEventListener('touchmove', function (event) {
        // タッチによる画面スクロールを止める
        event.preventDefault();

        var newX = event.changedTouches[0].clientX;
        var newY = event.changedTouches[0].clientY;

        if (lastMouseX != null) {

            this.drawParam.xRot += (newY - lastMouseY) / 300;
            this.drawParam.yRot += (newX - lastMouseX) / 300;
        }

        lastMouseX = newX
        lastMouseY = newY;
    }.bind(this), false);

    // wheelのイベント リスナーを登録する。
    this.canvas.addEventListener("wheel", function (e) {
        this.drawParam.z += 0.02 * e.deltaY;

        // ホイール操作によるスクロールを無効化する
        e.preventDefault();
    }.bind(this));

    // 3D表示をする。
    this.drawScene();
}