রেন্ডারস্ক্রিপ্ট ভেক্টর ম্যাথ ফাংশন

ওভারভিউ

এই ফাংশনগুলি এন-ডাইমেনশনাল স্পেসে ভেক্টরের প্রতিনিধিত্ব হিসাবে ইনপুট আর্গুমেন্টগুলিকে ব্যাখ্যা করে।

32 বিট ফ্লোটে গাণিতিক ক্রিয়াকলাপের নির্ভুলতা প্রাগমাস rs_fp_relaxed এবং rs_fp_full দ্বারা প্রভাবিত হয়। বিস্তারিত জানার জন্য গাণিতিক ধ্রুবক এবং ফাংশন দেখুন।

সাধারণ গণিত ফাংশনগুলির রূপগুলি ব্যবহার করে বিভিন্ন নির্ভুলতা/গতি ট্রেডঅফগুলি অর্জন করা যেতে পারে। নামের সাথে শুরু করে ফাংশন

  • নেটিভ_: দুর্বল নির্ভুলতার সাথে কাস্টম হার্ডওয়্যার বাস্তবায়ন থাকতে পারে। অতিরিক্তভাবে, অস্বাভাবিক মানগুলি শূন্যে ফ্লাশ করা যেতে পারে, শূন্যের দিকে রাউন্ডিং ব্যবহার করা যেতে পারে এবং NaN এবং ইনফিনিটি ইনপুট সঠিকভাবে পরিচালনা নাও হতে পারে।
  • দ্রুত_: 16 বিট ফ্লোট ব্যবহার করে অভ্যন্তরীণ গণনা করতে পারে। অতিরিক্তভাবে, অস্বাভাবিক মানগুলি শূন্যে ফ্লাশ করা যেতে পারে এবং শূন্যের দিকে রাউন্ডিং ব্যবহার করা যেতে পারে।

সারসংক্ষেপ

ফাংশন
ক্রস দুটি ভেক্টরের ক্রস পণ্য
দূরত্ব দুই পয়েন্টের মধ্যে দূরত্ব
বিন্দু দুটি ভেক্টরের ডট গুণফল
দ্রুত_দূরত্ব দুই বিন্দুর মধ্যে আনুমানিক দূরত্ব
দ্রুত_দৈর্ঘ্য একটি ভেক্টরের আনুমানিক দৈর্ঘ্য
দ্রুত_স্বাভাবিক করা আনুমানিক স্বাভাবিক ভেক্টর
দৈর্ঘ্য একটি ভেক্টরের দৈর্ঘ্য
স্থানীয়_দূরত্ব দুই বিন্দুর মধ্যে আনুমানিক দূরত্ব
নেটিভ_দৈর্ঘ্য একটি ভেক্টরের আনুমানিক দৈর্ঘ্য
নেটিভ_নরমালাইজ করুন একটি ভেক্টরকে প্রায় স্বাভাবিক করুন
স্বাভাবিক করা একটি ভেক্টরকে স্বাভাবিক করুন

ফাংশন

ক্রস : দুটি ভেক্টরের ক্রস গুণফল

