בפוסט הקודם כתבתי על שימוש ב Billboard לטובת יצירת עצים על Terrain התוצאה של Billboard הינה בסדר אבל לא מצוינת הרי עצים לא יכולים להיות סימטריים לחלוטין מכל כיוון ותנועה של המצלמה מוגבלת לציר Y .
אצלנו באפליקציה נדרשנו לעצים יותר מציאותיים וכמו שחקלאי בעל מטע אבוקדו לא מגדל את העצים שלו לבד מאפס מגלעין בתוך כוס של אשל עם קיסמי שיניים אלא קונה שתילים מוכנים ככה יש חברה שמוכרת עצים תלת מימדים באינטרנט: SpeedTree . הם מוכרים גן בוטני שלם תלת מימדי. קצת הרבה יקר אבל יחסית להעסיק מעצב גרפי + תכנת שיצרו עצים מ 0 זה סיפור בהרבה יותר יקר.
לשמחתי לא אישרו לי לקנות עצים כאילו מוכנים לכן נאלצתי להפשיל שרוולים וליצור עצים לבד עם סיוע של מעצב גרפי ומאיה .
ברינדור העץ יש שני חלקים כאשר כל חלק עם האתגר שלו .
הענפים והעלים :שכאן האתגר הינו בעיקר להתמודד עם הכמות הגדולה של עלים וענפים כאשר איננו רוצים לחנוק את הbus ואת ה gpu עם מיליוני הvertexים כאן הGeometry Shader הינו מכשיר יעיל ביותר כאן אני אגע בנושא זה בהמשך .
הגזע של ה עץ : עצים מכיוון שהם יצורים אורגנים חיים הם לא בנויים כגוף חלק כמו מטוס אלא מהרבה הרבה בליטות וזיזים .כאשר החלק המאתגר נמצא בעיקר בשוליים של העץ. הריבועים הכחולים בתמונה .
את הפנים של העץ (ריבוע צהוב ) ניתן לרנדר באמצעות טכנולוגיות פשוטת ועתיקות כגון BumpMapping .
הבעיה עם BumpMapping שטכנולוגיה זו איננה יודעת להתמודד עם השוליים של אוביקט כמו כן כאשר המצלמה זזה לא רואים את השינוי בעומק של הקליפה.
יש מספר טכנולוגיות שמשפרות את הביצועים של bumpmapping כגון :
parallax occlusion mapping
Relief mapping
displacement mapping
כאשר לכל אחד מהן יש את המגרעות שלה ( displacement mapping למרות שמסוגלת אלגוריטמית לתת את הפתרון חונקת כל כרטיס מסך שאיננו תותח על ).
בפוסטים הבאים אני אתאר את הפתרון שלנו לגזע ובהמשך לעלים .