تعيين الملمس

رسم نسيج ثنائي الأبعاد على نموذج ثلاثي الأبعاد
1: نموذج ثلاثي الأبعاد بدون نسيج
2: نفس النموذج مع نسيج

تعيين الملمس [1] [2] [3] هي طريقة لتعيين ملمس على رسم بياني تم إنشاؤه بواسطة الكمبيوتر . يمكن أن يكون "الملمس" في هذا السياق عبارة عن تفاصيل عالية التردد ، أو ملمس سطح ، أو لون .

تاريخ

تم ابتكار التقنية الأصلية بواسطة إدوين كاتمول في عام 1974 كجزء من أطروحته للدكتوراه. [4]

كان تعيين الملمس يشير في الأصل إلى تعيين الانتشار ، وهي طريقة تقوم ببساطة برسم وحدات البكسل من الملمس إلى سطح ثلاثي الأبعاد ("لف" الصورة حول الكائن). في العقود الأخيرة، أدى ظهور العرض متعدد التمريرات، والقوام المتعدد ، وخرائط mip ، والتعيينات الأكثر تعقيدًا مثل تعيين الارتفاع ، وتعيين النتوء ، وتعيين الطبيعي ، وتعيين الإزاحة ، وتعيين الانعكاس ، وتعيين المرآوي ، وتعيين الانسداد ، والعديد من الاختلافات الأخرى في التقنية (التي يتحكم فيها نظام المواد ) إلى إمكانية محاكاة الواقعية شبه الفوتوغرافية في الوقت الفعلي من خلال تقليل عدد المضلعات وحسابات الإضاءة اللازمة لإنشاء مشهد ثلاثي الأبعاد واقعي وعملي بشكل كبير.

أمثلة على تعدد الأشكال :
1: كرة غير ذات أشكال، 2: خرائط الأشكال والنتوءات، 3: خريطة الأشكال فقط، 4: خرائط التعتيم والشكل

خرائط الملمس

أخريطة الملمس [5][6]هي صورة مطبقة (مرسومة) على سطح شكل أومضلع.[7]قد تكون هذهصورة نقطيةأوملمسًا إجرائيًا. يمكن تخزينها فيتنسيقات ملفات الصور، والإشارة إليهابتنسيقات النموذج ثلاثي الأبعادأوتعريفات المواد، وتجميعها فيحزم الموارد.

قد يكون لها بُعد واحد إلى ثلاثة أبعاد، على الرغم من أن البعدين هما الأكثر شيوعًا للأسطح المرئية. للاستخدام مع الأجهزة الحديثة، قد يتم تخزين بيانات خريطة الملمس في ترتيبات متداخلة أو مبلطة لتحسين تماسك ذاكرة التخزين المؤقت . تدير واجهات برمجة التطبيقات للرسم عادةً موارد خريطة الملمس (التي قد توجد في ذاكرة الجهاز ) كمخازن مؤقتة أو أسطح، وقد تسمح بـ " الرسم على الملمس " للحصول على تأثيرات إضافية مثل المعالجة اللاحقة أو تعيين البيئة .

تحتوي عادةً على بيانات ألوان RGB (مخزنة إما كلون مباشر أو تنسيقات مضغوطة أو لون مفهرس )، وأحيانًا قناة إضافية لمزج ألفا ( RGBA ) خاصة للوحات الإعلانية وأنسجة تراكب الملصقات . من الممكن استخدام قناة ألفا (التي قد يكون من المناسب تخزينها بتنسيقات تم تحليلها بواسطة الأجهزة) لاستخدامات أخرى مثل الانعكاسية .

يمكن دمج خرائط نسيج متعددة (أو قنوات ) للتحكم في الانعكاسية ، أو المتجهات الطبيعية ، أو الإزاحة ، أو التشتت تحت السطح ، على سبيل المثال، لتقديم الجلد.

يمكن دمج صور نسيج متعددة في أطالس نسيج أو نسيج مصفوفة لتقليل تغييرات الحالة للأجهزة الحديثة. (يمكن اعتبارها تطورًا حديثًا لرسومات خرائط البلاط ). غالبًا ما تدعم الأجهزة الحديثة نسيج خرائط المكعبات ذات الوجوه المتعددة لرسم خرائط البيئة.

الخلق

