من الممكن تقديم مشاهد دون إنشاء نافذة أو عرضها على الشاشة. هذه التقنية ، المعروفة باسم عرض خارج الشاشة ، مفيدة للتطبيقات المختلفة ، مثل إنشاء الصور أو القوام لمزيد من المعالجة.
مفاهيم أساسية
بحاجة إلى فهم مفهومين رئيسيين:
framebuffers:
framebuffers خارج الشاشة حيث يقدم OpenGL صورًا. يمكن اعتبارها نوافذًا غير مرئية تحمل الإخراج المقدم.
.
قم بإنشاء frambuffer خارج الشاشة باستخدام وظيفة glgenframeBuffers. ] عرض المشهد:
عرض المشهد المطلوب في framebuffer. ]
قم بإلغاء ربط frambuffer:
قم بتعيين الإطار الافتراضي كهدف مرة أخرى باستخدام glbindframeBuffer مع قيمة 0. - ] بدلاً من الاعتماد على المخزن المؤقت الافتراضي الافتراضي ، من المفيد استخدام كائنات FrameBuffer (FBOs) لتقديم خارج الشاشة. توفر FBOs مرونة أكبر وتسمح لنا بإنشاء أهداف عرض مخصصة بخصائص محددة. ] قم بإنشاء RenderBuffer باستخدام glgenrenderbuffers وربطه باستخدام glBindRenderBuffer. redrensbuffer إلى FBO:
قم بإرفاق RenderBuffer بـ FBO كمرفق لون باستخدام glframeBufferRenderBuffer. - يمكن استخدام كائنات عازلة البكسل (PBOS) لجعل عرضًا أكثر كفاءة من خلال تمكين عمليات نقل البكسل غير المتزامنة. بدلاً من منع وحدة المعالجة المركزية حتى يتم نقل بيانات البكسل بالكامل ، يمكن استخدام GlreadPixels مع PBO للعودة على الفور.
التأثير على تنفيذ وحدة المعالجة المركزية. من خلال فهم مفاهيم أجهزة الإطار ، وقراءة البيكسلات ، واستخدام تقنيات مثل FBOs و PBOs ، يمكن للمطورين تنفيذ عرض خارج الشاشة بشكل فعال في تطبيقات OpenGL الخاصة بهم.