OGRE

Produce applications utilizing hardware-accelerated 3D graphics
Download

OGRE Ranking & Summary

Advertisement

  • Rating:
  • License:
  • GPL
  • Price:
  • FREE
  • Publisher Name:
  • Steve Streeting
  • Publisher web site:
  • http://www.ogre3d.org/index.php?option=com_content&task=view&id=19&Itemid=105
  • Operating Systems:
  • Mac OS X
  • File Size:
  • 40.8 MB

OGRE Tags


OGRE Description

Produce applications utilizing hardware-accelerated 3D graphics OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented, flexible 3D engine written in C++ designed to make it easier and more intuitive for developers to produce applications utilizing hardware-accelerated 3D graphics. The class library abstracts all the details of using the underlying system libraries like OpenGL and Direct3D and provides an interface based on world objects and other intuitive classes.What can it do?Lots of things! See the features page for an up-to-date list of the current features. Also, take a look at the screenshots page to see for yourself the kinds of eye candy OGRE can pump out.Is OGRE A Game Engine?No. OGRE can be (and indeed has been) used to make games, but OGRE is deliberately designed to provide just a world-class graphics solution; for other features like sound, networking, AI, collision, physics etc, you will need to integrate it with other libraries, something several frameworks have done, and we have a collision / physics reference integration library as an example in our distribution. Here are some key features of "OGRE": Productivity features: · Simple, easy to use OO interface designed to minimize the effort required to render 3D scenes, and to be independent of 3D implementation i.e. Direct3D/OpenGL. · Extensible example framework makes getting your application running is quick and simple · Common requirements like render state management, spatial culling, dealing with transparency are done for you automatically saving you valuable time · Clean, uncluttered design and full documentation of all engine classes · Proven, stable engine used in several commercial products Platform & 3D API support: · Direct3D and OpenGL support · Windows (all major versions), Linux and Mac OSX support · Builds on Visual C++ and Code::Blocks on Windows · Builds on gcc 3+ on Linux / Mac OSX (using XCode) Material / Shader support: · Powerful material declaration language allows you to maintain material assets outside of your code · Supports vertex and fragment programs (shaders), both low-level programs written in assembler, and high-level programs written in Cg, DirectX9 HLSL, or GLSL and provides automatic support for many commonly bound constant parameters like worldview matrices, light state information, object space eye position etc · Supports the complete range of fixed function operations such as multitexture and multipass blending, texture coordinate generation and modification, independent colour and alpha operations for non-programmable hardware or for lower cost materials · Multiple pass effects, with pass iteration if required for the closest 'n' lights · Support for multiple material techniques means you can design in alternative effects for a wide range of cards and OGRE automatically uses the best one supported · Material LOD support; your materials can reduce in cost as the objects using them get further away · Load textures from PNG, JPEG, TGA, BMP or DDS files, including unusual formats like 1D textures, volumetric textures, cubemaps and compressed textures (DXT/S3TC) · Textures can be provided and updated in realtime by plugins, for example a video feed · Easy to use projective texturing support Meshes: · Flexible mesh data formats accepted, separation of the concepts of vertex buffers, index buffers, vertex declarations and buffer mappings · Biquadric Bezier patches for curved surfaces · Progressive meshes (LOD), manual or automatically generated · Static geometry batcher Animation: · Sophisticated skeletal animation support · blending of multiple animations with variable weights · variable/multiple bone weight skinning · software and hardware-accelerated skinning pipelines with intelligent buffer sharing · manual bone control · Configurable interpolation modes, accuracy vs speed tradeoffs · Flexible shape animation support · Morph animation for legacy applications where you wish to perform simple linear blends between shape snapshots · Pose animation for modern shape animation, allowing you to blend many poses at variable weights along a timeline, for example expression / mouth shapes to perform facial animation · Both techniques can be implemented in hardware and software depending on hardware support · Animation of SceneNodes for camera paths and similar techniques, using spline interpolation where needed · Generic animation tracks can accept pluggable object adaptors to enable you to animate any parameter of any object over time Scene Features: · Highly customisable, flexible scene management, not tied to any single scene type. Use predefined classes for scene organisation if they suit or plug in your own subclass to gain full control over the scene organisation · Several example plugins demonstrate various ways of handling the scene specific to a particular type of layout (e.g. BSP, Octree) · Hierarchical scene graph; nodes allow objects to be attached to each other and follow each others movements, articulated structures etc · Multiple shadow rendering techniques, both modulative and additive techniques, stencil and texture based, each highly configurable and taking full advantage of any hardware acceleration available. · Scene querying features Special Effects: · Compositor system, allowing for full-screen postprocessing effects to be defined easily, via scripts if desired · Particle Systems, including easily extensible emitters, affectors and renderers (customisable through plugins). Systems can be defined in text scripts for easy tweaking. Automatic use of particle pooling for maximum performance · Support for skyboxes, skyplanes and skydomes, very easy to use · Billboarding for sprite graphics · Ribbon trails · Transparent objects automatically managed (rendering order & depth buffer settings all set up for you) Misc features: · Common resource infrastructure for memory management and loading from archives (ZIP, PK3) · Flexible plugin architecture allows engine to be extended without recompilation · 'Controllers' allow you to easily organise derived values between objects e.g. changing the colour of a ship based on shields left · Debugging memory manager for identifying memory leaks · ReferenceAppLayer provides an example of how to combine OGRE with other libraries, for example ODE for collision & physics · XMLConverter to convert efficient runtime binary formats to/from XML for interchange or editing What's New in This Release: Shadows: · LiSPSM now automatically adjusts for duelling frusta · Uniform shadow camera is now independent of FOV for directional shadows · Directional shadows no longer jitter when using the uniform shadow camera · Fix PSSMShadowCameraSetup when using arbitrary number of split points Memory: · Nedmalloc deallocator should deal with null pointers · Nedmalloc is now the default allocator · Linux build now has option to change allocators Materials: · cubic_texture now calls processTextureNames event properly · Fixed support for multi-line comments · Fixed script inheritance ordering bug · Fixed extra space being added to the parameters of texture_source in scripts · High-level shaders can now be reloaded properly after a compile error DirectX9: · Fix device reset error when using hardware occlusion queries DirectX10: · Fixed compilation on the November 08 DirectX SDK · Image pitch bug fixed OpenGL: · Fix crash on Radeon 9200 in _setPointParameters · GTK fullscreen mode now works GLSL: · Fix warnings of the form “Could not find vertex shader attribute 'vertex' to match BindAttributeLocation request” · Fix custom attribute names (tangent, blendWeights etc) interfering with user-specified 'varying' bindings that happen to be called the same thing · Fix “Invalid Enumerant” errors caused by trial-and-error binding of custom attributes OS X: · Fixed plist link for OctreeZone project · Make sure OgreMemoryNedMalloc.h is copied during Framework bundling Code::Blocks: · Project files updated to include PCZ plugins & sample · GL render system project updated to include render to vertex buffer PCZ SceneManager: · Texture shadows now work correctly in PCZ scene manager · Null and infinite AABBs now handled correctly Tangent support: · StaticGeometry now supports tangent parity option · Allow texture coordinate index 0 to be used for tangents if required (previously only the tangent semantic, or texture coordinate 1 or higher were supported) Pixel buffers: · Some blit functions were ignoring the left/top/front offsets, this is fixed · HardwarePixelBuffer::lock implementations should not return the same left/top/front offsets as the incoming parameters, since the returned pointer is already offset · Box now has a safer default construction, in particular setting front/back to 0/1 Linux / GLX: · Xt is now the default GUI on Linux instead of GTK (if installed) · Do not correct window size to valid fullscreen mode in windowed mode · Fix typo in closing GLX window · Fixed animation update for entities using the same Skeleton at all LOD levels · MeshSerializer can now load submeshes without indices successfully · Hardware SRGB option is now properly registered when using background loaded textures · In SceneManager::_manualRender, shader params for view/projection are now updated correctly · Fixed bugs with sky boxes / domes etc when repeatedly clearing the scene & resetting · Fix calculated SubMesh size in .mesh when using 16-bit indices · Manually changing the sort mode of solids in a render queue now works as expected · Fix precision error in AnimationState::hasEnded · Allow access to const version of OverlayElement factory list. · Allow setMaterial() on Entity/SubEntity as well as setMaterialName, for efficiency · STLport build option fixed · Fixed uninitialised typeName in Exception · Fix various compiler warnings


OGRE Related Software