Tuesday, January 24, 2012

Pyppet - WebGL Streaming



Check out Three.js on github and get ready to be blown away, so much power in 380KB.

Websockets Streaming Mesh - WebGL Client


Websockify by Joel Martin has got everything you need to get websockets going in Python3.

Supported Streaming Modifiers



  • Cast,
  • Curve,
  • Displace,
  • Hook,
  • Lattice,
  • MeshDeform,
  • ShrinkWrap,
  • SimpleDeform,
  • Smooth,
  • Warp,
  • Wave



Streaming the default blender monkey head (500 vertices) to the web-client creates a load of about 350KB per-second. This is still using ASCII Json for transport, so hopefully in the future a binary stream or other packing method could cut this down even more.

10 comments:

  1. The more recent versions of Unity3D have the Web Player export function also export a NaCl edition. NaCl Unity works perfectly on Linux.

    ReplyDelete
  2. Very cool! Imagine if we could also stream back key and mouse events from the client to Blender; We would have Blender-via-the-web!

    ReplyDelete
  3. Google protocol buffers may reduce the data size somewhat, but could add an overhead to encode / decode. Really amazing work so far :)

    ReplyDelete
  4. This is awesome! Is the source code posted anywhere?

    ReplyDelete
    Replies
    1. @Lindsay, right here bro.
      http://code.google.com/p/pyppet/source/checkout

      Delete
  5. Hi,

    Could you tell me more about overload start_server method ?

    I have problems before with python GIL, and use diferent solution based on pipes and external python process...

    ReplyDelete
  6. The streaming possibility has been also added to Blend4Web recently.

    http://www.blend4web.com

    ReplyDelete