Archive for March, 2006

75% Complete, Inkable and saving to XML

vector3inkeditor.jpgWell according to my project plan I’m about 75% done with my project. It’s going very well. I have the 3d renderer, the polhemus COM object, and a nice prototype of the windows application. The two major components that need to be worked out are the 2D Waypoint renderer that shows an overhead of a Waypoint and the wizard type interface for sampling a plant patch. Then some minor details regarding the interaction of the windows components. I have gone down some roads that I didn’t expect like creating type converters for Vector3, having to refactor my classes to lend to XML serialization/deserialization, and, for fun, an inkable Vector3 editor which is shown in the picture. You can see a sampling of the application and the ink components in this 1 minute video of the application in action

Comments off

Rendering C++ ActiveX Polhemus Events in C# Direct3D

Untitled-1.jpgI’ve finally gotten my z-buffers and DISP_FUNCTIONS straight such that I have a rather elegant bridge between the polhemus hardware and the C# Direct3D Application. I had basic 3d (shown in this video). Now, the “windowless” activex component fires a custom event when the stylus is depressed. The windowless activex component has a DISP_FUNCTION GetStylusPosition() that uses PDI’s LastPno to get the current position. The C# application can call GetStylusPosition() and can respond to a custom event. The video shows me moving the stylus down each axis and then drawing circles by the Z-axis. The video makes the render look slow, trust me 30fps is nice and smooth. The model to world transformations took a while to work out. The C# application uses a timer to render at 30 fps. This saves a lot of CPU compared to the Main(), OnPaint(), and OnIdle() render loops that you see in a lot of tutorials.

Comments off