موضوع: Alpha ماهي طريقة استدعائها وتنفيذها في الدايركت ؟

ردود: 7 | زيارات: 1337
  1. #1
    عضو فعال
    تاريخ التسجيل
    Sep 2003
    المنطقة
    مجرة درب التبانة
    ردود
    196

    Alpha ماهي طريقة استدعائها وتنفيذها في الدايركت ؟

    السلام عليكم ورحمة الله وبركاته

    أريد أن أعرض مستطيل ويكون هذا المستطيل شفاف أي يظهر ما وراءه ويكون على المستطيل كلام

    كيف أستطيع اني أسوي هذا الشي؟

    أريد الطريقة على الدايركت اكس 7
    أو على الدايركت اكس 8

    وأنا حاولت أسويها على الدايركت اكس 7 لكني ما قدرت فما الطريقة ؟؟

    وشكرا
    سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته


  2. #2
    السلام عليكم

    Alpha Blinding :

    DX7: http://216.5.163.53/DirectX4VB/Tutor...tColorKeys.asp

    DX8: http://216.5.163.53/DirectX4VB/Tutor...R_Lesson12.asp


    وهنالك أنواع عديدة من الBlind Modes غير الAlpha

    بالتوفيق
    كود:
    Arabian Xtreme Designs          www.axdteam.com

  3. #3
    عضو فعال
    تاريخ التسجيل
    Sep 2003
    المنطقة
    مجرة درب التبانة
    ردود
    196
    السلام عليكم

    أشكرك أخي game_maker على الرد
    ولو اني اردت أن تكتبها بالعربي وتفهمنا هي لاني مافهمتها بالانجليزي

    حسنا دعك من دايركت اكس 7
    ولندخل الى دايركت اكس 8

    أنا رايت في المثال من الموقع السابق وقد رأيت صورتين صورة الجدار والصورة الأخرى اللتي يتم بها اخراج الصورة الأولى
    ولكني لم أفهم كيف تم عمل ذلك وقد رأيت ملف .dds ما هو هذا الملف هل هو الصورة التي تظهر على الشاشة
    أم ان الصورة التي تظهر على الشاشة هي من تأثير الصورتين الأولى والثانية

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

    أرجو من كل من يعرف انه يعلمنا مشكورا
    سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

  4. #4
    عضو فعال
    تاريخ التسجيل
    Sep 2003
    المنطقة
    مجرة درب التبانة
    ردود
    196
    أخي game-maker انت قلت ( وهنالك أنواع عديدة من الBlind Modes غير الAlpha )

    أرجو منك تعلمنا على اللي تعرفه منها

    أرجو من كل واحد يعرف حاجة عن هذي التأثيرات يضيف اللي يعرفه ويكتب وش فايدته
    عشان الجميع يستفيد

    وأرجو انه يكون الموضوع مرجع لهذي التأثيرات

    وأشكر الجميع
    سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

  5. #5
    السلام عليكم

    لا أعتقد ان اللغة الإنقليزية المستخدمة في الموقع معقدة

    أخي أمهلني يومين حتى أنتهي من إختباراتي وأقوم حينها بكتابة مثال مع الشرح (بالعربي)

    تحياتي
    كود:
    Arabian Xtreme Designs          www.axdteam.com

  6. #6

    Smile

    السلام عليكم

    أهلاً بالحربي :

    آسف للتأخير ^^

    حسناً خلاصة الموضوع تقع تحت هذين السطرين :

    كود:
    D3DDevice.SetRenderState D3DRS_SRCBLEND, CONST_D3DBLEND
    D3DDevice.SetRenderState D3DRS_DESTBLEND, CONST_D3DBLEND
    والأسئلة ستكون : ماهي التراكيب الممكن وضعها هنا ومالفرق بين D3DRS_SRCBLEND و D3DRS_DESTBLEND ؟

    لو فهمنا هذا لإنتهت العملية

    للنقطة الأولى إرجع إلى الجدول الموجود في الموقع
    وسأقوم بإيضاح واحدة منها ولتكن مثلاً D3DBLEND_INVSRCCOLOR
    INV : تعني Inverse أي معكوس
    فلو كان اللون 240 فسيصبح 255-240 = 15
    SRC : أي أنها تأخذه من المصدر
    Color أي اللون وأنت تعرف أننا تعامل هنا مع RGBA وعندما قلنا Color فهذا يشمل قناة ألفا أيظاً
    INV+SRV+COLOR :
    كود:
    (1-Rs, 1-Gs, 1-Bs, 1-As).
    الs ترمز إلى المصدر Source

    وجميع هذه المعلومات تكون موجودة في الصورة الأصلية بما فيها الألفا

    وصور dds تحتوي على قناة Alpha معدة مسبقاً

    لذا عندما نحدد ما تريد وضعه في الD3DRS_SRCBLEND
    ونحدد ما تريد وضعه في الD3DRS_DESTBLEND

    يقوم DX بعمل Blending بينهما ثم تضهر النتيجة كلون نهائي RGBA على كل نقطة
    ولكن كيف يقوم DirectX بمعمل Blending بين طبقة Source و Dest

    يتم ذلك عن طريق

    D3DDevice.SetRenderState D3DRS_BLENDOP, CONST_D3DBLENDOP

    كود:
    Enum CONST_D3DBLENDOP
        D3DBLENDOP_ADD         = 1
        D3DBLENDOP_SUBTRACT    = 2
        D3DBLENDOP_REVSUBTRACT = 3
        D3DBLENDOP_MIN         = 4
        D3DBLENDOP_MAX         = 5
    End Enum
    ADD : المصدر + الوجهه

    SUBTRACT : المصدر - الوجهة

    REVSUBTRACT : الوجهة - المصدر

    MIN : أقل قيمة

    MAX : أعلى قيمة

    وهي ADD بشكل إفتراضي

    بقي أمر آخر

    من أين نحصل على الألفا

    إحدى الطرق هي وضعها عند إعداد النقطة
    إستخدم الدالة
    كود:
    d3dcoloraux.D3DColorRGBA()
    وحتى يتم تفعيل هذه الطريقة (هنالك طرق أخري ويجب أن نخبره أي طريقة نعمل عليها)

    يتم ذلك - كما في التالي :

    كود:
    Call D3DDevice.SetTextureStageState(0, D3DTSS_ALPHAOP, D3DTOP_MODULATE)
    Call D3DDevice.SetTextureStageState(0, D3DTSS_ALPHAARG1, D3DTA_DIFFUSE)
    Call D3DDevice.SetTextureStageState(0, D3DTSS_ALPHAARG2, D3DTA_CURRENT
    الموضوع طويل بعض الشيء (وسع صدرك علينا )

    هنالك أنواع عديدة لم أتحدث عنها في الموضوع

    ولكن للإختصار سأكتفي بأن أقول أنك تريد أن تعمل

    صورة مربعة ملونة حوافها سوداء وأنت تريد عمل :

    1- إزالة اللون الأسود
    2- جعل الصورة شفافة بنسبة 30% مثلاً

    أليس هذا ما تريده

    كل ما تحتاج عمله هو هو وضع الColorKey أسوداً إثناء إنشاء الإكساء

    ثم تفعيل Alpha Blending ثم تفعيل طريقة
    الVertex Based Alpha Blending

    ثم وضع الSource Blend إلى SrcAlpha
    ووضع الDestBlind إلى ONE
    وضع العملية : جمع


    بالطبع هنالك طرق أخرى ولكن أنا جربت هذه الطريقة ونجحت معي

    ولو بحثت بنفسك ستجد ماهو أسرع من هذه الطريقة لأني ببساطة مبتدأ في هذه الأمور

    حمل هذا المحرك (محركي) وستجد مثال بإسم Ex0

    تستطيع تغيير أنواع التركيبات وأنواع المزج أثناء التشغيل حتى تستطيع فهما بشكل أسرع وأوضح

    www.axdteam.com/download/axde01beta.exe

    بالتوفيق
    كود:
    Arabian Xtreme Designs          www.axdteam.com

  7. #7
    عضو فعال
    تاريخ التسجيل
    Sep 2003
    المنطقة
    مجرة درب التبانة
    ردود
    196
    أشكرك اخي game_maker لتوضيحك للأمور
    وجزاك الله خيري الدنيا والآخرة
    وسوف أجربها ان شاء الله

    أما بالنسبة لمحركك
    فأولا أبارك لك انهائك هذا المحرك
    وثانيا انه يأتيني خطأ أثناء محاولتي لتشغيل المشاريع
    والخطأ في هذا السطر
    Engine.Engine_Init Form1, 800, 600, FullScreen
    والخطأ هذا في جميع المشاريع
    فياليت تشوف الحل

    وأشكركك
    أخوك/ فهـــد
    سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته

Bookmarks

قوانين الموضوعات

  • لا يمكنك اضافة موضوع جديد
  • لا يمكنك اضافة ردود
  • لا يمكنك اضافة مرفقات
  • لا يمكنك تعديل مشاركاتك
  •  
  • كود BB مفعّل
  • رموز الحالة مفعّل
  • كود [IMG] مفعّل
  • [VIDEO] code is مفعّل
  • كود HTML معطل