Development: virtual trackball, URLs, BitCoin, T3DTransform, Win64, and more

January 13, 2012
Screen from new scene_manager_demos example program
You can use VRML/X3D Anchor node to refer to URL of a webpage

We have a really great start this year :) A lot of work has been done in the past 2 weeks since last release. Many improvements implemented in view3dscene and the engine. In somewhat random order:

  1. The Examine rotation with mouse was much improved: dragging the mouse near the border of the window will now cause rotation around the Z axis. (More precisely, we interpolate between rotation around Z axis and traditional XY rotation, by looking at how close the mouse position is to the middle of the window.) This makes rotations with mouse much more flexible (previously, you had to use keys for Z rotation), and also intuitive. This is called "virtual trackball", mentioned on Robert J. Funnell's "3-D viewers" page.

  2. New view3dscene menu item "Help -> Visit view3dscene website", new castle menu item "Visit our website", and Anchor node can now open URLs in a browser (for documents that are not recognized as 3D models).

    Engine contains a unit CastleOpenDocument, using code adapted from Lazarus LCL, to open URLs and documents on all platforms.

  3. To our "Helping in the engine development" section below the forum link I added notes "For Linux distros package maintainers". Please help creating a view3dscene package for popular Linux distributions!

  4. We accept BitCoin for donations. If you wish to donate this way, simply send some bitcoins to this address: 1FuJkCsKpHLL3E5nCQ4Y99bFprYPytd9HN

    If you like view3dscene, please consider donating using any of the listed options :) Thanks!

  5. For developers using our engine: T3DTransform class is available, to comfortably transform 3D scenes (translate, rotate around specified center, scale around specified center with specified scaleOrientation). The demo how to use it is inside castle_game_engine/examples/viewport_and_scenes/scene_manager_demos.lpr in SVN, and also in new "The Castle" sources.

  6. Various work on simplifying "The Castle" sources, and merging the useful features into the engine core. For users, this mostly results in shadow volumes improvements on "The Castle":

    • Shadow volumes are now enabled by default
    • Comfortable T3D.ReceiveShadowVolumes property
    • Teleport (on gate level), and spiders sliding down (on cages level) are now done by T3DTransform descendants. This means that spiders sliding down cast shadows too.
  7. Notes about recently released FPC 2.6.0: Yes, it works perfectly fine with our engine 3.0.0.

    The only small problem is FPC issue #21000, which is actually a bug in my compilation scripts. This concerns you only if you compile final programs (not just the engine), and only if you use scripts (as opposed to Lazarus) to compile. In such case, make sure you use ${CASTLE_FPC_OPTIONS:-} instead of "${CASTLE_FPC_OPTIONS:-}" (strip double quotes).

  8. Cooperation between Anchor and other pointing-device sensors improved in constructions like

    Anchor {
      children [
        TouchSensor { ... }
        Shape { ... }

    Previously such Anchor was ignored (hidden by TouchSensor), now it's treated like sibling to TouchSensor. So it can be activated, it's description is shown etc. Compatible with at least InstantReality.

  9. Engine works fully under 64-bit Windows (Win64, Windows on x86_64). Snapshots are build for win-x86_64 too. If there's interest (please report on forum) we may release binaries for this system on next view3dscene release. (I don't think it's terribly important, because our 32-bit Windows binaries actually work on Win64 flawlessly already.)

  10. Tear-off menus are removed from the engine and view3dscene. This means a little functionality lost if you used view3dscene on Unix (Linux, Mac OS X). Sadly, tear-off menus are deprecated in GTK 3.1, and they are in fact already buggy in existing GTK 2 versions. See ticket #3 for links and references about this.

  11. Obsolete CastleWindow GTK 1 backend removed. Even it's compilation was broken since a long time. We use GTK 2 since many years.

Remember that you can grab view3dscene binary from snapshots to try the new features immediately. For developers, you can download source code of engine and other programs from SVN.