برنامج أوبنغل ض-فرز الشفافية
-
12-11-2019 - |
سؤال
إم تقديم ينغ على المربعات البسيطة في برنامج أوبنغل إس 2.0 ، ولكن عندما أحاول ورسم شيء وراء مربع لقد رسمت بالفعل منطقة شفافة في بلدي أعلى مربع يتم تقديم نفس لون الخلفية.
أنا أدعو هذه في بداية كل مكالمة تقديم.
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_DEPTH_TEST);
glEnable (GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
المحلول
عنوانك هو في الأساس الإجابة على سؤالك!
تتم
نصائح أخرى
بها.يمكنك تجاهل في شظي جزء giveacodicetagpre.
أعطى درو قاعة لك إجابة جيدة ولكن خيار آخر هو تعيين glEnable(GL_ALPHA_TEST)
مع glAlphaFunc(GL_GREATER, 0.1f)
.سيمنع هذا وحدات البكسل الشفافة (في هذه الحالة ، تلك التي تحتوي على ألفا < 0.1 و) من تقديمها على الإطلاق.وبهذه الطريقة لا يكتبون في المخزن المؤقت ض وأشياء أخرى يمكن أن "تظهر من خلال".ومع ذلك ، هذا يعمل فقط على كائنات شفافة تماما.كما أن لديها حواف خشنة أينما حافة 0.1 ألفا وهذا يمكن أن تبدو سيئة للميزات البعيدة حيث بكسل كبيرة مقارنة مع الكائن.