فاؤنڈیشنز: تین ڈویژنل اسپیس کی نمائندگی کرتے ہیں۔

ایک پیکسیل کھینچنے سے پہلے، ایک 3D انجن میں چیز کو فضا میں بیان کرنے کے لیے ریاضیاتی زبان ضرور موجود ہے. مرکزی کردار [3] اور [تین-کومپنٹ ٹیپس کی نمائندگی، سمت یا رنگ ] [FL2]

  • پوائنٹ اور Victors کے لیے .
  • میں شامل ماوراء النہر کو ستونوں کے ترتیب میں محفوظ کیا گیا ہے۔

ہر چیز پر مشتمل ہے [TT:1]۔ ایک مثلث کو تین سرے سے متعین کیا جاتا ہے، ہر ایک کو ایک معیار اور رنگ کے ساتھ،

” ایک دوسرے سے فرق “

ایک گراف پائپ لائن (انگریزی: graphics) (pious)، مرحلہ بندی کا ایک سلسلہ ہے جس میں 3DCta کو 2D صورت میں تبدیل کیا گیا ہے۔

  1. Vertex setting – اطلاق ماڈل، نظریہ اور پروجیکٹ تبدیل کرتا ہے۔
  2. Rasterization – تبدیل کرنا تبدیل شدہ زاویوں کو ٹکڑوں (consional cells) میں تبدیل کرتا ہے۔
  3. شڈنگ – ہر ٹکڑے کا رنگ روشن اور مواد پر مبنی ہوتا ہے۔
  4. [foup Mering[1]] – فریم بفر کے ساتھ مل کر ٹکڑوں کو ملانا، جن میں گہرائی کا امتحان شامل ہے۔

ہارڈ ویئر-کیرائزڈ انجن (ان اوپنGL، Vulkan, or rightX) ان میں سے بیشتر اقدامات کو جی ایس او پر کرتے ہیں لیکن سافٹ ویئر راہ کو سمجھنے سے آپ کو گہری بصیرت ملتی ہے کہ کس طرح MIU کے تحت کام کرتا ہے.

اصلاح اور اصلاح

مریخی فضاء میں شروع ہوتا ہے (Local strials space)۔ دنیا میں جگہ حاصل کرنے کے لیے آپ(FLT-2) کا اطلاق کرتے ہیں

C میں تبدیلی کے عمل کو یوں دیکھا جاتا ہے:

  • – ایک شناختی مراکز واپس لے جاتا ہے۔
  • – ترجمہ معریۃ بنا دیتا ہے۔
  • – گردش X محور کے گرد۔
  • – 4- ڈی-اے-ویژیول (homogeneous spermpheres) سے ایک 4×4 مکعبس (Marrix) ملا کر ایک ضرب کرتا ہے۔

سافٹ ویئر میں موجود وافر مقدار میں موجود sunter sunter sertics کے برابر ہوتا ہے، ہر ایک کو مریخ سے بڑھا کر اور اس سے حاصل ہونے والے نتیجے کو ایک متغیر rentex Buffer کہتے ہیں۔

پروجیکٹ: پرسپائو کے اوورتھوگرافی۔

پروجیکٹ کنٹرول کرتا ہے کہ کیسے دھن کی نمائندگی کی جاتی ہے [Perspective Projection]] بعید نما چیزوں کو چھوٹا اور حقیقی بنا دیتا ہے. اس کا matrix نظری میدان، سمتی توازن، قربت اور دور دراز پلوں سے بنا ہوا ہے۔ کلاسیکی فارمولا میں X اور Y particle کو آپس میں تقسیم کرنا شامل ہے

  • – ایک معیاری منظرِ عام پر آنے والی مریخ کی واپسی۔

[Orthographic Projection[1]] متوازن لکیریں محفوظ ہیں اور آسان ہے، یو آئی یا CAD آلات کے لیے استعمال کیا جاتا ہے. اس میں منظری تقسیم شامل نہیں ہے۔

خوراک : ٹائروں کو بھرنا

