Balder 3D Engine for Silverlight – Source Code is out

I’ve finally published the source code on CodePlex for the 3D engine posted earlier.
It has been built with Visual Studio “Orcas” Beta 1.

The state of the source code is not 100% yet, but people can download it for now and have a look at how you could do a simple 3D engine. In addition a lot of featuers have not been made yet. During the next couple of weeks there will be additions to it.

For the time being I’ve invited a few friends to join in on the development, after some development time we will invite others to join as well. The project can be found at :

http://www.codeplex.com/Balder

Feel free to come with any suggestions.

21 thoughts on “Balder 3D Engine for Silverlight – Source Code is out

  1. fabiopedrosa says:

    Is there any need for the code to be in a “Orcas” Project Solution?

  2. littleme says:

    Here is working 3D engine with texture mapping (although not perspective correct):

    http://www.windowsvista.si/?content=main&show3d=1

  3. This is cool stuff..

    The thing about my texturemapping problem is when you use triangles and want to specify mapping coordinates for each vertex in the triangle. Silverlight does not support this out of the box. There are two ways of overcoming this :

    * Use imagebrush transforms to fake it and get the same effect

    * Precalculate each texture for every face in a mesh, which might be the best way to go

  4. littleme says:

    Einar Ingebrigtsen,
    in fact Silverlight _does_ support specifying texture coordinates for each vertex. You can do it using proper Clipping and Matrix.

    The above 3D Vista sample was done using that.

    Source: http://www.windowsvista.si/js/object_3d.js
    Used image: http://www.windowsvista.si/img/3d.jpg

    You can see, that only one image was used.
    If you want, I can tell you more about it.

  5. littleme says:

    But of course, texture mapping is not perspective correct. Not good for 3D, but logical for 2D drawing.

  6. littleme says:

    But of course, texture mapping is not perspective correct. Not good for 3D, but logical for 2D drawing.

  7. Very interesting.. Please tell me more.. 🙂
    If you don’t mind, you can drop me an email : einar_at_dolittle.com.

    Thanks for pointing this out. I’ve been pulling my hair out the last month over this issue.. 🙂

  8. Very interesting.. Please tell me more.. 🙂
    If you don’t mind, you can drop me an email : einar_at_dolittle.com.

    Thanks for pointing this out. I’ve been pulling my hair out the last month over this issue.. 🙂

  9. I downloaded the source.. It’s plain and simple brilliant! Damn.. I’ve been stuck on other ideas, but it makes perfect sence using clipping and PathGeometry for doing it.

    Only thing that might be an issue is speed. I will start implementation on this asap.. 🙂

    Thanks again for the tip..

    You’re more than welcome to drop me an email for discussing further development on the Balder 3D engine. If you want to join in, drop me an email with your CodePlex username and I’ll add you as a contributor to the project.

  10. liquidboy says:

    Hi Einar,

    Firstly awesome project. Just downloaded it and am playing with it as i write.

    I have a question. Im currently creating my first silverlight app and im about to create an “itunes like album swisher” control, you know the cool eyecandy in the iTunes app that shows you the albums in 2D (but with perspective giving the 3D illusion).

    Without having spent too long evaluating Blader, can your toolkit achieve this? Im hoping it can as im stuck at the moment working out how to achieve it in silverlight.

    PS. my blog showing my silverlight/iTunes project is here if your interested… http://advertboy.wordpress.com/project-silverlight-11/

    LiquidBoy/AdvertBoy

  11. liquidboy says:

    Hi Einar,

    Firstly awesome project. Just downloaded it and am playing with it as i write.

    I have a question. Im currently creating my first silverlight app and im about to create an “itunes like album swisher” control, you know the cool eyecandy in the iTunes app that shows you the albums in 2D (but with perspective giving the 3D illusion).

    Without having spent too long evaluating Blader, can your toolkit achieve this? Im hoping it can as im stuck at the moment working out how to achieve it in silverlight.

    PS. my blog showing my silverlight/iTunes project is here if your interested… http://advertboy.wordpress.com/project-silverlight-11/

    LiquidBoy/AdvertBoy

  12. Hi,

    thanks for your feedback.
    I saw your project the other day and must say it’s a great idea and it’s really starting to take shape. Great work!

    The Balder project should be able to achieve what you’re looking for, maybe not easily right now, but when the TextureMapping feature is finnished and my binarysorter stops throwing exceptions. 🙂

    I’ve had to move away a bit from the original XAML way of doing things, in order to achieve the speeds I’m looking for, but I want to be able to use the builtin Animation (Storyboard) system for animating properties on Balder objects.

    I’ve also been looking at a way to be able to create 3D scenes declaratively through XAML as well.

    If you want to join in, don’t hesitate to drop me an email with your CodePlex username (einar_at_dolittle.com).

  13. Hi,

    thanks for your feedback.
    I saw your project the other day and must say it’s a great idea and it’s really starting to take shape. Great work!

    The Balder project should be able to achieve what you’re looking for, maybe not easily right now, but when the TextureMapping feature is finnished and my binarysorter stops throwing exceptions. 🙂

    I’ve had to move away a bit from the original XAML way of doing things, in order to achieve the speeds I’m looking for, but I want to be able to use the builtin Animation (Storyboard) system for animating properties on Balder objects.

    I’ve also been looking at a way to be able to create 3D scenes declaratively through XAML as well.

    If you want to join in, don’t hesitate to drop me an email with your CodePlex username (einar_at_dolittle.com).

  14. liquidboy says:

    Thanks for the offer but i don’t think i have anything to offer to your project yet, maybe in a couple of years time when im a guru of something id be able to then contribute.

    ps. i have downloaded the source code and i have been studying how it all hangs together, i’ve learnt so much from it. Great work!!!

  15. Thanks again.

    I’m will be working on a tutorial and a WebCast for how to do simple 3D stuff using Silverlight.

    The rendering pipeline you find in Balder can easily be adopted and used in any other environment, for instance a GDI+ solution.

    Good luck with your ITunes application.

  16. Thanks again.

    I’m will be working on a tutorial and a WebCast for how to do simple 3D stuff using Silverlight.

    The rendering pipeline you find in Balder can easily be adopted and used in any other environment, for instance a GDI+ solution.

    Good luck with your ITunes application.

  17. Mark says:

    Hi

    This project is looking really exciting. I would be keen to help, probably with tutorials and documentation initially as my 3d knowledge is pretty limited. Codeplex username is mrtrombone.
    I whipped up the example here (not Balder just Silverlight): http://timheuer.com/blog/archive/2007/07/03/14127.aspx

    Cheers

  18. Mark says:

    Hi

    This project is looking really exciting. I would be keen to help, probably with tutorials and documentation initially as my 3d knowledge is pretty limited. Codeplex username is mrtrombone.
    I whipped up the example here (not Balder just Silverlight): http://timheuer.com/blog/archive/2007/07/03/14127.aspx

    Cheers

  19. That’s great..

    I’ve added you as a contributor to the project.

    Cool if you can create some simple tutorials down the line..

  20. That’s great..

    I’ve added you as a contributor to the project.

    Cool if you can create some simple tutorials down the line..

Leave a Reply

Your email address will not be published. Required fields are marked *