Posts Tagged ‘webgl’

Tuesday, March 18th, 2014

Well it has happened, Unity announced WebGL exporting.  This was a much needed announcement and our flash man on the inside, UnitZeroOne / Ralph Hauwert of good ol’ Papervision days, helped make it so. Thanks Ralph and Unity team!

This feature is in Unity 5 as a preview just announced but with the impending plugin-pocapyse I am sure it is a major focus at Unity to get to production stage.

The plugin-pocalypse is happening. Both Google Chrome and Mozilla Firefox are taking issue and removing plugin support.  Recently I was a bit worried about web exporting and the player/plugin support as NPAPI is being deprecated in favor of PPAPI in Chrome, so Unity, Silverlight and other NPAPI built plugins would have to be rebuilt in PPAPI (unlikely as Unity already maintains NaCL) or another path. Chrome will not allow NPAPI plugins to run at the end of 2014 and already warn each time you use them. Side note: Flash plugin has been updated to PPAPI and will not go away at the end of the year, Unity player won’t either but it may not work in Chrome without explicitly allowing it or at all, still to be seen however they said they will stop supporting NPAPI December 2014 and all NPAPI plugins will no longer work. Mozilla also is fighting against plugins in favor of standards like WebGL so this entirely solves it for Firefox, for Chrome it will still run but slightly slower so there is a transition period.

Mobile really killed the plugin but it opened up standards that allow WebGL to take over. I am happy to see Unity jump on this and bring a better web export that is in line with the best out there currently with asm.js/WebGL and the performance it can bring.

Unity really does add a tons of value if everything just works in WebGL exporting as 2d in WebGL is very mature with lots of supporting platforms, but 3D and stable engines are still lacking.  (Until of course Three.js rules the world and may when it is easier to use WebGL in native apps for store like this). Let’s hope browser support for asm.js and Firefox native speeds grows, but most Unity games will run without needing it (2d games, simple games that already run well in WebGL performance ranges).  So you can easily see the Unity Player, NaCL exports going away over the next few cycles when WebGL exporting is solid possibly if it isn’t already. Another option is a grace period where Chrome exports need to be NaCL for a while if the WebGL support isn’t ready for primetime by then but from what it looks it may be there (although full support can take some time). The plugin-pocalypse is here but there is a path forward, granted game portals and other sites that host current Unity player content may have alot of work to do this year.

This change couldn’t come soon enough as we had to start thinking about other options for web content, Unity successfully hurdled this one.

There are tons of other great things in Unity 5 (currently up for pre-order) and will be out later this year, but WebGL and “plugin-less” exporting is the driver on this version and we are bought in for the next round.

Unity 5.0 Announced Features

  • The aforementioned “Early Access” to WebGL support meaning no plugins required in compatible browsers
  • 64-bit CPU support
  • Real-Time Global Illumination — the over-simplified version: the lighting system used by games like Battlefield 4 and Eve Online (a system called “Enlighten) for their more advanced lighting tricks is now built into Unity.
  • Light baking previews — Light mapping can take a while because every little tweak required a complete rebake. Light maps can now be previewed in real-time.
  • Unity Cloud — Remember the built-in ad solution that Unity announced around the middle of last year? That’ll launch with Unity 5.
  • New audio system Both more efficient and more powerful. Unity 5.0 has a proper audio mixing board to help developers tweak the way things sound in different in-game environments.
  • Nvidia PhysX 3.3 While Unity has used Nvidia’s physics engine for years, the version built into Unity 4.0 has been outdated for a while now. 5.0 taps PhysX 3.3, which is up to 2x as fast.

Unity 5 will probably be available later in the year and may launch around Q3/Q4, can’t wait to play with the WebGL exporter. Here’s hoping it is solid by the end of the year.

Saturday, July 2nd, 2011

Interactive on the web is changing at a rapid clip. The path of the next wave of ineractive and gaming on the web is beginning to materialize.

WebGL, Canvas grouped with html5 are final and providing new landscapes to draw on and new ways to make levels to beat. Most browsers and platforms are supporting this technology. Tools like Three.js make that very fun. Mozilla Firefox, Chrome and Safari are including WebGL + canvas and mostly hardware accelerated, making Javascript an even more powerful glue of the web.

Adobe is going low level with Flash ‘Molehill’ 3D and hardware acceleration platform that companies like Unity will be including as an export target.

