سؤال

يقتصر عمل فريقي حاليًا على رسم الصور على منصة opengl 1.4، مما يعني أننا لا نستطيع استخدام أي تعيين أنيق للنسيج لرسم صورة (نعم، نحن مقتصرون على استخدام منصة الرسومات المتكاملة من Intel، إنه أمر مزعج للغاية).حتى الآن، نحن قادرون على رسم الصورة وتغيير حجمها وقلبها، لكن الشخص الذي يقوم بالرسومات يدعي أن التدوير عبر glRotate لا يمكن القيام به أثناء استخدام glDrawPixels، وأنه يتعين علينا الانتقال إلى الأنسجة وما إلى ذلك، والتي لا تعمل على منصة إنتل.

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

شكرًا.

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

المحلول

لا يمكنك استخدام glRotate مع glDrawPixels.

glDrawPixels هي الطريقة الأسوأ والأقل أداءً للحصول على وحدات البكسل على الشاشة إلى حد بعيد.ستحصل أيضًا على أداء أفضل من خلال وضع وحدات البكسل على الشاشة باستخدام برنامج نقطي مكتوب بشكل سيئ.

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

والقوام يعمل.كما أنها تعمل بشكل جيد مع GL 1.4 وشرائح الرسومات Intel.لقد عملت على مثل هذه الشرائح بنفسي لفترة طويلة.لن تحصل على أداء شرائح ATI أو NVIDIA الحديثة، لكنها ليست كذلك الذي - التي سيئة سواء.

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

هذا ليس صحيحا.إنهم يعملون.عليك فقط أن تعلم أن برنامج OpenGL يتطلب منك إنشاء أنسجة ذات بعدين وأنه يتعين عليك إما استخدام مستطيل فرعي من النسيج الأكبر أو وضع صور متعددة في نسيج واحد كبير جدًا (يسمى الأخير أطلس النسيج).

يمكنك التعويض عن الصورة الأصغر داخل نسيج أكبر عن طريق ضبط إحداثيات النسيج.

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