It's time for another maintenance release for those of you using the
stable 1.0.x branch of OGRE. Full details of bugfixes and non-interface
breaking changes included in this release are available in the full
text of this post; other highlights include support for Visual C++ 2005
and Softimage|XSI v5.0.
You can find the releases as usual in the downloads section – please
note that if you're using the Windows source release then you will also
need to update your dependencies; we provide 4 dependencies downloads
with this release, one for each of VC6, VC7.0, VC7.1 and VC8.0. You'll
also find 2 new prebuilt tools for Windows in this release from the
Addons projects, namely the Particle Editor and the CEGui Mesh Viewer.
Changes since v1.0.5:
- Visual C++
2005 now supported, use Ogre_vc8.sln - XSI Exporter
- XSI v5 now supported (in addition to v4.0 and 4.2)
- Material exporter now picks up custom texture
transforms correctly - Fix for using multiple clusters with envelopes (bone
assignment groups) spanning them. - Don't export empty submeshes (caused by starting with
polys which are later all reallocated to clusters)
- D3D9 fixes:
- Render window writeContentsToFile method speeded up +
some bugfixes - Avoid a memory leak when GPU programs fail to load
- Fix potential surface leak when destroying a secondary
window but not the device
- Render window writeContentsToFile method speeded up +
- GL fixes:
- Don't change GL context while creating a new render
window if current context is available - Share lists between render window GL contexts
- Fixed incorrect loaded state when creating a manual
texture in GL - Fixed many gcc warnings on GL atifs compiler
- Type correction for external / parent handles in GLX
platform & doc corrections
- Don't change GL context while creating a new render
- D3D7 fixes:
- Fixed Dx7 device lost problems, switching from
fullscreen to windowed and back now works in Dx7 too. - Fix oblique projection on D3D7 (fix bad clipping on
render to texture demo)
- Fixed Dx7 device lost problems, switching from
- Mesh / Entity
fixes:- XML format DTD
- Range of texture_coords attribute should be 0 to 8
not 0 to 7 - 3D texture coordinates should be considered valid in
DTD - Mesh::getSubMesh now safely checks for an index out of
bounds condition. - Unload mesh should clear bone assignments and removes
reference to skeleton - Added method to access manual levels of detail for the
entity. Allow user more control to the lod level (e.g. change material,
attach objects).
- Hardware
vertex buffer pool fixes:- TempBlendedBufferInfo destructor needs to make sure
allocated buffer copies have been released – this bug showed up when
entities using software skinned skeletal animation were removed from
the scenemanager during rendering prior to frame ended finishing - Buffer manager must make sure that no buffer copies or
free temp vertex buffers exist that are associated with a vertex buffer
that is being deleted
- TempBlendedBufferInfo destructor needs to make sure
- Logging
changes:- Silently tolerate not having any log files to write to,
so people can run logless if they really want. - Allow suppression of file output on Log to allow a
LogListener-only setup
- Silently tolerate not having any log files to write to,
- Shader fixes:
- Correct number of constants supported by ps_1_x
- Fix ps_2_x detection; report as ps_2_a/b but assembler
syntax is still called ps_2_x - Fixed
memory/resource leak of high-level GPU program in the case qhere the
high-level portion is loaded, but the low-level GPU program itself
never loaded
- Shadow fixes:
- Fix missing shadow volume extrude program parameters
when shadow volume materials initialised somewhere else - Resolve an issue when find shadow casters for light,
and the light is attached to scene node. Should use derived light
position/direction to query for shadow casters
- Fix missing shadow volume extrude program parameters
- Material fixes:
- Ensure that custom texture transforms are serialised /
deserialised into .material scripts - When
material recompile required, need to unload whole content of material,
avoid leak because some TUS animation/effect controllers maybe created. - Fix cloning problems when using the ACT_TIME auto
parameter - Texture fixes:
- TextureManager loadImage/loadRawData
should be create texture as manual texture without loader, in fact the
texture can't auto reload again. - Enable/disable 32-bit textures now work properly even
if no texture exists, and only reloads the loaded and reloadable
textures. - You
can now access the original dimensions of the texture image even if the
final texture dimensions (due to hardware requirements) are different
- TextureManager loadImage/loadRawData
- Dependencies
updated - Freetype is now v2.1.1.0
- DevIL is now 1.6.7
- zlib is now 1.2.3
- zzliplib is now 0.13.44 (this fixes a memory leak when
reloading resources from a zip file) - CEGui remains at 0.3.x since 0.4.x requires potential
changes to custom looks, users are free to upgrade themselves (but will
need the source release, not the SDK) - Particle
systems: - Delay loading of image on ColourImage particle affector
to avoid startup overhead, and deal with more formats instead of
assuming pixel format - Should check for duplicates before creating/adding new
particle system templates, otherwise leakage - Disable gcc version script which causes problems in gcc
v4.x - Add the ability to raise and listen in on
RenderSystem-specific
events (allows people to listen in on device lost / restore if they
choose to) - Fix comparison bug in HardwarePixelBuffer::blit which would
cause it to scale unnecessarily - Solve crash when ray scene query is done without landscape
loaded in TerrainSceneManager - Open data streams one at a time while parsing scripts to
avoid opening a lot of disk files simultaneously that may exceed file
handle limits - Allow archives to be unloaded
- Fixed destroying track which maybe absent, just ignore it
when this situation happens - Fix merging of CEGui flags in Linux build
- Don't allow double-load of plugins
- Gracefully deal with invalid requests to use the same
SceneNode name more than once - RenderTarget::writeContentsToTimestampedFile now writes out
the date/time in correct human readable format - Fix for "unknown property."scale" in $Biped_Object" error
in 3DSMax exporter - OverlayElement parent overlay initialisation fixed
- Several documentation corrections