רינדור גרפיקת תלת-ממד

רינדור גרפיקת תלת-ממדעברית: תִּיצוּג גרפיקת תלת־ממד[1][2]; באנגלית: 3D rendering) הוא תהליך ההמרה האוטומטי המבוצע באמצעות מחשב על מודלים תלת־ממדיים מדומים (וירטואליים) כדי ליצור תמונות או סרטוני אנימציה דו־ממדיים המכילים גרפיקת תלת־ממד.

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

לאורך השנים פותחו טכניקות רינדור שונות.

ברינדור מבוסס מצולעים קיימות טכניקות אשר כוללות רינדור בעל מראה לא-מציאותי כגון מודלים תלת-ממדיים מסוג Wireframe, אך כמובן טכניקות מתקדמות יותר כגון: Scanline rendering, Ray Tracing, Radiosity ועוד, אשר ניתן לייצר איתם ספקטרום רחב של תוצאות ואף להגיע לאולטרה ריאליזם. כיום שיטות רנדר על פוליגונים הם הנפוצות ביותר בתעשיית הסרטים והמשחקים.

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

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

רינדור גרפיקת תלת-ממד המבוצע בזמן אמת

[עריכת קוד מקור | עריכה]
צילום מסך מהמשחק סקנד לייף. דוגמה לרינדור של אובייקטים תלת-ממדיים בזמן אמת במסגרת משחק סימולציה.

הרינדור של גרפיקת תלת-ממד עבור מדיה אינטראקטיבית, כגון במסגרת משחקי וידאו וסימולציות מחשב, מחושב ומוצג על גבי המסך בזמן אמת. במהלך ביצוע רינדור של גרפיקת תלת-ממד בזמן אמת המטרה היא להציג כמה שיותר מידע אשר העין האנושית תהיה מסוגלת לעבד בשבריר של שנייה. המטרה העיקרית היא להשיג בסוף התהליך תמונה אחת או סרטון אנימציה המורכב מתמונות רבות אשר נראה מציאותי ככל הניתן במהירות עיבוד מינימלית סבירה (בדרך כלל 24 תמונות לשנייה, שכן זו מהירות העיבוד המינימלית שהעין האנושית צריכה לקלוט על מנת שתיווצר אשליית תנועה מוצלחת). בנוסף לכך, במסגרת רינדור של גרפיקת תלת-ממד בזמן אמת ניתן לדמות תופעות חזותיות כגון Lens flare (השתברות קרני אור), עומק שדה, ו-Motion blur (טשטוש שנובע מתנועה בזמן הצילום), הנובעים מהמאפיינים האופטיים של מצלמות ושל העין האנושית, על מנת להקנות אלמנט של ריאליזם לסצנות אותם יוצרים. תופעות חזותיות מסוג זה משולבות לעיתים רבות במשחקי וידאו בהם הרינדור של גרפיקת התלת-ממד מבוצע בזמן אמת. העלייה המואצת בכוח העיבוד של המחשבים אפשרה בהדרגה להציג ריאליזם בדרגה ניכרת בהרבה לגרפיקת תלת־ממדית אשר עוברת רינדור בזמן אמת, כולל לגרפיקה תלת־ממדית בזמן אמת בה משולבים גם טכניקות מתקדמות כגון High-dynamic-range rendering.

רינדור גרפיקת תלת-ממד שאינו מבוצע בזמן אמת

[עריכת קוד מקור | עריכה]
תמונה דו-ממדית בעלת מראה מציאותי אשר נוצרה באמצעות רינדור של אובייקטים וירטואליים תלת-ממדיים בתוכנות Maya ו-Mental Ray

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

כאשר המטרה של היוצר היא השגת פוטוריאליזם (כלומר, שהתוצר הסופי יראה מציאותי ככל הניתן), נעשה שימוש בטכניקות מתקדמות כגון ray tracing או radiosity. טכניקות מהסוג הזה פותחו לאורך השנים על מנת לדמות תופעות טבעיות כגון האינטראקציה של אור עם צורות חומר שונות. דוגמאות לטכניקות מתקדמות בולטות ברינדור שמטרתן השגת פוטוריאליזם כוללות שימוש ב-particle systems (באופן זה ניתן לדמות בסצנות התלת־ממדיות גשם, עשן, או אש), volumetric sampling (באופן זה ניתן בין היתר לדמות ערפל, אבק), ו-subsurface scattering (באופן זה ניתן לדמות אור המשתקף בעצמים מוצקים כגון עור האדם).

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

רינדור של מודלים המכילים השתקפות והצללה

[עריכת קוד מקור | עריכה]
טכניקת הצללת פונג
טכניקת Cel shading

טכניקות פופולריות לעיבוד השתקפות והצללה במודלים בגרפיקת תלת-ממד:

  • הצללה שטוחה (Flat shading) - טכניקה המוסיפה הצללה לכל מצולע באובייקט התלת-ממדי ומתבססת על הזווית בין הפוליגונים במשטח האובייקט, וכמו גם על עוצמת מקור האור.
  • הצללת גורו (Gouraud shading) - טכניקת הצללה מהירה של מודלים עם כמות מצולעים נמוכה יחסית אותה המציא מדען המחשב הצרפתי אנרי גוראוד ב-1971.
  • Texture mapping - טכניקה להדמיית כמות גדולה של פרטים על פני המשטחים באובייקטים תלת-ממדיים באמצעות הוספת תמונת מפת מרקם על גבי כל המצולעים של האובייקט.
  • הצללת פונג (Phong shading) - טכניקה שהומצאה בתחילת שנות ה-70 על ידי מדען המחשב הווייטנאמי בוי טואונג פונג (Bui Tuong Phong) אשר משמשת ליצירת הצללה באופן מציאותי בה הגוון של כל מצולע במשטח המצולעים אינו אחיד אלא משתנה בהדרגה.
  • Bump mapping - טכניקה אותה המציא מדען המחשב האמריקני ג'ים בלין אשר משמשת כדי לדמות משטחים מקומטים.
  • Cel shading - טכניקה המקנה לאובייקטים התלת-ממדיים מראה של דמויות ואובייקטים בסרט מצויר.

רינדור בעזרת למידת מכונה ובינה מלאכותית

[עריכת קוד מקור | עריכה]

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

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

אחת הדוגמאות הבולטות לכך היא טכנולוגיות הDLSS של NVIDIA (העובדת על משפחת כרטיסים בארכיטקטורת קודה וליבות טנסור), אשר לוקחת רינדור באיכות נמוכה יותר (לדוגמה 720p במקום 1080p) ואז משתמשת באינטליגנציה המלאכותית שלה כדי "להגדיל" (באנגלית: upscaling) באופן מלאכותי את התמונה לרזולוציה הרצויה במהירות.

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

קישורים חיצוניים

[עריכת קוד מקור | עריכה]

הערות שוליים

[עריכת קוד מקור | עריכה]