ما هو مفهوم الاختلافات والاختلافات بين framebuffer و renderbuffer في opengl؟

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

  •  19-09-2019
  •  | 
  •  

سؤال

أنا مرتبك حول مفهوم framebuffer و renderbuffer. أعلم أنهم يتعين عليهم تقديمهم، لكنني أريد أن أفهمهم قبل الاستخدام.

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

ما هو مفهوم واختلافهم؟

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

المحلول

هذه الصفحة لديه بعض التفاصيل التي أعتقد أن شرح الفرق بشكل جيد للغاية. أولا:

يسمى وجهة التقديم النهائي لخط أنابيب OpenGL [The framebuffer..

بينما:

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

نصائح أخرى

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

الآن كل المخزن المؤقت مرفق framebuffer. يمكن أن يكون renderbuffer. أو أ الملمس.

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

renderbuffers. هي مفهوم جديد نسبيا. أمامهم، framebuffer. كان يستخدم لتقديم إلى الملمس, ، والتي يمكن أن تكون أبطأ لأن الملمس يستخدم تنسيق قياسي. لا يزال من الممكن تقديم نسيج، وهذا مفيد للغاية عندما يحتاج المرء إلى أداء تمريرات متعددة على كل بكسل لبناء مشهد، أو رسم مشهد على سطح مشهد آخر!

ويكي OpenGL لديه هذه الصفحة هذا يظهر مزيدا من التفاصيل والروابط.

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