Use of ActiveX component
mjbWorld is written in Java, I find this the best programming environment. However it can be difficult to deploy, users have to muck about with class paths etc and have to do large downloads for Java2 and java3D.
In order to have a version that is easier for Microsoft users to deploy, I am also writing a .NET version of mjbWorld. This is in addition to the Java version, it is completely separate from it, and it does not replace it.
There is not yet a version of .NET which supports OpenGL yet, there is an open source wrapper for openGL (see message from Per Willenius). I had not discovered this when I wrote my program so I encapsulated openGL in an activeX control as shown on this page.
This control can then be called from a Managed C++, C# or Visual Basic NET as an AxHost class which can be included on your forms.
This is not a very efficient solution as it is only a 'thin' wrapper. Unlike Java3D it does not hold the complete scene. This means that, using this wrapper that, every OpenGL method called in every frame has to pass through the activeX interface.
Deploying the .NET application
Information at Microsoft website