يمكن الحصول على خرائط الملمس عن طريق المسح الضوئي / التصوير الرقمي ، أو تصميمها في برامج معالجة الصور مثل GIMP أو Photoshop ، أو رسمها على الأسطح ثلاثية الأبعاد مباشرة في أداة طلاء ثلاثية الأبعاد مثل Mudbox أو ZBrush .

تطبيق الملمس

هذه العملية تشبه تطبيق ورق منقوش على صندوق أبيض عادي. يتم تعيين إحداثيات نسيج لكل رأس في مضلع (والتي في الحالة ثنائية الأبعاد تُعرف أيضًا بإحداثيات الأشعة فوق البنفسجية ). [8] يمكن القيام بذلك من خلال التعيين الصريح لسمات الرأس ، والتي يتم تحريرها يدويًا في حزمة نمذجة ثلاثية الأبعاد من خلال أدوات فك الأشعة فوق البنفسجية . من الممكن أيضًا ربط تحويل إجرائي من مساحة ثلاثية الأبعاد إلى مساحة نسيج بالمادة. يمكن إنجاز ذلك من خلال الإسقاط المستوي أو، بدلاً من ذلك، رسم الخرائط الأسطوانية أو الكروية . قد تأخذ التعيينات الأكثر تعقيدًا في الاعتبار المسافة على طول السطح لتقليل التشوه. يتم استيفاء هذه الإحداثيات عبر وجوه المضلعات لعينة خريطة النسيج أثناء العرض. يمكن تكرار القوام أو عكسها لتمديد خريطة بتات مستطيلة محدودة على مساحة أكبر، أو قد يكون لها تعيين " حقن " فريد من نوعه من كل قطعة من السطح (وهو أمر مهم لرسم الخرائط العرضية ورسم الخرائط الضوئية ، والمعروف أيضًا باسم الخبز ).

مساحة الملمس

تقوم عملية رسم الملمس برسم سطح النموذج (أو مساحة الشاشة أثناء عملية التبخير) في مساحة الملمس ؛ وفي هذه المساحة، تكون خريطة الملمس مرئية في شكلها غير المشوه. توفر أدوات فك التغليف بالأشعة فوق البنفسجية عادةً عرضًا في مساحة الملمس للتحرير اليدوي لإحداثيات الملمس. يمكن تنفيذ بعض تقنيات العرض مثل التشتت تحت السطح تقريبًا من خلال عمليات مساحة الملمس.

تعدد الملمس

تعد عملية تعدد الملمس هي استخدام أكثر من ملمس في وقت واحد على مضلع. [9] على سبيل المثال، يمكن استخدام ملمس خريطة الضوء لإضاءة سطح كبديل لإعادة حساب الإضاءة في كل مرة يتم فيها عرض السطح. تُستخدم الملمس الدقيق أو الملمس التفصيلي لإضافة تفاصيل ذات تردد أعلى، وقد تضيف خرائط الأوساخ التجوية والتباين؛ يمكن أن يقلل هذا بشكل كبير من الدورية الظاهرة للملمس المتكرر. قد تستخدم الرسومات الحديثة أكثر من 10 طبقات، والتي يتم دمجها باستخدام برامج التظليل ، لمزيد من الدقة. هناك تقنية أخرى متعددة الملمس وهي رسم النتوءات ، والتي تسمح للملمس بالتحكم بشكل مباشر في اتجاه مواجهة السطح لأغراض حسابات الإضاءة الخاصة به؛ يمكن أن يعطي مظهرًا جيدًا جدًا لسطح معقد (مثل لحاء الشجر أو الخرسانة الخشنة) يأخذ تفاصيل الإضاءة بالإضافة إلى التلوين التفصيلي المعتاد. أصبحت رسم النتوءات شائعًا في ألعاب الفيديو الحديثة، حيث أصبحت أجهزة الرسومات قوية بما يكفي لاستيعابها في الوقت الفعلي. [10]

تصفية الملمس

