Archive for the ‘OPENGL’ Category

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.

Sunday, June 21st, 2009

This is a very cool project called V8-GL.  It is an OpenGL engine with 80% of the API converted to run on the V8 Javascript engine, the same engine that runs Google Chrome.

This is exciting as more productive languages like Javascript get speed boosts from engines like V8 and are capable of manipulating more complex systems like OpenGL.  Google is also pursing this in the browser with O3D with javascript manipulation of hardware rendering.  Also, a Google funded project called Unladen Swallow is converting Python to the LLVM virtual machine, so that it can have increasing speeds to compete with gcc speeds.

Making things easier to produce and control with more simplified and minimal languages like Javascript, Python and Actionscript etc that control more complex systems, that typically you would need to invest more time in such as a platform on C++ is the goal. V8-GL has this goal in mind.

V8-GL from the author states:

V8-GL intends to provide a high-level JavaScript API for creating 2D/3D hardware accelerated desktop graphics.

In other words, you can hack some JavaScript code that opens a desktop window and renders some 3D hardware accelerated graphics. Bindings are made using the V8 JavaScript engine.

Thursday, April 30th, 2009

The ARToolkit has been ported to be used with Processing.

Augmented Reality and the base of the original ARToolkit has taken the flash world by storm with the FLARToolkit and really the speed updates of the AVM2 in Flash9 and Flash10 to be able to pull off the OpenCV calculations needed on the bitmap data from each frame of a camera. It has been around quite some time but now web based engines such as Flash and now Processing can take advantage of this awesome technology.

The Simple ARToolKit Library for Processing (PC) is just a basic port of single marker AR support and it currently only runs on windows.

Den Ivanov did some cool experiments with this kit but adding the capability to do multiple markers.  In his videos the processing runtime seems to process the render pretty quickly.  It seems that most Flash AR is around like 5-10 frames per second for the detection.

*mute the sound*

ARToolkit for processing tests from den ivanov on Vimeo.

Thursday, April 30th, 2009

Unity 3D iPhone was updated recently to 1.0.2 and it has been greatly improved in performance and a much more solid 1.0 toolkit.  According to Unity 3D information by up to 50% which means much more room for assets to munch memory for us yay!

I updated to iPhone SDK 3 beta 4 and iPhone OS 3 beta 4 and the latest Unity iPhone and things were much better in perception of speed at least in early testing.  Not sure if it was more from one or the other but the games I am testing/building so far are quicker and the OS feels faster overall.

Get the latest Unity 3d iPhone dev kit (only for Mac OSX obviously since it uses XCode to compile per Apple licensing requirements)

This build fixes many issues and makes some great optimizations for speed as listed here:

New Features and Improvements

  • Reduced memory footprint for uncompressed audio by 50%
  • “Memory usage for textures reduced by 50%. Texture memory is now freed once it has been submitted to OpenGLES on the device. The “Enable Get/SetPixels” flag in the Texture Import Settings lets you disable this feature on a per texture basis in order to access the texture data from a script using GetPixel etc.
  • Improved iPhone script call optimization
  • Removed unused parts of Mono runtime
  • Reduced memory overhead while reading data from disk and slightly improved load times.
  • Support for several predefined splash-screens (portrait/landscape) for Indie version. Just rename one of the splash-screens in the output directory to Default.png
  • Exported audio session activation/deactivation functions to AppController.mm
  • Added Scripting Reference code examples for iPhone specific APIs

Bug Fixes

  • Fixed audio to play correctly after phone call / text message / alarm interruption occurs
  • Fixed compressed audio occasionally refusing to play
  • Fixed AudioSource.PlayOneShot to work correctly with compressed audio
  • Fixed audio to respect Mute switch and background iPod music
  • Fixed Pause function and time property for compressed audio clips
  • Fixed OpenAL memory leak
  • Fixed PhysX memory leaks
  • Fixed Audio and Animation assets leaking while loading new scene
  • Fixed a crash related to playing compressed audio in a sequence
  • Fixed memory leak while updating Mesh geometry data
  • Fixed several small memory leaks in rendering module
  • Fixed asynchronous .NET sockets
  • Fixed .NET threads
  • Fixed cross thread boundary calling to the delegates
  • Fixed UnityEngine.TextEditor stripping
  • Fixed GUI slider stripping
  • Fixed GUI scroll view stripping
  • Fixed IndexOutOfRange exception checking
  • Fixed Boo.Lang.dll stripping
  • Fixed occasional crashes of AOT cross compiler
Sunday, April 5th, 2009

Torque3D seems to have full featured browser surfaces that you can use in the 3d engine seamlessly, see the video below (at :38). This is amazing stuff.

