Fusion.Engine.Graphics.SkySphere.Refine C# (CSharp) Method

Refine() static private method

static private Refine ( Triangle initialShape ) : Triangle[]
initialShape Triangle
return Triangle[]
		static Triangle[] Refine ( Triangle[] initialShape )
		{
			List<Triangle> shape = new List<Triangle>();

			foreach ( var tri in initialShape ) {

				var a = tri.A;
				var b = tri.B;
				var c = tri.C;
				var d = Vector3.Lerp( a, b, 0.5f ).Normalized();
				var e = Vector3.Lerp( a, c, 0.5f ).Normalized();
				var f = Vector3.Lerp( c, b, 0.5f ).Normalized();

				shape.Add( new Triangle( a, d, e ) );
				shape.Add( new Triangle( d, b, f ) );
				shape.Add( new Triangle( e, f, c ) );
				shape.Add( new Triangle( e, d, f ) );
			}			

			return shape.ToArray();
		}