נתחיל מההתחלה, למה נוצר הדיירקט X? כדי שלמפתחים יהיה קל יותר לגשת למגוון רב של כרטיסי מסך וקול (וגם לבקרי שליטה), לכל מעבד יש סט פקודות משלו, ולכן אם מפתח היה יוצר פונקציה מסויימת, היה עליו להתאים כל פונקציה למספר כרטיסים. כמובן, שדיירקט Xמכילה פונקציות שחברנו במייקרוסופט כתבו לבדם וזו נקודה חשובה מאוד (נגיד פונקציה של קו, בכדי שכל מתכנת לא יצטרך לתכנת אותה מחדש)איך מעלים ביצועים ?
1. אופטימיזיציה - גדולתו של גון קרמאק
2. מעבירים פונקציות מורכבות יחסית מהתוכנה לחומרה.
מה זאת אומרת? נניח שיש פונקציה שמציירת קו, במקום להריץ אותה בתוכנה, צורבים אותה למעבד ובכך הפעולה מהירה יותר.
"ה-T&L; היה קונספט מהפכני. ראשית, הוא הוריד הרבה מהלחץ על המעבד הראשי, בכך שלקח ממנו חלק גדול מהעבודה הגרפית. בנוסף, עד אז המתכנתים יכלו רק להגדיר איך תראה סצנה מסויימת על המסך באופן סטטי לחלוטין ובלי שום אפשרות להגדיר תאורה דינמית או משהו מתקדם בסגנון הזה. כל זה השתנה עם הופעת כרטיסי הג`יפורס ומאוחר יותר גם כרטיסי הג`יפורס 2 - להם ניתן היה להגיד איך ישפיע מצב מסויים על התצוגה באופן דינמי. לדוגמה, צל. אותו אפקט שנראה לנו היום כל כך טריוויאלי היה בלתי אפשרי ליישום לפני צאת ה-DirectX 7, משום שהוא אפקט דינמי - צל של אדם משתנה כשאותו אדם זז."
ואני אומר אפשרי בהחלט. המתכנת היה פשוט צריך ליצור פונקציה משלו, ולא להשתמש באחת שחברת החומרה והתוכנה הכינו לו. המעבר בין הפונקציה של המתכנת, וצריבתה על המעבד הגרפי, היא הדבר שמעלה ביצועים, אך זה דבר אפשרי בהחלט! (ראיתי מספיק מנועי SOFTWARE שתומכים בזה.)
"אחד הדברים הכי חשובים ש- DX9 יכול לעשות, שהוא אחד הגורמים העיקריים ליופי הוויזואלי של HL2 ושל Doom 3, הוא Displacement Mapping. בעבר, הדרך היחידה לתאר גוף תלת מימדי במרחב היתה להגדיר נקודות, לחבר אותן בקווים ולהדביק על המסגרת (Mesh) שנוצרה טקסטורות (מעין "טפטים"). DX9 מציעה שיטה חדשה לעשות את אותו דבר - שימוש ב-Displacement Mapping. בשיטה זו, לוקחים Mesh בסיסי, ועליו "מלבישים" טקסטורה מיוחדת בשחור-לבן, שמגדירה נתוני גובה. הטכניקה דומה מאוד לתמונת תבליט. התוצאה הסופית המתקבלת היא מודל תלת מימדי, כפי שמודגם בתמונות המצורפות."
שוב לא נכון! המשחק DELTA FORCE השתמש בטכנולוגיית הDISPLACEMENT MAPPING. הכותב מדבר על הBUMB MAPPING שהנה שיטה ליצור משטחים לא ישרים, וכמו כן נתנת ליצירה בלי DIRECT X 9.
אילו רק חלק מהדברים הלא נכונים שנמצאים בכתבה.
מה אני מנסה להגיד? שהדבר היחידי שכל גרסה של DIRECTX מחדשת זה ידיעת פונקציות חדשות שעברו מתחום התוכנה לחומרה - ולכן את הדברים אפשר להריץ בקצב מהיר יותר.
מעבד 286 מסוגל להראות על המסך BUMP MAPPING PIXEL SHADERS ומה לא, פשוט זה לא יהיה REALTIME בדיוק.
זה המטרה שלשמה צורבים פקודות על השבבים ולא משאירים על השבבים את הפקודות הבסיסיות.
------------------