Here's the patch to MeshHelper to automatically duplicate the verts
for each index, which ends up causing the shader to shade flat.

@@ -283,7 +284,7 @@
                * @param name                           [optional] String. new 
name for the gnerated mesh.
Default = "";
                * @param material                       [optional] 
MaterialBase. new name for the
duplicated mesh. Default = null;
                */
-               public static function build(vertices:Vector.<Number>,
indices:Vector.<uint>, uvs:Vector.<Number>, name:String = "",
material:MaterialBase = null):Mesh
+               public static function build(vertices:Vector.<Number>,
indices:Vector.<uint>, uvs:Vector.<Number>, name:String = "",
material:MaterialBase = null, duplicateVertices:Boolean = false):Mesh
                {
                        var sub_geom:SubGeometry;
                        var geometry:Geometry = new Geometry();
@@ -291,8 +292,33 @@
                        
                        if(name != "")
                                m.name = name;
+                       
+                       if (duplicateVertices) {
+                               //create a vertex for each index
+                               var indices_dup : Vector.<uint> = new 
Vector.<uint>();
+                               var vertices_dup : Vector.<Number> = new 
Vector.<Number>();
+                               var uvs_dup : Vector.<Number> = new 
Vector.<Number>();
+                               
+                               for each (var meshIndex : uint in indices) {
+                                       indices_dup.push(indices_dup.length);
+                                       var mi : uint = meshIndex * 3;
+                                       vertices_dup.push(
+                                               vertices[mi],
+                                               vertices[mi + 1],
+                                               vertices[mi + 2]
+                                       );
+                                       var ui : uint = meshIndex * 2;
+                                       uvs_dup.push(
+                                               uvs[ui],
+                                               uvs[ui + 1]
+                                       );
+                               }
+                               vertices = vertices_dup;
+                               indices = indices_dup;
+                               uvs = uvs_dup;
+                       }


--
Justin Patrin
Developer Extraordinaire



On Thu, Mar 31, 2011 at 2:14 PM, Li <[email protected]> wrote:
> Thanks,that would be great. Happy it worked out for you
>

Reply via email to