Translate a part of stand-alone 3D Graphics to www by Balder

Mar 25, 2011 at 5:40 PM
Edited Mar 25, 2011 at 6:02 PM

Hello, Balder Team

I had created a complicated 3D WPF application and now (when I am reading about Balder) I am going to put simple part of it into my web site.

Help file is near, but it has strongly oriented direction for new users. 

It would be very good to listen general recommendations concerning translating such key things:

ModelVisual3D, Model3DGroup, UIElement3D (it is not convertible I understand) and so on.

Some of important features I already found: (Light, Material, Geometry)

Thanks

Coordinator
Mar 25, 2011 at 11:27 PM

Hi,

I haven't worked with WPF and 3D - but if I understand you correctly, you'd like a tutorial of some kind that explains how one could move from WPF 3D to using Balder instead ? 

Mar 26, 2011 at 4:37 PM
Edited Mar 26, 2011 at 4:39 PM

Hi,

Yes. It would very good to know added features also.

For example, WPF has own 3DMedia, XNA - game platform, Silverlight is web adaptive WPF part.

Which place in this list is for Balder. What general purposes of Balder? I will explain. WPF has wonderful own graphic Engine (or managed Direct3D API if wish) -all you need to create 3D full managed content based on ModelVisual3D and UIElement3D.

There is one thing -little trouble. SPEED!!! For some complicated tasks (in my software) like this http://cid-ea6ad1087e3103f0.photos.live.com/play.aspx/TimoScreen?sa=705835080

moving and rotation is not fast...

So,

1. Can I port (translate) to Balder API my WPF3D graphics (little part only) for web alive presentation?

2. What general goal of Balder?

Deep thanks

Mar 26, 2011 at 6:33 PM

Hi again,

Is it Balder3D engine based on XNA platform. I mean high level API of XNA?

Thanks

Coordinator
Mar 27, 2011 at 4:10 PM

Hi,

Balder for Silverlight is now using software rendering - drawing pixel by pixel itself. But for the basic WPF version that Balder supports now it is using Xna. Also worth mentioning is that Silverlight 5 will support hardware rendering for 3D and Balder will support that, so performance will become a lot better when that comes out.

 

The ultimate goal for Balder is to provide an API that goes across platforms and makes it easy to create things that needs to exist on multiple platforms. For now this means Silverlight, WPF and Windows Phone 7 - but work is underway to support Mono and OpenGL which leads down the path of iOS (iPhone/iPad/iPod Touch) and also Android.  I can't say anything about timeframe, as we're not working on any specific timeframe for all this. Primarily, the focus has for now been on Silverlight.

 

As for porting an existing WPF app to Balder - you'd have to change all your WPF 3D code, as the API of Balder is not even close to being similar to WPF 3D, but it should be possible. Silverlight 5 has been promised by Microsoft to be out this year, so baring that in mind - you should be able to see nice performance using Balder in that timeframe without any API changes to Balder. Balder is agnostic when it comes to the underlying hardware/system.

Mar 27, 2011 at 7:12 PM
Edited Mar 27, 2011 at 7:13 PM

Hello adept,

Deep thanks for detailed response. I am really interesting Balder technology.
But I would ask you WPF API and some (one-two) templates - scenarios. Can you explain in general phrases the conception of translating like this:
1. WPF scene (ModelVisual3D, UIElement3D) - Game (Balder)
2. WPF Mesh (PointCollection3D) - ... ?
3. WPF Material (.Material property) - ...?

I am in amazing from your XAML video Getting Started. but it would be very good to get some scenario for classic key points task: camera, light, mesh or vertex, transformation classes and so on.
Only one example for simple WPF application.

Deep respect and thanks for work

Coordinator
Mar 29, 2011 at 10:26 PM

Hi and thanks,

did you have a look at the SampleBrowser - it has a source code tab for all samples, maybe that can get you a good start. We're working on getting more screencasts, samples and documentation up and running, just trying to balance getting functionality, fixing bugs and documentation. Kinda hard, but we'll get there. 

As for your request for concept mapping : 

1. Balders Game is more like the Viewport3D - basically just a rendering surface for Balder to use. It has the concept of a Scene within it, which used from Xaml is the default place for items added directly to it.

2. Balder has Mesh, but you can't define it with Xaml like in WPF - you should look at this tutorial for more details

3. Geometries / Meshes has a Material property - you can assign it through Xaml. I recommend you looking at the SampleBrowser and the Material editor sample. It shows the properties you can assign to a Material for now.

 

The plan is to create the SampleBrowser for all targets that Balder supports, just need to clean up some of the code in the SampleBrowser so it can be reused - don't want to recreate all the samples for all targets.

Hope this helps you a little bit on the way and hope you enjoy Balder!

Mar 30, 2011 at 12:28 AM

Excellent! Hello adept,
Your information is more then simply useful. I really not use XAML by hand mode - only little corrections sometimes put in XAML code. User interface Controls part - work for Expression Blend which I use.
Even animation I write by code often (Petzold's books influence possibly :)).
The thing that is really has interest - Balder pipeline 3DEngine with keeping a some part of WPF management.

Deep thanks, excuse me for your time.
I will try to start.