I have some improvements I would like to contribute

Nov 13, 2008 at 12:01 AM
Edited Nov 17, 2008 at 7:38 PM
I have some improvements I would like to contribute, but I would need to know where/to whom to submit them.  I have tried contacting the project admins / developers about this and hope to hear back from them.  Meanwhile, if I don't hear back, I will shortly post a link to a forked codebase with these changes.  If they like, I would be happy to merge that codebase back into this project.

Done:
* Improved TestApp with simple interface to select and run different tests without recompiling
* Enabled Declarative XAML support for constructing Viewport3D, Models, Meshes, etc. (CelestialBodies.xaml successfully converted)

Working on:
* Goal of enabling Blend designer support (enabling declarative syntax was first step) -- early indications say this works with Kit3D Silverlight nearly as well / in the same way as native WPF 3D designing
* Working on a Mesh class which can take a URI to a .X3D file for importing meshes from 3D designers -- working in alpha with the meshes, but the transforms seem a bit off as yet

Could easily do:
* Would like to add Installer MSI to solution (have exprience with this via Wix)

Interested in:
* Interested in doing some performance analysis and tuning

Tim

Nov 23, 2008 at 7:17 PM
I'd be interested in folding your changes into my copy and see how they work.
Nov 23, 2008 at 9:00 PM
I will post a link to these here as soon as I finish get my X3DMeshGeometry3D class working, and merge in the changes checked in this last week.  I'm hoping this will be later today.

Tim
Nov 25, 2008 at 4:21 PM
Okay, I have forked Kit3D to a separate project, Blend3D.  It is exactly the same api, namespaces and solution structure as Kit3D (a true fork), but with an added TestApp viewer, initial declarative syntax support (demonstrated with the CelestialBodies example), and an initial X3D model import class, X3DModelVisual3D.

It is currently up to date with Kit3D's Changeset 19524 and the intent is to update to any future Kit3D updates as soon as I can after they are put out.

To be clear, my intent is not to steal any credit or interest from Kit3D, but only to enhance it with some designability and ease of use.  Mark Dawson has done an amazing job with the Kit3D code, which I would not have been able to write myself.  I only want to make it easier for myself and others to use, and to learn a ton about XAML and Expression Studio while I'm at it.

Hope you like it!
Nov 25, 2008 at 4:27 PM
Thanks and I agree about what Mr. Dawson has done. It is totally awesome and likewise I could not have done it either.
Nov 26, 2008 at 10:47 AM
So what does your X3dModelVisual3D do?  Is basically allows me to build a mesh/model in a 3d program and use it inside my app?
Nov 26, 2008 at 3:27 PM
Yes.

1) Build a scene in a 3D design tool, say Blender
2) Export to X3D - Blender does this out of the box
3) Add that X3D file to your Silverlight project
4) Add a X3DModelVisual3D to your Viewport3D
5) Set the Source property/attribute on the X3DModelVisual3D to the name of the X3D file
6) Done!  Run the app and see your scene in Silverlight via Kit3D

7) Make a change to the scene in Blender
8) Re-export to X3D file over the one referenced by your app
8) Recompile and restart your app
9) See your changes!

There are limitations, of course.  Currently it ignores materials and uses a Yellow diffuse material for all geometries.  Ugly I know.  X3D encodes materials, but I haven't written the handling for it yet in X3DModelVisual3D.  I'm working on that now.  I'm thinking it might even handle ImageTextures, with TexturePoint definitions.

I'm also thinking it might be handy to resuscitate an  earlier incarnation, X3DMeshGeometry3D and import just individual meshes from an X3D so you can specify the materials, transforms, etc. independently in Kit3D.

I know I definitely need a better example pic on the front page of Blend3D, but I was just trying to get something out, and I'm not a 3D designer, rather a developer who is very interested in 3D tooling.

If you have a relatively simple scenes you could share with me in X3D format, I could use those to try and implement the material handling.

X3D also encodes light sources, so it will work for that as well, when Kit3D supports it.

Tim