Microsoft has finally laid out their plans. Silverlight is alive with Silverlight 5 / 3D powered by XNA (any surprise? guess it isn’t dead) and hardware acceleration throughout Internet Explorer, this appears to be Microsoft’s version of the future.

Plugins like Flash, Unity, Silverlight, others will continue to push the bounds cross platform where standards cement the technology behind it for a platform to reach the next innovative step.

Mobile has blown up the scene with native and low-level focus, causing web platforms to also go low level for more performance thanks to Apple and now Android. Native languages like C, C++ and Objective-C came roaring back as the hardware was reset a bit back to late 90s/early 2000s processor and graphics power. However with mobile and cpu cost on platform as service system, native will stay more over the coming years.

Games, interactive and entertainment projects and apps are going to be even more fun. New opportunities all over the place.  Game on!

Friday, March 4th, 2011

Khronos announced today that WebGL, the great OpenGL web hope, is now officially final for the 1.0 version. Khronos announced this today via the GDC and their website, it was also mentioned at Gamasutra.

WebGL already sees great support in numerous engines including my favorite Three.js from the infamous mr. doob.

There is already a thriving middleware ecosystem around WebGL to provide a wide diversity of Web developers the ability to easily create compelling 3D content for WebGL-enabled browsers.  These tools include: C3DL, CopperLicht , EnergizeGL, GammaJS, GLGE, GTW, O3D, OSG.JS, SceneJS, SpiderGL, TDL, Three.js and X3DOM.  Links to these authoring tools and WebGL demos can be found at www.khronos.org/webgl/wiki/Main_Page.

It will take some time for WebGL to propagate.  It is ready and on in Chrome and Firefox by default in betas. Safari it can be enabled via app parameter.  IE and MIcrosoft have yet to chime in, will we see DirectX for the web or adoption of WebGL.  Time will tell…  Until then Unity and Flash with the 3d api Molehill are forging ahead.  I am sure we will see an export to WebGL for Unity down the line but there are still some interesting script execution speed issues that compiled code in Flash and Unity Web Player will still be faster on.

So Khronos isn’t stopping at WebGL, they are now tackling WebCL or OpenCL for the web just like WebGL is OpenGL for the web (currently at the OpenGL ES 2.0 level which is nice because that is big on mobile — mobile and web games are at about the same level).

Khronos is also today announcing the formation of the WebCL™ working group to explore defining a JavaScript binding to the Khronos OpenCL™ standard for heterogeneous parallel computing.  WebCL creates the potential to harness GPU and multi-core CPU parallel processing from a Web browser, enabling significant acceleration of applications such as image and video processing and advanced physics for WebGL games.

Saturday, January 15th, 2011

Firefox 4 with WebGLFirefox 4 in beta to be released soon, also joins the WebGL ranks with Chrome 9.  Safari has it in nightlies and IE hasn’t even mentioned it.

There really is too much to list as this release is feature packed! Of course the most exciting being WebGL and hardware acceleration from our perspective.

Firefox 4 now has WebGL enabled by default. Based on the original 3-D Canvas work by Vladimir Vukićević, this is being

widely implemented in browsers. The WebGL spec is on the short path to a 1.0 release and we’re very excited to see this be used in the wild.

Hardware acceleration has finally arrived even though it should have been in nearly all platforms for web last decade, but we’ll take it.

Firefox 4 supports full hardware acceleration on Windows 7 and Windows Vista via a combination of D2D, DX9 and DX10. This allows us to accelerate everything from Canvas drawing to video rendering. Windows XP users will also enjoy hardware acceleration for many operations because we’re using our new Layers infrastructure along with DX9. And, of course, OSX users have excellent OpenGL support, so we’ve got that covered as well.

The javascript engine JaegerMonkey is comparably fast to SunSpider and V-8 javascript benchmarks and has support for EC5 javascript.

And you might have noticed that it’s really fast. This is the world’s first third-generation JavaScript engine, using Baseline JIT technology similar to engines found in other browsers and kicked up a level with the Tracing engine found in Firefox 3.6. As such, we’re competitive on benchmarks such as Sunspider and V8, but we’re also fast at a whole mess of things that we expect to see in the set of next-generation web applications, hence Kraken.

WebConsole looks like they are joining Chrome and Safari with built in inspection tools similar to Firebug, however Firebug still available.

Firefox 4 will include the Web Console. This is a new tool that will let you inspect a web page as it’s running, see network activity, see messages logged with console.log, see warnings for a page’s CSS, and a number of other things.

