개요
이러한 함수는 입력 인수를 N차원 공간에서 벡터의 표현으로 해석합니다.
32비트 부동 소수점 수에서 수학 연산의 정밀도는 pragmas rs_fp_relaxed 및 rs_fp_full의 영향을 받습니다. 자세한 내용은 수학적 상수 및 함수를 참조하세요.
일반적인 수학 함수의 변형을 사용하면 다양한 정밀도/속도 절충점을 달성할 수 있습니다. 이름이 다음으로 시작하는 함수
- native_: 정확도가 낮은 맞춤 하드웨어 구현이 있을 수 있습니다. 또한 준정규 값은 0으로 플러시되고, 0을 향한 반올림을 사용할 수 있으며, NaN 및 무한대 입력이 올바르게 처리되지 않을 수 있습니다.
- fast_: 16비트 부동 소수점 수를 사용하여 내부 계산을 수행할 수 있습니다. 또한 비정규 값을 0으로 플러시하고 0을 향한 반올림을 사용할 수 있습니다.
요약
함수 | |
---|---|
교차 | 두 벡터의 교차곱 |
거리 | 두 지점 사이의 거리 |
점 | 두 벡터의 내적 |
빠른_거리 | 두 지점 사이의 대략적인 거리 |
fast_length | 대략적인 벡터 길이 |
fast_normalize | 대략적인 정규화된 벡터 |
길이 | 벡터 길이 |
native_distance | 두 지점 사이의 대략적인 거리 |
native_length[네이티브_길이] | 대략적인 벡터 길이 |
native_normalize | 벡터의 대략적인 정규화 |
정규화 | 벡터 정규화 |
함수
cross : 두 벡터의 교차곱
float3 cross(float3 left_vector, float3 right_vector); | |
float4 Cross(float4 left_vector, float4 right_vector); | |
half3 cross(half3 left_vector, half3 right_vector); | API 수준 24에 추가되었습니다. |
half4 cross(half4 left_vector, half4 right_vector); | API 수준 24에 추가되었습니다. |
두 벡터의 교차곱을 계산합니다.
distance : 두 지점 사이의 거리
float distance(float left_vector, float right_vector); | |
float distance(float2 left_vector, float2 right_vector); | |
float distance(float3 left_vector, float3 right_vector); | |
float distance(float4 left_vector, float4 right_vector); | |
half distance(half left_vector, half right_vector); | API 수준 24에 추가되었습니다. |
half distance(half2 left_vector, half2 right_vector); | API 수준 24에 추가되었습니다. |
half distance(half3 left_vector, half3 right_vector); | API 수준 24에 추가되었습니다. |
half distance(half4 left_vector, half4 right_vector); | API 수준 24에 추가되었습니다. |
두 지점 간의 거리를 계산합니다.
fast_distance(), native_distance()도 참고하세요.
점 : 두 벡터의 내적
float dot(float left_vector, float right_vector); | |
float dot(float2 left_vector, float2 right_vector); | |
float dot(float3 left_vector, float3 right_vector); | |
float dot(float4 left_vector, float4 right_vector); | |
half dot(half left_vector, half right_vector); | API 수준 24에 추가되었습니다. |
half dot(half2 left_vector, half2 right_vector); | API 수준 24에 추가되었습니다. |
half dot(half3 left_vector, half3 right_vector); | API 수준 24에 추가되었습니다. |
half dot(half4 left_vector, half4 right_vector); | API 수준 24에 추가되었습니다. |
두 벡터의 내적을 계산합니다.
fast_distance : 두 지점 사이의 대략적인 거리
float fast_distance(float left_vector, float right_vector); | API 수준 17에 추가되었습니다. |
float fast_distance(float2 left_vector, float2 right_vector); | API 수준 17에 추가되었습니다. |
float fast_distance(float3 left_vector, float3 right_vector); | API 수준 17에 추가되었습니다. |
float fast_distance(float4 left_vector, float4 right_vector); | API 수준 17에 추가되었습니다. |
두 지점 간의 대략적인 거리를 계산합니다.
정밀도는 16비트 부동 소수점 값을 사용하여 계산을 수행할 때 예상되는 수치입니다.
distance(), native_distance()도 참고하세요.
fast_length : 대략적인 벡터 길이
float fast_length(float v); | API 수준 17에 추가되었습니다. |
float fast_length(float2 v); | API 수준 17에 추가되었습니다. |
float fast_length(float3 v); | API 수준 17에 추가되었습니다. |
float fast_length(float4 v); | API 수준 17에 추가되었습니다. |
벡터의 대략적인 길이를 계산합니다.
정밀도는 16비트 부동 소수점 값을 사용하여 계산을 수행할 때 예상되는 수치입니다.
length(), native_length()도 참조하세요.
fast_normalize : 대략적인 정규화된 벡터
float fast_normalize(float v); | API 수준 17에 추가되었습니다. |
float2 fast_normalize(float2 v); | API 수준 17에 추가되었습니다. |
float3 fast_normalize(float3 v); | API 수준 17에 추가되었습니다. |
float4 fast_normalize(float4 v); | API 수준 17에 추가되었습니다. |
벡터를 대략적으로 정규화합니다.
크기가 1인 벡터의 경우 음수 값은 -1.f, null 값은 0.f, 양수 값은 1.f를 반환합니다.
정밀도는 16비트 부동 소수점 값을 사용하여 계산을 수행할 때 예상되는 수치입니다.
normalize(), native_normalize()도 참조하세요.
length : 벡터의 길이
float length(float v); | |
float length(float2 v); | |
float length(float3 v); | |
float length(float4 v); | |
half 길이(half v); | API 수준 24에 추가되었습니다. |
half length(half2 v); | API 수준 24에 추가되었습니다. |
half 길이(half3 v); | API 수준 24에 추가되었습니다. |
half 길이(half4 v); | API 수준 24에 추가되었습니다. |
벡터의 길이를 계산합니다.
fast_length(), native_length()도 참고하세요.
native_distance : 두 지점 사이의 대략적인 거리
float native_distance(float left_vector, float right_vector); | API 수준 21에 추가되었습니다. |
float native_distance(float2 left_vector, float2 right_vector); | API 수준 21에 추가되었습니다. |
float native_distance(float3 left_vector, float3 right_vector); | API 수준 21에 추가되었습니다. |
float native_distance(float4 left_vector, float4 right_vector); | API 수준 21에 추가되었습니다. |
half native_distance(half left_vector, half right_vector); | API 수준 24에 추가되었습니다. |
half native_distance(half2 left_vector, half2 right_vector); | API 수준 24에 추가되었습니다. |
half native_distance(half3 left_vector, half3 right_vector); | API 수준 24에 추가되었습니다. |
half native_distance(half4 left_vector, half4 right_vector); | API 수준 24에 추가되었습니다. |
두 지점 간의 대략적인 거리를 계산합니다.
distance(), fast_distance()도 참고하세요.
native_length : 벡터의 대략적인 길이
float native_length(float v); | API 수준 21에 추가되었습니다. |
float native_length(float2 v); | API 수준 21에 추가되었습니다. |
float native_length(float3 v); | API 수준 21에 추가되었습니다. |
float native_length(float4 v); | API 수준 21에 추가되었습니다. |
half native_length(half v); | API 수준 24에 추가되었습니다. |
half native_length(half2 v); | API 수준 24에 추가되었습니다. |
half native_length(half3 v); | API 수준 24에 추가되었습니다. |
half native_length(half4 v); | API 수준 24에 추가되었습니다. |
벡터의 대략적인 길이를 계산합니다.
length(), fast_length()도 참고하세요.
native_normalize : 벡터의 대략적인 정규화
float native_normalize(float v); | API 수준 21에 추가되었습니다. |
float2 native_normalize(float2 v); | API 수준 21에 추가되었습니다. |
float3 native_normalize(float3 v); | API 수준 21에 추가되었습니다. |
float4 native_normalize(float4 v); | API 수준 21에 추가되었습니다. |
half native_normalize(half v); | API 수준 24에 추가되었습니다. |
half2 native_normalize(half2 v); | API 수준 24에 추가되었습니다. |
half3 native_normalize(half3 v); | API 수준 24에 추가되었습니다. |
half4 native_normalize(half4 v); | API 수준 24에 추가되었습니다. |
벡터를 대략적으로 정규화합니다.
normalize(), fast_normalize()도 참조하세요.
normalize : 벡터 정규화
float normalize(float v); | |
float2 normalize(float2 v); | |
float3 normalize(float3 v); | |
float4 normalize(float4 v); | |
half normalize(half v); | API 수준 24에 추가되었습니다. |
half2 normalize(half2 v); | API 수준 24에 추가되었습니다. |
half3 normalize(half3 v); | API 수준 24에 추가되었습니다. |
half4 normalize(half4 v); | API 수준 24에 추가되었습니다. |
벡터 정규화
크기가 1인 벡터의 경우 음수 값은 -1.f, null 값은 0.f, 양수 값은 1.f를 반환합니다.
fast_normalize(), native_normalize()도 참조하세요.