Modeler thread-refactor completed, testing requested

http://pub.admc.com/modeler/modeler-py.jnlp.  Please use your Java Cache Viewer to remove old Modeler apps from your WebStart cache (if you’ve ever run Modeler before).



No new functionality, but (according to test reports received so far) robustness is greatly improved and performance is greatly improved on Windows.  The only significant remaining bug I know about is that texturing gets broken when the window size is changed by a significant amount. (I’ll be soliciting suggestions about that in another Topic). In the meanwhile, the work-around is still to restart Modeler after changing the window size.



Anybody who has been using non-pipeline mode of Modeler in order to avoid bugs should now try the default mode.  Things should run much faster this way.



Any frame rate reports would be appreciated (SHIFT+F11).  Those who have helped me (greatly!) in the past need not re-report or link to your specs unless you wish to.



An unrelated enhancement is that Modeler can now load arbitrary terrain config XML files, as described on the Procedural Terrain System home page.



For people new to Modeler, here’s some stuff you can do which is both interesting and makes Modeler do some work:



  • Load a terrain.  Easiest way for beginners is to follow the instructions given with the obsolete SHIFT+F1 command.

  • SHIFT+LMB+RMB to fly or run around (if terrain is loaded PGUP to allow you to fly and enable the q and z keys).

  • / to show grid (generally not useful with terrain loaded).

  • Use pulldown menus to load *.jme, *-jme.xml, *terrain*.xml files locally or from a network

  • Use ALT+fi (or corresponding pulldown menu) to instantiate provided models, including (just copy and paste these):
       
      [li]com.admc.play.PsychedelicSphere("ps1")
         
    • com.admc.sample.SpatialTransformation()

    •    
    • com.admc.sample.TrivialTri("tri1")

    [/li]
  • SHIFT+F8 for scene graph tree

  • Manipulate Spatials (incl. morphs) and animations with SHIFT+F7 and/or CTRL+movement inputs

  • [li]Manipulate textures, colors, mount points, poses of AnimalNode models (a search should find a couple samples).


I think that OSX users will still not benefit from pipeline mode (though they should see robustness and speed increases without pipeline).  I'm going to try something out to support OSX users within the next few days, though the success of that is far from certain.

Hi blaine,



runs smooth at 65fps at 250k polys.



One thing i noticed:

If you walk with wasd and klick while walking on e.g. a treelement in the treewidget, even if you dont press a button the movment is doesnt stop. If you click outside the window and hit the button which is "locked", the movement stops.



Regards,

snare

snareoj2 said:

Hi blaine,

runs smooth at 65fps at 250k polys.

One thing i noticed:
If you walk with wasd and klick while walking on e.g. a treelement in the treewidget, even if you dont press a button the movment is doesnt stop. If you click outside the window and hit the button which is "locked", the movement stops.

Regards,
snare


Thanks very much.  I forgot about that bug.  That one definitely counts as "significant" too.  I'll try to fix that today.

Launching from the link you provided in your post gave me the following exception.

I've cleared the cache and tried again but got the same exception.



java.lang.NoClassDefFoundError: com/jme/renderer/Renderer
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.jme.renderer.Renderer
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
... 9 more


Look for agfpts.jar in the Resource Cache and delete that.  I'll look into versioning that jar file to hopefully prevent this problem.


Darklord said:

Launching from the link you provided in your post gave me the following exception.
I've cleared the cache and tried again but got the same exception.


java.lang.NoClassDefFoundError: com/jme/renderer/Renderer
at java.lang.Class.getDeclaredMethods0(Native Method)
...



UPDATE:
I've had other people try to reproduce this and they are unable to.  WebStart sees that the file has been modified and downloads the new version.  Perhaps you had another WebStart instance, or a Java quick-launcher daemon running which is holding the obsolete jar in cache or preventing the Windows FS from releasing the file link.  Please make sure the app is really gone and WebStart is completely stopped, then rerun.  In Windows, there are probably less opportunities to miss hidden magic if you clear the cache, reboot, clear the cache, retry.
snareoj2 said:

Hi blaine,
...

One thing i noticed:
If you walk with wasd and klick while walking on e.g. a treelement in the treewidget, even if you dont press a button the movment is doesnt stop. If you click outside the window and hit the button which is "locked", the movement stops.

Regards,
snare


Fix published.  Please retry.  Please wipe cache if the app version time stamp is older than SNAP20091124T17:56:51 (visible in Console and in the Help / About menu item).  There is a remaining Windows-only bug to do with Scene Widget input, but both the impact when it occurs and the situation in which it can occur, are trivial compared to the stuck-movement bug.  See the Help/Help menu item if you want details.

Thanks for your help.