DCSIMG
May 2010 - Posts - הבלוג של צביקה פאר

הבלוג של צביקה פאר

בבלוג זה אני אנסה לשתף את הקוראים בחקירת מגוון טכנולוגיות נפוצות פחות או יותר

May 2010 - Posts

המשתלה

בפוסט הקודם כתבתי על שימוש ב Billboard לטובת יצירת עצים על Terrain התוצאה של Billboard הינה בסדר אבל לא מצוינת הרי עצים לא יכולים להיות סימטריים לחלוטין מכל כיוון ותנועה של המצלמה מוגבלת לציר Y .

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

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

ברינדור העץ יש שני חלקים כאשר כל חלק עם האתגר שלו .

הענפים והעלים :שכאן האתגר הינו בעיקר להתמודד עם הכמות הגדולה של עלים וענפים כאשר איננו רוצים לחנוק את הbus ואת ה gpu עם מיליוני הvertexים  כאן הGeometry Shader הינו מכשיר יעיל ביותר כאן אני אגע בנושא זה בהמשך .

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

IMG_3004_2

 

את הפנים של העץ (ריבוע צהוב ) ניתן לרנדר באמצעות טכנולוגיות פשוטת ועתיקות כגון BumpMapping .

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

יש מספר טכנולוגיות שמשפרות את הביצועים של bumpmapping  כגון :

parallax occlusion mapping

Relief mapping 

displacement mapping

כאשר לכל אחד מהן יש את המגרעות שלה ( displacement mapping  למרות שמסוגלת אלגוריטמית לתת את הפתרון חונקת כל כרטיס מסך שאיננו תותח על ).

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