Difference between revisions of "History"

From KlayGE
Jump to: navigation, search
Line 2: Line 2:
  
 
The main updates of each version of [[KlayGE]] are shown below:
 
The main updates of each version of [[KlayGE]] are shown below:
 +
 +
'''4.5 (2013.06.28)'''
 +
* New sub-project
 +
  DXBC2GLSL. A library and tool finished by Shenghua Lin. It converts bytecode generated by D3D compiler to GLSL of OpenGL 2.0-4.4 and OpenGL ES 2.0-3.1.
 +
* Improvements in engine
 +
  Better normal representation in G-Buffer。
 +
  Compute shader based TBDR. Extend the PS based light indexed deferred to compute shader based, which handles 1024 lights in a pass.
 +
  Supports Occlus Rift’s input and stereoscopic display. Implemented by Ming Tu.
 +
  Hierarchical scene object simplified scene management.
 +
  A new distance-based font generation algorithm. Suggested by He Zhou. In current version, the converting speed is 4 times faster than before. Additional optimization will be done in the future.
 +
  Supports D3D 11.2.
 +
  Improved RenderEffect
 +
    Remove pre-define macros in runtime. Use <macro> and <include> instead. Please see GBufferSkinning128.fxml.
 +
    Speed up effect loading.
 +
    Recursive include support.
 +
    CBuffer in effect.
 +
  Sensor input. Supports many types of sensors such as gyroscope, compass, accelerometer, GPS,  in Windows, WinRT and Android.
 +
  In-engine profiler to help developers do the profiling in high level.
 +
* Improvements in engineering
 +
  Using the same CMake files for managing Windows, Linux, Android and WinRT projects.
 +
  Supports compiling by Clang. But because of a bug in Clang’s importer and exporter, linking on Windows fails.
 +
  C++11 compliance
 +
  Remove large binary files from repository.
 +
  New file naming convention. Allow files from different compiler coexists in the same folder.
 +
* Improvements in mobile
 +
  Deferred frame starts to support mobile platform.
 +
  Fully support platforms without float point texture.
 +
  Reduce memory consuming of rendering system.
 +
  More samples running on mobile platform.
 +
* Other improvements
 +
  Multiple bug fixed
  
 
'''4.4 (2013.12.24)'''
 
'''4.4 (2013.12.24)'''

Revision as of 04:54, 28 June 2014

This item is about KlayGE's history. All subprojects has its own item of history: glloader.

The main updates of each version of KlayGE are shown below:

4.5 (2013.06.28)

* New sub-project
 DXBC2GLSL. A library and tool finished by Shenghua Lin. It converts bytecode generated by D3D compiler to GLSL of OpenGL 2.0-4.4 and OpenGL ES 2.0-3.1.
* Improvements in engine
 Better normal representation in G-Buffer。
 Compute shader based TBDR. Extend the PS based light indexed deferred to compute shader based, which handles 1024 lights in a pass.
 Supports Occlus Rift’s input and stereoscopic display. Implemented by Ming Tu.
 Hierarchical scene object simplified scene management.
 A new distance-based font generation algorithm. Suggested by He Zhou. In current version, the converting speed is 4 times faster than before. Additional optimization will be done in the future.
 Supports D3D 11.2.
 Improved RenderEffect
   Remove pre-define macros in runtime. Use <macro> and <include> instead. Please see GBufferSkinning128.fxml.
   Speed up effect loading.
   Recursive include support.
   CBuffer in effect.
 Sensor input. Supports many types of sensors such as gyroscope, compass, accelerometer, GPS,  in Windows, WinRT and Android.
 In-engine profiler to help developers do the profiling in high level.
* Improvements in engineering
 Using the same CMake files for managing Windows, Linux, Android and WinRT projects.
 Supports compiling by Clang. But because of a bug in Clang’s importer and exporter, linking on Windows fails.
 C++11 compliance
 Remove large binary files from repository.
 New file naming convention. Allow files from different compiler coexists in the same folder.
* Improvements in mobile
 Deferred frame starts to support mobile platform.
 Fully support platforms without float point texture.
 Reduce memory consuming of rendering system.
 More samples running on mobile platform.
* Other improvements
 Multiple bug fixed

4.4 (2013.12.24)

Improved building system
 * Use MSBuild if possible
 * Build external libraries by cmake
 * Simplify build configuration by automatic search for OpenGLES SDK
OpenGL ES 3.0 support
Tile-based deferred rendering
OpenGL 4.4 support
Multi-resolution layer
High quality terrain (assisted by Wenquan Sun)
Screen space sub surface scattering and translucency (by Yulong Shi)
Post process resizer
Multithread updating and rendering (suggested by oz01)
Rework on ParticleSystem
Switch from VSM to ESM
Support frame buffer discard
Improved Juda texture
Output runtime log to a file (suggested by Yulong Shi)

4.3 (2013.6.27)

