Releases: gecko0307/dagon
Releases · gecko0307/dagon
Dagon 0.7.0
IMPORTANT: this release doesn't work with Dub due to erroneous package description file. If you use Dub to manage dependencies, please, add Dagon source code to your project manually (and specify its dependencies from
dub.json
as well) or wait for 0.8.0. Sorry for the inconvenience.
- Rendering
- The engine now uses HDR rendering with auto-exposure (eye adaptation). Available tone mapping operators are Reinhard, Hable (Uncharted 2) and ACES
- Default rendering path now outputs minimal G-Buffer consisting of eye-space position buffer, normal buffer and luminance buffer for faster average luminance calculation
- Equirectangular HDRI environment maps support
- Improved CSM shadows. Cascades now more efficiently fit the frustum, resulting in significantly better shadows quality near the camera. Also shadow coordinates now can be height-corrected when using with parallax mapping, which gives more accurate shadow look on corners. Shadow brightness and color can now be adjusted
- Materials
- Legacy material backends (
BlinnPhongBackend
andBlinnPhongClusteredBackend
) have been removed.StandardBackend
(formerPBRClusteredBackend
) should be used instead (which is already used by default) - Cook-Torrance BRDF is now used in standard shader instead of Blinn-Phong (both for sun light and point/area lights)
- Texture support for
roughness
andmetallic
material properties energy
property forGenericMaterial
which controls emission brightness- Improved standard shader performance, especially on low-end systems
- Legacy material backends (
- Post-processing
- New post-processing filters: camera motion blur, HDR glow, LUT color grading, improved lens distortion. Post-processing stack is now a part of
BaseScene3D
. Many filters are built-in, so you only have to enable them (they can be enabled/disabled individually). Read more on filters setup here.
- New post-processing filters: camera motion blur, HDR glow, LUT color grading, improved lens distortion. Post-processing stack is now a part of
- Assets & logics
- New built-in primitive shape - UV sphere
- Improved procedural sky. Sky dome geometry is now generated by the engine, and sky shader uses HDR. Default sky/environment colors are also changed
- Layer system. Entities, both 2D and 3D, now have a
layer
property that is used to sort them for rendering. Larger layers are rendered last. All normal entities are created on layer 1 by default FirstPersonCamera
now calculates and stores 'weapon' matrix - a matrix that can be used to transform weapons and other handheld items in order to align them to camera- Driving wheels support
- Misc
- Dagon now uses dlib 0.13.0
- Tutorials were added to project's wiki.
Dagon 0.6.0
- Experimental support for PBR materials (
dagon.graphics.materials.pbrclustered
). PBR material backend works in linear space and outputs tonemapped value using Hable function. Current limitations are constant-basedmetallic
androughness
parameters (no texture support for them) and no custom environment maps support (sky parameters are used for procedural environment map). Eventually these features will be implemented. - HDR textures.
energy
parameter for light sources.- Transparency support for
ShadelessBackend
. BaseScene3D
now provides all entities with default material.- Dynamic scaling for particles.
- Better default colors for
Sky
. - Improved shadows.
- Different attachement logic for entities - parent/child relation, camera-invariant, screen-invariant.
- Joystick support has been added to
EventManager
. Games that use joystick must be shipped withgamecontrollerdb.txt
file to automatically configure button mappings (otherwise mapping will be unpredictable).
Dagon 0.5.0
- Dagon now uses OpenGL 3.3.
- Light clustering engine now uses dynamic domain that is centered around the camera.
- Area light support.
BlinnPhongClusteredBackend
is now used as default material backend inBaseScene3D
.- Shadows are now integral part of
BaseScene3D
.
Dagon 0.4.0
This is the last release of Dagon for legacy OpenGL. All future development will be based on gl33 branch.
- Dagon now uses OpenGL 2.1.
- Shadows now internally use CSM via texture array. Simple shadow maps are not supported.
- Parallax mapping in
ClusteredBlinnPhongBackend
is now turned off when no height data provided to material. - Added an ability to turn off sky colors.
Dagon 0.3.0
- Clustered forward shading (
dagon.graphics.clustered
) - a technique that allows to have hundreds of dynamics lights without significant performanse loss. - New material backend -
BlinnPhongClusteredBackend
, which supports clustered shading and implements normal/parallax mapping.NonPBRBackend
is renamed toBlinnPhongBackend
. - Improved environment handling. New sky material backend (
SkyBackend
) that implements dynamic procedural skydome with day/night cycle. - Post-processing framework. Two post-processing filters are available at the moment - FXAA and lens distortion.
Dagon 0.2.0
dagon.graphics.particles
- a particle system with force fields support. Currently supported force fields areAttractor
,Deflector
,Vortex
,BlackHole
andColorChanger
. Particle emitter itself works as aBehaviour
and should be attached toEntity
.dagon.graphics.shadow
- initial shadow map support with experimental GLSL-basedNonPBRBackend
forGenericMaterial
.- Breaking change:
Drawable
now definesvoid render(RenderingContext* rc)
instead ofvoid render()
. - Breaking change: simplified API for
GenericMaterialBackend
. - Parallel lights support in
dagon.graphics.light
.
Dagon 0.1.1
- 64-bit fix under Windows.
Dagon 0.1.0
- Excluded dmech from core Dagon, it is now part of demo application
- Use dlib 0.11.1
FirstPersonView
now utilizes SDL's relative mouse mode and can be activated/deactivated- Fixed lots of bugs, including asset management bug with reloading scenes.
Dagon 0.0.3
- Removed libraries from main repository, they now should be downloaded separately from here.
- Demos are now hosted as a separate project
- Material system
- OBJ format support
- Font and text support
- Box container support
- BaseScene3D
- Added unittests for Entity
- A lot of small changes and bugfixes.
Dagon 0.0.2
Unstable initial release for adding Dagon to dub package registry.