גרפיקה ממוחשבת – Ray Tracing


היום אני רוצה לדבר על נוסטלגיה...
סיפרתי שב 1986, התחלתי לעבוד ב HP כמומחה גרפיקה, בעיקר עבור פרויקטים בצבא בו עסקו בציור מפות דו ממדיות, אבל התעניינתי גם בגרפיקה תלת ממדית. באותם שנים לא ראינו הרבה תמונות שנוצרו בעזרת מחשב.
ב 1989, כפרס מההנהלה בישראל, טסתי ל SIGGRAPH בארה"ב, כנס הגרפיקה השנתי החשוב ביותר בעולם. הייתי אמור לבקר בהרצאה של Mandelbrot על פרקטלים, הטיסה נחתה בפריס בגלל בעייה במנוע המטוס ושם נשארנו 44 שעות ולכן פספסתי את ההרצאה.
הרצאה שכן השתתפתי בה הייתה על Ray Tracing, אחת השיטות ליצור תמונה תלת ממדית בעזרת מחשב.
אז איך הטכנולוגיה הזו עובדת ?

By Henrik - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=3869326
בונים עולם ממוחשב תלת ממדי עם גופים בצבעים שונים, לכל גוף יש גם יכולת החזרת אור במידה שונה וכן מגדירים אוסף של מקורות אור בצבעים שונים ובעוצמות וכוונים שונים.
לאחר מכן, מחליטים היכן תעמוד ה"מצלמה" ומאיזו זווית היא תצלם את "התמונה" – שאותה אנחנו רוצים לייצר וכן מה תהייה הרזולוציה כלומר כמה נקודות תהיינה בתמונה.
למעשה התמונה שתתקבל, היא המסך שעליו מוקרנות אוסף נקודות, כל נקודה היא קצה של קרן אור שהגיעה מאחורי המסך. כדי להבין מה צריך להיות הצבע של כל נקודה, עוקבים (בצורה הפוכה) אחרי הקרן עד למקור שלה, דרך כל הגופים שבהם היא מתנגשת עד למקורות האור שלה (שהרי אם לא היה אור כלשהו, הנקודה הייתה שחורה).
דוגמא: באיור רואים שהקרן העליונה פוגעת בחלק העליון של הכדור, מחשבים מה הזווית שלה מכל מקור אור (באיור יש רק אחד) ואז, בהתחשב בזווית, בצבע הכדור, בהחזר של התאורה מהכדור ובמרחק של המסך מהכדור – ניתן לדעת מה יהיה הצבע והעוצמה של הנקודה על המסך.
כך ממשיכים עם כל הנקודות על המסך ומקבלים תמונה מלאה.
בתמונה שבראשית הפוסט, כללתי 4 כדורים בצבעים, גדלים ומקומות שונים מול שתי מראות כשמעליהם מספר תאורות. התוכנה שנכתבה בשפת C רצה כ 4 שעות כדי לייצר את התמונה הנ"ל על מחשב שנחשב חזק לתקופתו: HP9000/320.
עוד תמונה שמראה גם את גודל המחשב (שתי הארונות בצג שמאל של התמונה):

תודות מגיעות לצביקה הייגר, שהיה שותף שלי לחלק גדול של ההרפתקאות שנרקמו בחדר ה Demo של HP בימי שבת וחג, התמונה הינה מפרי מצלמתו.
היום הטכנולוגיה של Ray Tracing מקובלת בכל הסרטים, וכך (ובשילוב טכנולוגיות משלימות) מייצרים כל תמונה ותמונה בנפרד עד שמקבלים סרט שלם.
סיפור צד לנושא: היה לי לקוח מהאוניברסיטה העברית בירושלים שראה את התמונה ושמע את הסיפור ואמר לי שזה מספיק בשבילו כדי שאכנס ללימודי התואר השני בגרפיקה ממוחשבת בפקולטה למדעי המחשב בירושלים. למדתי שם שנה אבל לא סיימתי את התואר בגלל סיבות אישיות.
נוסטלגיה...



אתה תותח. אני שמח לדעת שיש עוד אנשים שדברים כאלה מעניינים אותם 😀. דני