Version 3.4 is out!!

Coordinator
Apr 10, 2010 at 1:26 AM

Hi all,

Just released version 3.4 today. Please see below for all of the changes:

 

Updates:
1. Inlcuded DShowNET.dll and Lidgren.Network.dll with the distribution, so you only need to download Netwon and
   ALVAR or ARTag library now.
2. Added the GetScale(..) method to NewtonPhysics for getting the scale of a physics object.
3. Added the NetConfig property to LidgrenServer and LidgrenClient classes, so that the user can manually configure
   the networking settings (e.g., max number of connections allowed, max delay).
4. Added support for sensor data acquisition from Vuzix iWear Wrap 920 eyewear. See the updated iWearTracker class for 
   details.
5. Added ALVARWrapper1.3 under the wrappers directory to support the VTT ALVAR 1.3.0 release.
6. Added the NullCapture class under the Device.Capture directory to support static images.
7. Added support to automatically detect whether Vuzix iWear VR920 or Wrap 920 eyewear is plugged in,
   and to enable side-by-side stereo graphics format on the VGA adapter automatically.
8. Added the DetectAdditional property to the ALVARMarkerTracker class.
9. Added Tutorial 14 to demonstrate skinned model animation.
10. Partially finished scene loading and saving functionality. This is a work in progress: It handles simple scenes, 
    but is not yet complete.
11. Added the ability to save an ALVAR multimarker configuration in XML format by using the
    MarkerLayout too: Specify an "xml" file extension when outputting the config file.
12. Added PreTranslation and PostTranslation properties to the TransformNode class. Please see the API documentation 
    for details.
Bug Fixes:
1. Fixed a problem with the physics engine add/removal process for geometry nodes when a SwitchNode is used to switch 
   between different branches.  
2. Fixed a Newton Game Dynamics joint re-addition problem.
3. Fixed a bug in the DefaultTransparencyComparer class.
4. Fixed a bug in single marker detection using the AssociateMarker(int) signature. Now the
   MarkerNode(IMarkerTracker, int) signature will work as expected.
5. Fixed texture mapping and transparent rendering problems for 3D models defined in .fbx and .x files.
6. Fixed the minimum bounding box computation in Model.cs and triangle mesh calculation in
   NewtonPhysics.cs for models with multiple model meshes and parts.
7. Fixed a bug in the MarkerLayout tool. The lines that indicate the marker size are supposed to be status indicator
   in the generated configuration .txt file. 
8. Fixed a problem in assigning WorldTransformation directly to a TransformNode. 
9. Fixed a bug in the TransformNode class for its multiplication ordering. Prior to v3.4, scale and rotation were 
   performed in the wrong order. (This would have caused incorrect behavior only if the x, y, and z scale factors 
   were not identical.) Starting in v3.4, the PreTranslation property was added, and PostTranslation was added as 
   an alias for Translation.
Changes:
1. Modified Tutorial 12 to be able to handle scaling of the vehicle model.
2. Modified Tutorial 13 to support side-by-side stereo for Vuzix iWear Wrap 920 eyewear. 
3. Modified Tutorial 10 in accordance with the network handling code migration (see below).
4. Moved all network handling code in the Scene class to the INetworkHandler implementation. This
   makes it possible for a programmer who does not like how network messages are handled
   in Goblin, to implement their own NetworkHandler to replace the default implementation. 
5. Changed State.IsMultiCore to State.ThreadOption to allow a programmer to specify exactly what operations to 
   multi-thread. 
6. Modified the IVideoCapture interface and its implementations slightly.
7. Removed the StaticImageFile property of the IMarkerTracker interface.
8. Modified Tutorial 8 to include an example of performing tracking on a static image.
9. Removed the MarkerBase class, and migrated all necessary functionality to the Scene class.
10. Renamed PhysicsMaterial to NewtonMaterial, since the material properties apply
    only to the NewtonPhysics implementation.
11. Moved Newton-specific delegates and properties in IPhysicsMaterial to NewtonMaterial.
12. Modified Tutorial 9 to account for the above changes.
13. Removed the Vertices, Mesh, and Transforms properties from IModel interface, and replaced them
    with IPhysicsMeshProvider to provide necessary mesh information for 
    the physics engine to generate triangle meshes. As a result, the Model class now implements IPhysicsMeshProvider,
    and NewtonPhysics uses the properties in this interface to create the triangle mesh. 
    IPhysicsObject now has the new MeshProvider property.
14. Removed the Vector3Helper.GetVertexClouds(...) methods.
15. Modified the DirectShowCapture class, which handles video acquisition, increasing performance by removing
    its middle-layer process. Note: There is still a problem with modifying camera resolution from the default. 
    Use this class with caution!

 

 

Updates:

 

1. Inlcuded DShowNET.dll and Lidgren.Network.dll with the distribution, so you only need to download Netwon and

   ALVAR or ARTag library now.

 

2. Added the GetScale(..) method to NewtonPhysics for getting the scale of a physics object.

 

3. Added the NetConfig property to LidgrenServer and LidgrenClient classes, so that the user can manually configure

   the networking settings (e.g., max number of connections allowed, max delay).

 

4. Added support for sensor data acquisition from Vuzix iWear Wrap 920 eyewear. See the updated iWearTracker class for 

   details.

 

5. Added ALVARWrapper1.3 under the wrappers directory to support the VTT ALVAR 1.3.0 release.

 

6. Added the NullCapture class under the Device.Capture directory to support static images.

 

