Introduction

This document provides release notes for each incremental release of the 3D Web software.

4 August 2009

Features:
Improvements and Bugfixes:
  • Additions to ProcMesh class API: CreateSubset() and GetBuildMesh() functions
  • Fix various minor issues with Browser2D
  • Browser2D: Support requesting a navigation take place in a new window; used when shift-click or middle-click
  • Auto-generate mipmaps for Browser2D textures to give smoother, better appearance from a distance (not available on all graphics hardware)
  • Support mip-map LOD bias in Materials
Possible compatibility breaks:
  • ProcMesh: ApplyChanges does not Clean by default; now has flags for whether to clean and/or calculate vertex normals

17 July 2009

Features:
Improvements and Bugfixes:
  • Browser2D: fix problem with use of pdf documents and mailto: links
  • Make sure World Deactivate message gets correctly sent in all cases
  • Correctly recognise Windows 7 in System Info
  • Expose Pkg.RequestDataFromOtherWorld in Open Package
Possible compatibility breaks:

24 June 2009

Features:
Improvements and Bugfixes:
  • WorldPortal Click-Activate improvements
  • Handle linking to anchors properly in Package code
  • Refactor of SimpleAudio implementation for improved performance and reliability
  • Improve initial start-up time
  • Fix texture shearing issue on tooltips
  • New End User License dialog design for the Loader
  • viewObjectProxyBySubset param for actor and stator
Possible compatibility breaks:

10 June 2009

Features:
  • Multiple World Update threads: improves loading performance for most machines and better exploits multi core CPUs
Improvements and Bugfixes:
  • Improvements to collision handling when stop ViewObject by moving
  • Only ever collide tooltips with the mouse line, never with the avatar or anything else
  • SimpleAudio: GetPlayTime function to return the current audio playback time
  • Shader and Managed Materials: Support diffuse.texMatrix to allow texture transforms
  • Fix SimpleAudio issue where looping background audio would be playing in a world loaded through a portal
  • Better approach to mouse looking for improved responsiveness and better security
  • New flags and parameters for ViewObject action: moveCancel, allowLook, useObjectOri, stayOnExit
  • Support having no w or h values returned from GetViewObjectData, also handle nearClip, farClip and vFov too
  • When left-click to activate a WorldPortal, perform a smooth transition to fly the viewer through the WorldPortal. Can double-click to activate immediately
  • GetViewObjectData is passed a timeStep value to allow it perform updates and physics if required
  • viewObjectProxy param for entities; specifies another (window-based) entity that will actually be Viewed instead
  • Reduce glitching when fly through a WorldPortal
  • Fix potential problem with SubObject garbage collection
  • Minor performance improvement in ShaderMaterial
  • Make sure all ShaderMaterial const values are set to default before setting Instance specific values to avoid seeing incorrect default values while loading
  • Beta version of packages have debug info included
  • Make sure the main lua file is always included after the package is loaded to avoid occasional timing issue
  • WorldPortal has a relevant tooltip: the title of the target world
Possible compatibility breaks:
  • Basic Package: Removed access to Core.Input and Pkg.Signals for security reasons

23 May 2009

Features:
Improvements and Bugfixes:
  • OnViewObjectSignals have an info parameter with an event field that can be 'Enter' or 'Exit' to describe the particular ViewObject action occuring
  • OnViewObjectSignal for WorldPortal
  • Fix Garbage Collection problems with Stator and Actor
  • Support Point texture filtering for diffuse channel
  • Use point filtering to improve tooltip image quality somewhat
  • Fix some minor issues with DynamicMesh
  • Looping SimpleAudio resumes when you return to the website after being in another
  • Improve Loader behavior: properly cache the code modules and only redownload if the server version is newer than the local version
  • Indicators in corner of screen to show when running beta or local versions
  • New versions of Shells
    • Cache the Loader dll properly to avoid unnecessary redownloads
    • Registry key to cause the Shell to always load the beta version of the code
    • Fix problem with ActiveX Shell causing Internet Explorer to think the page is always still loading
  • Remove Browser2D:SetTextureSize to avoid compatibility problems
  • Memory: Fixed problems with memory tracking
  • Avatar can never collide with ToolTips
  • Provide some limited support for viewing pdfs by offering to open them in a new window
  • Fix problem with a Portal to an invalid world url not getting cleared
  • Downsize WorldPortal RenderTargets when they are not displaying anything useful

