Nov 3, 2009 at 2:02 PM
Edited Nov 3, 2009 at 2:42 PM
I'll walk through point by point:
1. We have lighting - something called OmniLight which is the same as a Point Light - supports ambient, diffuse and specular
2. Not supported at the moment
3. We're working on a spike to utilize WebGL. Silverlight does not have hardware acceleration for 3D yet, entire rendering pipeline today is software. We draw all the pixels ourselves, not relying on any primitives in Silverlight. This is basically for performance
as well. Using Silverlight primitives proved to be too slow. We were down at 12-15 FPS with a simple model (roughly 1000 polygons), and can now maintain a FPS of 60 for 3 times as complex models. We're working on optimizing this further - and will be able
to push the limit even further.
4. Today the depth sorting is using ZBuffering - so it is "perfect". We're looking though to other mechanism in order to provide better performance. Most likely we'll end up with a solution were you can pick the accuracy of the rendering, so it
will be optimal for your application.
5. You can inherit from Geometry or Mesh (if you're loading from disk) and modify vertices, materials and faces on the fly. In either of these objects, there is something called GeometryContext, which has methods such as SetVertex(), GetVertex().
6. 100% Silverlight compatibility - no extra stuff needed. It works on all browsers (Safari, Chrome, Opera, IE, FireFox) and on both Windows and Mac. Due to limitations in the current Moonlight implementation, we do not support that yet. We have ideas on
how to support Moonlight as well, but we're holding back a bit for the next major release of Moonlight.
7. Shadows has not yet been implemented. It is something we haven't discussed yet, but is something the engine must support.
We're very open for suggestions to changes and additions to the engine, so please don't hesitate to make your case.