Note this that is something that we’ll be including with Firefox 4 directly. It’s not an add-on.

(Also Firebug will be ready for the final Firefox 4 release.)

Firefox 4 has other improvements like layering (in-memory retained layers), caching/scheduling improvements and lots of other performance enhancements.

2011 is looking like the year all this is coming together, at least for Chrome, Firefox, possibly Safari (need WebGL in main release) and IE is still the biggest problem to getting WebGL. At this point WebGL looks like it is still over a year out as it may not come to IE until IE10 or possibly never, the WebGL 1.0 spec is on the fast track though (don’t we all love Khronos? They have been amazing with OpenGL since they took over).  html5 is looking like it will be close to mainstream by the end of this year depending on the install rate of IE9 when released.

The world is waiting to see if Microsoft implements WebGL or tries the old DirectX/D2D only ways.  Nevertheless, getting a push for hardware acceleration and fast renders in 2d/3d is a very sweet direction.

Friday, December 17th, 2010

EaselJS is a new library from Grant Skinner that somewhat mimics the Flash display list/display object heirarchy.  It is the result of the game Pirates Love Daisies which demonstrates some great gameplay in html5.

The API is loosely based on Flash’s display list, and should be easy to pick up for both JS and AS3 developers. In our preliminary testing, Easel appears to be fully compatible with iOS, Android, and all major browsers that support the canvas element.

Lots of great javascript libraries have been made public including such contributions as this, Three.js (3d canvas/svg/webgl), Lettering.js (typography), audio.js (audio) and many many others, a complete pipeline is emerging. EaselJS adds to that a helpful flash like api for html5 (<canvas> + javascript).

The API contains these familiar classes for Flash/AS3 developers:

DisplayObject

Abstract base class for all display elements in Easel. Exposes all of the display properties (ex. x, y, rotation, scaleX, scaleY, alpha, shadow, etc) that are common to all display objects.

Stage

The root level display container for display elements. Each time tick() is called on Stage, it will update and render the display list to its associated canvas.

Container

A nestable display container, which lets you aggregate display objects and manipulate them as a group.

Bitmap

Draws an image, video or canvas to the canvas according to its display properties.

BitmapSequence

Displays animated or dynamic sprite sheets (images with multiple frames on a grid), and provides APIs for managing playback and sequencing.

Shape

Renders vector drawing instructions within the context of the display list.

Thursday, December 16th, 2010

Chrome 9 with WebGLGood news for the beginning of hardware accelerating the web, WebGL will now be part of the main Chrome releases not just a compile option for Chromium nightlies.

Google Chrome 9 enables WebGL support by default. “WebGL is a new web technology that brings hardware-accelerated 3D graphics to the browser without installing additional software” and it can be used to create cool applications like Google Body BrowserFieldAquarium and more.

The update for Chrome 9 also sandboxes Flash, WebGL and plugins like extensions and tabs so that using them will be more secure and not crash the browser or the tab. Hopefully Safari has this soon, and then a few years from now IE may get it. Or they will put out their own DirectX web plugin so everyone has to write it twice like currently in game development. /sarcasm

Thursday, July 29th, 2010

On the web based gaming front…

Google looks to be making a gaming site to compete with Facebook only kicking the gaming up a notch? By the comment from Mark DeLoura, head of developer advocate for Google gaming, it appears they/he also favor going 3d or native client with WebGL or Unity wrapped in the native client.

Check the comment by Mark DeLoura on the gamasutra post regarding the rumored Google Me Facebook like gaming/social site:

I think Flash will continue to be a very viable platform. The Flash toolset is pretty frickin’ amazing, and there are a ton of happy Flash developers out there, and great games galore.

I would like to see higher-fidelity 3D content on the web though. It’s been a dream of many people going back to VRML days. WebGL and Native Client are two solutions to this that will be integrated into the Chrome browser. At Google I/O we talked about Unity running inside of Native Client, which combines the hardware acceleration and security of Native Client with the fantastic toolset and runtime from Unity. It’s peanut butter and chocolate (well, for me). This is a platform I’m really excited about for 3D web games.

Indeed peanut butter and chocolate is mighty tasty.

Friday, May 7th, 2010

Google has decided to put weight behind WebGL and stop actively developing O3D as a plugin, rather they will make O3D a Javascript library on top of WebGL. This will focus the 3D plugin development efforts from Google into just WebGL on top of the OpenGL ES 2 spec, which in turn runs in the html5 <canvas> tag.