09 May 2009

Features:
Improvements and Bugfixes:
  • Remove ViewObject Telephoto zoom feature; this will be implemented in a different, more flexible way in the future
  • Fix issues with activating World Portals before the target world is loaded
  • Fix issue with mixing Shader and Ffp Materials
  • Less intrusive tooltips: smaller and easier to dismiss

04 May 2009

Features:
  • User operated Telephoto Zoom when in ViewObject mode (currently operated with middle mouse or Ctrl +/- : control assignment is TBC)
Improvements and Bugfixes:
  • Fix problem in Shader Material when using per-pixel lights
  • Tweak Browser2D task priority levels for better overall performance
  • Cancel tooltip over Browser2D more aggressively
  • Fix problem with being able to ViewObject on the Site Map portal
  • General performance improvements in Package code: using SendMessage rather than ProcessMessage more aggressively
  • Must be facing the right way to go through a World Portal to prevent activation by bumping into the back of a portal
  • SetToolTip function for all objectws that support tooltips to allow chantging the tooltip text after object creation
  • Fix problems with ViewObject on Browser2D toolbars
  • dynamicViewObject flag for Window based objects
  • disallowViewObject flag for Actors and Stators
  • Tweak status display in Loader
  • Fix race in Browser2D

28 April 2009

Features:
  • DynamicMesh Object to allow dynamic geometry to be streamed from application code. Only available in the Open Package.
  • Pkg.ParticleSystem class to provide core particle system functionality. Only available in the Open Package.
Improvements and Bugfixes:
  • Changed some render task priorities for better loading and more responsive browsers

22 April 2009

Features:
Improvements and Bugfixes:
  • Fix issue with SimpleAudio player
  • Show the current world URL on the Web menu on the Site Menu
  • Pkg.ViewObjectCancel() function
  • GetViewObjectData can now return a table of data rather than three discrete values. The table is in the same format as returned by Pkg.GetViewObjectInfo()
  • ViewObject uses non-vertically aligned axis when viewing Windows
  • Cancel browser tooltip when click on the browser
  • Improve tutorial ViewObject text
  • Fix problem where getting the World url from lua would get the url without the anchor

11 April 2009

Features:
Improvements and Bugfixes:
  • Browser toolbar buttons dont flciker on first mouse-over
  • Better looking tutorial pages
  • SimpleAudio efficiency and performance improvements
  • Tooltips display relative to the viewer
  • Fix some minor documentation bugs
  • ViewObject uses correct nearClip value
  • ViewObject: Stop updating target object xform when transitioning out to avoid nasty flicker
  • WorldPortal: targetXform value overrides any anchors
  • WorldPortal: correctly allow use of pos/ori instead of xform to specify location when creating portal
  • World system now correctly ignores anchors when comparing world urls, so it no longer has duplicate versions of worlds when anchor '#' syntax is used in urls
  • ViewObject now always uses a vertically aligned yaw/pitch system even when viewing non-vertical surfaces

04 April 2009

Features:
  • Refactor of ViewObject system. Instead of Left double clicking to instantly teleport you to a location, Right double click now moves you smoothly to the location. Another Right double click then returns you to your original location. You can also look around while 'zoomed in'.
Bugfixes:
  • Fixed potential problems with SimpleAudio system
  • Avoid possible crash when validating URLs
  • Display viewer location on Developer World Report using commas for easier cut and paste
  • WalkingViewer: prevent 'falling through floor' problem when world first loads
  • Always cancel ViewObject on World activation to prevent Viewers facing the wrong way when returning through a back portal
  • When go through a WorldPortal, start further forward to reduce the chances of falling (or being able to back) out of the new World
  • Tweaks to navigation bar on Site Menu
  • SiteMenu and Tooltips should not be lit
  • Cancel the Avatar location every frame to prevent problems if a custom viewer type doesnt set the Avatar location
  • Make sure GetViewer returns proper clip/fov info even in ViewObject mode

