Difference between revisions of "History"

From KlayGE
Jump to: navigation, search
m
 
(12 intermediate revisions by one user not shown)
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.10 (2016.12.24)'''
 +
 +
See http://www.klayge.org/?p=3514
 +
 +
'''4.9 (2016.6.28)'''
 +
 +
See http://www.klayge.org/?p=3472
 +
 +
 +
'''4.8 (2015.12.28)'''
 +
* Improvements in engine
 +
  D3D12 plugin。
 +
  Async resource creation for simplifying the code of resource loading.
 +
  Adds a sync primitive between CPU and GPU.
 +
  Supports texture array in OpenGL and OpenGLES plugins.
 +
  Faster reflection rendering.
 +
  SIMD math library. Extends the math library into a SIMD implementation. (Done by Zhichao Liu and Chengdan Ni)
 +
  Refactor the workflow of shader compiling. (Assisted by Kanglai Qian)
 +
  Adds a sample for using audio engine.
 +
* Improvements in engineering
 +
  Keep improving engineering system.
 +
  Adapt to C++11.
 +
  Remove supporting of some old compilers.
 +
  Improve the performance on OSX. (Done by Kanglai Qian)
 +
* Improvements in mobile
 +
  Reduce memory consumption.
 +
  UWP supports, works on Win10 and Win10 mobile.
 +
  Supports the latest GLES 3.2.
 +
  Enables sRGB on GLES plugin for better image quality.
 +
  Supports Android 5.1. (Done by Kanglai Qian)
 +
* Other improvements
 +
  Multiple bug fixed and performance tuning.
 +
 +
'''4.7 (2015.06.30)'''
 +
* Improvements in engine
 +
  MacOSX as a full dev platform. In last version, compiling shaders still need to be done on Windows. Now it’s not necessary anymore. (Done by Kanglai Qian)
 +
  Transient Buffer. Efficient GPU buffer management for speeding up UI and text rendering. (Done by Shenghua Lin)
 +
  Hardware detection. In-engine hardware detection component. Retrieving information such as model and frequencies of main board and memory. (Done by Boxiang Pei)
 +
  Automatic testing framework. A simple framework for testing some components.
 +
  High speed BC7 compressor.
 +
  Integrate SSSSS into deferred framework.
 +
  Tesellation shader in OpenGL.
 +
* Improvements in engineering
 +
  Migrated to git.
 +
  Improves the management 3rd party libraries and resource files.
 +
  VC14 support.
 +
  Remove the support of old platforms.
 +
* Improvements in mobile
 +
  Port to iOS. It’s able to run on some iOS devices. (Done by Kanglai Qian)
 +
  Fine tune on D3D11 feature level 9.3.
 +
  Supports OpenGLES 3.0 on ANGLE. (Assisted by Pengcheng Dong)
 +
* Other improvements
 +
  Multiple bug fixed
 +
 +
'''4.6 (2014.12.24)'''
 +
* Improvements in engine
 +
  Modernized OpenGL, assisted by Honyeung Lau. Adding OpenGL 3.x features such as uniform buffer, debug output, etc. OpenGLES plugin are also enhanced.
 +
    Improved DXBC2GLSL. Shenghua Lin further improved the DXBC2GLSL, adding HS/DS/CS supports.
 +
    Supports the latest OpenGL 4.5.
 +
    Improved OpenGL compatibilities on AMD and Intel cards.
 +
  Area lighting supports. Adding sphere and tube shape area light. (assisted by Kang Liu)
 +
  More Android input devices, including keyboard, mouse, joy stick and more sensors.
 +
  Environment lighting. Supports physically-based environment lighting.
 +
  Full app life cycle. Supports suspend and resume on mobile platforms.
 +
  Advanced texture compression library. Supports decompression of BC1-7 and ETC1/2, fast and high quality compression of BC1-5 and ETC1.
 +
  Model viewer and material editor. (assisted by Shenghua Lin, introduces C# WPF UI for the first time)
 +
  Experimentally supports OSX. (Done by Kanglai Qian. Porting to a new platform by a team member for the first time. Land on an Apple’s platform for the first time)
 +
* Improvements in engineering
 +
  CMake-ified Boost, easier to build.
 +
  Introducing C# for UI, cross-calling with C++ core.
 +
  Take x64 as the default build for the first time. If you need x86 binaries, please build it yourself.
 +
  Not building with xp toolset for the first time. If you need running on WinXP, please build it yourself.
 +
* Improvements in mobile
 +
  Supports Windows Phone.
 +
  Supports WinRT ARM.
 +
  Supports 64-bit Android. (For the first time supports an unreleased platform)
 +
  Customized stream buffer, improving package file reading on Android.
 +
* Other improvements
 +
  Multiple bug fixed
 +
 +
'''4.5 (2014.06.28)'''
 +
* New sub-project
 +
  DXBC2GLSL. A library and tool finished by Shenghua Lin.
 +
* Improvements in engine
 +
  Better normal representation in G-Buffer.
 +
  Compute shader based TBDR.
 +
  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.
 +
  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 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)'''
 
