From f45a70896b88bcd8f287e3db2b38457c601ce70a Mon Sep 17 00:00:00 2001 From: alteredq Date: Wed, 24 Aug 2011 05:46:16 +0200 Subject: [PATCH] Added heuristics to text example for long side faces to use flat shading. Also enabled antialiasing and disabled default postprocessing. --- examples/webgl_geometry_text.html | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/examples/webgl_geometry_text.html b/examples/webgl_geometry_text.html index 2e671d3b..80f1dbc1 100644 --- a/examples/webgl_geometry_text.html +++ b/examples/webgl_geometry_text.html @@ -121,7 +121,7 @@ var windowHalfX = window.innerWidth / 2; var windowHalfY = window.innerHeight / 2; - var postprocessing = { enabled : true }; + var postprocessing = { enabled : false }; var glow = 0.9; init(); @@ -222,7 +222,7 @@ plane.position.y = 100; scene.addChild( plane ); - renderer = new THREE.WebGLRenderer( { antialias: false } ); + renderer = new THREE.WebGLRenderer( { antialias: true } ); renderer.setSize( window.innerWidth, window.innerHeight ); renderer.setClearColor( scene.fog.color, 1 ); @@ -416,6 +416,8 @@ if ( ! bevelEnabled ) { + var triangleAreaHeuristics = 0.1 * ( height * size ); + for ( var i = 0; i < textGeo.faces.length; i ++ ) { var face = textGeo.faces[ i ]; @@ -429,8 +431,23 @@ } - } + var va = textGeo.vertices[ face.a ].position; + var vb = textGeo.vertices[ face.b ].position; + var vc = textGeo.vertices[ face.c ].position; + var s = THREE.GeometryUtils.triangleArea( va, vb, vc ); + + if ( s > triangleAreaHeuristics ) { + + for ( var j = 0; j < face.vertexNormals.length; j ++ ) { + + face.vertexNormals[ j ].copy( face.normal ); + + } + + } + + } }