28 March 2009

Features:
  • Developer menu item to send all Developer reports to a Lateral Visions compat server to aid with testing and debugging
  • Browser2D GetToolbarEntityRef function to allow setting entity exceptions for the toolbar
  • Pkg.SimpleAudio object to play an audio resource, streaming it if necessary. Allows looping
Bugfixes:
  • SiteMap portal now cannot collide with Walking Viewer avatar

17 March 2009

  • Pkg.DelayCloseToolTip function exposed for Open Package to allow closing tooltips
  • New toolbarTextureSize parameter for Browser2D to allow setting the horizontal resolution of the toolbar
  • Interactors now accept a tooltip parameter and will automatically display tooltips
  • OnRightClick and OnRightDoubleClick Signals now available from Interactor

07 March 2009

  • AddEntityException function for World Portals to allow specifying some entities that will not be drawn into the portal
  • LookSpring for WalkingViewer: view returns to horizontal when walk
  • New dynamicViewObject flag for Actors: if false, then the Viewer will not follow the actor
  • Quad Picker tool on Developer Tools menu; displays details for a rectangle based on the clicked triangle.
  • Pkg.ViewObject function (Open Pkg only) to allow code to cause a ViewObject event
  • Allow setting thenear/far clip and priority dynamically for an EnvironmentCube object
  • SetIsVisible functions for window based objects, actors and stators so they can be made invisible
  • tooltip parameter for actors and stators
  • Better tooltip positioning and scaling
  • Site Menu Tutorial is now a smaller rectangle at bottom of screen
  • Make 'mailto:' a valid online (non-local) protocol
  • Allow setting Site Map portal far clip distance as a Site Menu property

03 March 2009

  • SiteMenuEvent Signal
  • Core.Gfx.GetResolution that returns main display width in pixels
  • Browser2D: Can set toolbar size as a fraction of the main browser size
  • GetTextWidth on Texture, ProcTexture and Poster: can get the width a text string will take up on the texture
  • ToolTips: set and display tooltips

25 February 2009

  • New WorldPortal options
    • avatarActivation: used to turn off 'walking through' WorldPortals
    • singleClickActivate: A single mouse click activates the Portal instead of a double click
    • targetIsViewerDependent: When false, provides a 'CCTV' mode, where the image on the Portal is not adjusted for the Viewers location, so it looks more like a TV screen than a doorway you can see through.
    • targetFov: Used to set the field of view when targetIsViewerDependent is false.
  • SiteMenu updates
    • Add Tutorial to help menu
    • Add Web menu to allow browsing 2D/3D Web content
    • Pkg.SetSiteMapPropertys function allows customising various SiteMenu styles and content
    • InfoPicker Tool for Developers provides information about any surface or object in the World

21 February 2009

  • Performance and quality improvements to core graphics engine, including multi-sample antialiasing support
  • Core.SaveFile function to allow editors to save data files; security review
  • Improved Browser2D toolbar with additional close and scroll buttons
  • Means to set Warning Scope from website code: Core.SetWarningScope etc
  • Support for cut and paste from Browser2D, including key shortcuts
  • Complete overhaul of Site Menu to provide more better functionality including SiteMap
  • Site Menu can be accessed from various keys including Esc and F1/F3 for Help/SiteMap
  • Pkg.SetIntersectableFlags function to allow control over the entities that can be found by the mouse intersection test

28 January 2009

  • Updated Shell plugins to V1.1; support <param> and <embed src=... usage
  • Browser2D provides a more useful error message if the page has not loaded yet and you try to call Javascript on it
  • Fix issue with Shader Material detail coordinates when using 'Cube' method
  • New 'Panel' frame style for Windows: 2D rounded outline rectangle
  • contentTexCoords parameter for Window, allowing custom texture coordinates on the content pane
  • WorldPortal checks for an anchor ('#') in the target Url, and sets up targetAnchor correctly in this case