الطريقة التي يتم بها حساب العينات (على سبيل المثال عند عرضها كبكسلات على الشاشة) من البكسلات (بكسلات الملمس) يحكمها ترشيح الملمس . الطريقة الأرخص هي استخدام الاستيفاء بأقرب جار ، ولكن الاستيفاء ثنائي الخط أو الاستيفاء ثلاثي الخطوط بين خرائط mip هما بديلان شائعان الاستخدام يقللان من التعرجات أو الخطوط المتعرجة . في حالة وجود إحداثيات الملمس خارج الملمس، يتم تثبيتها أو لفها . يعمل الترشيح المتباين الخواص على التخلص بشكل أفضل من القطع الأثرية الاتجاهية عند عرض الملمس من زوايا عرض مائلة.

تدفق الملمس

تدفق الملمس هو وسيلة لاستخدام تدفقات البيانات للملمس، حيث يتوفر كل ملمس بدقة مختلفة أو أكثر، لتحديد الملمس الذي يجب تحميله في الذاكرة واستخدامه بناءً على مسافة الرسم من العارض وكمية الذاكرة المتوفرة للملمس. يسمح تدفق الملمس لمحرك العرض باستخدام الملمس منخفض الدقة للأشياء البعيدة عن كاميرا العارض، وتحليلها إلى ملمس أكثر تفصيلاً، وقراءتها من مصدر بيانات، مع اقتراب وجهة النظر من الأشياء.

الخبز

كطريقة للتحسين، من الممكن تقديم تفاصيل من نموذج معقد وعالي الدقة أو عملية مكلفة (مثل الإضاءة العالمية ) إلى نسيج سطح (ربما على نموذج منخفض الدقة). يُعرف الخبز أيضًا باسم رسم الخرائط . تُستخدم هذه التقنية بشكل شائع لخرائط الضوء ، ولكن يمكن استخدامها أيضًا لإنشاء خرائط طبيعية وخرائط إزاحة . استخدمت بعض ألعاب الكمبيوتر (مثل Messiah ) هذه التقنية. استخدم محرك برنامج Quake الأصلي الخبز أثناء التنقل لدمج خرائط الضوء وخرائط الألوان (" التخزين المؤقت للسطح ").

يمكن استخدام الخبز كشكل من أشكال توليد مستوى التفاصيل ، حيث يمكن تقريب مشهد معقد يحتوي على العديد من العناصر والمواد المختلفة من خلال عنصر واحد بنسيج واحد ، والذي يتم بعد ذلك تقليصه خوارزميًا لتقليل تكلفة العرض وتقليل عمليات السحب . كما يتم استخدامه لأخذ نماذج عالية التفاصيل من برامج النحت ثلاثية الأبعاد ومسح السحابة النقطية وتقريبها باستخدام شبكات أكثر ملاءمة للعرض في الوقت الفعلي.

خوارزميات التربيع

لقد تطورت تقنيات مختلفة في تطبيقات البرمجيات والأجهزة. وكل منها تقدم تنازلات مختلفة فيما يتعلق بالدقة والتنوع والأداء.

تعيين نسيج أفيني

نظرًا لأن تعيين الملمس الأفيني لا يأخذ في الاعتبار معلومات العمق حول رؤوس المضلع، حيث لا يكون المضلع عموديًا على العارض، فإنه ينتج عيبًا ملحوظًا، خاصةً عند تحويله إلى شكل مثلثات.

يقوم تعيين الملمس الأفيني باستيفاء إحداثيات الملمس عبر السطح بشكل خطي، وبالتالي فهو أسرع شكل من أشكال تعيين الملمس. تقوم بعض البرامج والأجهزة (مثل PlayStation الأصلي ) بإسقاط رؤوس في مساحة ثلاثية الأبعاد على الشاشة أثناء العرض واستيفاء إحداثيات الملمس في مساحة الشاشة بينها بشكل خطي. يمكن القيام بذلك عن طريق زيادة إحداثيات UV ذات النقطة الثابتة ، أو عن طريق خوارزمية خطأ تزايدي تشبه خوارزمية خط Bresenham .

على النقيض من المضلعات العمودية، يؤدي هذا إلى تشوه ملحوظ مع تحويلات المنظور (انظر الشكل: يظهر نسيج مربع الشيك منحنيًا)، وخاصةً كبدائيات بالقرب من الكاميرا . يمكن تقليل هذا التشويه من خلال تقسيم المضلعات إلى مضلعات أصغر.