A new subproject KFL
Script engine (by Rui Wang, aka Array)
High quality detail effect
Improved Deferred Rendering
 * Improved shadow generation (by Yuan Li, aka Vanish)
 * Separate GI from deferred framework
 * Refactor (suggested by lcbiotech)
Large scale shadow
Built by official Android NDK r8
New input system, with touch input support
Non-block resource loading and managing (suggested by lcbiotech)
Enhanced stereo output (with Wenquan Sun's help)
Ability to embed into other GUI frameworks
Supports multiple OIT methods
Use C++11 to replace some boost sub-libraries

4.2 (2012.12.26)

A new subproject MeshML library
Experimentally support WinRT platform
Volumetric light (by Parsifal Wang)
Improved DoF with Bokeh filter
Decals rendering
JudaTex packing tool (by Honyeung Lau)
Toolset enhancement
Camera path (assisted by Yi Wang and Qin Hu)
Multi-viewport support
Vertex structure optimization
All directional SSR
Better compute shader support
Improved Juda texture
GPU Sort

4.1 (2012.6.29)

Switch to cmake
Independent KFont library for font read/write
Screen space reflection (by Parsifal Wang)
FFT lens effects
Stereo rendering without performance penalty (by Rui Wang)
Faster GI (by Shunbin Chen)
Collision detection utilities (assisted by Xiaoyang Zhu)
Better OpenGLES compatibility
Add Atmospheric scattering
Add SSGI
A JIT for effect system
Add new tools
Add tutorials
Enhanced 3DSMax exporter

4.0 (2011.12.25)

Deferred Rendering layer is integrated into Core
Global illumination speed-up much
Support Android (Assisted by Rui Wang)
Support real-time caustics (by Parsifal Wang)
Skinning by dual quaternion (by Honyeung Lau, Xiaoyang Zhu)
Add resource loading framework (Designed by Peng Guo)
Improved SSVO (by Ye Wu)
Skinning data compression
Use Phong Tessellation instead of PN-Triangles
Support render-to-texture-array
Support parallax occlusion mapping

3.12.0 (2011.6.30)

Support global illumination (by atyuwen)
Including third party libs and compiling script
Add Maya exporter (by Rui Wang, Xiaoyang Zhu, Honyeung Lau)
Support Dual Paraboloid Shadow Map (by Yachuan Zhang)
Add BC1-BC5 texture compression functions
Add cmake script (by Rui Wang)
Support filmic tonemapping
Support FXAA and Temporal AA (by Shunbin Chen and Peng Guo)

3.11.0 (2010.12.23)

Support OpenGL 4.1
Add Juda texture, a Tera-texel texture system
Enhanced stereo rendering, support 3D glasses
Remove D3D9 and D3D10 plug-in. The rendering task under WinXP is taken over by OpenGL plug-in
Support physically-based BRDF
SSAO speed-up for 10x
Enhanced Post Processor script
Imporved quality and speed of water rendering
Add a configuration tool


3.10.0 (2010.6.27)

Support OpenGL ES 2.0 and OpenGL 4.0
Stereo mode support
Support Compute Shader
Font rendering speed up for 50%
Enhanced Scene Manager
Enhanced Post processing
Support Sub-Surface Scattering
Support PN Triangles


3.9.0 (2009.12.19)

Add TrackballCameraController
Add Model Viewer and Particle Editor
Improve UI dialog
Load uiml, fxml and meshml directly
Cg shaders are compiled to GLSLs after loaded
Support Motion blur
Read/write support of DX10 DDS
Support stream output
Faster Deferred Shading
Add LZMA codec


3.8.0 (2009.3.1)

Support DX10, DX11 and OpenGL 3.0
Released as DLL
Add UIMI file format and compiler to describ UI
Add ElementAccessHint and ElementInitData
Support hardware depth texture
Support BC4/BC5 texture compression
Remove the normalized cubemap generator
Multi-threaded resource loading
Support procedural Texture


3.7.0 (2008.7.17)

Improve Clear
Add Depth Peeling sample
Accelerated Octree
Gimbal-lock free FirstPersonCameraController
New distance-based font format
Support Visual Studio 2008
Support lock-free atomic operation
Add CPUInfo
Add Summed-Area Table Postprocess
Experimental support of Linux
5%-10% performance increasement


3.6.0 (2007.7.30)

Compatible with Vista 32/64
Use pbo to accelerate texture filling
Use 7z as packaging format
Enhanced 3DS Max plug-in
Add Clone function to RenderEffect
Remove RenderTarget and RenderWindow
Remove Triangle fan primitive topologic
Add UI system
Add Depth of field sample
Remove support of Wav format
New thread and thread_pool classes


3.5.0 (2007.3.9)

Support Alpha to coverage
New xml-based effect format
New effect system, support caching all states
Add RenderStateObject and ShaderObject
Support x64 systems
OpenGL plug-in can detect Shader Model 4
Add GPU-based particle system
Add aligned_allocator
Fix thread_pool's deadlock bug (thanks Roy for reporting this bug)
Support NVPerfHUD
Add signed element format
Remove VS2003 project files


3.4.0 (2006.9.22)

Export plug-in support for exporting skeletal
Support normal map compression
Support HDR texture compression
Add particle system
Rewrite the show engine, now video are played through the graphics engine
Rewrite height map terrain generator
Add HDRPostProcess


3.3.0 (2006.6.30)

Support render to 3D posotion in Font
Unified states set in rendering engine
OpenGL plug-in requires hardware support of OpenGL 2.0 and FBO
Add FrameBuffer and RenderView
Use Technique as the rendering unit
Support render to a slice of a 3D texture
Add several texture formats
Unify the usage of element format
DistanceMap generator processes volume data directly
Add PostProcess


3.2.0 (2006.5.15)

Add high-precision timer
Full support of skeletal animation
Refactor the rendering part's structure
Merge IndexStream and VertexStream to GraphicsBuffer
Add RenderLayout
Support sRGB texture
Support ATI's instancing
Add platform-independent thread pool


3.1.0 (2005.11.27)

Add SceneObject
Simplify the usage of instancing
Support Visual Studio 2005
Separate the instance and geometry streams


3.0.0 (2005.10.26)

Remove the fixed pipeline
Add Occlusion Query
Add Point sprite
Support Instancing
Support Vertex Texture
Enhance KMesh and 3dsmax exportplug-in
Optimized RenderEffect
InputEngine to use Event to handle message
Support multi-pass rendering of the whole scene
Support vertex streams' merge and split
Add RenderablePlane


2.8.0 (2005.8.14)

Add RenderDeviceCaps
Add OpenGL compatibility testing tool
Add Sampler
Rewrite RenderEffect
Support OpenGL 1.5 and above only
Simpify RenderEngine
DInputDevice uses multiple inheritance
Add RenderToVertexStream


2.7.1 (2005.7.15)

Improve the font display
LoadKMesh can use a custom factory class
Add RenderableHelper base class
Modify RenderEngine::ViewMatrix and ProjectionMatrix to const


2.7.0 (2005.7.2)

Released by GPL license
Add KMesh
Remove RenderEngine::TextureCoordSet
Move AddressingMode, Filtering and Anisotropy from RenderEngine to Texture
Add MaxMipLevel and MipMapLodBias to Texture
Add Quit to App3D
Support OpenGL 1.5


2.6.0 (2005.6.2)

Fix bug in SceneManager::CanBeCulled
Add half type
Add the support of surface to D3D9Texture
Add RenderableSkyBox
Support HDR


2.5.0 (2005.5.2)

Add 3DSMax export plug-in
Multiple input action table support
Function in MathLib return the results directly
Improve CameraController
Add RenderableHelper
View frustum uses LUT


2.4.0 (2005.3.28)

Support texture compression
Add D3D9Resource
Loading/Saving as DDS format
Linear octree support
Support depth texture


2.3.0 (2005.3.2)

Use FreeType in Font
Fix several memory leaks
Support floating point textures
Add CopyToMemory
Add view frustum culling plug-in
Add OnLostDevice and OnResetDevice to D3D9 plug-in


2.2.0 (2004.11.20)

Fix the volume bug in DSound plug-in
Remove ManagerBase, FileSystem, Crc32, alloc, Timer and Random
Upgrade to boost 1.32.0
Add Trace class


2.1.3 (2004.10.19)

ScriptEngine::Call uses boost::tuple as its parameter
Fix some problems about using STL
Fix CRC errors in Pkt
Remove MemoryLib


2.1.2 (2004.9.5)

Add BoneMesh
Add RenderEffectParameter
Support DX 9.0c SDK
Fix bug in DiskFile::Seek
Replace const T& to T const &
InputEngine uses Bridge pattern


2.1.1 (2004.5.25)

Use boost frequently
Reimplement MathLib by generic
Add Parallax demo
Add ResLocator


2.1.0 (2004.4.20)

Enhance OpenGL plug-in
Remove asm code
Directly support standalone shader
Simplify the packaged file directory table


2.0.5 (2004.4.13)

Enhance OpenGL plug-in
Fix bug in WindowMovedOrResized
Reimplement MemFile by stringstream
Improve the security of code


2.0.4 (2004.4.7)

Fix loop bug in OALMusicBuffer
DSMusicBuffer use timeSetEvent
Improve VertexBuffer
Audio part adds NullObject
Add some Demos


2.0.3 (2004.3.12)

Simplify VertexBuffer
Remove software vertex blend


2.0.2 (2003.12.28)

Improve render queue
Use Python as scripting language
DiskFile implements by standard C++ stream


2.0.1 (2003.10.17)

Remove DX8 plug-in
Add some tools


2.0.0 (2003.10.1)

First release


2.0.0 Beta (2003.9.5)

First beta release