140 likes | 329 Views
WebGL. WebGL. WebGL הוא סטאנדרט , חלק מה HTML5 JavaScript API ; בעזרת ו אפשר לייצר אלמנטים ואנימציות תלת מימדיות , אינטראקטיביות ישירות בדפדפן האינטרנט, ללא צורך בשימוש בתוספים plug-ins ) מיוחדים קוד שמייצר גרפיקה תלת- מימדית .....בדומה לציור וקטורי עובד ישירות עם ה GPU. WebGL.
E N D
WebGL • WebGL הוא סטאנדרט , חלק מה HTML5 • JavaScript API ;בעזרתואפשר לייצר אלמנטים ואנימציות תלת מימדיות, אינטראקטיביות ישירות בדפדפן האינטרנט, ללא צורך בשימוש בתוספים plug-ins ) מיוחדים • קוד שמייצר גרפיקה תלת-מימדית.....בדומה לציור וקטורי • עובד ישירות עם ה GPU
WebGL • עובד בכרום, ספארי, פיירפוקס, אופרה ואחרים (כל מה שמבוסס על Webkit ) • עדיין לא עובד באקספלורר....בעבר מיקרוסופט נשבעו שהם לא יתמכו בסטנדרט הזה....השמועות אומרות ש never say never • Open source - ישקוד פתוח זמין לשימוש • הרבה Experiments; נדחף חזק ע"י גוגל (נחשו למה) • היישום הנוכחי הכי גדול The new google maps
The new Google maps • Goole Earth משולב אטגרטיבית, בתוך Google maps • דוגמא: https://www.google.com/maps?ll=35.704074%2C139.55773200000002&cbp=%2C287.76%2C%2C1%2C20.010002&layer=c&panoid=gT28ssf0BB2LxZ63JNcL1w&spn=0.18000000000000788%2C0.30000000000000676&output=classic&cbll=35.704074%2C139.557732
WebGL in tech buzz • a cross-platform, royalty-free web standard for a low-level 3D graphics API • based on OpenGL ES 2.0 • exposed through the HTML5 Canvas element as Document Object Model interfaces. • Developers will recognize WebGL as a Shader-based API using GLSL • It stays very close to the OpenGL ES 2.0 specification, with some concessions made for what developers expect out of memory-managed languages such as JavaScript.
The water tank Example • http://madebyevan.com/webgl-water/
איך זה עובד ? • קוד שמצייר על אלמנט ה canvas של ה HTML5 • עובד/מצייר בשכבות הנמוכות ביותר (ברמת קוד ה js ) כדי להגדיר קוים , Mesh , טקסטורות, הצללות, וכו ....אין מודל (object or file ) • יש ספריות (חלקן עם מנועי רנדר) שיושבות בשכבה גבוהה יותר שמייצגות את ה"מודל" במונחים גרפיים מקובלים; כמו למשל Three.js, שנחשביתכספריה עם יכולת רנדר טובה , עשירה פונקציונלית ויציבה
איך זה עובד • כדי שאפשר יהיה לעבוד עם האובייקטים של ה three.js ולאפשר אינטרקטיביות , כדאי להשתמש בשכבת הפשטה גבוהה יותר - framework , כמו למשל sim.js • ניתן לייבא מודלים לפרוייקט באמצעות תוכנות המרה ; קיים ל obj , בלנדר, Maya • אנימציה נעשית בקוד....יש דוגמאות בסיסיות ב Three.js וכל השאר נידרש לעשות בקוד • כנ"ל לגבי מערכת חלקיקים
דוגמא: איך בונים משחק ב WebGL • Choosing a framework (three.js ???) • Drawing graphics • Loading (3D) models • Building a particle systems • Animation • Integration…..Integration 2D+3D • Adding Sound • Making it Robust • Putting it all together • http://www.slideshare.net/auradeluxe/webgl-for-game-development-2012
Rome project • http://www.youtube.com/watch?feature=player_embedded&v=ReH7zzj5GPc
Aquarium • http://webglsamples.googlecode.com/hg/aquarium/aquarium.html
Maze • http://www.spacegoo.com/maze/
Running animals • http://www.ro.me/tech/ • http://www.chromeexperiments.com/detail/webgl-shadowmap/?f=