'''4.3 (2013.6.27)'''

Latest revision as of 03:13, 25 December 2016

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.10 (2016.12.24)

See http://www.klayge.org/?p=3514

4.9 (2016.6.28)

See http://www.klayge.org/?p=3472


4.8 (2015.12.28)

* Improvements in engine
 D3D12 plugin。
 Async resource creation for simplifying the code of resource loading.
 Adds a sync primitive between CPU and GPU.
 Supports texture array in OpenGL and OpenGLES plugins.
 Faster reflection rendering.
 SIMD math library. Extends the math library into a SIMD implementation. (Done by Zhichao Liu and Chengdan Ni)
 Refactor the workflow of shader compiling. (Assisted by Kanglai Qian)
 Adds a sample for using audio engine.
* Improvements in engineering
 Keep improving engineering system.
 Adapt to C++11.
 Remove supporting of some old compilers.
 Improve the performance on OSX. (Done by Kanglai Qian)
* Improvements in mobile
 Reduce memory consumption.
 UWP supports, works on Win10 and Win10 mobile.
 Supports the latest GLES 3.2.
 Enables sRGB on GLES plugin for better image quality.
 Supports Android 5.1. (Done by Kanglai Qian)
* Other improvements
 Multiple bug fixed and performance tuning.

4.7 (2015.06.30)

* Improvements in engine
 MacOSX as a full dev platform. In last version, compiling shaders still need to be done on Windows. Now it’s not necessary anymore. (Done by Kanglai Qian)
 Transient Buffer. Efficient GPU buffer management for speeding up UI and text rendering. (Done by Shenghua Lin)
 Hardware detection. In-engine hardware detection component. Retrieving information such as model and frequencies of main board and memory. (Done by Boxiang Pei)
 Automatic testing framework. A simple framework for testing some components.
 High speed BC7 compressor.
 Integrate SSSSS into deferred framework.
 Tesellation shader in OpenGL.
* Improvements in engineering
 Migrated to git.
 Improves the management 3rd party libraries and resource files.
 VC14 support.
 Remove the support of old platforms.
* Improvements in mobile
 Port to iOS. It’s able to run on some iOS devices. (Done by Kanglai Qian)
 Fine tune on D3D11 feature level 9.3.
 Supports OpenGLES 3.0 on ANGLE. (Assisted by Pengcheng Dong)
* Other improvements
 Multiple bug fixed

4.6 (2014.12.24)

* Improvements in engine
 Modernized OpenGL, assisted by Honyeung Lau. Adding OpenGL 3.x features such as uniform buffer, debug output, etc. OpenGLES plugin are also enhanced.
   Improved DXBC2GLSL. Shenghua Lin further improved the DXBC2GLSL, adding HS/DS/CS supports.
   Supports the latest OpenGL 4.5.
   Improved OpenGL compatibilities on AMD and Intel cards.
 Area lighting supports. Adding sphere and tube shape area light. (assisted by Kang Liu)
 More Android input devices, including keyboard, mouse, joy stick and more sensors.
 Environment lighting. Supports physically-based environment lighting.
 Full app life cycle. Supports suspend and resume on mobile platforms.
 Advanced texture compression library. Supports decompression of BC1-7 and ETC1/2, fast and high quality compression of BC1-5 and ETC1.
 Model viewer and material editor. (assisted by Shenghua Lin, introduces C# WPF UI for the first time)
 Experimentally supports OSX. (Done by Kanglai Qian. Porting to a new platform by a team member for the first time. Land on an Apple’s platform for the first time)
* Improvements in engineering
 CMake-ified Boost, easier to build.
 Introducing C# for UI, cross-calling with C++ core.
 Take x64 as the default build for the first time. If you need x86 binaries, please build it yourself.
 Not building with xp toolset for the first time. If you need running on WinXP, please build it yourself.
* Improvements in mobile
 Supports Windows Phone.
 Supports WinRT ARM.
 Supports 64-bit Android. (For the first time supports an unreleased platform)
 Customized stream buffer, improving package file reading on Android.
* Other improvements
 Multiple bug fixed

4.5 (2014.06.28)

* New sub-project
 DXBC2GLSL. A library and tool finished by Shenghua Lin.
* Improvements in engine
 Better normal representation in G-Buffer.
 Compute shader based TBDR.
 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.
 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 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