RenderScript Vector Matematik İşlevleri

Genel bakış

Bu işlevler, giriş bağımsız değişkenlerini, n boyutlu uzayda vektörlerin gösterimi olarak yorumlar.

32 bitlik kayan noktalardaki matematik işlemlerinin hassasiyeti, pragmas rs_fp_relaxed ve rs_fp_full değerlerinden etkilenir. Ayrıntılar için Matematiksel Sabitler ve İşlevler bölümüne bakın.

Yaygın matematik fonksiyonlarının değişkenleri kullanılarak farklı hassasiyet/hız dengelemeleri elde edilebilir. ile başlayan bir ada sahip işlevler

  • yerel_: Daha düşük kesinliğe sahip özel donanım uygulamaları içerebilir. Ayrıca, normal alt değerler sıfıra kaydırılabilir, sıfıra yuvarlama kullanılabilir ve NaN ve sonsuzluk girişi doğru şekilde işlenemez.
  • fast_: 16 bit kayan öğeleri kullanarak dahili hesaplamalar yapabilir. Ayrıca, normal altı değerler sıfıra kaydırılabilir ve sıfıra yuvarlama kullanılabilir.

Özet

Fonksiyonlar
art�� İki vektörün çapraz çarpımı
mesafe İki nokta arasındaki mesafe
nokta İki vektörün nokta çarpımı
hızlı_distance İki nokta arasındaki yaklaşık mesafe
Hızlı_uzunluk Bir vektörün yaklaşık uzunluğu
hızlı_normalleştirme Yaklaşık normalleştirilmiş vektör
length Bir vektörün uzunluğu
yerel_mesafe İki nokta arasındaki yaklaşık mesafe
yerel_uzunluk Bir vektörün yaklaşık uzunluğu
yerel_normalleştirme Bir vektörü yaklaşık olarak normalleştirme
normalleştir Bir vektörü normalleştirme

Fonksiyonlar

çapraz : İki vektörün çapraz çarpımı

float3 cross(float3 sol_vektör, float3 sağ_vektör);
float4 cross(float4 sol_vektör, float4 sağ_vektör);
half3 cross(half3 left_Vektör, half3 right_Vektör); API düzeyi 24'te eklendi
half4 cross(yarım4 sol_vektör, yarım4 sağ_vektör); API düzeyi 24'te eklendi

İki vektörün çapraz çarpımını hesaplar.

mesafe : İki nokta arasındaki mesafe

float length(float left_Vektör, float right_window);
bolluk mesafesi(float2 sol_vektör, float2 sağ_vektör);
floatground(float3 left_Vektör, float3 right_Vektör);
bolluk mesafesi(float4 sol_vektör, float4 sağ_vektör);
yarım mesafe(yarım sol_vektör, yarım sağ_vektör); API düzeyi 24'te eklendi
yarım mesafe(yarım2 sol_vektör, yarım2 sağ_vektör); API düzeyi 24'te eklendi
yarım mesafe(yarım3 sol_vektör, yarım3 sağ_vektör); API düzeyi 24'te eklendi
yarım mesafe(yarım4 sol_vektör, yarım4 sağ_vektör); API düzeyi 24'te eklendi

İki nokta arasındaki mesafeyi hesaplayın.

Ayrıca bkz. Hızlı_distance(), native_distance().

nokta : İki vektörün nokta çarpımı

kayan nokta(kayan sol_vektör, kayan sağ_vektör);
kayan nokta(float2 sol_vektör, float2 sağ_vektör);
kayan nokta(float3 sol_vektör, kayan3 sağ_vektör);
kayan nokta(float4 sol_vektör, float4 sağ_vektör);
yarım nokta(yarım sol_vektör, yarım sağ_vektör); API düzeyi 24'te eklendi
half nokta(yarım2 sol_vektör, yarım2 sağ_vektör); API düzeyi 24'te eklendi
half nokta(yarım3 sol_vektör, yarım3 sağ_vektör); API düzeyi 24'te eklendi
half nokta(yarım4 sol_vektör, yarım4 sağ_vektör); API düzeyi 24'te eklendi

İki vektörün nokta çarpımını hesaplar.

Hızlı_distance : İki nokta arasındaki yaklaşık mesafe

float fast_distance(float sol_vektör, float sağ_vektör); API düzeyi 17'de eklendi
float fast_distance(float2 sol_vektör, float2 sağ_vektör); API düzeyi 17'de eklendi
float fast_distance(float3 left_Vektör, float3 right_Vektör); API düzeyi 17'de eklendi
float fast_distance(float4 sol_vektör, float4 sağ_vektör); API düzeyi 17'de eklendi

İki nokta arasındaki yaklaşık mesafeyi hesaplar.

Hassasiyet, hesaplamayı 16 bit kayan nokta değerleri kullanarak yapmaktan beklenen değerdir.

Ayrıca bkz. distance(), native_distance().

Hızlı_uzunluk : Bir vektörün yaklaşık uzunluğu

