Graphics Reference
In-Depth Information
//
b(120)
case
4:
output.position
=
ComputeEdgePosition(ip,
1,
0);
break;
// Edge
between vl and
v2
//
b(021)
case
5:
output.position
=
ComputeEdgePosition(ip, 1
,
2);
break;
//
b(012)
case
6:
output.position
=
ComputeEdgePosition(ip,
2,
1);
break;
// Edge
between v2 and v0
//
b(102)
case
7:
output.position
=
ComputeEdgePosition(ip,
2, 0);
break;
// b(201)
case
8:
output.position
=
ComputeEdgePosition(ip, 0
,
2);
break;
// Middle of
triangle
// b(lll)
case
9:
float3
E =
(
ComputeEdgePosition(ip,
0,
1) +
ComputeEdgePosition(ip,
1,
0)
+
ComputeEdgePosition(ipj
1, 2) +
ComputeEdgePosition(ipj
2,
1)
+
ComputeEdgePosition(ip,
2,
0) +
ComputeEdgePosition(ip, 0
,
2)
) / 6.0f;
float3
V
= (ip[0]
.position
+ ip[1]
.position
+ ip[2]
.position)
/ 3.0f;
output.position
=
E + ( (E - V) / 2.0f );
break;
//
Normals
// n(110)
- between v0
and v1
case
10:
output.normal
= ComputeEdgeNormal(ip,
0,
1);
break;
Search WWH ::
Custom Search