ماذا يعني 'المضلع' يعني من حيث 3D الرسومات ؟

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

  •  04-07-2019
  •  | 
  •  

سؤال

قديم Direct3D يقول الكتاب

"...يمكنك تحقيق مقبول الإطار معدل مع تسارع في حين عرض ما بين 2000 و 4000 المضلعات في إطار..."

ما هو مضلع في Direct3D?تعني واحد البدائية (فهرستها أو خلاف ذلك) أو المثلث ؟

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

المحلول

وهذا الكتاب يعني مثلثات. خلاف ذلك، ماذا لو أردت المضلعات 1000 من جانب و؟ يمكن ما زلت تحقيق 2000-4000 مثل هذه الأشكال في الإطار؟

نصائح أخرى

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

هنا "المضلع" يشير إلى مثلث.كل .ومع ذلك, كما أوضح أن هناك العديد من المتغيرات من مجرد عدد المثلثات التي تحدد الأداء.

القضايا الرئيسية التي تهم هي:

  • شكل التخزين (فهرستها أو لا ؛ قائمة, مروحة, أو شريط)
  • موقع التخزين (المضيف-الذاكرة قمة المصفوفات, host-الذاكرة قمة المخازن ، أو GPU الذاكرة قمة مخازن)
  • طريقة التقديم (هو رسم بدائي الأوامر الصادرة بالكامل من المضيف أو عبر المثيلات)
  • مثلث حجم

معا, هذه المتغيرات يمكن أن تخلق أكبر بكثير من 2x الاختلاف في الأداء.

وبالمثل ، فإن الأجهزة التي يتم تشغيل التطبيق قد تختلف 10x أو أكثر في أداء في العالم الحقيقي:GPU (أو معالج الرسومات المتكاملة) التي كان المنخفضة نهاية عام 2005 سيتم تنفيذ 10-100x أبطأ في أي مغزى متري من أعلى فإن الخط GPU.

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

قواعد عامة من الإبهام لتحقيق جيدة مثلث الإنتاجية اليوم:

  • استخدام [فهرسة] مثلث (أو رباعية) قوائم
  • تخزين البيانات في GPU-الذاكرة قمة مخازن
  • رسم دفعات كبيرة مع كل رسم الأوليات دعوة (الآلاف من الأوليات)
  • استخدام مثلثات الغالب >= 16 بكسل على الشاشة
  • لا تستخدم الهندسة تظليل (خاصة بالنسبة الهندسة التضخيم)

تفعل كل هذه الأشياء ، أي آلة اليوم ينبغي أن تكون قادرة على تقديم عشرات أو مئات الآلاف من مثلثات مع سهولة.

وفقا لهذا الصفحة, المضلع n-الوجهين في Direct3d.

في C#:

public static Mesh Polygon(
    Device device,
    float length,
    int sides
)

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

وهناك ميزة أكثر في النمذجة الميكانيكية مما كانت عليه في الرسومات هو أن المثلثات هي أيضا undeformable.

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