الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برمجة الجرافيكس DirectX

مثبّترائج
بدأه HGB في 17 ديسمبر 2003 · 113 رد · 55,638 مشاهدة · في DirectX
مشاركة: واتساب X فيسبوك تيليجرام
#76

السلام عليكم ,,

ياأهلين وسهلين :) ,,

لاتستغرب كثيرا فأنا لم أكمل عامي الأول منذ سجلت حتى الآن وقلت نفس ماقلت أنت في الكنز الضائع ,, ولم اسجل الا لانبهاري بمستوى الأعضاء والمواضيع هنا ,,

وها نحن الآن نحاول أن نبذل مافي وسعنا لتحسين الأداء أكثر فأكثر ,,

...........................................

اقتباس
وانا محترف ماكس واجيد التصميم به من فترة طويلة وتعاقبت على مختلف إصداراته بدأ من 3 الى الأخير 7

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

وبالنسبة للبرمجة يمكنك تعلمها بلا مشاكل ان شاء الله ,, لكنها صعبة قليلا :) ولو لم تكن صعبة لما كانت صناعتها بهذه القوة ,, فسنويا سوق الألعاب صناعته ربحها أكبر من ربح صناعة السينما والأفلام ,,

اقتباس
طبعا اعرف دايركت اكس لكن لا اعلم اي اصدار لدي لكن اعتقد 9 لاني قمت بتحديث الجهاز من موقع مايكروسوفت اكثر من مره

المهم الكثير من الأشياء مرت علي خلال القرأءه

لمعرفة اصدار DirectX أقصد ال Run Time Library وليس ال SDK ,, اذهب ال start Menu ثم run ,, واكتب dxdiag وانتر

وستجد رقم الاصدارة في الشاشة الأولى المفتوحة في الأسفل ,,

اقتباس
أرشدوني كيف أبدء ؟

ماذا أحتاج برامج معينة ((ضعوا الروابط وسأحملها حتى لو كان حجمها 500 ميجا))

لمعرفة البدأ راجع الرابط

/index.php?showtopic=45265

وباختصار فقط تحتاج ال Visual Studio2003 أو 2002 ,, لايهم ,, وتحتاج لل DirectX SDK والقليل من الصبر !!

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

وبالمناسبة لغة البرمجة هي سي++ حاليا وهي التي نعتمدها هنا لأنها في قسم السي++ ,, فتحتاج لخلفية مناسبة عن السي++ لتبدأ في برمجة الجرافيكس ,,

ان كنت تعرف جيدا في السي++ فتوكل على الله واستمر والا عليك بخيار من خيارين :

الأول أن تتعلم السي++ من كتاب تشتريه وسنساعدك بالدعم التقني هنا في قسم السي++ والفيجوال سي++ العام بكل ماتريد وبشكل سريع ,,

أو أن تتجه نحو لغة برمجة مختلفة وهي ال سي# مثلا ومعها أيضا SDK للتطوير لكنه يعتمد على ال manged DirectX ,, ووضعها مختلف قليلا ,, لكن اداها قريب جدا من أداء ال DX التي نعمل بها هنا ,,

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

لمعرفة كرت الشاشة اذهب الى :

My Computer واضغط عليها بالزر الأيمن ,, ثم mange ,, ثم Device Manger واختر من الجانب الأيمن ال Display adapters ,, وسيظهر لك اسم كرت الشاشة ,, أعطنا اسمه هنا وسنريك هل هو مناسب أم لا ,,

وبالتوفيق ان شاء الله ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#77

أرى اخا جديدا قد انظم إلينا

اهلا بك أخي aljazere

:)

برمجة الجرافيكس والألعاب والوسائط المتعددة

=====================================

لقد توفي اخيكم على الدعيج ثالث ايام عيد الفطر 1425 ... ادعو له بالرحمه والمغفره ... إدارة المنتدى .

=====================================

#78

السلام عليكم

أخ HGB رابط الموضوع الجديد الذي قمت باضافته سابقاً ،يشير الى الموضوع القديم، مما جعلني الف بدوامة :wacko: اضغط عليه وأجده الموضوع القديم الى أن راجعت الموضوع الجديد من قسم الجرافيكس واتضح لي ان الرابط خطأ:)

ارجو التصحيح

وشكرا

#79

السلام عليكم

