3D Library for Silverlight

15 במאי 2009

Silverlight is great technology with powerful graphic capabilities, allows us to build RIAs with animated 2D graphics, scalable controls, media playback, uses GPU acceleration, and much more. The Silverlight application can be developed in same environment as WPF (Blend, Visual Studio, etc), has common principles of design as WPF (XAML, Namespaces, Syntax, etc). But, still it is different and targeted for cross-platform rich-client internet applications, the project from WPF can’t be ported easily to Silverlight (I’ll not open a discussion about why we can’t easily convert projects from WPF to Silverlight). I like both technologies, and mostly the 3D graphic capabilities of WPF, that is still missing in Silverlight (the 3rd version will contain 3D transformations, but is still far away from 3D capabilities of WPF).

I want to present cool library for Silverlight – “Kit3D”, that allows presentation of 3D scenes (almost like in WPF).

From project’s homepage:

Kit3D is a 3D graphics engine for Microsoft Silverlight. There is a JavaScript version that runs on the 1.0 bits of Silverlight, however moving forward the engine will only be actively developed in C#. The library has been refactored to match the System.Windows.Media.Media3D namespace from WPF so that it closely matches development for WPF3D syntax.
For some examples of the library in action, see
http://www.markdawson.org/Kit3D.
PROJECT STATUS:
– This project is still very early on in its lifecycle, the following areas are where energy will be focused in the future:
– Bug fixes & Unit Testing – currently no unit tests for the SL code, I need to look into how to use the Silverlight unit testing framework, since unit testing frameworks like xUnit, nUnit cannot be used.
– View frustum culling – stops models that go outside the visible area of the viewport from causing rendering artifacts. Right now if you move models around outside of the visible screen space you may see visual artifacts flash on the screen as objects go behind the camera. This feature will also help improve performance for a large number of models.
– Implement more WPF3D features
DEVELOPMENT REQUIREMENTS:
– You will need a full version of Visual Studio to be able to compile the source code, since the Express versions of Visual Studio do not yet support the Silverlight Tools install.
– Need to install the Silverlight 2 dev tools from
www.silverlight.net
FUTURE DIRECTION:
Right now this project is focused on getting the core 3D engine up to scratch, however the longer term aim is to build on-top of the library with higher level constructs so that when Silverlight does release native 3D at some point in the future this library will still have value on-top of that.
PEOPLE USING KIT3D:
This is really cool – check out the video running on the cubes, also if you click on some of the cubes the layers rotate, awesome:
http://sildev.net/3DCubes/index.html.

Some cool samples by Sildev (the images are clickable):

3D Monkey

3D Cube with Video Texture

Animated 3D Scene

Summary: Current (alpha) version of “Kit3D” doesn’t support the XAML code, doesn’t have all 3D features that are available in WPF; the 3D meshes are translated to collection of 2D polygons that are rendered by Silverlight without using GPU acceleration (as WPF does). The “Kit3D” is nascent and will be improved in future, until Microsoft will add “Real” 3D support.

Silverlight Spy Snapshot

As we can see in this snapshot, the 3D Tiger is made from many polygons that are interpolated (transformed) in real-time by Silverlight render engine (see this link with some 3D examples). [The snapshot was taken from “Silverlight Spy” application]

The Kit3D is cool library that allows creation of 3D scenes in same way as I do it in WPF, see here my 3D model for Handball court that will be used for online game simulation in real-time (net casting), see here the mock-up for future application.

[use sliders or mouse to move/rotate/scale the court]

netcasting

PS
I’m writing some post about how to use this great library…

Add comment
facebook linkedin twitter email

Leave a Reply to SeahhaCeMug Cancel Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

12 comments

  1. Joe29 באוגוסט 2009 ב 12:19

    can you post some material with code example? thanks ))

    Reply
  2. For_ex_stra_tegy21 בדצמבר 2009 ב 23:12

    I am definitely bookmarking this page and sharing it with my friends.

    🙂

    Reply
  3. whey.protein.side.effects22 בדצמבר 2009 ב 4:20

    Very great website.
    The info here is really helpful.

    I will give it to my friends.

    Cheers

    Reply
  4. bad creditBruikartguack11 בפברואר 2010 ב 1:46

    This is a particularly familiar web-site.

    I have bookmarked the site and also I am going to notify my friends over it.

    With thanks

    Reply
  5. fix creditBruikartguack11 בפברואר 2010 ב 4:53

    This is a great ?nternet site.

    I've bookmarked the web page and I will notify my friend about it.

    Regards

    Reply
  6. Siarhei22 בנובמבר 2011 ב 0:15

    It is great conception (WPF subset, not XNA) and
    greatest software.

    I will use it very soon.
    But I am in waiting and hoping concerning materials work continued…

    Reply
  7. xvlgkslacqc@gmail.com22 באוקטובר 2012 ב 14:08

    I possess this feather in vector structure you can ask in the event you desires Think you might what is record spreading web site and find out what is going on? My partner and i cherished people feathers much. Thanks.

    Reply