بالنسبة للأشياء المستطيلة، قد يبدو استخدام العناصر البدائية الرباعية أقل خطأً من تقسيم نفس المستطيل إلى مثلثات، ولكن نظرًا لأن استيفاء 4 نقاط يضيف تعقيدًا إلى عملية التبخير، فقد فضلت معظم التطبيقات المبكرة استخدام المثلثات فقط. تمكنت بعض الأجهزة، مثل تعيين الملمس الأمامي المستخدم بواسطة Nvidia NV1 ، من تقديم عناصر بدائية رباعية فعالة. مع تصحيح المنظور (انظر أدناه)، تصبح المثلثات متكافئة وتختفي هذه الميزة.

بالنسبة للأشياء المستطيلة، وخاصة عندما تكون عمودية على العرض، فإن الاستيفاء الخطي عبر رباعي الشكل يمكن أن يعطي نتيجة أفينية متفوقة مقارنة بنفس المستطيل المقسم إلى مثلثين أفينيين.

بالنسبة للأشياء المستطيلة التي تكون بزوايا قائمة على المشاهد، مثل الأرضيات والجدران، لا يلزم تصحيح المنظور إلا في اتجاه واحد عبر الشاشة، وليس في كلا الاتجاهين. يمكن حساب تعيين المنظور الصحيح عند الحواف اليسرى واليمنى للأرضية، ثم سيبدو الاستيفاء الخطي المتجانس عبر هذا الامتداد الأفقي صحيحًا، لأن كل بكسل على طول هذا الخط يكون على نفس المسافة من المشاهد.

صحة المنظور

تأخذ الملمس الصحيح للمنظور في الاعتبار مواضع الرؤوس في الفضاء ثلاثي الأبعاد، بدلاً من مجرد استيفاء الإحداثيات في مساحة الشاشة ثنائية الأبعاد. [11] وهذا يحقق التأثير البصري الصحيح ولكن حسابه أكثر تكلفة. [11]

لإجراء تصحيح منظور لإحداثيات الملمس و ، مع كونها مكون العمق من وجهة نظر المشاهد، يمكننا الاستفادة من حقيقة أن القيم و و و خطية في مساحة الشاشة عبر السطح الذي يتم نقشه. على النقيض من ذلك، فإن القيم الأصلية و و قبل التقسيم ليست خطية عبر السطح في مساحة الشاشة. وبالتالي، يمكننا استيفاء هذه المعكوسات خطيًا عبر السطح، وحساب القيم المصححة عند كل بكسل، للحصول على تعيين ملمس صحيح للمنظور.

للقيام بذلك، نحسب أولاً المقلوبات عند كل رأس من رؤوس هندستنا (3 نقاط للمثلث). بالنسبة للرأس لدينا . ثم نقوم باستيفاء هذه المقلوبات خطيًا بين الرؤوس (على سبيل المثال، باستخدام إحداثيات مركز الثقل )، مما يؤدي إلى قيم مداخلة عبر السطح. عند نقطة معينة، ينتج عن هذا القيم المداخلة و و . لاحظ أنه لا يمكن استخدام هذا حتى الآن كإحداثيات نسيجنا لأن قسمتنا على نظام إحداثياتها المعدل.

لتصحيح الفراغ مرة أخرى، نحسب أولاً المصحح عن طريق أخذ المعكوس مرة أخرى . ثم نستخدم هذا لتصحيح : و . [12]

يؤدي هذا التصحيح إلى جعل الفرق بين بكسل وآخر بين إحداثيات الملمس في أجزاء المضلع الأقرب إلى العارض أصغر (مما يؤدي إلى توسيع الملمس) وفي الأجزاء الأبعد يكون هذا الفرق أكبر (مما يؤدي إلى ضغط الملمس).

يقوم تعيين الملمس الأفيني باستيفاء إحداثيات الملمس بين نقطتين نهائيتين مباشرةً و :
أين
يقوم رسم المنظور الصحيح بالتدخل بعد القسمة على العمق ، ثم يستخدم المعكوس المتدخل لاستعادة الإحداثيات الصحيحة:

تدعم أجهزة الرسومات ثلاثية الأبعاد عادةً الملمس الصحيح للمنظور.

لقد تطورت تقنيات مختلفة لتقديم هندسة الملمس إلى صور ذات تناقضات مختلفة في الجودة والدقة، والتي يمكن تطبيقها على كل من البرامج والأجهزة.