7. Added support to automatically detect whether Vuzix iWear VR920 or Wrap 920 eyewear is plugged in,

   and to enable side-by-side stereo graphics format on the VGA adapter automatically.

 

8. Added the DetectAdditional property to the ALVARMarkerTracker class.

 

9. Added Tutorial 14 to demonstrate skinned model animation.

 

10. Partially finished scene loading and saving functionality. This is a work in progress: It handles simple scenes, 

    but is not yet complete.

 

11. Added the ability to save an ALVAR multimarker configuration in XML format by using the

    MarkerLayout too: Specify an "xml" file extension when outputting the config file.

 

12. Added PreTranslation and PostTranslation properties to the TransformNode class. Please see the API documentation 

    for details.

 

 

Bug Fixes:

 

1. Fixed a problem with the physics engine add/removal process for geometry nodes when a SwitchNode is used to switch 

   between different branches.  

 

2. Fixed a Newton Game Dynamics joint re-addition problem.

 

3. Fixed a bug in the DefaultTransparencyComparer class.

 

4. Fixed a bug in single marker detection using the AssociateMarker(int) signature. Now the

   MarkerNode(IMarkerTracker, int) signature will work as expected.

 

5. Fixed texture mapping and transparent rendering problems for 3D models defined in .fbx and .x files.

 

6. Fixed the minimum bounding box computation in Model.cs and triangle mesh calculation in

   NewtonPhysics.cs for models with multiple model meshes and parts.

 

7. Fixed a bug in the MarkerLayout tool. The lines that indicate the marker size are supposed to be status indicator

   in the generated configuration .txt file. 

 

8. Fixed a problem in assigning WorldTransformation directly to a TransformNode. 

 

9. Fixed a bug in the TransformNode class for its multiplication ordering. Prior to v3.4, scale and rotation were 

   performed in the wrong order. (This would have caused incorrect behavior only if the x, y, and z scale factors 

   were not identical.) Starting in v3.4, the PreTranslation property was added, and PostTranslation was added as 

   an alias for Translation.

 

 

Changes:

 

1. Modified Tutorial 12 to be able to handle scaling of the vehicle model.

 

2. Modified Tutorial 13 to support side-by-side stereo for Vuzix iWear Wrap 920 eyewear. 

 

3. Modified Tutorial 10 in accordance with the network handling code migration (see below).

 

4. Moved all network handling code in the Scene class to the INetworkHandler implementation. This

   makes it possible for a programmer who does not like how network messages are handled

   in Goblin, to implement their own NetworkHandler to replace the default implementation. 

 

5. Changed State.IsMultiCore to State.ThreadOption to allow a programmer to specify exactly what operations to 

   multi-thread. 

 

6. Modified the IVideoCapture interface and its implementations slightly.

 

7. Removed the StaticImageFile property of the IMarkerTracker interface.

 

8. Modified Tutorial 8 to include an example of performing tracking on a static image.

 

9. Removed the MarkerBase class, and migrated all necessary functionality to the Scene class.

 

10. Renamed PhysicsMaterial to NewtonMaterial, since the material properties apply

    only to the NewtonPhysics implementation.

 

11. Moved Newton-specific delegates and properties in IPhysicsMaterial to NewtonMaterial.

 

12. Modified Tutorial 9 to account for the above changes.

 

13. Removed the Vertices, Mesh, and Transforms properties from IModel interface, and replaced them

    with IPhysicsMeshProvider to provide necessary mesh information for 

    the physics engine to generate triangle meshes. As a result, the Model class now implements IPhysicsMeshProvider,

    and NewtonPhysics uses the properties in this interface to create the triangle mesh. 

    IPhysicsObject now has the new MeshProvider property.

 

14. Removed the Vector3Helper.GetVertexClouds(...) methods.

 

15. Modified the DirectShowCapture class, which handles video acquisition, increasing performance by removing

    its middle-layer process. Note: There is still a problem with modifying camera resolution from the default. 

    Use this class with caution!

Coordinator
Apr 11, 2010 at 9:34 AM

Just modified DirectShowCapture to be able to modify the camera resolution for certain machines (does not work for all machines for some reason...)

It will throw an exception if it's not possible to change the resolution, and will notify you which resolution (the default one) you should use.

Ohan

Apr 12, 2010 at 1:28 AM
Edited Apr 12, 2010 at 1:31 AM

Great release!

To compile all tutorials without errors I had to change DirectShowCapture to DirectShowCapture2 and add Newton.dll to bin directory (I think you forgot it in your installation guide).
Also I changed output directory of Tutorial12 from bin\x86\Debug\ to ..\..\bin\

Everything works fine now.

Apr 13, 2010 at 5:00 AM

Hi,

Will this version work with Alvar 1.2.0? because currently I hv all the libraries compiled and worked.

 

Coordinator
Apr 13, 2010 at 1:25 PM
Edited Apr 13, 2010 at 1:37 PM

Thanks for the report sirlunchalot!!

I just realized that I forgot to change the actual class name to DirectShowCapture from DirectShowCapture2.

I also forgot to change Tutorial 12's build config to bin/x86/Debug to ../../bin/. 

However, there is a mention of copying Newton.dll to the bin directory in the Installation Guide.

Ohan

Coordinator
Apr 13, 2010 at 1:26 PM

arrezes,

Yes, it will work with Alvar 1.2.0 as long as you use the correct wrapper to generate ALVARWrapper.dll.

However, we recommend that you update your code to Alvar 1.3.0.