שתף קטע נבחר

גרפיקה תלת מימדית: חידושים ומגמות

מהם הפיתוחים המרכזיים בעולם הגרפיקה התלת מימדי בשנים הבאות? ריאליזם ועוד ריאליזם. מיקרוסופט, אינטל, nVidia ו-ATI עסוקות כולן בשכלול הכלים הזמינים עבור המפתחים, והמוצרים התואמים להם מצד המשתמשים. הנה סקירה טכנולוגית של המגמות ל-2005-2006. חלק ראשון

"יש המון סוגים של אפקטים ויזואליים שאיננו מסוגלים עדיין לעשות, כמו רוח, גשם ושלג", אמר דיוויד קירק, מדען ראשי בחברת nVidia. "העולם האמיתי מורכב ומשתנה כל העת. סימולציה ריאליסטית ויצירת עולם משכנע - מספיק משכנע עד שלא נבדיל בינו למציאות - נמצאים במרחק של עשור לפחות".

 

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

 

אפילו הטרמינולוגיה הנהוגה כיום בשוק משקפת זאת: הנתון שלרוב רשום על מפרט המחשב, מיד אחרי המעבד, הוא ה-GPU, מנוע העיבוד הגרפי (Graphics Processing Unit).

 

מתחום הבידור היישר לשולחן העבודה

 

מה מניע זאת? משחקים כמובן. אבל תלת מימד מניע יותר מאשר את תחום הבידור. מיקרוסופט עובדת כרגע על מנוע גרפי מתוחכם בתלת מימד עבור לונגהורן, שתצא לשוק ב-2006, ותביא את הגרפיקה התלת מימדית היישר לשולחן העבודה העיסקי.

 

תוכנות הצללה (Shader): ריאליזם קולנועי לפי דרישה

 

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

 

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

 

הן מאפשרות למפתח להגיע לרמה שלא היתה אפשרית קודם לכן. יכולת התכנות של המעבדים הגרפיים החדשים, כמו ATI Radeon 9xxx, או nVidia GeForce FX 5xxx, מאפשרת פיתוח ריאליזם קולנועי כמעט. כמה מהמשחקים החדשים שיצאו השנה - DOOM 3, Half Life 2, S.T.A.L.K.E.R - יהיו תאווה לעיניים בזכות היכולות האלה.

 

שימושים לעריכה ולעיבוד תמונה

 

חומרת ה-Shader החזקה הבנויה בכרטיסים גרפיים כמו ATI Radeon 9800 XT ו-nVidia GeForce FX 5950 יכולה להאיץ גם עריכת תמונות ווידאו דיגיטלי והוספת אפקטים מיוחדים. מדוע להריץ פילטר Fadeout על המעבד? ניתן לעשות זאת מהר יותר במנוע הגרפי, בעזרת תוכנת Shader. כרטיסי ATI Radeon 9800, למשל, משתמשים בחומרת Shader גם כדי לשפר את איכות הווידאו הזורם.

 

יכולתם של מנועי ה-Shader להיות מתוכנתים על ידי קוד המשחק מופיעה גם על לוחות אם בערכות שבבים המשלבות מאיצים גרפיים. זה התחיל עם ATI Radeon 9100 IGP עבור Pentium 4. עד אז, ערכת השבבים הגרפיים Extreme Graphics של אינטל היתה הפתרון המשולב הנפוץ ביותר עבור המעבד. אבל יכולות התלת מימד שלה היו מוגבלות והיא לא כללה Shaders הניתנים לתכנות. 

 

כלי פיתוח: עכשיו למפתחים ולאמנים כאחד

 

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

 

מאז יצא DirectX, ב-1995, כל משחק פועל על כל חומרה, משום שהוא מספק מכנה משותף סטנדרטי לכולם. מצד אחד הוא חושף ממשק יישומים סטנדרטי (API) לתוכנת המשחק, כאילו מדובר ב"כרטיס וירטואלי", ומצד שני מכתיב ליצרני החומרה את הפונקציונליות ואת הפורמט.

 

DirectX 8

 

מפתחי משחקים תמיד שואפים להפוך משחקים למרהיבים ומתוחכמים משל המתחרים. לכן הם זקוקים לגמישות תכנותית. מיקרוסופט סיפקה חופש יצירתי עם היכולת לתכנת Vertex ו-Shaders ב-DX8. כשהוא שוחרר, בסוף 2000, סיפק DX8 למפתחים נגישות ל-127 פקודות לבניית תוכנות Shaders.

 

הופעתו סימנה את תחילת הופעת הדור החדש של החומרה הגרפית. אבל DX8 היה קשה לתיכנות, וכלי צפיה בתוצאה הסופית, בתלת מימד ובזמן אמת, לא היו קיימים בו. כתוצאה מכך, משחקים שהשתמשו ב-Shaders הגיעו לשוק בטפטוף איטי.

 

DirectX 9

 

בסוף 2002 הגיע DX9, שלשפת ה-Shaders שלו (High Level Shader Language - HLSL) יש תחביר המזכיר את שפת C, המוכרת לרוב המתכנתים, בניגוד לשפת DX8, שדומה לכתיבה באסמבלר. כלי בניית המודלים בתלת מימד, כמו Alias Wavefront Maya או Discreet 3D Studio Max, שתמכו גם ב-DX9 יצרו סביבת פיתוח קלה יחסית לבניית Shaders. התפתחות זו אפשרה גם לאמנים ליצור Shaders מותאמים אישית ואפקטים מיוחדים.

 

