Project Description
This is a basic 3D scene graph engine that provides the essential mechanics of displaying 3-dimensional objects in a 2-dimensional viewport using Silverlight 1.0 (3D objects are drawn into any existing Canvas element). This project is 100% cross-browser JavaScript (I.E. and FireFox confirmed - others untested).

PolyGraph3D has many basic features of a typical 3D engine, including polyhedral hierarchies, positioning/scaling/rotation, movable camera, and multiple brushes.

Features that are notably missing, and probably not possible, include image/video texture brushes (or any form of traditional shaders). lighting effects, and smooth surfaces (nurbs, subdivision surfaces, etc).

image.png

Release Notes
Please take note of the following things:
  • This project is perpetually in "beta" or even "alpha" status
  • It probably has bugs
  • No, it DEFINATELY has bugs

Known issues:
  1. Rotation transforms dont work (well, not correctly...)
  2. Scaling transforms are not calculated during render
  3. No support yet for gradient brushes
  4. backface-culling might not be working properly
  5. clipping of polygons that fall behind the camera is not working properly
  6. new paths are being drawn for each repaint when any aspect of the face is updated - this can probably be optimized to only recreate the path when the number of points changes, and simply updating the existing path on all other situations
  7. VisualGroups are probably not working correctly (untested)

I am sure there are many more bugs and limitations to be found as well.

There is a demo URL available on our (Wintellect's) public demo server at: http://demo.wintellect.com/polygraph3d/default.html
Please do not abuse that server or it's bandwidth. Because that simply is not a cool thing to do.

If you have 3D programming experience and know JavaScript really well, then I welcome you to offer your assistance in making this project better. Silverlight experience is a bonus - but not really required since only a small portion of the code actually deals with the Silverlight interaction.

Last edited Feb 2, 2008 at 5:03 PM by KeithJRome, version 7