diff --git a/packages/viewer/example/example.html b/packages/viewer/example/example.html
index 56b938bbf..082489bca 100644
--- a/packages/viewer/example/example.html
+++ b/packages/viewer/example/example.html
@@ -28,10 +28,11 @@
+
-
+
diff --git a/packages/viewer/src/app.js b/packages/viewer/src/app.js
index cbca76ae9..412399ed1 100644
--- a/packages/viewer/src/app.js
+++ b/packages/viewer/src/app.js
@@ -11,7 +11,23 @@ window.addEventListener( 'load', () => {
const token = 'e844747dc6f6b0b5c7d5fbd82d66de6e9529531d75'
-window.LoadData = async function LoadData( url ) {
+window.loadData = async function LoadData( url ) {
url = url || document.getElementById( 'objectUrlInput' ).value
await v.loadObject( url, token )
}
+
+window.viewerScreenshot = function() {
+ let data = v.interactions.screenshot() // transparent png.
+
+ let pop = window.open()
+ pop.document.title = 'super screenshot'
+ pop.document.body.style.backgroundColor = 'grey'
+
+ let img = new Image()
+ img.src = data
+ pop.document.body.appendChild( img )
+}
+
+window.zoomFast = function(){
+ v.interactions.zoomExtents( 0.95, false )
+}
diff --git a/packages/viewer/src/assets/example.html b/packages/viewer/src/assets/example.html
index 5267fb546..c2200cebb 100644
--- a/packages/viewer/src/assets/example.html
+++ b/packages/viewer/src/assets/example.html
@@ -28,10 +28,11 @@
+
-
+
diff --git a/packages/viewer/src/modules/InteractionHandler.js b/packages/viewer/src/modules/InteractionHandler.js
index d755e8ffe..ef2b531a6 100644
--- a/packages/viewer/src/modules/InteractionHandler.js
+++ b/packages/viewer/src/modules/InteractionHandler.js
@@ -150,6 +150,6 @@ export default class InteractionHandler {
}
screenshot() {
- return this.viewer.renderer.domElement.toDataUrl()
+ return this.viewer.renderer.domElement.toDataURL( 'image/png' )
}
}
diff --git a/packages/viewer/src/modules/Viewer.js b/packages/viewer/src/modules/Viewer.js
index 18fbd0b0c..ab58d2f3b 100644
--- a/packages/viewer/src/modules/Viewer.js
+++ b/packages/viewer/src/modules/Viewer.js
@@ -26,7 +26,7 @@ export default class Viewer extends EventEmitter {
this.camera.position.set( 1, 1, 1 )
this.camera.updateProjectionMatrix()
- this.renderer = new THREE.WebGLRenderer( { antialias: true, alpha: true } )
+ this.renderer = new THREE.WebGLRenderer( { antialias: true, alpha: true, preserveDrawingBuffer: true } )
this.renderer.setClearColor( 0xcccccc, 0 )
this.renderer.setPixelRatio( window.devicePixelRatio )
this.renderer.setSize( this.container.offsetWidth, this.container.offsetHeight )
@@ -44,7 +44,7 @@ export default class Viewer extends EventEmitter {
CameraControls.install( { THREE: THREE } )
this.controls = new CameraControls( this.camera, this.renderer.domElement )
- // this.controls.maxPolarAngle = Math.PI / 2
+ this.controls.maxPolarAngle = Math.PI / 2
this.composer = new EffectComposer( this.renderer )