אבל יקח זמן מה עד שחומרה מותאמת ליכולות הייחודיות של DX9 תהיה נפוצה מספיק, במיוחד על מחשבים זולים. הכרטיסים התומכים בה כיום הם ATI Radeon 9500, 9600, 9700 ו-9800, וסדרת nVidia GeForce FX 5xxx. משחקים חדשים דורשים התקנת DX9, וחלקם מעדכנים את המחשב לבד.

 

חשובים לא פחות הם כלי הוויזואליזצייה בזמן אמת, כמו RenderMonkey של ATI ו-CgFX של nVidia, המאפשרים צפייה מוקדמת בתמונה והזדמנות לשנות פרמטרים בתוכנות Shader, תוך כדי התבוננות בשינויים בזמן אמת, בטרם מטמיעים אותם בקוד.

 

בשנה שעברה הציגה nVidia את שפת תיכנות ה-Shader שלה, הקרויה Cg, ומאפשרת כתיבת Shaders פעם אחת, תוך יצוא מהדורות קוד ריצה הפועלות על כרטיסים גרפיים שונים, התומכים ב-DX8, DX9 או OpenGL. בעבר צריך היה לכתוב מספר גירסאות למנועים גרפיים שונים.

 

ל-nVidia יש גם קומפיילר Cg למנוע הגרפי שלה, כמו גם תוספי תוכנה עבור כלי יצירת התוכן הנפוצים ביותר: Maya, 3D Studio Max ו-XSI של Softimage. בעזרתם ניתן לעבוד עם תוכנות Shader Cg מסביבת הפיתוח עצמה.

 

שפת OpenGL

 

שפת הגרפיקה "הפתוחה" OpenGL של סיליקון גרפיקס, מספקת ממשק תכנות יישומים (API) עבור גרפיקה בשניים ושלושה ממדים. השימוש בה קיים בעיקר בתחנות עבודה וביישומים מקצועיים - הנדסיים, מדעיים והדמיה בעיקר - המיועדים להן. בתחנות אלה ישנם כרטיסים גרפיים שמאיצים פונקציות OpenGL אבל אינם שימושיים ב-DirectX.

 

מעט משחקים נכתבים ב-OpenGL, למרות שחברת id software משתמשת בה עבור DOOM 3. מפתחים שזקוקים לפונקציונליות דומה, יוכלו לרכוש רשיון שימוש במנוע DOOM 3, כדי ליצור משחקים סביבו.

 

תלת מימד ליישומיים משרדיים

 

גרפיקת התלת מימד במחשב השולחני מתרכזת היום במשחקים, אבל הטכנולוגיה תתרחב לתוכנות אופיס ב-2006, כשמיקרוסופט תשיק את לונגהורן. בינתיים, הממשק הגרפי הדו מימדי של Windows עדיין תקוע בעידן Windows 3.1.

 

בלונגהורן יהיה ממשק חדש לגמרי, Avalon, שישתמש ביכולות האצת התלת מימד שבכרטיס הגרפי, וימומש באמצעות מה שמיקרוסופט מכנה "מנוע יצירת המכתבה", Desktop Compositing Engine. כיום, ממשק Windows משתמש בחוצץ מסך אחד בלבד, ממנו מוצג המסך הנוכחי תוך כדי עדכונו להצגת המסך הבא.

 

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

 

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

 

אפקטים ויזואליים חדשניים

 

לממשק Avalon יהיו שתי דרגות של חוויית משתמש: שכבה 1 ושכבה 2. חלוקה הכרחית מכיוון שיש הבדלים עצומים בין חומרת גרפיקה מיושנת לתלת מימד והדור החדש של GPU. שכבה 1 תדרוש חומרה מינימלית ותספק יכולות מינימליות, ללא הצללה ריאליסטית. היא תציע אפקטים ויזואליים חדשים, כמו שינוי גודל האותיות למסכים בעלי רזולוציה גבוהה, אבל תדמה ל-Windows XP. שכבה 1 תכלול גם אלמנטים של שקיפות, כך שניתן יהיה לראות דרך חלונות.

 

שכבה 2 תדרוש חומרה חזקה יותר, כמו זו שמוצעת כיום על ידי ATI Radeon 9800 ו- nVidia GeForce FX 5950, על מנת להעביר אפקטים תלת מימדיים מתוחכמים ואנימציות. מיקרוסופט הדגימה כמה אפקטים אפשריים, כמו חלון צף שיכול להימשך על ידי העכבר.

 

כמו בעבר, מיקרוסופט הולכת בעקבות אפל בכל מה שמדובר בממשקים תלת מימדיים. במערכת ההפעלה OS X יש לא מעט תכונות תלת מימדיות המובטחות בלונגהורן, זאת באמצעות מנוע ממשק Quartz compositing engine.

 

לפנייה לכתב/ת
 תגובה חדשה
הצג:
אזהרה:
פעולה זו תמחק את התגובה שהתחלת להקליד
גרפיקה תלת מימדית. חידושים עתידיים
צילום: פי סי מגזין
משחקי מחשב. איכות תמונה מעולה
צילום: פי סי מגזין
Shaders. תיכנות בכל מחשב
צילום: פי סי מגזין
לונגהורן. בשורת ה-3D למשרד
צילום: פי סי מגזין
מומלצים