Making games that integrate content from the web is especially required these days.  It is a difficult thing to do within the 3d render because of all the plugins, styling etc that needs to be rendered on a 3d surface.  Well Torque3D has a killer feature in that it supports entirely full features browser render on a 3d surface.  So now you can integrate html content, flash video etc in your game easily.

You can play content in flash player content easily and have stripped down html but it is limited, you can play videos and have content in Unity3d but it is limited, even larger engines like Unreal 3 have difficulty handling flash and html content.  If this is a good implementation Torque3D has a killer feature on their hands! Flash is commonly used as user interface elements and content within games but it can be challenging.  This is pretty exciting if it works as advertised. Think of how cool all the little consoles, mini-games and controls in 3d games could be in flash easily.

See at :38 in the video…


GDC 2009 – Torque 3D Web Demo from GarageGames on Vimeo.

Saturday, December 13th, 2008

This is pretty impressive.  This is Moonlight for mono (a silverlight clone in mono.net for multiplatform) running inside of Ogre3D (a 3d renderer) as a material.

Argiris Kirtzidi (one of the developers behind Managed OGRE) modified Moonlight to run inside the Ogre3D engine. You can render Moonlight applications or XAML files inside Ogre3D.

Some details in no particular order:

-Moonlight uses cairo for the graphics. I developed a new backend for cairo that fully utilizes the GPU (through Ogre’s RenderSystem) for rendering. This is completely independent from Moonbeam and can be used standalone.

-Moonlight’s core is a native C++ engine and is not dependent in Mono. It is flexible enough to be scripted by anything, javascript, managed code, native code, etc. I’ve got it working on both Mono and the .NET framework and I plan on embedding and trying out Lua for more lightweight stuff.

-If you opt for using managed code, it should be possible, in theory, to utilize the silverlight controls, develop a silverlight widget using visual studio and have it run through moonbeam with full debugging support.

-Getting it to work on Windows was no small task as the moonlight team is completely focused on linux, and there doesn’t seem to be much consideration about cross-platform-ness. I think this is reasonable, though, since moonlight is a young project and their specific goal is to implement silverlight for *nix systems. The downside is that it reduces its flexibility, e.g. in order to inject keyboard/mouse events I will have to create and pass to it GDK events or make heavy patches to it.
Hopefully, there will be more push in the future to get the *nix dependencies abstracted away from the core moonlight engine.

Saturday, February 23rd, 2008

havok_logo2.gif

This is a bit off the online games department (although Havok was part of Director previously) but they are offering Havok physics core engine, the one that runs many great games including Half-Life 2 family, free. This is truly amazing Havok was the best and probably still is the best 3d physics engine for so long but was so freaking expensive it made it unattainable to anyone without probably close to half a million for budget. I think they are either getting heat from competition or they realize the importance of allowing communities to see what they can do with something, then coming along for the ride rather than being a wall that they have to go around. (of course this leads to bigger license fees once someone is established and can afford it).

They say exactly this here:

Havok’s core platform, Havok Complete combines the industry-leading Havok Physics engine and Havok Animation, the company’s premier character animation solution. Havok Complete is already the most popular solution in the cross-platform AAA games market, featuring technology used in over 200 games. By making Havok Complete for the PC freely downloadable, Havok will further build on its leading position by completely removing the barriers to entry for the large number of independent developers, academic institutions and enthusiasts in the PC space.

I always encourage products and people making any sort of toolkit, engine, application or library to offer it free or a portion of it free to get people hooked, and then as skills are acquired, they are then completely sold in. It is a bit of a play on the old piracy market where applications become so rampant that everyone uses them for years, then they recommend them at work and the growth of this type of marketing is long-term. Windows and Photoshop both got their market shares this way, they will never admit this though but I digress.

I am so excited by this news. It is interesting that the next version of Director, Director 11 was recently announced and it NO LONGER uses the Havok 3d physics engine but the AGEIA PhysX due to it being free (although the source license is still 50k).

I currently use Irrlicht and AEGIS, or ODE (open source physics engine – open dynamics engine) for pc based game development and physics fun. I will have to read the Havok license carefully but just getting your hands on this will be beneficial to all aspiring game developers.

Now if only game companies like Epic, Artificial Studios, and others would do the same, hrm…

One item of note is that it won’t be available until May.  I can imagine that the developers are like “ok well give me a few months to clean up all the code and cuss words from the source” j/k.  Let’s hope this release is not on Valve Time.

Get your game on!

Sunday, June 10th, 2007

Tinic Uro who works on the Flash machine recenty posted some great news to hopefully a new direction, possible hardware acceleration with the next Flash update! This is mainly for 2d drawing acceleration but Tinic also notes in his first point that this update improves the speed of Papervision3D (currently a fake 2d painters algorithm 3d).  Adobe is listening to the market on this one.

