برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة: برمجة الرسوم ثلاثية الأبعاد في جافا - برمجة - شبكات - كمبيوتر - منتديات الفريق العربي للبرمجة

اذهب للمحتوى

صفحة 1 من 1
  • لا يمكنك بدء موضوع جديد
  • هذا الموضوع مغلق

برمجة الرسوم ثلاثية الأبعاد في جافا 3D, Java3D, JOGL, OpenGL, DirectX اضف تقييما للموضوع -----

#1     غير متواجد   TheUnforgiven Icon

  • عضو
  • مجموعة اعضاء
  • مشاركات 68
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 31/08/2004 - 11:34 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/
0

شارك هذا الموضوع

      

#2     غير متواجد   hani1 Icon

  • عضو
  • مجموعة اعضاء
  • مشاركات 183
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 01/09/2004 - 02:05 AM

ألف شكر لك أخ TheUnforgiven على هالمواضيع القيمة ونتمنى المزيد
0

#3     غير متواجد   mohref Icon

  • عضو
  • مجموعة اعضاء
  • مشاركات 91
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 07/08/2005 - 10:11 PM

بسم الله الرحمن الرحيم
أنا ياشباب صارلي زمان ماشاركت بها المنتدى بس كنت عم دور على شي يساعدني بداية تعلمي لل jbuilder وبالصدفة شفت هالموضوع على كل حال الفكرة انو انا هاي السنة (السنة الثالثة في هندسة المعلوماتية ) كان مشروع اخر السنة هو عبارة عن لعبة ثلاثية الابعاد بالجافا ولحسن الحظ فانا لقيت سورس كود جاهز عبارة عن لعبة ونحنا قمنا بالتعديل شوي صغيرة على
بيجوز انتو تفكروني قليل مروة لانو مااشتغلت كل شي انا بس الوقت اللي اخدو السورس لحتى فهمنا كان طويل كثير لانو مفاهيم الالعاب صعبة كثير بكل اللغات مابس بالجافا على اي حال كل شي بدي قولوا انو رح حملكم الدراسة النظرية حول المشروع وهي باللغة العربية ومفصلة بشكل ظريف ممكن اي شخص حابب يتعلم تفيدوا كثير بس هالحكي رح يكون بعد يومين لانو انا هلأ مسافر والدراسة النظرية على جهازي بالبيت بس وعد اكيد انو رح ابعت الدراسة وانا جاهز لاي سؤال
وبتمنى تثبيت الموضوع ولو لفترة قصيرة
وياريت اذا حدي بيقدر يفيدني بالjbuilderx
للتواصل moh_ref707@hotmail.com
0

#4     غير متواجد   OMLX Icon

  • مشرف قسم Linux & UNIX
  • مجموعة المشرفون
  • مشاركات 696
  • التقييم 33
  • النقاط المتوفرة 8.60
  • 2.60
    النقاط المحصلة
++

تم الارسال 08/08/2005 - 08:14 AM

مشكور أخي على هذا الشرح واضح حول برمجة الألعاب تحت منصة الجافا ..
0

#5     غير متواجد   فايز السدله Icon

  • عضو جديد
  • مجموعة اعضاء جدد
  • مشاركات 31
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 08/08/2005 - 08:29 PM

مشكور اخوي TheUnforgiven على الموضوع القيم والى الامام
0

#6     غير متواجد   طارق سمان Icon

  • عضو فعال
  • مجموعة اعضاء
  • مشاركات 387
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 08/08/2005 - 08:51 PM

مشكور يا معلم على الموضوع بس في اللينك حول إجابتك على عمل كومبايلر على Jbuilder غير صالح بقى ممكن أن تضع لنا اللينك مرة ثانية....
0

#7     غير متواجد   OMLX Icon

  • مشرف قسم Linux & UNIX
  • مجموعة المشرفون
  • مشاركات 696
  • التقييم 33
  • النقاط المتوفرة 8.60
  • 2.60
    النقاط المحصلة
