Matthias Mullie has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/386193 )

Change subject: [WIP] Improve 3D display
......................................................................

[WIP] Improve 3D display

Also todo: 3d2png

Bug: T178360
Change-Id: I8ca5bd13ed490d56cfa38834a37d2dca0bf248b5
---
M modules/mmv.3d.js
1 file changed, 27 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/3D 
refs/changes/93/386193/1

diff --git a/modules/mmv.3d.js b/modules/mmv.3d.js
index 4d2e0ec..545762a 100644
--- a/modules/mmv.3d.js
+++ b/modules/mmv.3d.js
@@ -31,26 +31,30 @@
        TD.createScene = function () {
                var threed = this,
                        dimensions = this.dimensionsFunc(),
-                       ambient = new THREE.AmbientLight( 0x666666 ),
-                       dlight = new THREE.DirectionalLight( 0x999999 );
+                       ambient = new THREE.AmbientLight( 0xffffff, 0.1 ),
+                       light = new THREE.SpotLight( 0xffffff, 1 );
 
-               dlight.position.set( 0, 0, 1 );
-               dlight.castShadow = true;
+               // @todo: adjust position to what makes sense for all images
+               light.position.set( -100, 50, 25 );
+               light.castShadow = true;
+               light.shadow.mapSize.width = dimensions.width;
+               light.shadow.mapSize.height = dimensions.height;
+
+               this.camera = new THREE.PerspectiveCamera( 60, 
dimensions.ratio, 1, 5000 );
+               this.camera.up.set( 0, 0, 1 );
+               this.camera.add( new THREE.PointLight( 0xffffff, 0.2 ) );
+               this.camera.add( light );
 
                this.scene = new THREE.Scene();
-               this.camera = new THREE.PerspectiveCamera( 60, 
dimensions.ratio, 1, 5000 );
+               this.scene.add( this.camera );
+               this.scene.add( ambient );
+
                this.manager = new THREE.LoadingManager();
 
-               this.camera.up.set( 0, 0, 1 );
-               this.camera.add( new THREE.PointLight( 0xffffff, 0.4 ) );
-
-               this.scene.add( ambient );
-               this.scene.add( dlight );
-               this.scene.add( this.camera );
-
                this.renderer = new THREE.WebGLRenderer();
-
                this.renderer.setClearColor( 0x222222 );
+               this.renderer.shadowMap.enabled = true;
+               this.renderer.shadowMap.renderReverseSided = false;
 
                this.controls = new THREE.OrbitControls( this.camera, 
this.renderer.domElement );
                this.controls.addEventListener( 'change', $.proxy( function () 
{ threed.render(); }, threed ) );
@@ -86,7 +90,15 @@
        };
 
        TD.geometryToObject = function ( geometry ) {
-               var material = new THREE.MeshPhongMaterial( { color: 0xF8F9FA, 
shading: THREE.FlatShading } );
+               geometry = new THREE.Geometry().fromBufferGeometry( geometry );
+               geometry.mergeVertices();
+               geometry.computeFaceNormals();
+               geometry.computeVertexNormals();
+
+               // @todo figure out what material/options to use
+//             var material = new THREE.MeshPhongMaterial( { color: 0xf0e6cc, 
shading: THREE.SmoothShading } );
+//             var material = new THREE.MeshLambertMaterial( { color: 
0xf0e6cc, shininess: 0, specular: 0x000000 } );
+               var material = new THREE.MeshStandardMaterial( { color: 
0xf0e6cc, shading: THREE.FlatShading, shininess: 0, specular: 0x000000, 
roughness: 1 } );
 
                return new THREE.Mesh( geometry, material );
        };
@@ -109,6 +121,7 @@
                        }
 
                        object.castShadow = true;
+                       object.receiveShadow = true;
 
                        threed.center( object );
                        threed.scene.add( object );

-- 
To view, visit https://gerrit.wikimedia.org/r/386193
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I8ca5bd13ed490d56cfa38834a37d2dca0bf248b5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/3D
Gerrit-Branch: master
Gerrit-Owner: Matthias Mullie <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to