Upload
vincent-chen
View
1.779
Download
0
Embed Size (px)
DESCRIPTION
Universo is a cross-platform "graphic engine" that provides HTML5 Canvas compatible API in JavaScript.To be straight forward, just imagine a window frame that only contains one canvas element of the modern browser. Which supports all JavaScript APIs (Not only drawing, also keyboard/mouse events) inside a canvas element, but can not render any other DOM element.Although Universo supports canvas API in JavaScript, it is NOT built upon any existing browser core (such as WebKit, Gecko, etc.). It is completely implemented from the scratch.Universo is NOT a "game engine" at this stage, but it can be used as the graphic backend of a game engine or UI engine.
Citation preview
Universo
Vincent CHEN
What is Universo
• Universo is a cross-platform “graphic engine” that provides HTML5 Canvas compatible API in JavaScript.
• http://universo.vincentchen.me• Pronouncing: 乌尼微索
Key Features
• A window frame that only contains one <canvas/> element of the modern browsers.
• Support all JavaScript APIs in <canvas/>– Drawing– Keyboard/Mouse event
• NOT able to render any other DOM element.• NOT support CSS.
The making of Universo
• It is completely implemented from the scratch– C++ & JavaScript
• NOT built upon any existing browser core (e.g. WebKit, Gecko, etc.)
Origin of Universo
• Why building Universo?– I want a race car, so I start from making its wheels
manually…• Why using JavaScript and be Canvas API
compatible?– HTML5 Canvas API is a “good enough” design (not the
best, but a good start point), by following the standard spec, I don’t need to design my own set of APIs from the scratch.
– Already a lot of development resources around HTML5 Canvas, and of course, in JavaScript.
History of Universo
• Before JavaScript, the first version of Universo is built upon C & Lua, in April 2011, I dropped the entire codebase and started over from C++ & JavaScript.
• I investigated Google DART in Sep 2011, and decided to stay on JavaScript because DART is still far from mature.
• The major part of code is done in just 1 month (spare time)
Roadmap
• DONE– Mac/Windows 2D Canvas API demo
• WIP– Buggy WebGL API implementation…– iOS porting
• TODO– WinRT porting– Application OTA loading and running– Android porting
Demos
• Playable demos and videos can be downloaded from http://universo.vincentchen.me
• NOTE: pre-alpha quality…
The value of Universo
• Universo is NOT a “game engine” at this stage, but it can be used as the graphic backend of a game engine or UI framework (cross-platform).
• I hope Universo can bring the first workable WebGL to mobile… (Come on! Chrome for Android!)
The future of Universo
• Refactoring & Performance tuning!• I have too many great ideas, but there is not
enough space to write them all down here…• What do you think?
Thanks!
• Ping me:– [email protected]– https://github.com/artyyouth– http://cn.linkedin.com/in/yuanc– http://vincentchen.me