Back to class index
float4[Class Summary]
x
y
z
w
zero[static][const]
one[static][const]
unitX[static][const]
unitY[static][const]
unitZ[static][const]
unitW[static][const]
nan[static][const]
inf[static][const]
ctor (+8 overloads)
ptr() (+1 overload)
operator[](index) (+1 overload)
At(index) (+1 overload)
operators +,-,*,/(v)[const] (+1 overload)
operators +=,-=,*=,/=(v)
Add/Sub/Mul/Div(v)[const] (+1 overload)
xy()[const]
xyz()[const]
Float3Part() (+1 overload)
Swizzled(i,j,k,l)[const] (+2 overloads)
SetFromScalar(scalar) (+1 overload)
SetFromSphericalCoordinates(...) (+2 overloads)
ToSphericalCoordinates()[const]
ToSphericalCoordinatesNormalized()[const]
Set(x,y,z,w)
LengthSq3()[const]
Length3()[const]
LengthSq4()[const]
LengthSq()[const]
Length4()[const]
Length()[const]
Normalize3()
Normalize4()
Normalize()
Normalized3()[const]
Normalized4()[const]
Normalized()[const]
NormalizeW()
IsWZeroOrOne(epsilon)[const]
IsZero3(epsilonSq)[const]
IsZero4(epsilonSq)[const]
IsZero(epsilonSq)[const]
IsNormalized3(epsilonSq)[const]
IsNormalized4(epsilonSq)[const]
IsNormalized(epsilonSq)[const]
Scale3(scalar)
ScaleToLength3(newLength)
ScaleToLength(newLength)
ScaledToLength3(newLength)[const]
ScaledToLength(newLength)[const]
IsFinite()[const]
IsPerpendicular3(other,epsilonSq)[const]
IsPerpendicular(other,epsilonSq)[const]
ToString()[const]
SerializeToString()[const]
SerializeToCodeString()[const]
SumOfElements()[const]
ProductOfElements()[const]
AverageOfElements()[const]
MinElement()[const]
MinElementIndex()[const]
MaxElement()[const]
MaxElementIndex()[const]
Abs()[const]
Neg3()[const]
Neg4()[const]
Recip3()[const]
Recip4()[const]
RecipFast4()[const]
Min(ceil)[const] (+1 overload)
Max(floor)[const] (+1 overload)
Clamp(floor,ceil)[const] (+1 overload)
Clamp01()[const]
Lerp(b,t)[const]
Distance3Sq(rhs)[const]
Distance3(rhs)[const]
Distance4Sq(rhs)[const]
DistanceSq(rhs)[const]
Distance4(rhs)[const]
Distance(rhs)[const]
Dot3(rhs)[const] (+1 overload)
Dot4(rhs)[const]
Dot(rhs)[const]
Cross3(rhs)[const] (+1 overload)
Cross(rhs)[const]
OuterProduct(rhs)[const]
Perpendicular3(hint,hint2)[const]
Perpendicular(hint,hint2)[const]
AnotherPerpendicular3(hint,hint2)[const]
AnotherPerpendicular(hint,hint2)[const]
RandomPerpendicular(rng)[const]
Reflect3(normal)[const]
Reflect(normal)[const]
Refract(...)[const]
AngleBetween3(other)[const]
AngleBetweenNorm3(normalizedVector)[const]
AngleBetween4(other)[const]
AngleBetweenNorm4(normalizedVector)[const]
ProjectTo3(target)[const]
ProjectTo(target)[const]
ProjectToNorm3(target)[const]
ProjectToNorm(target)[const]
Equals(other,epsilon)[const] (+1 overload)
BitEquals(other)[const]
FromScalar(scalar)[static] (+1 overload)
FromSphericalCoordinates(...)[static] (+2 overloads)
Orthogonalize(a,b)[static] (+1 overload)
AreOrthogonal(a,b,epsilon)[static] (+1 overload)
AreCollinear(p1,p2,p3,epsilon)[static]
Orthonormalize(a,b)[static] (+1 overload)
AreOrthonormal(a,b,epsilon)[static] (+1 overload)
FromString(str,outEndStr)[static] (+1 overload)
Lerp(a,b,t)[static]
RandomDir(lcg,length)[static]
RandomSphere(lcg,center,radius)[static]
RandomBox(...)[static] (+2 overloads)
RandomGeneral(...)[static]

float4::NormalizeW

Syntax

void float4::NormalizeW(); [15 lines of code]

Divides each element by w to produce a float4 of form (x, y, z, 1).

This function performs the perspective divide or the homogeneous divide on this vector, which is the process of dividing each element of this vector by w. If the w component of this vector is zero before division, the result of this vector will be undefined.

Note
This function operates in-place.

See Also

IsWZeroOrOne().