كانت برامج رسم الملمس الكلاسيكية تقوم عادةً برسم خرائط بسيطة بتأثير إضاءة واحد على الأكثر (يتم تطبيقه عادةً من خلال جدول بحث )، وكانت صحة المنظور أكثر تكلفة بنحو 16 مرة.

دوران الكاميرا مقيد

لم يسمح محرك Doom بإنشاء أرضيات منحدرة أو جدران مائلة. وهذا يتطلب تصحيح المنظور مرة واحدة فقط لكل امتداد أفقي أو رأسي، وليس لكل بكسل.

كان محرك Doom يقتصر على الجدران الرأسية والأرضيات/الأسقف الأفقية، مع كاميرا لا يمكنها الدوران إلا حول المحور الرأسي. وهذا يعني أن الجدران ستكون ذات عمق ثابت على طول خط رأسي وأن الأرضيات/الأسقف سيكون لها عمق ثابت على طول خط أفقي. وبعد إجراء حساب تصحيح منظور واحد للعمق، يمكن لبقية الخط استخدام رسم تخطيطي سريع. قام بعض الرسامين اللاحقين في هذا العصر بمحاكاة قدر ضئيل من ميل الكاميرا باستخدام القص مما سمح بظهور قدر أكبر من الحرية أثناء استخدام نفس تقنية العرض.

تمكنت بعض المحركات من تقديم خرائط ارتفاع مُصممة حسب الملمس (على سبيل المثال، Voxel Space الخاص بـ Nova Logic ، ومحرك Outcast ) عبر خوارزميات تدريجية شبيهة بـ Bresenham ، مما أدى إلى ظهور منظر طبيعي مُصمم حسب الملمس دون استخدام العناصر البدائية الهندسية التقليدية. [13]

قسم فرعي لتصحيح المنظور

يمكن تقسيم كل مثلث إلى مجموعات تتألف كل منها من حوالي 16 بكسل لتحقيق هدفين. الأول هو إبقاء مطحنة الحساب مشغولة طوال الوقت. والثاني هو إنتاج نتائج حسابية أسرع. [ غامض ]

تقسيم الفضاء العالمي

بالنسبة لرسم نسيج المنظور دون دعم الأجهزة، يتم تقسيم المثلث إلى مثلثات أصغر للرسم ويتم استخدام رسم تخطيطي عليها. والسبب وراء نجاح هذه التقنية هو أن تشوه رسم التخطيط التخطيطي يصبح أقل وضوحًا على المضلعات الأصغر. وقد استخدمت سوني بلاي ستيشن هذه التقنية على نطاق واسع لأنها كانت تدعم رسم التخطيط التخطيطي فقط في الأجهزة ولكنها كانت تتمتع بمعدل إنتاج مثلثات مرتفع نسبيًا مقارنة بنظيراتها.

تقسيم مساحة الشاشة

تقنيات تقسيم مساحة الشاشة. أعلى اليسار: يشبه الزلزال، أعلى اليمين: ثنائي الخط، أسفل اليسار: ثابت-z

يفضل مصممو البرامج عمومًا تقسيم الشاشة لأنها تتطلب تكاليف أقل. بالإضافة إلى ذلك، يحاولون إجراء استيفاء خطي على طول خط من وحدات البكسل لتبسيط الإعداد (مقارنةً بالاستيفاء الأفيني ثنائي الأبعاد) وبالتالي تقليل التكاليف مرة أخرى (كما أن تعيين الملمس الأفيني لا يتناسب مع العدد المنخفض من السجلات في وحدة المعالجة المركزية x86 ؛ حيث أن 68000 أو أي وحدة معالجة مركزية RISC أكثر ملاءمة).

تم اتباع نهج مختلف لـ Quake ، والذي من شأنه أن يحسب إحداثيات المنظور الصحيحة مرة واحدة فقط كل 16 بكسل من خط المسح ويتدخل بينها خطيًا، ويعمل فعليًا بسرعة التدخل الخطي لأن حساب المنظور الصحيح يعمل بالتوازي على المعالج المساعد. [14] يتم عرض المضلعات بشكل مستقل، وبالتالي قد يكون من الممكن التبديل بين الامتدادات والأعمدة أو الاتجاهات القطرية اعتمادًا على اتجاه المضلع الطبيعي لتحقيق z أكثر ثباتًا ولكن يبدو أن الجهد لا يستحق ذلك.

