@Reed: The lack of 2) have given me tons of headaches!
Oh and I forgot:
- simple runtime texture mapping helpers would be very helpful: sphereprojection, planarprojection etc.
This is a really serious Issue for us. WPF 3D is a very good approach to easily generate 3D scenegraph without having to deal with things like ZBuffer, GraphicsDeviceManager, IndexBuffer etc.. WPF 3D is powerfull because it is simple, high level and directly integrates into the rest of the WPF ecosystem. But WPF 3D misses a LOT of features that are highly needed. Here just some examaples:
- transparency sorting does not work,
- no native primitves like sphere, cone, cylinder (managed 3rd party implementation don't perform well)
- Inverse Kinematics, Bones (I would really love to import a simple rig and control it from C#)
- no 3D shader support
- realtime shadows
- more advanced material support (BumpMapping etc.)
- hiding and showing ModelVisual3D or Model3D objects is only possible by scaling it to 0
- generally there is now way to modify the scenegraph at runtime (removing/adding items) declaratively (e.g. through databinding, its all code behind)
- MVVM/databinding with 3D is a pain in the a**, no datatemplates for 3D, no ItemsControl for 3D
I'd say: Better get rid of those differences.
We all agree that the string based INPC is a real pain and we would need a typesafe and more natural/easy way of doing property change notification. But we really should not bake something this specific to a certain technology into a programming language. There are other ways you could make this easier. One way would be to use aspect ortiented techniques ([Notify] Attribute) or something like this:
I am sure we could come up with even better ways.
Silverlight 5 Beta
This is the ONLY reason why we can not use SL for our products.