20 January 2009

  • Reenable inline linking to images used for textures
  • Window zOffset param; makes it easy to pull the content pane off of a wall (for example)
  • Package maths update:
    • Shortcut constructor alias for Color.Hsl type
    • math.sqr, cube and sgn functions, along with Core.Math.Sqr, Cube and Sgn aliases
    • math.roottwo constant
    • Math and Math.Geom copy constructors (allowing eg PointW(p) where p is also a PointW)
    • Core.Math.Transform and Core.Math.Geom.Transform should be aliases of each other, both taking all types
  • Fixed transparency issue with non shader materials
  • EnvironmentCube is black when viewed through a World Portal

13 December 2008

  • Back portals should be the same size and shape as the original portal
  • Add Pkg.SetTimeout function: behaves like javascript setTimeout
  • WorldPortals: do not activate on click, only on double click
  • Windows have origin at centre of content pane
  • SetData function for materials to allow dynamic updating of all Material data
  • Non intersectable materials: can allow certain materials in a mesh to be completely non-intersectable
  • More transparency/layer flexibility in Materials
  • dev.lv3dweb.net developer site
  • Support mailto: links from embedded web pages
  • Better error reporting on lock hierarchy errors
  • Factory can take SetMaterialInfo etc functions to do overrides; also GetMaterial etc functions
  • Texture:IsReady(): allows querying a texture for whether its loaded up and ready to go

22 November 2008

  • SetTarget method fpr WorldPortals allowing the target data like url, xform and far clip to be set dynamically
  • Mouse Over Signals for Stator/Actor
  • Window disallowViewObject flag
  • Improve smoothness of transitions through WorldPortals
  • Fix Browser2D bug that prevented using local content when running from local
  • Fix View Object (Zoom To) behavior to handle scaled objects
  • SetLensInfo for Viewers to allow dynamically changing clip planes and fov
  • Fix issue causing you to skip back to a previous location when using View Object sometimes
  • Browser2D fix: Allow 'javascript:' hrefs to work
  • SetIntersectableFlag functions for Window, Stator, Actor
  • Tweak GfxMemManager: Allow non current Worlds to load higher res textures

11 November 2008

  • Back Portal disappears when used
  • ViewObject Signal on Stators etc to alow app-defined actions when the object is viewed
  • Can specify both width and height independently for World Portal and Browser2D
  • Alt+Left not CTrl+Left to go back in Browser2D
  • Browser2Ds are destroyed when leave a world, and recreated when return
  • Compatibility fixes for performance on low spec graphics hardware
  • All resource accesses now have the full Same Origin policy applied to them, so its now not possible to hotlink to content on other domains
  • Fix problem with Walking Viewer getting trapped under the floor in certain circumstances
  • Allow Anchors in URLs
  • Allow setting the hieght of the collision sphere for the WalkingViewer

04 November 2008

  • ViewObject (left double click) for all geometry, not just windows
  • OnClick Signal for Stators and Actors
  • Collada compatibility fixes: support node instancing and fix transform problems
  • Fix failure when returning from Ctrl-Alt-Del
  • Stability fixes: fix several crash-on-close bugs, some Vista only
  • Cannot move backwards through back portals
  • Context menu now requires double click with right mouse button

24 October 2008

  • Pkg.UsingShaders function to allow checking whether shaders are both available on the hardware, and enabled for use in the current website
  • Updated tutorials
  • Added support for Premultiplied transparency mode on the fallback non shader material
  • Better error reporting from Object messages
  • Support for emissive texture channel in materials, including correct interaction with premultiplied blending mode

21 October 2008

  • Improved approach to embedding LV3DWeb plugin into web pages
  • Support for Additive and Premultiplied blending modes in materials
  • Fix problem with NPAPI plugin installer
  • Fix issue with mip mapping textures with large blocks of zero alpha values
  • Fix xsl/syntax problems in documentation to allow it to be viewed standalone in all browsers
  • Pkg.DisallowShaders function to allow testing of fixed function fallback materials
  • Fix issue with targetXformOffset when move through a World Portal
  • Support setting a diffuse color for Unlit materials in the fixed function fallback material

