 					pIn.pos =  mul(vp, v[3]);
 					pIn.uv = tri[1].uv;
 					triStream.Append(pIn);
+          triStream.RestartStrip();
 
 					pIn.pos = mul(vp, v[4]);
 					pIn.uv = tri[1].uv;

				void geom(triangle GS_INPUT tri[3], inout TriangleStream<FS_INPUT> triStream)
				/*void geom(line GS_INPUT l[2], inout TriangleStream<FS_INPUT> triStream)*/
				{
					float3 up = float3(0, 1, 0);
					float3 look = _WorldSpaceCameraPos - tri[0].pos;
					look.y = 0;
					look = normalize(look);
					float3 right = cross(up, look);

					float halfS = 0.5f * _Size;
					float halfH = 0.1f * _Size;

					float4 v[12];
					v[0] = float4(tri[0].pos - halfH * up, 1.0f);
					v[1] = float4(tri[0].pos + halfH * up, 1.0f);
					v[2] = float4(tri[0].pos - halfH * up, 1.0f);
					v[3] = float4(tri[0].pos + halfH * up, 1.0f);
					v[4] = float4(tri[1].pos - halfH * up, 1.0f);
					v[5] = float4(tri[1].pos + halfH * up, 1.0f);
					v[6] = float4(tri[1].pos - halfH * up, 1.0f);
					v[7] = float4(tri[1].pos + halfH * up, 1.0f);
					v[8] = float4(tri[2].pos - halfH * up, 1.0f);
					v[9] = float4(tri[2].pos + halfH * up, 1.0f);
					v[10] = float4(tri[2].pos - halfH * up, 1.0f);
					v[11] = float4(tri[2].pos + halfH * up, 1.0f);

					float4x4 vp = mul(UNITY_MATRIX_MVP, _World2Object);
					FS_INPUT pIn = (FS_INPUT)0;


					pIn.pos =  mul(vp, v[11]);
					pIn.uv = tri[1].uv;
					triStream.Append(pIn);

          triStream.RestartStrip();
					pIn.pos =  mul(vp, float4(h, 1.0));
					pIn.uv = float2(0.0, 0.0);
					triStream.Append(pIn);

          pIn.pos =  mul(vp, float4(i, 1.0));
					pIn.uv = float2(0.0, 1.0);
					triStream.Append(pIn);

          pIn.pos =  mul(vp, float4(j, 1.0));
					pIn.uv = float2(1.0, 0.0);
					triStream.Append(pIn);

					/*float4x4 vp = mul(UNITY_MATRIX_MVP, _World2Object);
