OGRE 3D 軟體工程與哲學

Ogre 3D 1.9 (Ghadamon) Change Log

http://www.ogre3d.org/tikiwiki/tiki-index.php?page=GhadamonNotes

Core Improvements
  • OgreMain
    • Extract the overlays from OgreMain and transform it into a own overlay component
    • Progressive Mesh improvements and new Mesh LOD sample.
    • Loads of documentation updates
    • Added Mesh::mergeAdjacentTexcoords to collapse two adjacent texcoords into one (i.e. float2 texcoord0 & float2 texcoord1 become float4 texcoord0)
    • According to the documentation, the default SceneManager ambient light should be black, which is wasn’t though.
    • SceneManager: updateSceneGraph should happen BEFORE prepareShadowTextures.
    • AtomicScalar operators should be returning their value. Only affects using GCC or Clang.
    • New class ProgressiveMeshGenerator to degenerate mesh detail at runtime.
    • Bug fix for Sphere::merge. Inaccurate results can occur if one sphere does not fully encompass the other.
    • New LOD strategies ‘distance_box’ and ‘screen_ratio_pixel_count’. Details, see Ogre Manual.
    • SharedPtr moved to use atomics (related API change see below in the porting notes).
    • SubMesh has a new method: clone(const String& newName, Mesh *parentMesh) to perform deep copies of SubMesh objects. The second parameter is optional and can be used to reparent a SubMesh.
    • Removed Configfile::load(const String& filename, const String& resourceGroup, const String& separators, bool trimWhitespace) because it can easily be ambiguous. If you wish to load from a resource group, use the existing function loadFromResourceSystem. The arguments are identical to the removed function. See OGRE-175.
  • New Volume Rendering component with LOD. See GSoC 2012 Volume Rendering
  • Many Terrain improvements.See GSoC 2012 Terrain Improvements
  • RTSS
    • Changed error handling of RTSS sub-render state parameter creation. Sub-render state now throws exception on errors
    • Added 2 new demo samples: multiple lights and textured fog
  • CgProgramManager
    • Added support for high-level output profiles glslv/glslf/glslg and hlslv/hlslf (glslg not fully working yet)  


Platform Support
  • Android Port
    • Remove eclipse based android port
    • CMake based build support
    • Create find Ant / NDK packages (currently Ant and the NDK must be in the global path)
    • Generate android make files for the sample browser
    • Use android tool chain to compile OGRE as static lib
    • Cleanup RTSS (Remove OgreStringSerialiser)
    • Improve platform integration
      • Add Android log listener into OgreRoot
      • Disable Filesystem- / Zip- / EmbeddedZip- Archives on android
      • Resource system improvements
      • OgreAPKFileSystemArchive to handle file access inside the APK
      • OgreAPKZipArchive so we can handle zip files inside the APK (APK is also compressed using zip)
    • Improve EGL support
      • Create concrete subclasses of EGL-Support/Window/Context
      • Handle context creation / configs inside OGRE
      • Resource recreation / Handle it like DX device lost / restore
        • Add managed resource class which every resource derive from (only active on Android – handled via macros)
        • Recreation of Texture, Shader, HardwareVertexBuffer
    • ETC1 texture codec
      • PKM support
    • Sample browser
      • Add touch input support
      • Build a APK file via CMake command line
      • Add rotation support
      • Fix / Enable more samples
        • Compositor not working
    • Improve CPU/ vendor detection
    • Add how to build it on Linux / OSX / Win32
    • Provide pre-compiled dependencies
    • Fix our dependencies so the can compile against the android tool chain
  • Windows Metro style application (WinRT)
    • Add support as a new platform (named WinRT).
    • Create a WinRT project for the sample browser.
    • Create a how to compile file.
    • Get all existing samples to work with the D3D11 render system.
      • Multi monitordevice support.
  • Windows Phone 8 port.
  • OS X
    • Add a helper function to get a sandbox friendly temp file name for iOS and OS X.
    • Other fixes to file handling in response to App Store rules.
    • Support for building with libc++ on OS X.
    • Proper example of DisplayLink usage in the SampleBrowser.
    • Plugins and components are now built as frameworks.
    • Add escape key as a shortcut for Cancel. Fix crash when hitting cancel as well.
RenderSystems
  • DirectX 11
    • Improvements from GSoC project.
    • Add tessellation shaders support.
    • Add tessellation sample.
    • Add dynamic linking support.
  • DirectX 9Ex support
  • Added OpenGL 3+ RenderSystem. Still marked as experimental and under heavy development.
  • OpenGL ES
    • GLES 2 terrain support.
    • OpenGL ES state and uniform caches.
    • Rewrote PVRTC codec, adding cube map, 3D and mipmap support. Only files created with PVRTexTool are supported now, not Apple’s texturetool utility.
    • Experimental OpenGL ES 3.0 support.
  • GL RenderSystem
    • GLEW updated to 1.9.0.
    • Remove restriction that all GLSL programs have the same matrix order when linking.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。