コード例 #1
0
ファイル: Viewer.js プロジェクト: arsancube/osgjs
        ( function () {
            var canvas = mockup.createCanvas();
            var viewer = new Viewer( canvas );
            var createScene = function () {
                return Shape.createTexturedBoxGeometry( 0, 0, 0,
                    10, 10, 10 );
            };
            viewer.init();
            viewer.setupManipulator();

            viewer.setSceneData( createScene() );
            viewer.getCamera().getRenderer().draw = function () {}; // do nothing
            viewer.frame();

            var cullvisitor = viewer.getCamera().getRenderer().getCullVisitor();
            // with auto compute near far
            assert.approximately( cullvisitor._computedFar, 31.30036755335, 1e-5, 'check far' );
            assert.approximately( cullvisitor._computedNear, 18.6996324495, 1e-5, 'check near' );

            cullvisitor.reset();
            assert.equal( cullvisitor._computedNear, Number.POSITIVE_INFINITY, 'Check near after reset' );
            assert.equal( cullvisitor._computedFar, Number.NEGATIVE_INFINITY, 'Check far after reset' );

            mockup.removeCanvas( canvas );

        } )();
コード例 #2
0
ファイル: Viewer.js プロジェクト: arsancube/osgjs
        ( function () {

            var canvas = mockup.createCanvas();
            var viewer = new Viewer( canvas );

            viewer.setContextLostCallback( function () {
                assert.isOk( true, 'detected contextLost Lost' );
            } );

            window.cancelAnimationFrame = function () {
                assert.isOk( true, 'context lost does cancel render loop' );
            };

            viewer.init();

            var createScene = function () {
                return Shape.createTexturedBoxGeometry( 0, 0, 0,
                    10, 10, 10 );
            };
            viewer.setupManipulator();
            viewer.setSceneData( createScene() );
            viewer.getCamera().getRenderer().draw = function () {}; // do nothing

            var renderCount = 0;

            viewer.beginFrame = function () {
                renderCount++;
            };

            viewer.setDone( false );
            viewer.requestRedraw();
            viewer.frame();

            viewer.contextLost();

            viewer.frame();
            assert.isOk( renderCount === 1, 'no render after context Lost' );

        } )();