الشبكة العربية لمطوري الألعاب

خبير مدير وسام البهنسي مشاركة 31

شكراً جزيلاً لجهودك أحمد...
 
أعتقد أن التعديل أعقد مما يجب. فيما يلي ملاحظاتي:
 
* استخدام vertex buffer فقط من أجل 4 نقاط سيتم رسمها عدد محدود من المرات ليس ضرورياً. الكود سيصبح أبسط بكثير لو تفاديت إنشاء vertex buffer، واستخدمت الإجراء DrawPrimitiveUP كبديل.
 
* استخدام نقاط من نوع D3DFVF_XYZ أدخل الكود في متاهة طويلة من تحويل الوحدات التي يمكن تفادي قسم كبير منها. استخدم XYZRHW وتفادى تعديل المصفوفات كلياً. طبعاً هذا يعني أنك ستقوم بحساب النقاط في كل لقطة، لكن الأرقام ستكون مباشرة وواضحة.
 
* المساحة العملية التي نحتاجها لتطبيق المؤثر محدودة في مجال رسم الحجرة، وليس كامل الشاشة. فـَـلِمَ يتم إنشاء الـ render target ليتسع لكامل الشاشة؟  الثوابت  CHAMBER_WIDTH و CHAMBER_HEIGHT هي ما يجب استخدامه بدلاً من SCREEN_WIDTH و SCREEN_HEIGHT.
 
* كما ذكرتُ سابقاً، لا داعي لنداء BeginScene و EndScene على الإطلاق. حتى عندما تريد الرسم على الـ render target.
 
* مكان كتابة الكود غير مناسب. فمنطقياً هذه الميزة تعمل على مستوى الهرم، وليس مستوى الـ state ككل. يجب أن يتم نقل الكود بكامله إلى كلاس الهرم.
 
* لم أدقق في طريقة حساب الإحداثيات، لكن حتماً هناك خطأ، وإلا لكان المربع يتبع اللاعب بشكل صحيح 100%. باعتبار أن كود الحساب غالباً سيتغير عند تفادي استخدام المصفوفات، فإنني لم أرد إضاعة الوقت.
 
* الأحرف الناقصة من كلمة Konami قد يكون سببها إما عدم الحفاظ على الـ render states بشكل صحيح، أو أنك ضمن Begin2D و End2D، وأنت تنادي Begin2D مرة أخرى بداخلها...
 
هناك ملاحظات أخرى، لكن دعنا ننتهي من هذه المجموعة أولاً... 😒

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

خبير  أحمد عزالدين مشاركة 32

السلام عليكم

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



شكرا لكل من ساهم في المساعدة
والسلام عليكم

أحمد عزالدين
طالب دراسات عليا
جامعة كالجري