++

تم الارسال 08/08/2005 - 08:59 PM

مشكور أخي على هذا الشرح الرائع، واسمح لي بأن وضعت الموضوع في مدونتي لأهميته
0

#8     غير متواجد   mohref Icon

  • عضو
  • مجموعة اعضاء
  • مشاركات 91
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 24/09/2005 - 10:03 PM

بسم الله الرحمن الرحيم

عن جد ياشباب انا اسف على التاخير بس إن شاء الله في شي يفيدكم
هادا المشروع اللي وعدتكم في من زمان
0

#9     غير متواجد   mohref Icon

  • عضو
  • مجموعة اعضاء
  • مشاركات 91
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 24/09/2005 - 10:06 PM

بالبداية هدا المشروع السورس كود
0

#10     غير متواجد   mohref Icon

  • عضو
  • مجموعة اعضاء
  • مشاركات 91
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 24/09/2005 - 11:04 PM

اسف انو ماأرفقت الكود بس الملف حجمه كبير لذلك أنا عمل إيميل على الGmail
اسم المستخدم mohamed.alrefai
كلمة المرور 301934
0

#11     غير متواجد   mohref Icon

  • عضو
  • مجموعة اعضاء
  • مشاركات 91
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 27/09/2005 - 08:30 AM

شو ياشباب معقول مافي ولو تشجيع صغير بس هدا شغل اخد مننا شي شهر
0

#12     غير متواجد   asajm Icon

  • عضو
  • مجموعة اعضاء
  • مشاركات 87
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 27/09/2005 - 12:52 PM

بعد السلام ....

أشكرك أخي TheUnforgiven على الموضوع المتميز الذي سأستفيد منه إن شاء الله ...

لكن أعتقد بأنك لم تضعه لثناء فحسب بل للفائدة وأتضاح الرؤيا للآخرين ... أليس كذلك ؟

فمن هذا

أتمنى منك TheUnforgiven أن ترسم (توضع) لنا المراحل التي سيمر عليها شخص يصنع لعبة ثلاثية الأبعاد بسيطة جداً ؟ وماذا يحتاج في كل مرحلة ؟
أتمنى أن لا يكون السؤال صعباً
0

#13     غير متواجد   asajm Icon

  • عضو
  • مجموعة اعضاء
  • مشاركات 87
  • التقييم 0
  • النقاط المتوفرة 6.00
  • 0.00
    النقاط المحصلة
++

تم الارسال 01/10/2005 - 08:57 AM

لعلي أجعل السؤال السابق عام لكل أفراد المنتدأ ...

وذلك لعدم الرد عليه .... والله المستعان

يعني أي واحد عنده القدرة الكافية للإجابة على السؤال فليدلي بدلوه علنا نستفيد منه ...
0

#14     غير متواجد   OMLX Icon

  • مشرف قسم Linux & UNIX
  • مجموعة المشرفون
  • مشاركات 696
  • التقييم 33
  • النقاط المتوفرة 8.60
  • 2.60
    النقاط المحصلة
++

تم الارسال 01/10/2005 - 09:31 AM

أخي الكريم ،،،

لقد نزلت البرنامج وهو جميل جدا ،، ولكني لم أفهم كيفية اللعب ،، فهل تشرح لنا ...؟
0

شارك هذا الموضوع


صفحة 1 من 1
  • لا يمكنك بدء موضوع جديد
  • هذا الموضوع مغلق

( 1 ) عضو يشاهد هذا الموضوع
( 0 ) الأعضاء, ( 1 ) الزوار, ( 0 ) عضو بدخول مخفي




لإفضل مشاهدة للمنتدى إستخدم مستعرض فايرفوكس
Free PageRank Checker

 الآن ... إستايل خاص لمن يملك هاتف iPhone  ... لتنزيل البرنامج  اضغط هنا