float fast_length(float v); API düzeyi 17'de eklendi
float fast_length(float2 v); API düzeyi 17'de eklendi
float fast_length(float3 v); API düzeyi 17'de eklendi
float fast_length(float4 v); API düzeyi 17'de eklendi

Bir vektörün yaklaşık uzunluğunu hesaplar.

Hassasiyet, hesaplamayı 16 bit kayan nokta değerleri kullanarak yapmaktan beklenen değerdir.

Ayrıca bkz. length(), native_length().

Fast_normalize : Yaklaşık normalleştirilmiş vektör

float fast_normalize(float v); API düzeyi 17'de eklendi
float2 fast_normalize(float2 v); API düzeyi 17'de eklendi
float3 fast_normalize(float3 v); API düzeyi 17'de eklendi
float4 fast_normalize(float4 v); API düzeyi 17'de eklendi

Bir vektörü yaklaşık olarak normalleştirir.

1 boyutlu vektörlerde negatif değerler için -1.f, null değerler için 0.f ve pozitif değerler için 1.f değerini döndürür.

Hassasiyet, hesaplamayı 16 bit kayan nokta değerleri kullanarak yapmaktan beklenen değerdir.

Ayrıca bkz. normalize(), native_normalize().

length : Bir vektörün uzunluğu

kayan nokta uzunluğu(kayan noktalı v);
kayan nokta uzunluğu(float2 v);
float length(float3 v);
kayan nokta uzunluğu(float4 v);
yarım uzunluk(yarım v); API düzeyi 24'te eklendi
yarım length(half2 v); API düzeyi 24'te eklendi
yarım length(half3 v); API düzeyi 24'te eklendi
yarım length(half4 v); API düzeyi 24'te eklendi

Bir vektörün uzunluğunu hesaplar.

Ayrıca bkz. Hızlı_uzunluk(), native_length().

native_distance : İki nokta arasındaki yaklaşık mesafe

float Native_distance(float left_Vektör, float right_Vektör); API düzeyi 21'de eklendi
float Native_distance(float2 left_Vektör, float2 right_Vektör); API düzeyi 21'de eklendi
float Native_distance(float3 left_Vektör, float3 right_Vektör); API düzeyi 21'de eklendi
float local_distance(float4 left_Vektör, float4 right_Vektör); API düzeyi 21'de eklendi
yarı yerel_distance(yarım sol_vektör, yarım sağ_vektör); API düzeyi 24'te eklendi
yarı yerel_distance(yarım2 sol_vektör, yarım2 sağ_vektör); API düzeyi 24'te eklendi
yarı yerel_distance(yarım3 sol_vektör, yarım3 sağ_vektör); API düzeyi 24'te eklendi
yarı yerel_distance(yarım4 sol_vektör, yarım4 sağ_vektör); API düzeyi 24'te eklendi

İki nokta arasındaki yaklaşık mesafeyi hesaplar.

Ayrıca bkz. distance(), Fast_distance().

native_length : Bir vektörün yaklaşık uzunluğu

float Native_length(float v); API düzeyi 21'de eklendi
float yerel_length(float2 v); API düzeyi 21'de eklendi
float Native_length(float3 v); API düzeyi 21'de eklendi
float Native_length(float4 v); API düzeyi 21'de eklendi
half Native_length(half v); API düzeyi 24'te eklendi
half Native_length(half2 v); API düzeyi 24'te eklendi
half Native_length(half3 v); API düzeyi 24'te eklendi
half Native_length(half4 v); API düzeyi 24'te eklendi

Bir vektörün yaklaşık uzunluğunu hesaplayın.

Ayrıca bkz. length(), Fast_length().

native_normalize : Bir vektörü yaklaşık olarak normalleştirin

float Native_normalize(float v); API düzeyi 21'de eklendi
float2 Native_normalize(float2 v); API düzeyi 21'de eklendi
float3 Native_normalize(float3 v); API düzeyi 21'de eklendi
float4 Native_normalize(float4 v); API düzeyi 21'de eklendi
half local_normalize(half v); API düzeyi 24'te eklendi
half2 Native_normalize(half2 v); API düzeyi 24'te eklendi
half3 Native_normalize(yarı3 v); API düzeyi 24'te eklendi
half4 Native_normalize(half4 v); API düzeyi 24'te eklendi

Bir vektörü yaklaşık olarak normalleştirir.

Ayrıca bkz. normalize(), Fast_normalize().

normalize : Bir vektörü normalleştirme

float normalize(float v);
float2 normalize(float2 v);
float3 normalize(float3 v);
float4 normalize(float4 v);
half normalize(half v); API düzeyi 24'te eklendi
half2 normalize(half2 v); API düzeyi 24'te eklendi
half3 normalize(half3 v); API düzeyi 24'te eklendi
half4 normalize(half4 v); API düzeyi 24'te eklendi

Bir vektörü normalleştirme.

1 boyutlu vektörlerde negatif değerler için -1.f, null değerler için 0.f ve pozitif değerler için 1.f değerini döndürür.

Ayrıca bkz. Hızlı_normalize(), native_normalize().