|
template<typename T, int N> |
constexpr vector< float, N > | hlsl::asfloat (vector< T, N > V) |
template<typename T> |
constexpr float | hlsl::asfloat (T F) |
| Interprets the bit pattern of x as float point number.
|
template<typename T, int N> |
constexpr vector< int, N > | hlsl::asint (vector< T, N > V) |
template<typename T> |
constexpr int | hlsl::asint (T F) |
| Interprets the bit pattern of x as an integer.
|
template<typename T, int N> |
constexpr vector< uint, N > | hlsl::asuint (vector< T, N > V) |
template<typename T> |
constexpr uint | hlsl::asuint (T F) |
| Interprets the bit pattern of x as an unsigned integer.
|
void | hlsl::asuint (double, out uint, out uint) |
void | hlsl::asuint (double2, out uint2, out uint2) |
void | hlsl::asuint (double3, out uint3, out uint3) |
void | hlsl::asuint (double4, out uint4, out uint4) |
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > | hlsl::distance (T X, T Y) |
| Returns a distance scalar between X and Y.
|
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > | hlsl::distance (T X, T Y) |
template<int N> |
const half | hlsl::distance (__detail::HLSL_FIXED_VECTOR< half, N > X, __detail::HLSL_FIXED_VECTOR< half, N > Y) |
template<int N> |
const float | hlsl::distance (__detail::HLSL_FIXED_VECTOR< float, N > X, __detail::HLSL_FIXED_VECTOR< float, N > Y) |
const float | hlsl::dot2add (half2 A, half2 B, float C) |
| Dot product of 2 vector of type half and add a float scalar value.
|
const half4 | hlsl::dst (half4 Src0, half4 Src1) |
const float4 | hlsl::dst (float4 Src0, float4 Src1) |
const double4 | hlsl::dst (double4 Src0, double4 Src1) |
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > | hlsl::faceforward (T N, T I, T Ng) |
| Flips the surface-normal (if needed) to face in a direction opposite to I.
|
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > | hlsl::faceforward (T N, T I, T Ng) |
template<int L> |
const __detail::HLSL_FIXED_VECTOR< half, L > | hlsl::faceforward (__detail::HLSL_FIXED_VECTOR< half, L > N, __detail::HLSL_FIXED_VECTOR< half, L > I, __detail::HLSL_FIXED_VECTOR< half, L > Ng) |
template<int L> |
const __detail::HLSL_FIXED_VECTOR< float, L > | hlsl::faceforward (__detail::HLSL_FIXED_VECTOR< float, L > N, __detail::HLSL_FIXED_VECTOR< float, L > I, __detail::HLSL_FIXED_VECTOR< float, L > Ng) |
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > | hlsl::fmod (T X, T Y) |
| Returns the linear interpolation of x to y.
|
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > | hlsl::fmod (T X, T Y) |
template<int N> |
const __detail::HLSL_FIXED_VECTOR< half, N > | hlsl::fmod (__detail::HLSL_FIXED_VECTOR< half, N > X, __detail::HLSL_FIXED_VECTOR< half, N > Y) |
template<int N> |
const __detail::HLSL_FIXED_VECTOR< float, N > | hlsl::fmod (__detail::HLSL_FIXED_VECTOR< float, N > X, __detail::HLSL_FIXED_VECTOR< float, N > Y) |
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > | hlsl::ldexp (T X, T Exp) |
| Returns the result of multiplying the specified value by two raised to the power of the specified exponent.
|
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > | hlsl::ldexp (T X, T Exp) |
template<int N> |
const __detail::HLSL_FIXED_VECTOR< half, N > | hlsl::ldexp (__detail::HLSL_FIXED_VECTOR< half, N > X, __detail::HLSL_FIXED_VECTOR< half, N > Exp) |
template<int N> |
const __detail::HLSL_FIXED_VECTOR< float, N > | hlsl::ldexp (__detail::HLSL_FIXED_VECTOR< float, N > X, __detail::HLSL_FIXED_VECTOR< float, N > Exp) |
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > | hlsl::length (T X) |
| Returns the length of the specified floating-point vector.
|
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > | hlsl::length (T X) |
template<int N> |
const half | hlsl::length (__detail::HLSL_FIXED_VECTOR< half, N > X) |
template<int N> |
const float | hlsl::length (__detail::HLSL_FIXED_VECTOR< float, N > X) |
const half4 | hlsl::lit (half NDotL, half NDotH, half M) |
const float4 | hlsl::lit (float NDotL, float NDotH, float M) |
constexpr int4 | hlsl::D3DCOLORtoUBYTE4 (float4 V) |
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > | hlsl::reflect (T I, T N) |
| Returns a reflection using an incident ray, I, and a surface normal, N.
|
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > | hlsl::reflect (T I, T N) |
template<int L> |
const __detail::HLSL_FIXED_VECTOR< half, L > | hlsl::reflect (__detail::HLSL_FIXED_VECTOR< half, L > I, __detail::HLSL_FIXED_VECTOR< half, L > N) |
template<int L> |
const __detail::HLSL_FIXED_VECTOR< float, L > | hlsl::reflect (__detail::HLSL_FIXED_VECTOR< float, L > I, __detail::HLSL_FIXED_VECTOR< float, L > N) |
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > | hlsl::refract (T I, T N, T eta) |
| Returns a refraction using an entering ray, I, a surface normal, N and refraction index eta.
|
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > | hlsl::refract (T I, T N, T eta) |
template<int L> |
const __detail::HLSL_FIXED_VECTOR< half, L > | hlsl::refract (__detail::HLSL_FIXED_VECTOR< half, L > I, __detail::HLSL_FIXED_VECTOR< half, L > N, half eta) |
template<int L> |
const __detail::HLSL_FIXED_VECTOR< float, L > | hlsl::refract (__detail::HLSL_FIXED_VECTOR< float, L > I, __detail::HLSL_FIXED_VECTOR< float, L > N, float eta) |
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< half, T >::value, T > | hlsl::smoothstep (T Min, T Max, T X) |
| Returns a smooth Hermite interpolation between 0 and 1, if X is in the range [Min, Max].
|
template<typename T> |
const __detail::enable_if_t< __detail::is_arithmetic< T >::Value &&__detail::is_same< float, T >::value, T > | hlsl::smoothstep (T Min, T Max, T X) |
template<int N> |
const __detail::HLSL_FIXED_VECTOR< half, N > | hlsl::smoothstep (__detail::HLSL_FIXED_VECTOR< half, N > Min, __detail::HLSL_FIXED_VECTOR< half, N > Max, __detail::HLSL_FIXED_VECTOR< half, N > X) |
template<int N> |
const __detail::HLSL_FIXED_VECTOR< float, N > | hlsl::smoothstep (__detail::HLSL_FIXED_VECTOR< float, N > Min, __detail::HLSL_FIXED_VECTOR< float, N > Max, __detail::HLSL_FIXED_VECTOR< float, N > X) |