WebGL is pretty exciting offering browser based OpenGL and hardware rendered graphics. When this becomes mainstream this will change up gaming and interactive on the web immensely. Unity 3D and Flash 3d engines add lots of immersive environments and WebGL will be just as exciting, if all browsers adopt it (canvas/webgl).

At Google, we’re deeply committed to implementing and advancing standards, so as of today, the O3D project is changing direction, evolving from its current plug-in implementation into a JavaScript library that runs on top of WebGL. Users and developers will still be able to download the O3D plug-in and source code for at least one year, but other than a maintenance release, we plan to stop developing O3D as a plug-in and focus on improving WebGL and O3D as a JavaScript library.

About WebGL

WebGL is 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 familiar with OpenGL ES 2.0 will recognize WebGL as a Shader-based API using GLSL, with constructs that are semantically similar to those of the underlying OpenGL ES 2.0 API. 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.

WebGL brings plugin-free 3D to the web, implemented right into the browser. Major browser vendors Apple (Safari), Google (Chrome), Mozilla (Firefox), and Opera (Opera) are members of the WebGL Working Group. “It feels like, someone’s missin-ing”

Saturday, August 8th, 2009

So many cool and useful technologies are unveiled at SIGGRAPH every year, this year at SIGGRAPH 2009 was no different.  Khronos Group, behind the new guidance of OpenGL, OpenGL ES, OpenCL, OpenVG, COLLADA etc, came another big announcement about hardware rendering within the browser.  WebGL is now an official standard being developed at Khronos Group to bring javascript control of OpenGL to browsers… Wow!

Ok so this was officially announced at the GDC in March but limited information, but now it has been slated for an official public standard in early 2010. Shortly after the announcement at the GDC we saw Google o3D appear doing exactly that, controlling OpenGL through Javascript in the browser but it was still largely software/harward hybrid rendered. Google, Mozilla, Opera are part of the companies supporting WebGL which is great for browser support, also NVIDIA, AMD and Ericsson are in on it.

Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet

JavaScript Binding to OpenGL ES 2.0 for Rich 3D Web Graphics without Browser Plugins;
Wide industry Support from Major Browser Vendors including Google, Mozilla and Opera; Specification will be Available Royalty-free to all Developers

4th August, 2009 – New Orleans, SIGGRAPH 2009 – The Khronos™ Group, today announced more details on its new WebGL™ working group for enabling hardware-accelerated 3D graphics in Web pages without the need for browser plug-ins.  First announced at the Game Developers Conference in March of 2009, the WebGL working group includes many industry leaders such as AMD, Ericsson, Google, Mozilla, NVIDIA and Opera.  The WebGL working group is defining a JavaScript binding to OpenGL® ES 2.0 to enable rich 3D graphics within a browser on any platform supporting the OpenGL or OpenGL ES graphics standards.  The working group is developing the specification to provide content portability across diverse browsers and platforms, including the capability of portable, secure shader programs.  WebGL will be a royalty-free standard developed under the proven Khronos development process, with the target of a first public release in first half of 2010. Khronos warmly welcomes any interested company to become a member and participate in the development of the WebGL specification.

Google released O3D this year and there are great strides in 3d within the browser from game engine wrapper technologies such as instant action technology, gaim theory engine (now owned by id Software and runs Quake  Live, hardware rendered Unity 3D (and Torque 3D coming soon), and Flash software rendered  3d engines Papervision 3D, Away 3D, Sandy (Sandy also released a haXe version that exports a javascript version) and others.  But it looks like the movement is to bring OpenGL to the web as a standard under the name WebGL, this would be great!  There would still be lots of times where plugins are better now and in the near future but the path is a good one. Having a software/hardware rendering hybrid like Google O3D for broad video card support (some of the painful older intel cards), or using a plugin like Unity3D, Torque 3D or wrapper technology for bigger engines is a good idea for the time being. But the future is grand in this area.

I think that Google O3D and OpenGL ES success on iPhone games probably combined to get this in motion.  OpenGL and very basic video cards are now standard in most machines out there.  Unity3D actually published hardware statistics on casual gamers (web-based games) ever so kindly and shows that even though there are some older Intel cards out there, for the most part machines nowadays have a video card capable of supporting at least low-poly 3d and hardware supported 2d rendering in real-time for games, user interfaces and more.

This is exciting news, it appears the movement of the web gaming market is getting much more capable and is accelerating the innovation of hardware accelerating the web.