تقنيات أخرى

كانت هناك تقنية أخرى تتمثل في تقريب المنظور باستخدام حساب أسرع، مثل كثير الحدود. وتستخدم تقنية أخرى قيمة 1/z للبكسلين المرسومين الأخيرين لاستقراء القيمة التالية خطيًا. ثم يتم إجراء القسمة بدءًا من تلك القيم بحيث لا يلزم سوى قسمة باقي صغير [15] ولكن كمية المحاسبة تجعل هذه الطريقة بطيئة للغاية في معظم الأنظمة.

أخيرًا، قام محرك البناء بتوسيع خدعة المسافة الثابتة المستخدمة في Doom من خلال العثور على خط المسافة الثابتة للمضلعات التعسفية والرسم على طوله.

تنفيذات الأجهزة

تم تطوير أجهزة رسم القوام في الأصل للمحاكاة (على سبيل المثال كما تم تنفيذها في Evans and Sutherland ESIG و Singer-Link Digital Image Generators DIG)، ومحطات عمل الرسومات الاحترافية مثل Silicon Graphics ، وأجهزة بث تأثيرات الفيديو الرقمية مثل Ampex ADO وظهرت لاحقًا في خزائن Arcade ، ووحدات تحكم ألعاب الفيديو الاستهلاكية ، وبطاقات الفيديو للكمبيوتر الشخصي في منتصف التسعينيات. في محاكاة الطيران ، قدمت رسم القوام إشارات مهمة للحركة والارتفاع ضرورية لتدريب الطيارين غير المتوفرة على الأسطح غير المزخرفة. كما تم تنفيذ رسم القوام في تطبيقات محاكاة الطيران للمعالجة في الوقت الفعلي مع أنماط نسيج مفلترة مسبقًا مخزنة في الذاكرة للوصول إليها في الوقت الفعلي بواسطة معالج الفيديو. [16]

توفر وحدات معالجة الرسومات الحديثة وحدات وظيفية ثابتة متخصصة تسمى وحدات أخذ العينات النسيجية ، أو وحدات تعيين النسيج ، لأداء تعيين النسيج، عادةً باستخدام الترشيح ثلاثي الخطوط أو الترشيح المتباين الخواص متعدد النقرات بشكل أفضل وأجهزة فك تشفير تنسيقات معينة مثل DXTn . اعتبارًا من عام 2016، أصبحت أجهزة تعيين النسيج منتشرة في كل مكان حيث تحتوي معظم وحدات معالجة الرسومات على وحدة معالجة رسومية مناسبة.

تجمع بعض الأجهزة بين تعيين الملمس وتحديد السطح المخفي في العرض المؤجل القائم على البلاط أو عرض خط المسح ؛ حيث تقوم مثل هذه الأنظمة بجلب وحدات البكسل المرئية فقط على حساب استخدام مساحة عمل أكبر للرؤوس المحولة. وقد استقرت معظم الأنظمة على نهج التخزين المؤقت Z ، والذي لا يزال بإمكانه تقليل عبء عمل تعيين الملمس باستخدام الفرز من الأمام إلى الخلف .

بين أجهزة الرسوميات السابقة، كان هناك نموذجان متنافسان حول كيفية تقديم الملمس إلى الشاشة:

  • يتكرر تعيين النسيج الأمامي عبر كل بكسل على النسيج، ويقرر مكان وضعه على الشاشة.
  • بدلاً من ذلك، تعمل خريطة الملمس العكسية على تكرار وحدات البكسل على الشاشة، وتقرر وحدات البكسل التي يجب استخدامها لكل وحدة.

أصبحت عملية تعيين الملمس العكسي هي الطريقة القياسية في الأجهزة الحديثة.

تعيين نسيج عكسي

باستخدام هذه الطريقة، يتم تعيين بكسل على الشاشة إلى نقطة على الملمس. يتم إسقاط كل رأس من بدائيات العرض إلى نقطة على الشاشة، ويتم تعيين كل من هذه النقاط إلى إحداثيات البكسل au,v على الملمس. سيقوم برنامج المسح الضوئي بالتدخل بين هذه النقاط لملء كل بكسل مغطى بالبدائيات.