أخواني انا سعيد فعلا بإنضمام اليكم ويشرفني ذلك فعلا

وأشكركم على هذا التواصل

وأشكرك أخي العزيز HGB على هذه المعلومات

بالنسبة لإصدار دايركت إكس فهو 9.0c

وكرت الشاشة هو S3 Graphics ProSavageDDR

والصورة المرفقة توضح رقم الإصدار ونوع الكرت

بالنسبة الى ما أحتاج من برامج وغيرها

سوف اقوم بتحميل Visual Studio2003

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

وعن لغة البرمجة أنا أرعرف اللغة الأم وهي الباسكال (تعلمتها في الجامعه)

ولكن أعرف بعض الأسياء عن السي++ وفيجوال بيسك وسأحاول قدر الإمكان

تعلم هذه اللغة بسرعة خصوصا لدي معرفة بالباسكال وhtml وبعض php وأنا طبعا أفضل السي++ في التعلم مادام أنها ستخدمني في البرمجة للألعاب والتحريك

ولدي سؤال يا اخواني انا الآن لا اعرف شيئ عن السي++ هل تنصحوني بتعلم اللغة في البداية ثم التعلم معكم في direct3d وبرمجة الجرافيك

اما اقوم بالتعلم في الأثنين معا

تحياتي aljazere

#80

الصورة المرفقة

post-123-1096411021_thumb.jpg

#81

أتمنى الرد

السلام عليكم

أخواني انا سعيد فعلا بإنضمام اليكم ويشرفني ذلك فعلا

وأشكركم على هذا التواصل

وأشكرك أخي العزيز HGB على هذه المعلومات

بالنسبة لإصدار دايركت إكس فهو 9.0c

وكرت الشاشة هو S3 Graphics ProSavageDDR

والصورة المرفقة توضح رقم الإصدار ونوع الكرت

بالنسبة الى ما أحتاج من برامج وغيرها

سوف اقوم بتحميل Visual Studio2003

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

وعن لغة البرمجة أنا أرعرف اللغة الأم وهي الباسكال (تعلمتها في الجامعه)

ولكن أعرف بعض الأسياء عن السي++ وفيجوال بيسك وسأحاول قدر الإمكان

تعلم هذه اللغة بسرعة خصوصا لدي معرفة بالباسكال وhtml وبعض php وأنا طبعا أفضل السي++ في التعلم مادام أنها ستخدمني في البرمجة للألعاب والتحريك

ولدي سؤال يا اخواني انا الآن لا اعرف شيئ عن السي++ هل تنصحوني بتعلم اللغة في البداية ثم التعلم معكم في direct3d وبرمجة الجرافيك

اما اقوم بالتعلم في الأثنين معا

تحياتي aljazere

#82
اقتباس
ولدي سؤال يا اخواني انا الآن لا اعرف شيئ عن السي++ هل تنصحوني بتعلم اللغة في البداية ثم التعلم معكم في direct3d

نعم أنصحك بتعلم السي++ أولا ثم ادخل على برمجة الجرافيكس لأنك ستتعب كثيرا ان لم تتقن السي++ ,,

والجرافيكس يمكن الدخول فيه مباشرة بعد السي++ ,,

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#83

اذا سأبدء بتعلم السي++ اولا واعود اليكم بقوة

لي طلب وهو رابط برنامج Visual Studio2003 او اي نسخة اخرى

اتمنى الرد بسرعة مو اكعد انتظر اسبوع وتفاعلوا يا اخوان لي يرقى المنتدى

#84

خذ :

/index.php?showtopic=46671

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#85

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

أنا جديد في مجال البرمجة على لغة الـ VC++6 حيث كنت أعمل على لغة الديلفي ، وقد رأيت هذه الدروس وهي رائعة جداً وأرجو الإستمرار بها ، لكن لدي استفسار وهو :

أحاول تطبيق المثال Tut01_CreateDevice ولكن المشكلة عندما أقوم بتشغيله يعمل مباشرة ولكن عندما أحاول إعادة كتابته على مشروع جديد يعطي الأخطاء التالية :

unresolved external symbol _Direct3DCreate9@4

fatal error LNK1120: 1 unresolved externals

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

وشكرا جزيلا لكم

- طريق الألف ميل يبدأ بخطوة -

- ألعاب من تصميمي:

المنقذ

/index.ph...st&id=91370

الأربع تربح

/index.ph...st&id=91369