پروجیکٹ کے بعد آپ کے پاس 2D اسکرین پلے (بطور Pixel Stats) اور گہرائی کی قدر (z) ہوتی ہے. راشٹریشن ہر ایک دائرہ نما انٹریگر پائیسیل کرنسیوں میں توڑ دیتی ہے. کلاسیکی الجبرا

  1. Y-کورڈینیٹ کے تین راگوں کو ترتیب دیں.
  2. دائیں اور دائیں اطراف کے نیچے جا، کمپیوٹر ایکس حدود ہر اسکین لائن کے لئے
  3. ہر ایک پرس‌سل کے لئے ، ہر ایک پرندے کی گہرائی کا حساب کرکے اس کے گرد‌و نواح میں ایک دوسرے کو ملانے سے اُسکی گہرائی کا اندازہ لگا لیتا ہے ۔
  4. [FLT] [1] : ٹکڑے کے z کا موازنہ گہرائی میں پہلے سے موجود مقدار سے کریں اگر قریب سے کریں تو گہرائیوں میں گہرائی کے بفرے کو اپلوڈ کرکے ٹکڑے کے رنگ کو جانچ لیں۔

C میں پاس ورڈز کو عملی طور پر استعمال کرنا مشکل اور محتاط طریقے سے ٹھوس نقطے کا استعمال ضروری ہے تاکہ تیرنے والے نقطے سے بچنے کے لیے بہت سے ایسے انجن شروع کرتے ہیں جن میں سے ہر ایک کو جکڑے ہوئے باکس میں استعمال کیا جاتا ہے اور بعد میں حد مساوات سے تجاوز کرنا پڑتا ہے۔

کھیل اور روشنی

سادہ پلیٹ فارمڈ انجن ایک ہی رنگ کے پورے استعمال کرتا ہے، چہرے کی نارمل اور ایک برقی ماخذ سے لیکر ایک برقی ماخذ۔ [1]. [FLT]. C میں آپ نے عام طور پر دو کناروں (یعنی دنیا کے بعد تبدیل کرنے والے) کے برابر کی رفتار کو بڑھا کر روشنی کی بنیادوں کو بڑھا دیا ہے۔

گہرائی کو شامل کرنے کے لیے Gouraud settlection [vertex community, spants] یا Phong [per-Pexel نارمل]. [per-Pexel نارمل].

سی میں انجن بنانا : عملی اقدام

آئیے ایک کم سے کم سوفٹ ویئر 3D انجن کو ٹریک سے بنا کر اس کا مقصد ایمبی‌بی‌بی‌ایم‌ایس کرنا اور ایک 640×480 پیکسل کھڑکی پر روشنی ڈالنا ہے ۔

مرحلہ 1 – ایک پائیسل بفر کو کھڑا کرنا –

فریم اور گہرائی کے لیے ایک یادگار بفرہ بنا: اور . فریمبفر کو بلیک اور گہرائی بفر کو ہر فریم تک کھول کر 1.0 (far port) تک پہنچانا.

ہدایت ۲ – اچھی معلومات

ایک کیب کے لیے چھ منہ (12) کو چاہیے 12×3 = 36 سری (sertic)۔ انہیں پوزیشن کے ساتھ struct میں اور رنگ (3) کے ساتھ strial (Train) اور (RGB) کے لیے siles (). پری اونی کٹے ہوئے 8 منفرد کونبیک اور چھ منہ رنگوں سے پرہیز کرنے کے لیے انڈیکس بفر استعمال کریں۔

تیسرا مرحلہ — ایک دوسرے کی مدد کرنا

ہر فریم، ماڈل مریخ کو ایک زاویے سے (مثلاً ، DerveY(وقت) سے حساب دینا، نظریہ مریخ کو ابتدا میں دیکھ کر، اور پروجیکٹ مریخ کو ایک ہی میں شامل کرنا. [FLT]. [FLT]. [fL:12]. [fo ⁇ ].]. پھر آپ کو ضرب کر کے ساتھ ضرب کر کے.

ہدایت نمبر ۴ – رُوت اور شَرَّد

ہر سطر کے لیے اسکین لائن طریق استعمال کريں ۔ جب تک چلتے پھرتے پھرتے پھرتے هيں گہرائی کو دوباره بنا کر اور ایک پری پرو کریپٹس بھی نصب کريں جیسے کہ عالمی اسپیس پوزیشن (بونگ) یا وریاود کے لیے ورمي نارمل (بـر) ۔ لامبـتـنـس مساوات کا اطلاق کريں ۔ اگر گہرائی کے امتحان کے لیے نشانے سے گزرتے هيں تو آخری رنگ کومبفر پر لکھیں۔

ہدایت 5 – نمائش