And what is this, OpenGL and DirectX hardware scaling? It helps to draw the full screen version faster since its more taxing on the processor probably but this will lead to further use of OpenGL and DirectX for 3d, I hope.

Full-screen mode with hardware scaling. Probably the biggest new feature in the Flash Player Update 3. This leverages DirectX on Windows and OpenGL on OSX. There is an new API to control the behavior which was required since we could not change current behavior and we wanted to give the maximum flexibility possible. I know you are probably eager to use this feature, we will post more information on this on labs.adobe.com soon. I’ll also will give you much more technical details in an upcoming blog post.

Found via Zeh. I have dreams of hardware acceleration in flash and what it will do to the gaming world. Microsoft has Silverlight which they could easily make DirectX capable and might as well at such low penetration rates right now, but they would stop at switching to OpenGL I think for cross platform support.  Adobe might be willing to risk it and since they already own Director, roll in OpenGL engine support into Flash and win the 3d web battle not to mention just entirely take 2d effects and animation to a new level as well.

UPDATE: Here is Tinic showing the 1080 video with nhardware acceleration in the new update. Anyone with >2 screens at work, they get stuff done.

http://video.onflex.org/2007/06/14/tinic-uro-shows-new-fullscreen-hd-video-in-flash-player/

Wednesday, April 18th, 2007

Hardware 3D rendering…

One thing that might be interesting in the heating up battle of Flash vs Silverlight is rendering.  Will Silverlight down the road provide hardware rendering support for 3d in Silverlight?  If so Microsoft will have a compelling offering.  Would Microsoft really want this with strong 3d capabilities built into a browser (goes against their console offerings, or maybe not in the end).

Photo Sharing and Video Hosting at PhotobucketWith 3d in the browser on two competing platforms that use hardware rendering we can make Raycasted donuts (yummy) oh and there could be a massive surge in the online 3d gaming market (especially the indie market).

It is up for grabs 

But the problem is that Silverlight will also need to support OpenGL for other platforms (that do not run DirectX).  If Adobe wants to win this maybe OpenGL 3d integration into flash will make it more cross platform.  I know the developers on the papervision3d lists are all looking forward to better than software rendering in flash.

Who’s Directing Director? 

But then this leads to another question, where does Director fit in all this, is it even part of the plan? Will Director and Flash merge to support this? Then what happens to the saturation of Flash in the market when it has more third party issues like Director? (and possibly less adoption director usually gets up to 50% to 60% saturation) 

What exactly happened to Director in the plans?

Director is still the de facto standard in 3d web games, more on this soon.  Director has been noticeably absent from all versions of Creative Suite (they are up to CS3 now without it).  Buzz about it was happening in 2004-2005 but last anyone heard is it is still planned for released. The one problem with the Director development environment and community is that the IDE is clunky, the libraries and script (Lingo) is not as advanced as AS3 (the addition of Javascript to the capabilities was great but much of the community was Lingo) and the community is a ghost town (loads of broken links and pay xtras, its stuck in 2003-4).  It was a great market before that, I think Adobe is letting it slip further and further away.  If they wait too long Microsoft might add hardware rendering to Silverlight and then game over in owning 3d gaming on the web. 

“Halleys Comet”

Here is a posting to macromedia.director.3d from Ritesh Banglani, Product Manager for Director and Shockwave. It was in response to a joke about him coming and going from the forum like Halley’s Comet…

Still here, guys. I cannot give an exact release date for the next version, but it will likely be towards the end of the year rather than the middle. The Shockwave Vista release (with DirectX 7) will be out sooner – in 6 weeks or so.

We will NOT upgrade the 3D feature set in the forthcoming Director release. Requirements like new platform support, performance and text engine enhancements are very urgent, and we don’t want to delay this release beyond 2007. However, we are committed to maintaining Shockwave as the leading 3D format on the web, and you WILL see 3D enhancements in a subsequent release. The move to DirectX 9 is a signal of our long term commitment to Shockwave 3D.

I know this is not the answer many of you are looking for. I appreciate your patience, and hope to keep the channels of communications open!

Currently this is the status of hardware supported 3d in WPF/E Silverlight. 

WPF fully supports hardware rendering but Silverlight (cross browser) does not.

What features are missing from Silverlight presentation markup that will be supported in WPF?

Some high-end, Windows-specific features of WPF, such as real 3D, hardware-based video acceleration, and full document support, will not be supported in Silverlight. This is done on purpose in order to serve the Silverlight cross-browser, cross-platform reach requirements that demand a light-weight plug-in. However, Silverlight will offer a uniform runtime that can render identical experiences across browsers on both Macintosh computers and on Windows-based computers.

Wednesday, April 18th, 2007

Photo Sharing and Video Hosting at PhotobucketHere’s the first pageturn in silverlight.  It runs pretty smooth.