עבר הרבה זמן מאז הפוסט האחרון....
נשאלתי היום איך מרנדרים ב-OpenGL את הסצנה הנוכחית אבל שומרים על הרקע שקוף.
למה זה טוב?
לפעמים אפשר לקבל תוצאות ממש טובות כשמשתמשים ב-GLSL ולא תמיד צריכים רינדורים מעבר לאיכות הזו (כן, גם זה קורה לפעמים), ועכשיו אפשר גם לאפשר שהרקע יהיה שקוף וליצור תמונות שאפשר בקלות לשלב במסמכים, מצגות וכד'.
היתרון של רינדור ב-GLSL הוא המהירות הגבוהה, ומכאן כמובן היתרון לגבי אנימציות...
אז איך עושים זאת?
לאחר שהגדרנו שהרקע יהיה שקוף ורינדרנו באמצעות הכפתור שמסומן במס' 2 נקבל את המסך הבא:
שלב ב' |
|
דוגמא:
הרינדור הזה הוא בגודל של 5200x6000 (תמונה די גדולה לכל הדעות...), זמן הרינדור לקח בסה"כ כ-10 שניות! (כרטיס מסך Nvidia GTX680m-4GB במחשב נייד)
רינדור רגיל לוקח הרבה יותר זמן (למעשה סביבות השעה וחצי - שעתיים), כל מה שחסר ברינדור הזה למעשה זה BumpMap (חסרים בידיות) וטקסטורות פרוצדורליות (בפדלים) והשתקפויות אמיתיות (בחלקי המתכת).
אז כמו שאפשר לראות אפשר להשיג תוצאות נחמדות בזמן די קצר ובמיוחד אם אין צורך או שימוש בדברים שלא נתמכים (או יותר נכון, בדברים שהתעצלתי לאפשר/לממש...)
עדכון:
הגדרות מתקדמות |
בנוגע להשתקפויות, אפשר לרמות עם מעברי צבע ולקבל אפקט השתקפות נחמד, את ההגדרות אפשר לראות בחלק הימני של התמונה.
זו התוצאה המעודכנת:
רינדור מעודכן |
תהנו! (מחדש...)
איזה כיף! לראות שיש פוסט חדש בבלוג שלך עשה לי את היום!
השבמחקהבלוג התעורר לחיים,והלוואי שהזירזופים המחיים האלה יהפכו במהרה לזרם שוקק ומרווה.
השבמחקתודה רבה.חזק ואמץ!