חפש במאגר הידע
מהו מנוע רנדור ואיזה מחשב מומלץ לרנדור
6 בדצמ׳ 2020 מאת פיסי פאוור

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

מהו מנוע רנדור?

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

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

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

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

סוגי רנדור

ישנם מספר סוגי אלגוריתמים לרנדור חלק אף משולבים יחד בתוכנות הרנדור השונות:

  • רסטריזציה (Rasterization) בשילוב עם בדיקת-חפיפה (Scanline). אלגוריתם בסיסי ללא אפקטים אופטיים.

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

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

  • הארה (Radiosity) - טכניקה המחשבת מה קורה לנקודת אור (יחידה) המקרינה על משטחים שונים. השטחים הללו מרונדרים ע"י אחת משלושת הטכניקות הקודמות. שיטה זו אפקטיבית בעיקר ברנדור חללים פנימיים.

 

רנדור BIASED מול UNBIASED

מאפיין נוסף הרלוונטי עבור מנועי רנדור המתבססים על RayTracing הוא השימוש בהטיות.
רנדור מוטה (BIASED), מתבסס על חישובים מקדימים לאובייקטים השונים, בשילוב פרמטרים המאפשרים חיסכון בזמן ותגובה מהירה. לדוגמא מנוע V-RAY.
לעומתו, רנדור שאינו-מוטה (UNBIASED), מחשב עבור כל קרן אור את ההשפעות השונות. לדוגמא, ARNOLD. בתעשיית הקולנוע בשנים האחרונות מתעדפים רנדור שאינו-מוטה, אך כמובן שכל מקרה לגופו.

 

מונחים נפוצים בעיבוד גרפי:

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

Vertices - נקודה המייצגת מפגש בין קווים, גבולות, מפגש קרני אור, זוויות וקימורים.

מיקרופוליגון (MICROPOLYGON) - פוליגון קטן משמעותית מהתמונה המרונדרת. בד"כ יהיה קרוב או קטן מהשטח של פיקסל. חישוב המיקרופליגון מאפשר להגיע לפירוט משמעותי יותר בתמונה.

 

רנדור וכוח עיבוד

רנדור היא פעולת חישוב מורכבת ודורשת כוח עיבוד רב. נכון להיום רנדור יכול להתבצע באמצעות מעבד המחשב (CPU), כרטיסי מסך (GPU), או באופן משולב ע"י שניהם יחד. מנועי רנדור הם בעל דרישות  שונות ולכן חשוב ומומלץ להתאים את החומרה למנוע הרנדור בו אנו מתכננים להשתמש.
למרות שגם ה- CPU וגם ה- GPU הם יחידות עיבוד עצמאיות. הם עובדים אחרת לגמרי ולא תמיד תומכים ברנדור עם הגדרות זהות (לדוגמא עם VRAY). בשנים האחרונות, מנועי רנדור רבים מאפשרים גישה ל- 2 השיטות (CPU / GPU) וחלק מהם אף מאפשר רנדור היברידי המשתמש בו זמנית ב- CPU וב- GPU. ברכישת מחשב רנדור והדמיה, יש לדעת מראש איזו חומרה "תחמיא" לתוכנות המידול והרנדור המרכזיות שלנו. גם מעבדים וגם כרטיסי מסך אינם זולים ולכן יש לתקצב את המחשב לאחר בדיקות ביצועי התוכנה.

 

חלוקה לתת משימות

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

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

 

מהו פלאגין?

בעולם המחשוב פלאגין הוא תוסף תוכנה. יצרני התוכנות השונים מספקים למפתחים אחרים כלים לתקשר עם התוכנה שלהם. הפלאגין הוא רכיב המותקן ומזוהה ע"י התוכנה המרכזית (תוכנות BIM, CAD או תלת כמו SketchUp, Rhino3D, 3ds Max, Maya, Blender, Revit וכדומה) ומאפשר לה לפתוח את אותו רכיב (פלאגין) שבד"כ יתחבר למנוע הרנדור איתו נרנדר את הסצנה מן התוכנה. מרבית מנועי הרנדור נמכרים כפלאגין בהתאם לתוכנה איתה אנו עובדים.

 

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

תוכנות רנדור:

שם תוכנה

פלאגינים לתוכנות

שימוש עיקרי

תכונות

סוג מנועי רנדור

Arnold

MAYA, CINEMA 4D, HOUDINI, KATANA, 3DS MAX, SOFTIMAGE

אנימציה

Hair, Fur, Clouds, Fire, Fog, Smoke, Face (Cosmetics)

Multi CPU


Multi GPU

FURRYBALL RT

MAYA, CINEMA 4D, 3DS MAX

אנימציה

UNBIASED Monte
Carlo ray-tracing (path trace - similar like CPU Arnold renderer)

Multi GPU

KEYSHOT

SOLIDWORKS

יכולת פתיחת קבצים מתוכנות רבות.

הנדסה עם יכולות אנימציה.


חשוב לבדוק תכונות/הבדלים בין PRO לרגיל.

Multi Core Photon Mapping,

Multi CPU


שימוש קל ב- GPU

NVIDIA IRAY

תשתית לפיתוח פלאגינים / וכלים לתוכנות שונות.

מגוון מוצרים לכל התחומים.

nVIDIA Multi GPU

OCTANE RENDERER

3ds Max, AutoCAD , Inventor, Maya, Blender, Carrara, CINEMA 4D, DAZ Studio, ArchiCAD, Houdini, LightWave , NUKE, Revit, Rhinoceros, SketchUp, Poser, Softimage

אנימציה

Physically-based / Spectral Light Transport, Unbiased and Direct Lighting / Ambient Occlusion,Object Motion Blur,  Hair / Fur Primitives, OpenSubDiv Surfaces, HDRI + Sun Environment, Texture Animation

Multi GPU

REDSHIFT

Maya, Softimage, 3dsMax, Cinema4D, Houdini, Katana.

אנימציה

Biased Renderer, Hair, Fur, Motion Blur etc.

NVIDIA GPU

V-RAY

3DSMax, MAYA, Cinema 4D, Modo, NUKE, KATANA, formZ, SketchUp, Rhino, Revit, Blender

אדריכלות, הנדסה, אנימציה

Optimized Ray-Tracing, Denoiser, Global Illumination, Adaptive Lights, Photorealistic Cameras, Physically Based Materials, Alsurface Skin Shader, Hair & Fur, Proxy Support,

Hybrid Multi CPU & GPU

RENDERMAN

(תוכנה של PIXAR)

Maya, Houdini, Katana, Blender

אנימציה

Uni-Directional Path Tracer, Bi-Directional Path Tracer,
Unique Unbiased, Path Traced Subsurface, Scattering Physical and Artistic Hair Shading Multiple, Daylight Simulator, Analytic Area Lights Gobos, Camera Projections Global Light Sampling,

Maya Fluids,

Oren-Nayar Diffuse Complex Surface Layering system Physical camera Tilt-shift, chromatic aberration, rolling shutter

Multi CPU (SSE4)


שימוש קל ב- GPU

(Denoiser)

MAXWELL

Sketchup, Rhinoceros, ArchiCAD, REVIT, 3dsmax, MAYA, CINEMA 4D, MODO, FORM Z, ICAD3D+,


Optional - Post Production Tools:

Photoshop, After Effects, NUKE

אדריכלות והנדסה ופוסט פרודקשן.

Advanced Ray Tracing, Physical Sky, Fast Scene, Scene Setup, Multilight, Grass, Fur, Hair, Accurate 3D Motion Blur,  

שימוש עיקרי ב CPU

יכולת GPU עדיין ללא MultiGPU

יכולת רנדור רשת.

Lumion

3D Model import: DWG, DXF, DAE, FBX, MAX, 3DS, OBJ, SKP, Revit & SketchUp LiveSync

אדריכלות - מציעה קלות שימוש עבור הדמיות אדריכליות.

Easy model placement, Advanced sky and cloud rendering, Realistic water rendering, OpenStreetMap import

Multi GPU



מדוע המחשב מגיב לאט בזמן רנדור מאסיבי ושימוש ב GPU?

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

 

האם ניתן לשלב מספר כרטיסי מסך ולקבל שיפור ביצועים?

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

מה המשמעות של PCIe x16 / x8 וכדומה בכרטיסי מסך?

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