float3 ক্রস( float3 left_vector, float3 right_vector);
float4 ক্রস( float4 left_vector, float4 right_vector);
অর্ধ৩ ক্রস ( অর্ধ৩টি বাম_ভেক্টর, অর্ধ৩টি ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে
অর্ধ৪টি ক্রস ( অর্ধ৪টি বাম_ভেক্টর, অর্ধ৪টি ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে

দুটি ভেক্টরের ক্রস গুণফল গণনা করে।

দূরত্ব : দুটি বিন্দুর মধ্যে দূরত্ব

ভাসমান দূরত্ব (ফ্লোট লেফট_ভেক্টর, ভাসমান ডান_ভেক্টর);
ভাসমান দূরত্ব( float2 left_vector, float2 right_vector);
ভাসমান দূরত্ব( float3 left_vector, float3 right_vector);
ভাসমান দূরত্ব( float4 left_vector, float4 right_vector);
অর্ধেক দূরত্ব ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক দূরত্ব ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক দূরত্ব ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক দূরত্ব ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে

দুটি বিন্দুর মধ্যে দূরত্ব গণনা করুন।

এছাড়াও দ্রুত_দূরত্ব (), স্থানীয়_দূরত্ব () দেখুন।

ডট : দুটি ভেক্টরের ডট গুণফল

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);
অর্ধেক বিন্দু ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক বিন্দু ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক বিন্দু ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক বিন্দু ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে

দুটি ভেক্টরের ডট গুণফল গণনা করে।

দ্রুত_দূরত্ব : দুটি বিন্দুর মধ্যে আনুমানিক দূরত্ব

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 বিট ফ্লোটিং পয়েন্ট মান ব্যবহার করে গণনা করার থেকে যা প্রত্যাশিত হবে তা হল নির্ভুলতা।

এছাড়াও দূরত্ব (), স্থানীয়_দূরত্ব () দেখুন।

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 বিট ফ্লোটিং পয়েন্ট মান ব্যবহার করে গণনা করার থেকে যা প্রত্যাশিত হবে তা হল নির্ভুলতা।

এছাড়াও দৈর্ঘ্য (), স্থানীয়_দৈর্ঘ্য () দেখুন।

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, শূন্য মানের জন্য 0.f এবং ধনাত্মক মানের জন্য 1.f প্রদান করে।

16 বিট ফ্লোটিং পয়েন্ট মান ব্যবহার করে গণনা করার থেকে যা প্রত্যাশিত হবে তা হল নির্ভুলতা।

আরও দেখুন normalize (), native_normalize ()।

দৈর্ঘ্য : একটি ভেক্টরের দৈর্ঘ্য

float length(float v);
ফ্লোট দৈর্ঘ্য ( float2 v);
ফ্লোট দৈর্ঘ্য ( float3 v);
ফ্লোট দৈর্ঘ্য ( float4 v);
অর্ধেক দৈর্ঘ্য ( অর্ধ v); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক দৈর্ঘ্য ( অর্ধেক v); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক দৈর্ঘ্য ( অর্ধেক v); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক দৈর্ঘ্য ( অর্ধেক v); API স্তর 24 এ যোগ করা হয়েছে

একটি ভেক্টরের দৈর্ঘ্য গণনা করে।

এছাড়াও দেখুন fast_length (), native_length ()।

নেটিভ_দূরত্ব : দুটি বিন্দুর মধ্যে আনুমানিক দূরত্ব

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 এ যোগ করা হয়েছে
অর্ধেক স্থানীয়_দূরত্ব ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক দেশীয়_দূরত্ব ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক দেশীয়_দূরত্ব ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক দেশীয়_দূরত্ব ( অর্ধেক বাম_ভেক্টর, অর্ধেক ডান_ভেক্টর); API স্তর 24 এ যোগ করা হয়েছে

দুটি বিন্দুর মধ্যে আনুমানিক দূরত্ব গণনা করে।

এছাড়াও দূরত্ব (), দ্রুত_দূরত্ব () দেখুন।

নেটিভ_লেংথ : একটি ভেক্টরের আনুমানিক দৈর্ঘ্য

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 এ যোগ করা হয়েছে
অর্ধেক নেটিভ_লেংথ ( অর্ধ v); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক নেটিভ_লেংথ ( অর্ধ২ v); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক নেটিভ_লেংথ ( অর্ধ৩ v); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক নেটিভ_লেংথ ( অর্ধেক v); API স্তর 24 এ যোগ করা হয়েছে

একটি ভেক্টরের আনুমানিক দৈর্ঘ্য গণনা করুন।

এছাড়াও দেখুন length (), fast_length ()।

নেটিভ_নরমালাইজ : একটি ভেক্টরকে প্রায় স্বাভাবিক করা

float native_normalize(float v); API স্তর 21 এ যোগ করা হয়েছে
float2 native_normalize( float2 v); API স্তর 21 এ যোগ করা হয়েছে
float3 নেটিভ_নরমালাইজ( float3 v); API স্তর 21 এ যোগ করা হয়েছে
float4 নেটিভ_নরমালাইজ( float4 v); API স্তর 21 এ যোগ করা হয়েছে
অর্ধেক নেটিভ_নরমালাইজ ( অর্ধেক v); API স্তর 24 এ যোগ করা হয়েছে
half2 নেটিভ_নরমালাইজ ( অর্ধ২ v); API স্তর 24 এ যোগ করা হয়েছে
half3 নেটিভ_নরমালাইজ ( অর্ধ৩ v); API স্তর 24 এ যোগ করা হয়েছে
অর্ধেক নেটিভ_নরমালাইজ ( অর্ধেক v); API স্তর 24 এ যোগ করা হয়েছে

একটি ভেক্টরকে প্রায় স্বাভাবিক করে তোলে।

আরও দেখুন normalize (), fast_normalize ()।

normalize : একটি ভেক্টরকে স্বাভাবিক করা

float normalize(float v);
float2 স্বাভাবিক করা ( float2 v);
float3 স্বাভাবিককরণ ( float3 v);
float4 স্বাভাবিককরণ ( float4 v);
অর্ধেক স্বাভাবিক করা ( অর্ধেক v); API স্তর 24 এ যোগ করা হয়েছে
half2 স্বাভাবিক করা ( অর্ধেক v); API স্তর 24 এ যোগ করা হয়েছে
half3 স্বাভাবিককরণ ( অর্ধেক v); API স্তর 24 এ যোগ করা হয়েছে
half4 স্বাভাবিকীকরণ ( অর্ধেক v); API স্তর 24 এ যোগ করা হয়েছে

একটি ভেক্টরকে স্বাভাবিক করুন।

সাইজ 1 এর ভেক্টরের জন্য, ঋণাত্মক মানের জন্য -1.f, শূন্য মানের জন্য 0.f এবং ধনাত্মক মানের জন্য 1.f প্রদান করে।

এছাড়াও দেখুন fast_normalize (), native_normalize ()।