[ فٹ‌نوٹ : ۱۸ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ : ۱۸ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ ] ، [ فٹ‌نوٹ ]

یہ سافٹ وئیر راہ نما سی پی یو پر چلتا ہے، چنانچہ اداکاری چند ہزار کے فریم تک محدود ہے، ایک بار آرام سے، آپ اوپنGL سے بھاری کام کو تبدیل کر کے،

اپنی انجن کو تیز کرنا

ایک بنیادی انجن سستا ہوتا ہے. حقیقی وقت کے عمل کے لیے کئی فیچرز ضروری ہیں:

  • Skip codess جن کے عام نقطہ کیمرے سے دور ہوتے ہیں. پروجیکٹڈ فارمیٹ (2D) کے دستخط شدہ علاقے کو جگہ دیں یا پھر منظر عام پر آنے والے چہرے کی داغ بیل کو چیک کریں۔
  • [Frostum colling: نظریہ کے چھ جہازوں کے خلاف ایک چیز کے بند کرنے کا امتحان. اگر باہر سے باہر، پورے چیز کو دوبارہ سے باہر،
  • Fexed-point settlection: تنگ برصغیر میں انگر حساب سے چلنے والے انفنٹری عمل کے ساتھ serview actress. بہت سے انجن بنانے والے معماروں نے 16.16 ٹھوس پوائنٹ کو استعمال کیا ہے۔
  • [Pre-transform Cache: ایک بار کسی مریخ کے تمام تر سرطان کو تبدیل کرنے سے بچنے کے لیے ایک ہی طرح کے سرطان کو تبدیل کرنے سے گریز کریں، پھر انڈیڈیکس استعمال کریں۔
  • Boundard arm buffer لکھتے ہیں: [fLT] میموریل لائن میں ( بائیں جانب، اوپر سے دائیں جانب) لکھنے کے لیے service cache sting لکھتے ہیں۔

یہ تکنیکیں ایک سافٹ وئیر کے ذریعے 3–5 فٹ سے 60 فٹ تک معیاری پیچیدگیوں ( یعنی چند سو دن کے بعد ) کے مناظر کے لئے استعمال کی جا سکتی ہیں ۔

انجن کو تیز کرنا

ایک بار جب کوئی ٹھوس بنیاد موجود ہو تو آپ انفنٹری خصوصیات کو شامل کر سکتے ہیں:

  • Texture Mapture: [1] اسٹور 2D تصاویر اور انفلیشن کوآپریٹس کے اندر موجود ایک دوسرے کوائلر کے لیے جمع کرنا۔
  • Advanced settlement: Edmpular Excular (Blinn-Phong)، امبیہ بازنگی یا سایہ نقاشی۔
  • Scene انتظامیہ : تیزی سے معلوم کرنے کے لیے ایک acree یا BSP کا استعمال کرتے ہوئے استعمال کرتے ہیں۔
  • مواصلاتی تعامل : کیمرے یا چیزوں کے گرد گردش کرنے کے لیے strol کی بورڈنگ اور ماکس ان پٹ کے ذریعے داخل کیا جاتا ہے۔
  • Pipline activision : ایک سایہ دار نظام ایجاد کرنا : Cretex اور ٹکڑے کو بطور عملیاتی نقطہء (commander) کے کام کرنے کے قابل بناتا ہے، بغیر ہموار کارکردگی کے

وسائل اور مزید پڑھائی

اپنی سمجھ کو بڑھانے کے لیے ان کلاسیکی تحریروں اور آن لائن پر تحقیق کریں جو اس انجن کو اُبھارتے تھے:

  • Scratchapixel – In-creth وضاحتیں رے کی رے کی رتی، رتی اور حسابیات۔
  • [FLGL – جدید اوپنGLCLCLCLies; شروع باب "ہلو ٹریگل" سے۔
  • ویکیپیڈیا: 3D Projection – رسمی حسابی نظریہ اور یاتحاصی مکینز۔

سی میں 3D انجن بنا نے کے ليے گرافی پروگرامرز کے ليے ایک عبوری خط بنا ره هے ۔اس ميں آپ کو صرف مؤثر کوڈ لکھنا سکھایا جاتا ہے، بلکہ آپ کو تین رنوں اور شمارندی عمل کے نظاموں میں بھی سوچ‌بچار کرنا سکھایا جاتا ہے۔