08 October 2008

  • Interactor class allows objects like Browser2D to be interactive when used as a texture on any 3D model
  • Various Lua fixes and improvments
  • Do not use dynamic D3D textures for normal textures on Integrated Intel cards
  • Improvements to Browser2D implementation: can click on Flash content
  • Minor performance optimization involving thread-locking
  • Fixed view glitches when go through World Portals
  • Improvement to WalkingViewer collisions
  • Support for mipmapAlphaBias on textures to improve quality of mainly transparent textures like fences
  • Fixed some problems with WalkingViewer collisions
  • Better error reporting for certain Lua errors

17 September 2008

  • Application Report on context menu with some basic profiling info
  • Can add user items onto the Application Report
  • Efficiency improvment in core rendering and collision systems
  • Browser2D can now send some input to plugins (eg Flash)
  • Keep old contents of a texture if an image isnt downloaded yet
  • Some Gfx profile values on the context menu report
  • Memory system optimizations: significant all round performance boost

13 September 2008

  • Modifications to the way keyboard and mouse input and OS focus are handled
  • WalkingViewer class to allow a viewer that collides with the environment and is subject to gravity. Not available in Basic Package
  • Bugfix: make sure COntext Menu gets Garbage Collected

04 September 2008

  • Support for all browsers, not just Internet Explorer (still Windows only for now).
  • 'windowless' flag for Browser2Ds so they can be used as simple, non-interactive textures more easily.
  • Fix for potential bug when closing down.
  • Fix problem with mouse dragging on windows.
  • Fix problem with materials not getting placed on the correct render layer.
  • Add support for more Collada material parameters.
  • EnvironmentCube class to render a cubic environment map for use in reflection mapping.

27 August 2008

  • Support for L8 texture format: good for certain lightmaps.
  • Allow resources to be zip compressed; especially good for 3D models.
  • World Portal allows an offset xform to offset the view from the actual anchor location.
  • Changed the way textures are used to improve performance and smoothness.
  • Fixed crash bug on certain low memory graphics cards.
  • Added an OnClick Signal for Poster.
  • Fixed problem with World Portals not getting garbage collected.

15 August 2008

  • Sphere and Cuboid to World intersection tests. Not available in Basic Package
  • IMeshBuild provides getter functions to allow access to mesh data
  • Layout uses flags for finding possible intersectors
  • Optimized use of tables when passing data from Objects up to lua
  • Provide a WorldPos - Vector3 subtraction operator in lua
  • Evaluate strategies for providing Shaders: GLSL not viable on Windows because of poor drivers for certain graphics hardware, Cg not viable because there can be only one instance per process, therefore must use HLSL on Windows and provide an abstraction over the top
  • Implement Hlsl Shaders
  • Shader Material Object type to provide lua access to Gfx Shaders. Not directly available in most Packages
  • Provide Material name in Material info table to allow easier material identification in factories
  • ShaderMaterial lua class to provide advanced materials using Shaders. Not available in the basic Package. Supports per pixel lighting and reflection, light maps, detail maps including texture coordinate generation, gloss mapping and fresnel
  • Fixed bug in Browser2D when a url was too long
  • Many more minor improvements and fixes

3 July 2008

  • Refactor of Viewer related Signals allowing for 'local' WorldPortals that teleport within a world
  • Note this is a Package compatibility break; any custom Viewer classes will need updating to use the new ViewerUpdate Signal and possibly the repurposed ViewerEvent Signal
  • Watermark mode so its possible to develop locally using non-free Packages, but with a watermark shown
  • Added End User License Agreement
  • XformW and XformL SetTranslate functions now accept a range of types to specify the translation
  • Greatly improved font selection method for selecting the exact font from the user supplied font names
  • Many more minor improvements and fixes
Copyright © Lateral Visions Software Company Limited 2008. All Rights Reserved.