Rilasciato Ogre 1.7.3
Altri sei mesi sono passati, ed è tempo per un'altra versione di manutenzione per il ramo stabile 1.7 (nome in codice 'Cthugha'). Come al solito non ci sono modifiche di funzionalità o danni alle API in questa versione - quelli ci sono nel ramo di sviluppo instabile - che ovviamente si può prendere da Mercurial se volete unirvi a noi per superare le soglie.
Per adesso solo i sorgenti d'origine sono pronti per il download per la 1.7.3, le versioni SDK saranno disponibili a breve.
Cambiamenti dalla versione 1.7.2:
[spoiler]
iOS: Remove the animation timer. Since DisplayLink is used by default now, this only hurts performance of things like input.
Some small changes to ensure that the terrain and paging libs are added to linker flags for SDK sample builds.
Consider weight when scaling in AnimationTracks
Only allow to set custom render capabilities before RenderSystem is fully created
iOS: Fix to prevent absolute paths from being inserted into resources.cfg for iOS to fix running the sample browser on devices.
OS X: The Cocoa view has no use inside the main library. Moving into the GL Rendersystem where it is actually used.
OS X: Disabling CoreGraphics error checking by default
OS X: 64 bit Cocoa support. New dependencies are also available to download. Fixed a few uninitialized variables along the way. Also updated GLEW to the same version as in default, the older version had some Apple specific bugs that needed to be resolved.
Several fixes for the Xcode templates such as: file permissions for the installer, iOS device orientation.
Adding Cocoa window event handling. Plus several other fixes for parameter parsing and other things. Thanks to jdiogo for finding the bugs.
OS X: Build fix when targeting 10.5 or earlier.
OS X: A few fixes for Cocoa windowing. Now plays nicer with externally created windows.
Clean up several warnings(hidden local variables, unused functions)
iOS: Fix orientation change support. Use UISupportedInterfaceOrientations in your apps info property list to restrict which orientations are supported by your application.
Fix a couple comment typos
GLES: Disable ENABLE_GL_CHECK, again.
GLES: Fix for images with custom mipmaps. The dimensions were never being reduced for each mipmap level. As a side effect, memory usage is also reduced.
iOS: IOKit isn’t needed at all and causes link errors with iOS 4.2.
Separate out all the OS X and iOS specific code from SampleBrowser.cpp. It was getting a bit unruly and difficult to maintain
iOS: Improve orientation support. Separate EAGLView into its own files.
iOS: Several fixes to the Xcode templates regarding viewport orientation and some cleanup for readability.
Patch 3116577: Plane equality operators. Also cleaned up some documentation.
Fix a catch-22 that prevented OGRE_BUILD_PLATFORM_IPHONE from showing up in CMake-Gui.
Fixed an incorrect error message in the Terrain component.
Do not offer the Carbon API option in 64-bit Mac builds and default to Cocoa
Allow the retrieval of NSOpenGLContext and NSOpenGLPixelFormat easily in OSXCocoaWindow
Specify the NSOpenGLFPAScreenMask to resolve ambiguity in the pixel format on multiple display systems
In OSXCocoaWindow::createWindowFromExternal, don’t force the window to be made key and ordered in front. As an external window, the calling application should have full control over window behaviour.
When creating an external window in Cocoa, don’t centre the window (app should be in charge of that)
Also don’t mess with the first responder.
Fix using multiple Cocoa windows with Ogre.
Previously the window delegate was incorrectly listening in on the events of *every* window, not just the one containing Ogre. This meant if the application had more than one window (Ogre or otherwise), the Ogre windows would get confused with all the events from different windows.
Fix this by making sure each delegate only attaches to the NSNotifications of the specific window it’s concerned with.
Support getCustomAttribute() on Texture, only GL extracts anything interesting so far but more can be added
This is pretty much essential if you want to get to internal API data for resource sharing without down-casting, which itself requires otherwise unnecessary linking to plugins. It’s why we’ve offered this for RenderWindow etc in the past, I’m not sure why it’s never been done for Texture.
Also support retrieving the FBO ids directly from render targets on GL (already allowed retrieval of FBO struct but again that requires linking)
Added support for spotlight_viewproj_matrix_array GPU parameter
Changed DataStream::getAsString and MemoryDataStream constructors to deal with streams of unknown size
[Papercut] Add destroyRenderTarget function to Ogre::Root
Fix a problem with using some of the lower-level renderable callbacks such as RenderObjectListener to alter shader parameter state – mGpuParamsDirty would not be updated to reflect this and as such things like manual param variances within light iteration loops would not be propagated.
Allow user to mark GPU params dirty themselves to resolve this.
iOS: Rework some of the sample browser code to shut down properly on iOS
GLES: Use the correct GL type for BGRA textures
OS X: Use correct pixel format attribute name for specifying FSAA in Carbon windows.
GL: Only bind up to the max supported number of render targets since not all implementations support 8. This prevents a few OpenGL errors.
iOS: Clean up the FSAA/framebuffer code in swapBuffers. This should resolve issues on iOS 4.1 that have been reported. Bug #384
iOS: Don’t search for X11 if building for iOS. I’m surprised that this hasn’t been found until now. Apparently most devs have the X11 package installed.
iOS: 2 fixes. The compiler should be g++ instead of gcc and switching the architecture to build for both armv6 and armv7.
OS X: A few CMake fixes to ease building for universal libraries. Upping the minimum OS to 10.5(it’s required for x86_64). Also updating the list of Boost versions to be current.
Don’t apply visibility settings to statically built samples. Fixes linking problems with Xcode 4 and iOS. (Backporting to 1.7)
Remove a GL ES 2 reference in the 1.7 branch
iOS: The meaning of ARCHS_UNIVERSAL_IPHONE_OS changed in Xcode at some point to just armv7. Changing it to Standard will compile for both armv6 and armv7.
OS X: A few small tweaks for Cocoa windows. Clearing the framebuffer right away, fixing multisampling for example
iOS: Let’s pretend that the iOS simulator doesn’t have SSE. (Works around a Xcode 4 bug)
OS X: Add support for 8 FSAA samples
Update the boost versions to look for.
Patch 3153910 – Fix a typo in MovableObject:
etRenderQueueGroupAndPriority. Render queue priority should be set to the priority argument, not the queue ID.
Patch 3221772 – iOS: Fixed bug in setting up the viewport if the lower-left corner is not 0,0.
RTSS: Fix the “Disco” effect in the Shader Sample on OS X. Thanks to Wolfmanfx!
Fix a documentation spelling error in 2 places
Patch 3046729 – Improvements on previous ProgressiveMesh patch. “Sometimes it seems to be actually desired to list itself as neighbor, so instead of denying this, we rather make the loop in ProgressiveMesh:
MTriangle::notifyRemoved more robust to these edge conditions.”
GLES: Fix using PVR textures
OS X: Fix a crash when switching between windowed and full screen when using the Cocoa interface.
Bug #397: Fix the build with some versions of GCC.
[Papercut] Image getColourAt parameters should be type size_t, not int
373 – [Papercut] Image has getColourAt but not setColourAt
Bug 409 – System freezes in GLPixelUtil::getMaxMipmaps when width or height is 0. Bug was reported for GL but could affect GL ES as well.
Reformat a little text in an exception so that it follows the format used elsewhere.
Bug 374 – [Papercut] PixelBox should have getColourAt and setColourAt
Bug 365 – [Papercut] void BillBoardSet:
etMaterial (const MaterialPtr &material) is missing
Bug 340 – Viewport::clear() saves and re-sets the previous Viewport, even if that Viewport has since been deleted
Bug 344 – Add utility functions to enable/disable skybox/dome/planes instead of destroying and recreating.
Bug 423 – Fix for looking up for texture definitions in very complex compositor setups in getSourceForTex and getTargetForTex
iOS: Explicitly specify the release lib paths so that libraries are always installed to the correct places. This fixes the problem of duplicate, single architecture libraries in SDK builds.
iOS: Remove -fno-regmove flag to keep Clang from complaining about it.
Update the SDK CMakeList template
Several updates and fixes for the OS X and iOS SDK build scripts
OS X: Fix a long standing issue that often prevented 3 situations: Building with Clang, 64 bit debug builds and linking with Xcode 4.
OS X: Add macAPI option to the config dialog
Added Gentoo install location for Cg to the FindCg.cmake script
Fixed a comment in OgrePixelFormat.h
Modified FindTBB.cmake to cope with TBB 3 paths
Fixed a build error with GCC 4.6
Xcode 4 templates and installer files
iOS: Normalize the case of the word Media in scripts. Simplifies a little scripting.
[/spoiler]