{mosimage}We're pleased to announce another maintenance release for those on the Dagon stable version, v1.2.3. Has a nice ring to it I think you'll agree. 🙂 As usual the full details of the content of this release can be found in the full version of this post, click on the "Read More…" link below to see it.
Updated this release, apart from the main source and SDKs, are a number of tools – the command line tools, and the Milkshape and XSI exporters. So be sure to update if you're using those. Also of note is that the Code::Blocks / MinGW environment no longer requires STLport (see the wiki), and OSX has a brand new set of Universal binary dependencies for you to download.
We hope you continue to enjoy using Ogre!
Changes since v1.2.2:
- D3D9:
- Respect displayFrequency option if specified
- Use D3DFMT_UNKNOWN instead of D3DFMT_FROM_FILE for DDS loading routines, allow more fallbacks
- Make sure DestroyWindow is called in all cases on destruction in D3D9 when using OGRE-created window
- Don't try to update RTT/MRT when D3D device is lost
- Fix device lost recovery for secondary windows
- GL:
- Make
sure fixed-function LBX_ADD_SMOOTH implemented, even though no direct
equivalent for arbitrary GL_COMBINE in GL. GL_INTERPOLATE is the closest - Fix
a problem with the model (world) matrix being incorrectly taken into
account when using fixed-function cubic reflection in GL - TerrainSceneManager:
- Explicitly
shut down page source before DLL shutdown, identified by tuan as a
cause of shutdown problems in TSM under certain conditions - Fix terrain pages not using custom assigned render queue
- Resource system:
- Move
firing of resource start / end outside the isLoaded() check to ensure
that the callback count is correct even if resource state changes - Fix a bug with ResourceGroupManager::loadResourceGroup – if any
resource in the group at the start changed group (because of a resource
found in another location not in the group being loaded),
iterators are invalidated which caused a nasty crash. Really people
should sort out their group locations but detect this condition
and deal with it nicely - XSI Exporter:
- Fix exporting of tangents
- Fix bug with scaling in keyframes should be relative to original bone scale (previously assumed bind scale of UNIT_SCALE)
- Linux:
- Fix compilation of OgreSDLConfig_gtk.cpp with recent libsigc
- Ogre::SDLWindow::isFullScreen implementation
- gcc deprecated warning fixes
- Provide -DOGRE_DOUBLE_PRECISION and -DEXT_HASH through pkg-config
- OSX:
- Universal binaries support
- Dependencies update
- Updated the Ogre Config Dialog to look more like it's windows counterpart
- NOTE: Using Frame
Buffer Objects (FBOs) on OSX can cause some visual artefacts, choose
"PBuffer" as the "RTT Preferred Mode" when configuring the GL
rendersystem until Leopard is released which should fix this
problem. - Code::Blocks:
- project format updated
- STLport no longer required, but special build of MinGW needed for correct DLL handling of std::string
- Node changes:
- If node already attached to a parent, addChild now throws an
exception instead of just asserting, helpful to track down this
type of bug in release build - removeChild(Node*) now uses node name to find whether/where to
erasing the child (still keep same behavior as previous), increases
performance - Bugfix
for node weighted transform scale blend: should interpolate between old
and new scale rather than scaling old scale with factored new scale - Compositors:
- Eliminate constant recompilation when compositors enabled on more than one viewport at once
- Eliminate extra memory consumption each time CompositorChain is recompiled
- ManualObject:
- Fix crash in ManualObject when silly people call begin() and end() with no data in between
- If
ManualObject is already attached to a node when new geometry is added,
tell parent to update so potentially new bounds are updated too - BillboardChain:
- changing number of elements and
chains, enabling/disabling vertex colour and texture coords usage
should mark index buffer dirty and rebuild later - update render queue should take render queue into account
- Tangent calculations:
- Correct bug with shared geometry where each submesh covered only some of the vertices
- Orthogonalise tangent vectors with the vertex normal when generating
- Ensure the correct texture format / num mips is used if texture
loaded through declareResource / loadResourceGroup instead of
TextureManager::load - Fixed stencil shadow bug when enabling a custom near clip plane,
which in some case missing generate light/dark caps that required by
zfail algorithm - Viewport
clear buffers defaults to FBT_COLOUR|FBT_DEPTH, the same as the value
defaulted in Viewport::setClearEveryFrame, not 0xFF. More consistent,
small speedup and resolves some compositor issues - Overlay bugfix – when a parent container was using pixel
metrics, and the child was using non-left or non-top alignment,
the pixel metrics were being used as relative metrics to calculate the childs position in error - Mesh::clone – fix pose list being empty after mesh cloning
- DeferredShading Demo now compiles under OGRE_DOUBLE_PRECISION mode
- Fix incorrect override on AnimableValue::applyDeltaValue(Real)
- Bugfixes for skeleton unloading
- Fix use of depth bias with CEGui renderer
- Tolerate compile errors in shaders, just log the errors and mark
the technique as unsupported instead of requiring app to catch exception - StaticGeometry was getting the wrong material technique which
caused material LOD not to work, and for potentially unsupported
techniques to be picked – fixed. - Fix
a bug in vertex morph animation where if the same keyframe was passed
as both parameters for the morph (because only one keyframe in a track,
or because the time exactly matched a keyframe), the same buffer was locked twice - Root::addFrameListener
now deals with the case where a listener with a given address is
removed and re-added before the deferred removal is processed - Entity::refreshAvailableAnimationState should refresh
vertex animation too. Refreshing the animation state should update
length if it has changed - Virtualise a few SceneNode methods so they can be overridden
- Copy pass should copy hash value too. On demand illumination pass compiles should calculate new pass hash value immediately.
- BillboardSet:
unreference main buffer when destroying buffers, so the hardware vertex
buffer will release back to driver as early as possible - Fix Ocean demo crashing if there are no supported material techniques
- Safely handle null camera in all cases in Viewport
- Fix a bug in the Milkshape exporter when exporting models
imported from other formats which have less position keyframes than
rotation keyframes (Milkshape never creates these) - Fix and enhance BitmapFontBuilderTool
- Miscellaneous detail-level performance improvements
- Documentation updates