الاستاذ للكمبيوتر



انضم إلى المنتدى ، فالأمر سريع وسهل

الاستاذ للكمبيوتر

الاستاذ للكمبيوتر

هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.
الاستاذ للكمبيوتر

برامج كمبيوتر - تعريفات هاردوير - أفلام - أغاني - العاب - أدب - فضائيات - جوال


    برمجة الرسوم ثلاثية الأبعاد في جاف

    فارس جريح
    فارس جريح


     برمجة الرسوم ثلاثية الأبعاد في جاف Acae_c10



    ذكر القوس عدد الرسائل : 3480
    تاريخ الميلاد : 01/12/1966
    العمر : 57
    الهواية : الكمبيوتر
    تاريخ الميلاد : 1/12/1966
    الوظيفة : مهندس كمبيوتر
    مزاجي اليوم :  برمجة الرسوم ثلاثية الأبعاد في جاف 1210
    وظيفتـــــــــي :  برمجة الرسوم ثلاثية الأبعاد في جاف Engine10
    هوايتــــــــــــي : 0
    السٌّمعَة : 1
    نقاط : 8787
    تاريخ التسجيل : 29/03/2007

     برمجة الرسوم ثلاثية الأبعاد في جاف Empty برمجة الرسوم ثلاثية الأبعاد في جاف

    مُساهمة من طرف فارس جريح 2010-07-24, 4:22 pm











    برمجة الرسوم ثلاثية الأبعاد في جاف


    ن المعلوم أهمية السرعة في التطبيقات ثلاثية الأبعاد. للحصول على السرعة
    في هذه التطبيقات على المبرمج أن يستفيد من التسريع ثلاثي الأبعاد في كرت
    الرسوميات. كيف ذلك؟ باستخدام لغة قياسية يدعمها مصنعي كروت الرسوميات.
    بهذا الأسلوب سيتولى كرت الرسوميات العمل بدلا من المعالج. لدينا خيارين
    في هذا المجال:
    لغة OpenGL:
    وهي المعيار في برمجة الرسوم المسرعة عتاديا وهي في الأصل من تصميم شركة
    سيليكون جرافكس إنترناشونال SGI. وهي موجودة منذ فترة طويلة ومدعومة جيدا
    في كروت الرسوميات الحالية للمستهلكين من ATI و nVidia كما أنها أساس كروت
    التسريع ثلاثي الأبعاد للمحترفين في التصميم والتطبيقات الصناعية و ال
    CAD. دعم OpenGL موجود في معظم نظم التشغيل وتتوفر مكتبات تطوير لها لمعظم
    لغات البرمجة الموجودة.
    لغة DirectX:
    من شركة ميكروسوفت ويعمل في ويندوز فقط وهو موجه أكثر إلى المستهلكين
    ومدعوم جيدا في كروت رسوميات المستهلكين. نضج كثيرا في آخر إصدارتين وهما
    الثامنة والتاسعة حيث قدم إمكانات متقدمة مثل مظللات الذرى Vertex Shaders
    و مظللات البكسلات Pixels Shaders. يمكن التطوير لDirectX باستخدام عدة
    التطوير له من ميكروسوفت التي تحوي المكتبات اللازمة للغات فيجوال ستوديو.


    الآن نعود لجافا:
    تطورت جافا في الإمكانات الموجهة للوسائط المتعددة والألعاب تطورا كثيرا
    خصوصا في السنة الأخيرة بعد الإصدارة 1.4 التي أتت مع نمط كامل الشاشة
    الحصري Full Screen Exclusive Mode كما تطورت المنصة عموما بمكتبات قوية
    مثل Java2D و Java3D و JOGL و JOAL و JAI و JMF و JInputحتى أصبحت المنصة
    خيارا قويا جدا ينصح به لتطوير الألعاب وظهرت (وستظهر قريبا) كتب عدة
    ممتازة في تطوير الألعاب تحت جافا.

    بالنسبة للبرمجة ثلاثية الأبعاد فأهم الخيارات (يوجد غيرها) خياران:
    Java3D:
    تعتبر Java3D مكتبة للتطوير على المستوى العالي (High Level) وتعتمد أسلوب
    بنيوي (Structural) يعتمد وصف محتويات المشهد بوضعها داخل شجرة Tree
    بأسلوب كائني. Java3D مبنية فوق OpenGL أو DirectX (تتوفر نسختان) ولكن
    البرمجة تتم بال Java3D. ينصح باستخدام نسخة OpenGL حيث أن لها سمعة بأنها
    أكثر ثباتا.

    JOGL:
    Java OpenGL Binding
    الخيار الحديث جدا هو استخدام هذه المكتبة التي توفر الوصول المباشر لأوامر OpenGL أي أن التطوير يتم على مستوى منخفض (Low Level).
    المبرمجين المتمرسين في OpenGL يمكنه البرمجة فورا ويمكن نقل الكود
    المكتوب لOpenGL في ال C مثلا مباشرة لجافا مع تعديلات بسيطة جدا حيث أن
    هناك تناظر واحد لواحد و بنفس الأسماء للدوال. بسبب هذه الميزة أو العيب
    (يعتمد هلى أسلوب النظر) فإن JOGL ليس لها مذاق البرمجة الكائنية في جافا
    حيث أن المكتبة عبارة عن عدد لا يتجاوز أصابع اليد من الأصناف التي تحوي
    عددا خياليا بالآلاف من الطرق.

    السرعة:
    كلا المكتبتين تستخدمان JNI في استدعاء دوال أصيلة لذا لك أن تتوقع أداءا
    عالي السرعة وهذا صحيح ولكن JOGL أسرع من Java3D كما توقعت أنت ربما. يمكن
    تشبيه هذا الوضع بالفرق بين ال C و الأسمبلي. في الحقيقة فإن JOGL خارقة
    السرعة حيث أنه لا فرق يذكر في السرعة عند استخدام OpenGL تحت C لذا فهي
    مناسبة جدا لبرمجة دووم التالية. ولكن Java3D مناسبة أكثر للمطورين الأقل
    تمرسا في برمجة الرسوم على مستوى الرأس والمضلع المنخفض المطلوب في JOGL.

    -------------------------------------------------
    موارد مفيدة:
    -------------------------------------------------
    موقع OpenGL الرسمي:
    http://www.opengl.org

    موقع DirectX الرسمي:
    http://www.microsoft...tx/default.aspx

    موقع Java3D الرسمي:
    http://java.sun.com/.../java-media/3D/

    موقع JOGL الرسمي:
    https://jogl.dev.java.net/

    JOGL صفحة التنزيل مباشرة:
    https://jogl.dev.java.net/servlets/ProjectD...0&folderID=1045

    انظر مايمكن عمله في JOGL:(مدهش)
    https://jogl-demos.dev.java.net/

    مقال Jumping Into JOGL:
    http://today.java.net/lpt/a/29

    موضوع How to: Getting Started with JOGL (ممتاز)
    http://www.javagaming.org/cgi-bin/JGNetFor...58027992;start=

    مسودة كتاب في برمجة الألعاب على الجافا ستنشره O'reilly مستقبلا: (ممتاز)
    http://fivedots.coe.psu.ac.th/~ad/jg/

    الكتاب الشهير في تعلم OpenGL ذو الإسم الرمزي الكتاب الأحمر من سيليكون جرافكس: (ممتاز)
    http://fly.cc.fer.hr...eal/theredbook/

    دروس NeHe الشهيرة في OpenGL:
    http://nehe.gamedev.net/

    إجابتي عن سؤال في كيفية عمل الكومبايل والتشغيل ل JOGL عموما و تحت JBuilder خصوصا:
    http://www.arabteam2...showtopic=45895

    منتدى JavaGaming:
    http://www.javagaming.org

    موقع جيد في برمجة الألعاب عموما:
    http://www.gamedev.net

      مواضيع مماثلة

      -

      الوقت/التاريخ الآن هو 2024-03-28, 10:24 am