هل يمكنني استخدام تظليل قمة الرأس لعرض القواعد الطبيعية للموديلات؟

StackOverflow https://stackoverflow.com/questions/1616264

  •  06-07-2019
  •  | 
  •  

سؤال

أنا أستخدم حاليًا VBO لإحداثيات الملمس ، والمعتاد القومية ، ورؤوس نموذج (3DS) أرسم مع "GldrawArays (gl_triangles ، ...) ؛". لتصحيح الأخطاء ، أريد (مؤقتًا) إظهار القواعد الطبيعية عند رسم النموذج الخاص بي. هل يجب علي استخدام الوضع الفوري لرسم كل سطر من Vert إلى Vert+Normal - أو - قم بتولي VBO آخر مع Vert و Vert+Normal لرسم جميع القواعد الطبيعية ... أو - هل هناك طريقة لتظليل القمة لاستخدام الرأس والبيانات العادية التي تم تمريرها بالفعل عند رسم النموذج لحساب V+N المستخدمة عند رسم القواعد الطبيعية؟

هل كانت مفيدة؟

المحلول

لا ، لا يمكن رسم خطوط إضافية من تظليل قمة الرأس.

تظليل قمة الرأس لا يتعلق بإنشاء هندسة ، بل يتعلق بالقيام بحساب قمة الرأس. باستخدام تظليل Vertex عندما تقول glDrawArrays(GL_TRIANGLES,0,3), ، هذا هو ما يحدد بالضبط ما سترسمه ، أي 1 مثلث. بمجرد أن تصل المعالجة إلى تظليل الرأس ، يمكنك فقط تغيير خصائص القمم من هذا المثلث, ، لا تعدل بأي شكل من الأشكال ، شكل أو شكل ، طوبولوجيا و/أو عدد الهندسة.

ما تبحث عنه هو ما يعرّف OpenGL 3.2 بأنه تظليل هندسي, ، وهذا يسمح بإخراج عدد الهندسة التعسفية/الطوبولوجيا من تظليل. لاحظ أن هذا يتم دعمه فقط من خلال OpenGL 3.2 ، أنه لا يدعم العديد من البطاقات/السائقين في الوقت الحالي (لقد تم خارجها لبضعة أشهر الآن).

نصائح أخرى

هل يمكن أن تقارب هذا عن طريق رسم الهندسة مرتين. بمجرد رسمها كما تفعل عادة. في المرة الثانية ، ارسم الهندسة كنقاط GL_POINTS ، واربط تظليل قمة يزيل كل موضع قمة بواسطة Vertex Normal.

هذا من شأنه أن يؤدي إلى وجود مجموعة من النقاط التي تطفو على السطح. ستظهر كل نقطة اتجاه الطبيعي من القمة التي يتوافق معها.

هذا ليس مثاليًا ، ولكن قد يكون كافياً ، اعتمادًا على ما تأمل في استخدامه.

تحديث: آها! وإذا انتقلت في عامل تحجيم ثابت إلى تظليل الرأس ، وقمت بالتطبيق الذي يدور حول هذا العامل بين 0 و 1 مع مرور الوقت ، فإن نقاطك التي يتم تقديمها بواسطة تظليل Vertex ستتحرك مع مرور الوقت ، بدءًا من القمة التي تنطبق عليها ، ثم تطفو في اتجاهه الطبيعي.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top