الميزة الأساسية هي أن كل بكسل مغطى ببدائي سيتم اجتيازه مرة واحدة بالضبط. بمجرد تحويل رؤوس البدائي، فإن مقدار العمل المتبقي يتناسب بشكل مباشر مع عدد البكسلات التي يغطيها على الشاشة.

العيب الرئيسي في مقابل تعيين النسيج الأمامي هو أن نمط الوصول إلى الذاكرة في مساحة النسيج لن يكون خطيًا إذا كان النسيج بزاوية على الشاشة. غالبًا ما يتم معالجة هذا العيب من خلال تقنيات تخزين النسيج المؤقتة ، مثل ترتيب ذاكرة النسيج المتأرجح .

يمكن استخدام الاستيفاء الخطي بشكل مباشر لرسم خرائط نسيجية بسيطة وفعالة، ولكن يمكن أيضًا تكييفه من أجل صحة المنظور.

تعيين الملمس للأمام

تقوم عملية تعيين النسيج الأمامي بتعيين كل بكسل من النسيج إلى بكسل على الشاشة. بعد تحويل بدائية مستطيلة إلى مكان على الشاشة، يقوم مُقدم تعيين النسيج الأمامي بالتكرار عبر كل بكسل على النسيج، وتقسيم كل بكسل إلى بكسل واحد من مخزن الإطار .

تم استخدام هذا بواسطة بعض الأجهزة، مثل 3DO و Sega Saturn و NV1 .

الميزة الأساسية هي أنه سيتم الوصول إلى الملمس بترتيب خطي بسيط، مما يسمح بتخزين بيانات الملمس بشكل فعال للغاية. ومع ذلك، فإن هذه الميزة هي أيضًا عيبها: مع صغر حجم البدائية على الشاشة، لا يزال يتعين عليها تكرار كل بكسل في الملمس، مما يتسبب في رسم العديد من وحدات البكسل بشكل زائد عن الحد.

هذه الطريقة مناسبة أيضًا لتقديم الأشكال البدائية الرباعية بدلاً من تقليصها إلى مثلثات، وهو ما وفر ميزة عندما لم يكن النسيج الصحيح للمنظور متاحًا في الأجهزة. وذلك لأن التشوهات التآلفية للرباعي تبدو أقل خطأً من نفس الرباعي المنقسم إلى مثلثين (انظر رسم النسيج التآلفي أعلاه). كما سمحت أجهزة NV1 بوضع استيفاء تربيعي لتوفير تقريب أفضل لصحة المنظور.

لم توفر تطبيقات الأجهزة الحالية تعيينًا فعالًا لإحداثيات الأشعة فوق البنفسجية ، والتي أصبحت تقنية مهمة للنمذجة ثلاثية الأبعاد وساعدت في قص الملمس بشكل صحيح عندما يتجاوز العنصر البدائي حافة الشاشة. كان من الممكن معالجة هذه العيوب بمزيد من التطوير، لكن تصميم وحدة معالجة الرسومات انتقل منذ ذلك الحين في الغالب نحو التعيين العكسي.

التطبيقات

إلى جانب عرض الصور ثلاثية الأبعاد، فإن توفر أجهزة رسم الخرائط النسيجية ألهم استخدامها لتسريع المهام الأخرى:

التصوير المقطعي

من الممكن استخدام أجهزة رسم خرائط الملمس لتسريع إعادة بناء مجموعات بيانات الفوكسل من عمليات المسح المقطعي ، وتصور النتائج . [17]

واجهات المستخدم

تستخدم العديد من واجهات المستخدم تعيين الملمس لتسريع التحولات المتحركة لعناصر الشاشة، على سبيل المثال Exposé في Mac OS X.

انظر أيضا