المتاهة

/index.ph...st&id=91374

#86

نعم أضف الأسطر التالية في بداية الكود :

#pragma comment(lib,"d3d9.lib");
#pragma commnet(lib,"d3dx9.lib");

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#87

لقد عرفت المكاتب d3d9.lib d3dx9.lib winmm.lib في صفحة الـ Link فنجح الأمر فهل هذا صحيح أم أن الكود السابق أفضل

وشكرا على سرعة الإجابة

- طريق الألف ميل يبدأ بخطوة -

- ألعاب من تصميمي:

المنقذ

/index.ph...st&id=91370

الأربع تربح

/index.ph...st&id=91369

المتاهة

/index.ph...st&id=91374

#88

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

والله شرح روعة من شخص روعة بارك الله فيك حبيبي على تعبك وجهدك الكبير وجزاك الله خيرا" على صنيعك الكبير

أخوك Meetchanov

#89

نعم كلا الطريقتين سليم , ولاتفضل أحدها على الثانية , لكن أحيانا تكون إضافة المكتبات برمجيا أوضح لقاريء الكود لاحقا .

تشكر جزيلا يا Meetchanov على ذلك , وأريد أن أستمر لكن ضيق الوقت مشكلة كبيرة جدا , ووعدت كثيرا , لكن قريبا سيقل الضغط قليلا .

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#90

انا على استعداد تام للمساعدة فى اى شىء يخص ال 3D and Game Programming وجاصة بالDirectX

Mohamed Meshref

Performance Engineer

SQL Server Engine Team

Microsoft Corporation

Redmond, Washington, USA

http://www.microsoft.com/sql/

Blog: http://www.mmeshref.com

#91

انا على استعداد تام للمساعدة فى اى شىء يخص ال 3D and Game Programming وجاصة بالDirectX

Mohamed Meshref

Performance Engineer

SQL Server Engine Team

Microsoft Corporation

Redmond, Washington, USA

http://www.microsoft.com/sql/

Blog: http://www.mmeshref.com

#92

مشكوووووور اخي وجزاك الف خير على المبادرة الطيبه لمساعده الاخرين

اخي كان عندي سؤال حول ال3d كيف ممكن استخدمه في عمل واجهه لمشروع تخرجي الي هو عن الvoting واقوم بربطه مع الvb.net او ال vb العادي يعني استخدمه??

يا ريت تعطيني بعض الاقتراحات اذا سمحت ومشكور الف الف شكر

اللهم ارحمنا فانك بنا رحيم... ولا تعذبنا فأنت قدير

#93

يوجد مع ال DirectX SDK 9.0 مكتبة كاملة خاصة بالواجهات الرسومية, فقط قومى بتنزيل ال SDK ثم ابحثى فى ال Direct3D Samples عن Sample يسمى بال CustomUI.

Mohamed Meshref

Performance Engineer

SQL Server Engine Team

Microsoft Corporation

Redmond, Washington, USA

http://www.microsoft.com/sql/

Blog: http://www.mmeshref.com

#94

الى الاخوه متابعي هذا الموضوع والاخ HGB بشكل خاص لدي مجموعة من الاسئله تخص المفاهيم الاساسيه في البرمجه تحت نضام وندوز والدايركت اكس

قد تواجه اي شخص يريد الانتقال من قواعد البرمجه في السي ++ الى استعمال الواجهات البرمجيه ارجو الاجابه عليها ليس لي فقط ولكن لتعم الفائده.

معضم الاسئله ماخوذه من التوتوريال الاول من الاسديكي الخاص بالدايركت اكس9

1- ماهي فكرة او مفهوم الباك بفر والفرونت بفرو ماهو معنا البفر هنا

2- اعتقد ان استعمال المؤشر التاليD3DDEVTYPE_HAL يعني انني اريد استعمال ذاكرة كارت

الشاشه فماذا يعني استعمال احد المؤشرين التاليين D3DCREATE_SOFTWARE_VERTEXPROCESSING و ال D3DCREATE_HARDWARE_VERTEXPROCESSING

3- لقد استعملت ال WINAPI في البرنامج مرتين مع MsgProc و ال WinMain فما هو مفهومها وماذا تعمل

4- عندما درست السي++ كنت اقوم بعمل تصريح او تمهيد للكائنات ولكن لم يمر علي شيء اسمه تسجيل

فئه او كائن ارجو تبيين هذه الفكره

5- ما لفرق بين window class و ال window application

6- في التوتوريال الثالث للاسديكي الخاص بالدايركت اكس 9 تعمل حلقة الرسائل كحلقه مقفله تقريبا لاستلام الرسائل ويفترض اذا لم تاتي اي رساله ينتهي البرنامج اي ان المعالجه محصوره باستلام الرسائل ومع ذلك يستمر دوران المثلث في نفس الوقت اي ان هناك معالجه لدوران المثلث في نفس الوقت الذي يكون الكمبيوتر منشغل في استلام الرسائل و معالجة بعض منها فكيف يحصل ذلك

7- ياريت لو تضع وصله شغاله لكتاب DirectX in 24 Hours

#95

لما لم يتم اكمال هذا الموضوع

وشكرا ..............

#96

غريبة ان يكون موضوع كهذا مدفون دون ان يدري به أحد!!

#98

I'll answer thekingofc but in English because I dont have arabic keyboard

1- Back buffer:

Think about how you could make a cartoon movie, now imagine that you have 100 pictures after each others for the cartoon movie.

Now we have one buffer (the front buffer), so to make the movie, we put the first frame, then to put the new frame we remove the old one then put the new one, which will make a flicker.

Now back to digital world, if you have front buffer only, then to draw the new frame, you need to erase the old one, then draw the new one, this process will make flickering on the screen.

With the idea of back buffer, the drawing is not happening in the front buffer, it's happening in the back buffer, and when you need to put the new frame, you just put it on the old one, and so, no flickering will be noticed.

2- D3DDEVTYPE_HAL doesn't mean that you want to use VGA memory, instead it means that the main process of rendering must be done on the VGA through the hal layer (Hardware Abstraction Layer), this main process is known by rasterization which is simply the drawing on pixels level.

On the other hand, the D3DCREATE_HARDWARE_VERTEXPROCESSING means that the vertex processing must be done on the VGA card, vertex processing means the processsing of lighting, transformations, etc, in other words, all the processing related to the vertices, and this require you to have a VGA which supports T&L (Hardware Transform and Lit), if your VGA doesn't support T&L, then you use the D3DCREATE_SOFTWARE_VERTEXPROCESSING

3- WINAPI is simply __stdcall, see this link to understand calling functions in this way:

http://msdn2.microsoft.com/en-US/library/zxk0tw93.aspx

4- I dont understand the question, what do you mean as I never programmed in arabic so Iam not good in understanding what do you mean.

5- window class means the class name of the window when you create it:

http://msdn.microsoft.com/library/default....indowclasse.asp

Window Application: I never heard about this before except in office, do you mean windows application?

6- Because if you looked well, you will find that they are using a blocking message reading method, when means the method which is supposed to read a message, will wait untill it got a message leaving the processing fully for the drawing function.

Mohamed Meshref

Performance Engineer

SQL Server Engine Team

Microsoft Corporation

Redmond, Washington, USA

http://www.microsoft.com/sql/

Blog: http://www.mmeshref.com

#99

السلام عليكم

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

قم بوضع إحدى الأسطوانات الصوتية في مشغل الأسطوانات.

قم بتشغيل إحدى الملفات الصوتية من خلال الميديا بلاير (أفضل أن يكون MP3 لأن التجربة قد نجحت معه)

بعد أن يتم تشغيل الملف الصوتي, قم بإخراج الأسطوانة من المشغل.

ستلاحظ أنه على الرغم من ذلك ما زال الملف الصوتي يعمل و يمكنك إيقاف الصوت مؤقتا( Pause) و إعادة التشغيل و هذا على الرغم من عدم وجود الأسطوانة في المشغل و ذلك لأن البيانات تم تخزينها على الذاكرة المؤقتة (RAM), و لكن إذا ما قمت بعمل إيقاف نهائي (أقصد Stop) فإنه سيتم التخلص من تلك البيانات الموجودة على الذاكرة و لن تستطيع تشغيل البيانات مرة أخرى إلا مع إعادة إدخال الأسطوانة و تشغيل الملف من جديد, بالمناسبة نجحت معي تلك الطريقة عند تشغيل بعض ألعاب الدوس من الأسطوانة ;)

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

و السلام ختام

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

OpenGL-3-revolution.jpg

مواضيع مشابهة