Real-time computer graphics
ریئل ٹائم کمپیوٹر گرافکس یا ریئل ٹائم رینڈرنگ کمپیوٹر گرافکس کا ذیلی شعبہ ہے جو حقیقی وقت میں تصاویر تیار کرنے اور ان کا تجزیہ کرنے پر مرکوز ہے۔ یہ اصطلاح کسی ایپلیکیشن کے گرافیکل یوزر انٹرفیس (جی یو آئی) کو پیش کرنے سے لے کر ریئل ٹائم امیج تجزیہ تک کسی بھی چیز کا حوالہ دے سکتی ہے، لیکن اکثر انٹرایکٹو 3 ڈی کمپیوٹر گرافکس کے حوالے سے استعمال ہوتی ہے، عام طور پر گرافکس پروسیسنگ یونٹ (جی پی یو) کا استعمال کرتے ہوئے۔ اس تصور کی ایک مثال ایک ویڈیو گیم ہے جو حرکت کا وہم پیدا کرنے کے لیے تیزی سے بدلتے ہوئے 3D ماحول کو پیش کرتا ہے۔ کمپیوٹر اپنی ایجاد کے بعد سے حقیقی وقت میں سادہ لکیروں، تصاویر اور کثیر الاضحی جیسی 2 ڈی تصاویر تیار کرنے کے قابل رہے ہیں۔ تاہم، تفصیلی 3D اشیاء کو تیزی سے پیش کرنا روایتی وان نیومن فن تعمیر پر مبنی نظاموں کے لیے ایک مشکل کام ہے۔ اس مسئلے کا ابتدائی حل اسپرائٹس، 2 ڈی امیجز کا استعمال تھا جو تھری ڈی گرافکس کی نقل کر سکتے تھے۔ انجام دینے کے لیے اب مختلف تکنیکیں موجود ہیں، جیسے رے ٹریسنگ اور رسٹرائزیشن۔ ان تکنیکوں اور جدید ہارڈ ویئر کا استعمال کرتے ہوئے، کمپیوٹر اب تصاویر کو اتنی تیزی سے پیش کر سکتے ہیں کہ بیک وقت صارف کے ان پٹ کو قبول کرتے ہوئے حرکت کا وہم پیدا کر سکیں۔ اس کا مطلب یہ ہے کہ صارف حقیقی وقت میں پیش کردہ تصاویر کا جواب دے سکتا ہے، جس سے ایک انٹرایکٹو تجربہ پیدا ہوتا ہے۔ ریئل ٹائم تھری ڈی کمپیوٹر گرافکس کے اصول کمپیوٹر گرافکس کا مقصد کچھ مطلوبہ میٹرکس کا استعمال کرتے ہوئے کمپیوٹر سے تیار کردہ تصاویر، یا فریم تیار کرنا ہے۔ ایسی ہی ایک میٹرک کسی دیئے گئے سیکنڈ میں پیدا ہونے والے فریموں کی تعداد ہے۔ ریئل ٹائم کمپیوٹر گرافکس سسٹم روایتی (یعنی غیر ریئل ٹائم) رینڈرنگ سسٹم سے مختلف ہوتے ہیں جس میں غیر ریئل ٹائم گرافکس عام طور پر رے ٹریسنگ پر انحصار کرتے ہیں۔ اس عمل میں، تفصیلی انجام دینے کے لیے کیمرے سے دنیا تک لاکھوں یا اربوں شعاعوں کا سراغ لگایا جاتا ہے-اس مہنگے آپریشن میں ایک فریم پیش کرنے میں گھنٹے یا دن لگ سکتے ہیں۔ ریئل ٹائم گرافکس سسٹم کو ہر تصویر کو ایک سیکنڈ کے 1/30 ویں حصے سے بھی کم وقت میں پیش کرنا چاہیے۔ ان نظاموں کے لیے رے ٹریسنگ بہت سست ہے ؛ اس کے بجائے، وہ زیڈ بفر ٹرائنگل رسٹرائزیشن کی تکنیک کو استعمال کرتے ہیں۔ اس تکنیک میں، ہر شے کو انفرادی ابتدائی، عام طور پر مثلثوں میں تحلیل کیا جاتا ہے۔ ہر مثلث کو اسکرین پر پوزیشن، گھمایا اور اسکیل کیا جاتا ہے، اور رسٹرائزر ہارڈ ویئر (یا سافٹ ویئر ایمولیٹر) ہر مثلث کے اندر پکسلز تیار کرتا ہے۔ ان مثلثوں کو پھر جوہری اکائیوں میں تحلیل کیا جاتا ہے جنہیں ٹکڑے کہا جاتا ہے جو ڈسپلے اسکرین پر ظاہر کرنے کے لیے موزوں ہوتے ہیں۔ ٹکڑوں کو اسکرین پر ایک ایسے رنگ کا استعمال کرتے ہوئے کھینچا جاتا ہے جس کا حساب کئی مراحل میں لگایا جاتا ہے۔ مثال کے طور پر، ایک ساخت کو ذخیرہ شدہ تصویر کی بنیاد پر مثلث کو "پینٹ" کرنے کے لیے استعمال کیا جا سکتا ہے، اور پھر شیڈو میپنگ روشنی کے ذرائع سے نظر کی لکیر کی بنیاد پر اس مثلث کے رنگوں کو تبدیل کر سکتی ہے۔ ویڈیو گیم گرافکس ریئل ٹائم گرافکس وقت اور ہارڈ ویئر کی رکاوٹوں کے تابع تصویر کے معیار کو بہتر بناتا ہے۔ جی پی یوز اور دیگر پیشرفتوں نے تصویر کے معیار میں اضافہ کیا جو حقیقی وقت کے گرافکس پیدا کر سکتے ہیں۔ جی پی یو فی فریم لاکھوں مثلثوں کو سنبھالنے کی صلاحیت رکھتے ہیں، اور موجودہ ڈائریکٹ ایکس 11/اوپن جی ایل 4. x کلاس ہارڈ ویئر پیچیدہ اثرات پیدا کرنے کی صلاحیت رکھتا ہے، جیسے کہ شیڈو والیوم، موشن بلرنگ، اور مثلث نسل، حقیقی وقت میں۔ ریئل ٹائم گرافکس کی ترقی کا ثبوت حقیقی گیم پلے گرافکس اور روایتی طور پر ویڈیو گیمز میں پائے جانے والے پہلے سے پیش کردہ کٹ سینز کے درمیان ترقی پسند بہتریوں سے ملتا ہے۔ کٹ سین عام طور پر حقیقی وقت میں پیش کیے جاتے ہیں-اور انٹرایکٹو ہو سکتے ہیں۔ اگرچہ ریئل ٹائم گرافکس اور روایتی آف لائن گرافکس کے درمیان معیار کا فرق کم ہوتا جا رہا ہے، لیکن آف لائن رینڈرنگ بہت زیادہ درست رہتی ہے۔ فوائد ریئل ٹائم گرافکس عام طور پر اس وقت استعمال ہوتے ہیں جب انٹرایکٹوٹی (مثال کے طور پر، پلیئر فیڈ بیک) اہم ہوتی ہے۔ جب فلموں میں ریئل ٹائم گرافکس کا استعمال کیا جاتا ہے، تو ہدایت کار کا اس بات پر مکمل کنٹرول ہوتا ہے کہ ہر فریم پر کیا کھینچنا ہے، جس میں بعض اوقات طویل فیصلہ سازی شامل ہو سکتی ہے۔ لوگوں کی ٹیمیں عام طور پر ان فیصلوں کو کرنے میں شامل ہوتی ہیں۔ ریئل ٹائم کمپیوٹر گرافکس میں، صارف عام طور پر ایک ان پٹ ڈیوائس چلاتا ہے تاکہ ڈسپلے پر جو کچھ کھینچا جانے والا ہے اس پر اثر انداز ہو۔ مثال کے طور پر، جب صارف اسکرین پر کسی کردار کو منتقل کرنا چاہتا ہے، تو سسٹم اگلے فریم کو کھینچنے سے پہلے کردار کی پوزیشن کو اپ ڈیٹ کرتا ہے۔ عام طور پر، ڈسپلے کا رسپانس ٹائم ان پٹ ڈیوائس کے مقابلے میں بہت سست ہوتا ہے-یہ انسان کی حرکت کے (تیز) رسپانس ٹائم اور انسانی بصری نظام کی (سست) نقطہ نظر کی رفتار کے درمیان بے پناہ فرق سے جائز ہے۔ اس فرق کے دوسرے اثرات بھی ہیں: کیونکہ انسانی حرکت کے ردعمل کو برقرار رکھنے کے لیے ان پٹ ڈیوائسز کو بہت تیز ہونا چاہیے، ان پٹ ڈیوائسز میں پیش رفت (مثال کے طور پر، موجودہ وائی ریموٹ) عام طور پر ڈسپلے ڈیوائسز میں موازنہ ترقی کے مقابلے میں حاصل کرنے میں بہت زیادہ وقت لیتی ہے۔ ریئل ٹائم کمپیوٹر گرافکس کو کنٹرول کرنے والا ایک اور اہم عنصر طبیعیات اور حرکت پذیری کا امتزاج ہے۔ یہ تکنیکیں بڑی حد تک یہ طے کرتی ہیں کہ اسکرین پر کیا کھینچنا ہے-خاص طور پر منظر میں اشیاء کو کہاں کھینچنا ہے۔ یہ تکنیکیں حقیقت پسندانہ طور پر حقیقی دنیا کے رویے (عارضی جہت، نہ کہ مقامی جہتوں) کی نقل کرنے میں مدد کرتی ہیں، جس سے کمپیوٹر گرافکس کی حقیقت پسندی کی ڈگری میں اضافہ ہوتا ہے۔ گرافکس سافٹ ویئر کے ساتھ حقیقی وقت کا پیش نظارہ، خاص طور پر جب روشنی کے اثرات کو ایڈجسٹ کرتے ہیں، کام کی رفتار میں اضافہ کر سکتا ہے۔ حقیقی وقت میں تصویر میں تبدیلیاں دیکھتے ہوئے فریکٹل جنریٹنگ سافٹ ویئر میں کچھ پیرامیٹر ایڈجسٹمنٹ کی جا سکتی ہیں۔ رینڈرنگ پائپ لائن گرافکس رینڈرنگ پائپ لائن ("رینڈرنگ پائپ لائن" یا صرف "پائپ لائن") ریئل ٹائم گرافکس کی بنیاد ہے۔ اس کا بنیادی کام ورچوئل کیمرے، تین جہتی اشیاء (ایک ایسی چیز جس کی چوڑائی، لمبائی اور گہرائی ہو)، روشنی کے ذرائع، روشنی کے ماڈل، بناوٹ اور بہت کچھ کے سلسلے میں دو جہتی تصویر پیش کرنا ہے۔ فن تعمیر ریئل ٹائم رینڈرنگ پائپ لائن کے فن تعمیر کو تصوراتی مراحل میں تقسیم کیا جا سکتا ہے: اطلاق، جیومیٹری اور رسٹرائزیشن۔ درخواست کا مرحلہ درخواست کا مرحلہ "مناظر"، یا 3D ترتیبات پیدا کرنے کے لیے ذمہ دار ہے جو 2D ڈسپلے کی طرف کھینچے جاتے ہیں۔ یہ مرحلہ سافٹ ویئر میں نافذ کیا جاتا ہے جسے ڈویلپرز کارکردگی کے لیے بہتر بناتے ہیں۔ یہ مرحلہ صارف کے ان پٹ کو سنبھالنے کے علاوہ تصادم کا پتہ لگانے، اسپیڈ اپ تکنیک، حرکت پذیری اور فورس فیڈ بیک جیسی پروسیسنگ انجام دے سکتا ہے۔ تصادم کا پتہ لگانا ایک آپریشن کی مثال ہے جو درخواست کے مرحلے میں انجام دیا جائے گا۔ تصادم کا پتہ لگانا (ورچوئل) اشیاء کے درمیان تصادم کا پتہ لگانے اور جواب دینے کے لیے الگورتھم کا استعمال کرتا ہے۔ مثال کے طور پر، ایپلیکیشن ٹکرانے والی اشیاء کے لیے نئی پوزیشنوں کا حساب لگا سکتی ہے اور کمپن کرنے والے گیم کنٹرولر جیسے فورس فیڈ بیک ڈیوائس کے ذریعے فیڈ بیک فراہم کر سکتی ہے۔ درخواست کا مرحلہ اگلے مرحلے کے لیے گرافکس ڈیٹا بھی تیار کرتا ہے۔ اس میں ٹیکسٹچر اینیمیشن، تھری ڈی ماڈلز کی اینیمیشن، ٹرانسفارمز کے ذریعے اینیمیشن، اور جیومیٹری مورفنگ شامل ہیں۔ آخر میں، یہ منظر کی معلومات کی بنیاد پر ابتدائی (پوائنٹس، لائنیں، اور مثلث) پیدا کرتا ہے اور ان ابتدائی کو پائپ لائن کے جیومیٹری مرحلے میں داخل کرتا ہے۔ جیومیٹری کا مرحلہ جیومیٹری کا مرحلہ کثیر الاضحی اور عمودی حصوں میں ہیرا پھیری کرتا ہے تاکہ یہ حساب لگایا جا سکے کہ کیا کھینچنا ہے، اسے کیسے کھینچنا ہے اور اسے کہاں کھینچنا ہے۔ عام طور پر، یہ کارروائیاں خصوصی ہارڈ ویئر یا جی پی یو کے ذریعے انجام دی جاتی ہیں۔ گرافکس ہارڈ ویئر میں تغیرات کا مطلب یہ ہے کہ "جیومیٹری مرحلے" کو اصل میں کئی مسلسل مراحل کے طور پر لاگو کیا جا سکتا ہے۔ ماڈل اور ویو ٹرانسفارمیشن آؤٹ پٹ ڈیوائس پر حتمی ماڈل دکھائے جانے سے پہلے، ماڈل کو متعدد خالی جگہوں یا کوآرڈینیٹ سسٹم میں تبدیل کر دیا جاتا ہے۔ تبدیلیاں اشیاء کو ان کے عمودی حصوں کو تبدیل کرکے حرکت دیتی ہیں اور ان میں ہیرا پھیری کرتی ہیں۔ تبدیلی ان چار مخصوص طریقوں کے لیے عمومی اصطلاح ہے جو کسی نقطہ، لکیر یا شکل کی شکل یا پوزیشن میں ہیرا پھیری کرتے ہیں۔ روشنی ماڈل کو زیادہ حقیقت پسندانہ شکل دینے کے لیے، عام طور پر تبدیلی کے دوران روشنی کے ایک یا زیادہ ذرائع قائم کیے جاتے ہیں۔ تاہم، اس مرحلے تک پہلے تھری ڈی سین کو ویو اسپیس میں تبدیل کیے بغیر نہیں پہنچا جا سکتا۔ ویو اسپیس میں، مبصر (کیمرہ) کو عام طور پر اصل پر رکھا جاتا ہے۔ اگر دائیں ہاتھ کا کوآرڈینیٹ سسٹم استعمال کیا جائے (جسے معیاری سمجھا جاتا ہے)، تو مبصر منفی z-محور کی سمت میں دیکھتا ہے جس میں y-محور اوپر کی طرف اور x-محور دائیں طرف اشارہ کرتا ہے۔ پروجیکشن پروجیکشن ایک تبدیلی ہے جو 2D جگہ میں 3D ماڈل کی نمائندگی کے لیے استعمال ہوتی ہے۔ پروجیکشن کی دو اہم اقسام آرتھوگرافک پروجیکشن (جسے متوازی بھی کہا جاتا ہے) اور نقطہ نظر پروجیکشن ہیں۔ آرتھوگرافک پروجیکشن کی بنیادی خصوصیت یہ ہے کہ متوازی لکیریں تبدیلی کے بعد متوازی رہتی ہیں۔ نقطہ نظر پروجیکشن اس تصور کو استعمال کرتا ہے کہ اگر مبصر اور ماڈل کے درمیان فاصلہ بڑھتا ہے تو ماڈل پہلے سے چھوٹا نظر آتا ہے۔ بنیادی طور پر، نقطہ نظر پروجیکشن انسانی نظر کی نقل کرتا ہے۔ کلپنگ کلپنگ وہ پرائمیٹوز کو ہٹانے کا عمل ہے جو رسٹرائزر مرحلے کو آسان بنانے کے لیے ویو باکس سے باہر ہیں۔ ایک بار جب ان پرائمیٹوز کو ہٹا دیا جاتا ہے، تو جو پرائمیٹوز باقی رہ جاتے ہیں انہیں نئے مثلثوں میں کھینچا جائے گا جو اگلے مرحلے تک پہنچ جاتے ہیں۔ اسکرین میپنگ اسکرین میپنگ کا مقصد کلپنگ مرحلے کے دوران پرائمیٹوز کے نقاط کا پتہ لگانا ہے۔ رسٹرائزر مرحلہ رسٹرائزر مرحلہ رنگ کا اطلاق کرتا ہے اور گرافک عناصر کو پکسلز یا تصویر کے عناصر میں بدل دیتا ہے۔ باؤنڈنگ انٹرول ہیرارکی ڈیموسین جیومیٹری انسٹانسنگ آپٹیکل فیڈ بیک کوارٹز کمپوزر ریئل ٹائم (میڈیا) ریئل ٹائم ریٹریسنگ ویڈیو آرٹ ویڈیو ڈسپلے کنٹرولر حوالہ جات ببلیوگرافی بیرونی لنکس آر ٹی آر پورٹل-وسائل کمپیوٹر گرافکس کمپیوٹر گرافکس کے لنکس کا ایک تراشا ہوا "بہترین" سیٹ