مراجع

  1. ^ وانج، هوامين. "Texture Mapping" (PDF) . قسم علوم وهندسة الكمبيوتر . جامعة ولاية أوهايو . مؤرشف من الأصل (PDF) في 2016-03-04 . تم الاسترجاع في 2016-01-15 .
  2. ^ "Texture Mapping" (PDF) . www.inf.pucrs.br . تم الاسترجاع في 15 سبتمبر 2019 .
  3. ^ "CS 405 Texture Mapping". www.cs.uregina.ca . تم الاسترجاع في 22 مارس 2018 .
  4. ^ كاتمول، إي. (1974). خوارزمية تقسيم فرعية لعرض الأسطح المنحنية على الكمبيوتر (PDF) (أطروحة دكتوراه). جامعة يوتا.
  5. ^ Fosner, Ron (January 1999). "DirectX 6.0 Goes Ballistic With Multiple New Features And Much Faster Code". Microsoft.com . مؤرشف من الأصل في 31 أكتوبر 2016 . تم الاسترجاع في 15 سبتمبر 2019 .
  6. ^ Hvidsten, Mike (Spring 2004). "The OpenGL Texture Mapping Guide". homepages.gac.edu . مؤرشف من الأصل في 23 مايو 2019 . تم الاسترجاع في 22 مارس 2018 .
  7. ^ جون رادوف، تشريح لعبة MMORPG، "تشريح لعبة MMORPG". radoff.com . 22 أغسطس 2008. مؤرشف من الأصل في 2009-12-13 . تم الاسترجاع في 2009-12-13 .
  8. ^ روبرتس، سوزان. "كيفية استخدام القوام". مؤرشف من الأصل في 24 سبتمبر 2021 . تم الاسترجاع 20 مارس 2021 .{{cite web}}:CS1 maint: عنوان URL غير مناسب ( الرابط )
  9. ^ Blythe, David. Advanced Graphics Programming Techniques Using OpenGL. Siggraph 1999. ( PDF ) (انظر: Multitexture)
  10. ^ تجميع خريطة النتوء في الوقت الحقيقي، جان كاوتس 1 ، وولفغانغ هايدريشي 2 وهانز بيتر سايدل 1 ، ( 1 معهد ماكس بلانك للمعلوماتية، 2 جامعة كولومبيا البريطانية)
  11. ^ ab "معجم الجيل القادم 1996 من الألف إلى الياء: تصحيح المنظور". الجيل القادم . رقم 15. إيماجين ميديا . مارس 1996. ص 38.
  12. ^ Kalms, Mikael (1997). "Perspective Texturemapping". www.lysator.liu.se . تم الاسترجاع في 2020-03-27 .
  13. ^ "محرك التضاريس فوكسل"، مقدمة. في ذهن المبرمج، 2005 (أرشيف 2013).
  14. ^ أبراش، مايكل. كتاب برمجة الرسومات الخاص بمايكل أبراش، الطبعة السوداء. مجموعة كوريوليس، سكوتسديل، أريزونا، 1997. رقم ISBN 1-57610-174-6 (ملف PDF مؤرشف في 11 مارس 2007 على موقع واي باك مشين ) (الفصل 70، الصفحة 1282) 
  15. ^ US 5739818، Spackman، John Neil، "جهاز وطريقة لأداء الاستيفاء الصحيح من منظور في الرسومات الحاسوبية"، صدر في 14 أبريل 1998 
  16. ^ يان، جونسون (أغسطس 1985). "التطورات في الصور المولدة بواسطة الكمبيوتر لمحاكاة الطيران". IEEE . 5 (8): 37–51. doi :10.1109/MCG.1985.276213. {{cite journal}}: رابط خارجي في |ref=( المساعدة )
  17. ^ "تخطيط الملمس للتصوير المقطعي".

برمجة

  • تم أرشفة TexRecon في 2021-11-27 على موقع Wayback Machine — برنامج مفتوح المصدر لتنسيق النماذج ثلاثية الأبعاد المكتوبة بلغة C++
  • مقدمة في رسم الملمس باستخدام C وSDL (PDF)
  • برمجة التضاريس المحبوكة باستخدام XNA/DirectX، من www.riemers.net
  • تصحيح المنظور
  • نسيج الوقت رسم الخرائط النسيجية باستخدام خطوط بيزير
  • إعادة الإضاءة التفاعلية للصور
  • 3 طرق الاستيفاء من النقاط (بالإسبانية) الطرق التي يمكن استخدامها لاستيفاء نسيج مع العلم بإحداثيات النسيج عند رؤوس المضلع
  • أدوات الملمس ثلاثي الأبعاد
تم الاسترجاع من "https://en.wikipedia.org/w/index.php?title=Texture_mapping&oldid=1239429853#Inverse_texture_mapping"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate