Direct3D Retained Mode

ahillel

New member
Direct3D Retained Mode

גיליתי את הדבר המגניב הזה במקרה כשחיפשתי חומר על DX8 וDX7 לעבודה עם VB6. אם הבנתי נכון, זה סוג של מנוע מובנה בDX7 שמיועד למתחילים. הוא חלש יחסית לעבודה ישירה עם D3D, אבל לדברים קטנים זה בסדר גמור. צירפתי דוגמה שעשיתי שמדגימה חלק מהיכולות שלו מבחינת תאורה. היתרון הגדול שלו זה בפשטות. רק להמחשה- הדוגמה הזאת עובדת עם 20 שורות קוד בלבד. בD3D רגיל זה היה עובד עם 100 שורות קוד לפחות... מה שכן, קשה למצוא עליו חומר באינטרנט כי זה כבר די מיושן, למרות שזה עדיין עובד על מערכות ההפעלה העכשוויות.
 

IdleThought

New member
VB6 ?? עדיף כבר שתלמד פסקל ../images/Emo3.gif

*גילוי נאות : הכותב היה מתכנת VB6 ופיתח כלפיה תיעוב שניתן להסביר אותו רק במשרד פסיכיאטר באמצעות בובות*
 

somebodddy

New member
מלחמת שפות! הנושא האהוב עליי!

האמת, VB הישנה היא כבר שפה מתה. VB.NET החליפה אותה כמעט לגמרי. זה לא בגלל שVB היא שפה גרועה(היא שפה גרועה, אבל לא בגלל זה היא מתה) - זה בגלל שהיא שייכת למייקרוסופט, ומייקרוסופט כידוע מקדמת את דוט-נט. לדעתי זה דבר טוב, כי VB בנוייה בצורה ממש ממש גרועה, ולפי מה שהבנתי בVB.NET בנו את הכל מחדש בצורה יותר טובה.
 

ahillel

New member
יאללה מלחמה~!!!! זה לא נכון שהיא מתה...

בקר בפורום dr-vb.co.il ותראה כמה הודעות חדשות יש כל יום... יש יתרון בNET למי שמפתח תוכנה משרדית שצריכה את הפריימוורק. אבל לפיתוח משחקים זה לא משנה בכלל. יתרון נוסף בNET זה, הקומפיילר. הקומפיילר של VB6 נוצר ב1998... אבל היתרון הגדול של VB6 על NET זה שיישומי VB6 הרבה יותר יציבים ורצים על כמעט כל מערכות ההפעלה שקיימות בשוק (בניגוד מוחלט לNET...)
 

somebodddy

New member
שפה של מייקרוסופט רצה על מערכת

הפעלה שלא שייכת למייקרוסופט? קשה לי להאמין. בכל אופן, שמת /tapuzforum/images/emo23.gif שVB כבר לא כלולה בVisual Studio. זה בגלל שמייקרוסופט כבר לא תומכת בה. זה אומר שהשפה כבר לא יכולה להתקדם, אלא אם כן מישהו יקנה אותה ממייקרוסופט - ואני לא מאמין שמישהו ירצה לעשות את זה...
 

ahillel

New member
אתה צריך להתחיל לחשוב במונחים מיקרוסופטיים

דווקא בגלל שכן ניתן להריץ יישומים של VB על "אמולטורים" בלינוקס (וגם בAPPLE אם אני לא טועה), מיקרוסופט החליטה לא לתמוך בה יותר. או יותר נכון- לשדרג אותה לNET.
 

IdleThought

New member
לכל שפה יש פריימוורק משל עצמה

אני זוכר שב 98 היה צריך להתקין את סביבת הריצה של VB6 על מחשבים , גרסת 2000 כבר באה עם הקבצים באופן מובנה כמו שויסטה באה עם .NET באופן מובנה VB נועדה לאנשים שלא רצו באמת ללמוד לתכנת אבל רצו לעשות אפליקציות בסדר גודל קטן או להרחיב מוצרים קיימים כמו אופיס , הפופולאריות העצומה שלה הייתה חרב פיפיות , היא ביססה אוסף מוצרים ענק למיקרוסופט וגם קיימה שפת מישמאש שכל כך הרבה דברים היו חסרים בה שכתיבת אפליקציות גדולות הייתה משולה לריצת טריאתלון למתמודד קוודרפלאג- לא בלתי אפשרי.. אבל דורש המוווווןןןןן כוח סיבולת והתמדה אם אתה כל כך אוהב את השפה הזו אז הנה אתגר קטן בעצם ארבעה 1. כתוב תוכנה שמבצעת שתי פעולות בו זמנית ואני לא מתכוון לשימוש בטיימר שיריץ משהו כל כמה שניות אלא שתי פונקציות שיעבדו בצורה רציפה למשל חישוב מורכב וארוך ועידכון גרפיקה וזאת על טהרת ה VB בלבד 2. אתה כותב רכיב גרפי מורכב למשל סוג של SLIDER גרפי ואתה רוצה להקפיץ אירוע כל פעם שהסליידר הזה משנה מצב ולהודיע על כך למערכות שזקוקות למידע הזה ללא טיימר.. הסבר לי איך אתה מבצע את זה תוך שימוש ב VB טהור? 3. המשחק שלך צבר פופולאריות ואתה רוצה להוסיף שרתים למערכת כדי לעמוד בעומס, כיצד ב VB טהור אתה יכול בקלות יחסית להרחיב את התשתית? 4. כיצד אתה יוצר שירות מערכת שלדוגמה יתן לך תיקשורת מוצפנת בין האפליקציות הרבות מטעמך שמותקנות על המחשב של השחקן ובין השרתים שלך על טהרת ה VB?
 

somebodddy

New member
VB נועדה לכתיבת אפליקציות אירגוניות

שזה שוק מאוד גדול, מכיוון שבדרך כלל כל עסק בינוני ומעלה זקוק לאפליקציה אירגונית מותאמת לצרכים שלו, והתוכנות האלו זקוקות לתחזוקה שוטפת ויד על הדופק של הארגון. VB היא שפת תכנות מלאה ואפשר לעשות בה הכל, אבל בגלל הנטייה החזקה שלה לכיוון אפליקציות ארגוניות קשה מאוד וגם לא כל כך יעיל להכין בה דברים אחרים(אלא אם כן הם ממש פשוטים)
 

freak2100

New member
אם אתה רוצה משחק בתלת מימד

לא VB ולא VB.NET מתאימות לך, כי הן שפות לא יעילות, והן לא מיועדות לאפליקציות שמבצעות רינדור בreal time (אולי עם המחשבים של היום, אם תעשה את זה עם גרפיקה פשוטה, לא כל כך ישימו לב, אבל בעקרון זה פשוט לא מתאים למטרה) ואגב, VB.NET זה בדיוק כמו C#, לפחות מבחינת התוצאה.
 

adiel666

New member
שטויות במיץ

אני לומד עכשיו Managed DX עם C#, אפשר לצאת מהקטע של "איטית מידיי", השפה עובדת מהר כמו C++ ברינדור בזמן אמת. לא מאמין? מציע לך להסתכל על דברים שנבנו בXNA, מיקרוסופט לא היתה יוצרת FrameWork לXBOX, Zune ו-Windows בשפה ש"לא מספיק" מהירה לרינדור בזמן אמת. http://www.youtube.com/watch?v=TgChURF5fQE XNA -Csharp racing game וXNA סה"כ מפשטת את Managed DX(לאנשים שאין להם כח ללמוד את DX במלואו).
 

IdleThought

New member
../images/Emo6.gif

באמת תהיתי אם מישהו יטרח להעלות את זה מנפלאות ה GPU.. היום לא מרנדרים דבר בזמן אמת על המעבד הראשי אלא כרטיס המסך עושה את כל הדברים החביבים , מה שכן מנועים פיסיקליים ,בינה מלאכותית וניהול הסצינה כן מתבצע על המעבד המרכזי אך כיום יש ריבוי ליבות מצד אחד ונטיה לדחוף את האלגוריתמים האלה גם לGPU ושבבים יעודיים אז אפשר גם לכתוב בקובול וזה ירוץ מהר אגב, עד כמה שידוע לי מפסיקים (או הפסיקו?) את התמיכה ב MANAGED DX לטובת XNA אז כדאי שתבדוק כיצד זה משתלב במאמצי התיכנות שלך
 

adiel666

New member
אני יודע

אני מעודכן בכל מה שהולך בנוגע לC# :)(זו השפה שבה הוחלט לעשות את הMCPD בקורס שלי) את Managed DX מיקרוסופט נטשו לטובת התחלת הפיתוח של XNA אם אני לא טועה בתחילת 2006. אבל מכיוון שהקליינט צריך להתקין את הFrameWork של XNA בשביל לשחק בכל דבר שנוצר בזה חשבתי ללמוד Managed DX את הפרוייקט סיום לקורס שלי אאלץ לייצר בסופו של דבר, כנראה, בXNA... וכשחושבים על זה- מה רע? XNA קלה בהרבה, לא ראיתי משהו קל יותר מתכנות תלת מימד בXNA ככה שזה רק לטובה. מיד לאחר שהתקנתי את XNA, מבלי להסתכל בשום Documentation הצלחתי ליצור בה משחק שלם(דו מימדי) בסגנון הרפתקאות point & click בתוך כיומיים של עבודה. אנשים מורידים מערך השפה בגלל הצורה שבה היא רצה על מחשבים(Java/C#) וזה דבר מטומטם לעשות. זה נכון שקוד שנוצר ב.NET רץ על מכונה וירטואלית, דומה לJAVA, אבל זה לא מוריד מהמהירות של דברים כאלו. אני רוצה רק להרחיב את מה שאמרת, NVIDIA כבר הוציאה כרטיסים שתומכים ישירות בספריית הפיזיקה שלה(Physix) והGPU עושה הכל. על בינה מלאכותית לא שמעתי עדין(שהיא לא מחושבת בCPU).
 

De-Panther

New member
דווקא הייתה חברה ישראלית שפיתחה כרטיס יעודי..

לחישוב של AI במשחקים
 

freak2100

New member
אני זוכר את זה

אני עדיין חושב שזה לא ממש אפשרי, כי AI זה משהו שהוא מאוד מאוד ספציפי לכל משחק. זה לא כמו גרפיקה, שם יש חישובים מאוד דומים שצריך לעשות הרבה הרבה פעמים בלי תלות בחישובים האחרים (בגלל זה בכרטיס מסך יש כמה עשרות ליבות שלא צריך בכלל לתאם בינהן)
 

De-Panther

New member
בסופו של דבר יש חישובים מאוד מסוימים לסוגי AI

שונים לא מזמן יצא לי לשמוע משפט על AI שאני לא זוכר מי אמר אותו, אבל זה הלך בערך ככה: "ככל שהAI יותר מתוחכם, זה רק אומר שהטבלה שלו גדולה יותר"
 

freak2100

New member
טבלה? אולי עץ?

יש אלגוריתמים מסויימים, לא חישובים מסויימים.
 
למעלה