Skip to content

Releases: gecko0307/dagon

Dagon 0.12.0

26 Oct 10:29
Compare
Choose a tag to compare

No changes since 0.12.0-beta2.

Dagon 0.12.0-beta1

13 Sep 08:17
Compare
Choose a tag to compare
  • Rendering
    • Light.diffuse and Light.specular parameters that control brightness of diffuse and specular portions of a light
    • New parameters for particle system objects: ForceField.active, BlackHole.threshold
    • Ability to limit camera pitch angle inFirstPersonViewComponent (pitchLimitMax and pitchLimitMin parameters)
    • Fixed a bug in Sky shader that didn't write proper data to albedo buffer
    • Fixed a bug in HUD shader with invalid va_Texcoord uniform location
    • Fixed "black dots" bug with area lights
  • Assets
    • Initial glTF format support (without animation)
    • DDS cubemaps support, in 32 and 16-bit RGBA floating-point formats and with pre-baked mipmaps
    • Decoding of generic image formats such as PNG and JPEG now relies on stb_image, resulting in substantial loading speedup for large images. Also PSD and GIF formats are now supported
    • Material now supports roughnessMetallic parameter to pass combined PBR texture. Following glTF convention, G channel stores roughness and B stores metallic
    • Cubemaps now can be created from any image (equirectangular HDR or DDS with mipmaps) using fromImage method
    • Built-in disk shape (dagon.graphics.shapes.ShapeDisk)
  • Post-processing
    • Depth of Field effect (dagon.postproc.shader.dof)
    • DeferredRenderer.occlusionBufferDetail parameter that controls resolution coefficient of SSAO buffer
  • Extensions
    • dagon:newton extension that integrates Newton Dynamics real-time physics engine. Newton provides better performance and stability compared to dmech, as well as new features such as convex hulls for dynamic bodies and heightmap collision shapes for terrains
  • Misc
    • Dagon now uses SDL 2.0.14, dlib 0.22.0, bindbc-loader 1.0.0, bindbc-sdl 1.0.0, bindbc-opengl 1.0.0
    • Dagon now recognizes a configuration file (settings.conf) in project folder. Configuration overrides some of the hardcoded application settings, such as window width and height, fullscreen and window title
    • Under Windows now it is possible to hide console window by specifying hideConsole: 1; in settings.conf.

Dagon 0.11.0

20 Oct 21:24
Compare
Choose a tag to compare

Changes since 0.11.0-beta2:

  • Misc
    • Dagon now uses dlib 0.20.0.

Dagon 0.10.4

11 Oct 17:33
Compare
Choose a tag to compare
  • Use dlib 0.19.2.

Dagon 0.11.0-beta2

10 Oct 12:33
Compare
Choose a tag to compare

Changes since 0.11.0-beta1:

  • Rendering
    • Filmic tonemapper support
    • Emission texture is now sampled correctly, with gamma to linear conversion
  • Misc
    • Dagon now uses dlib 0.20.0-beta1.

Dagon 0.11.0-beta1

07 Oct 12:27
Compare
Choose a tag to compare

Important: This release features major redesign of almost every component in the engine and breaks compatibility with old code.

Changes:

  • Overall
    • Source tree structure was changed to reduce coupling. Now all modules strictly depend only on modules in the same or lower-level package. See #54 for details. dagon.logics is gone, its modules were moved to dagon.graphics
    • New extension infrastructure based on DUB subpackages to keep core Dagon more lightweight and easier to install. Currently there are four extensions - Nuklear integration, Freetype font loader, IQM model loader, and a physics engine, which are no more available from dagon package. You should explicitly add them to your DUB dependencies as dagon:nuklear, dagon:ftfont, dagon:iqm, dagon:physics. They are importable as dagon.ext.nuklear, dagon.ext.ftfont, dagon.ext.iqm, dagon.ext.physics. To create font assets, use addFontAsset which is now a free function, not a scene method. The same is for IQM assets (addIQMAsset)
    • Added new package dagon.game - a template application with typical game-oriented rendering setup and a fixed-step update timer
  • Core
    • New module dagon.core.time which contains Time helper structure and Cadencer class
  • Rendering
    • Renderer was entirely rewritten from scratch based on a new concept of pipelines (see dagon.render package). A pipeline is a sequence of draw call groups - passes. Each pass traverses a subset of scene objects and renders them to a given buffer using a given shader. For example, a deferred pipeline contains geometry pass that fills G-buffer, environment pass and lighting pass
    • Volumetric scattering (aka 'God rays') for sun light
    • Improved PBR - new roughness to lod mapping for environment maps, better looking metals and shiny dielectrics
    • Multiple optimizations across the renderer, including less shader switches and data copying, timer fixes, etc. 25-30% performance boost on some systems
    • Render viewports can now be resized in runtime
    • Standard shaders moved to dagon.render.shaders
    • Discrete LOD drawables (dagon.graphics.lod). They render different user-specified drawables based on distance from the camera
    • Now there's no Scene.mainSun - fallback light source should be set for each transparent material using Material.sun property
  • Materials
    • specularity property for materials. It specifies a luminance coefficient for the specular radiance component. It doesn't have a physical meaning, but is useful for material tweaking, for example to eliminate burnt highlights.
    • Improved water shader, animated waves support
  • Assets
    • DDS format support for textures. Supported compression types are S3TC (DXT1/BC1, DXT3/BC2, DXT5/BC3), RGTC (BC4, BC5), BPTC (BC6H, BC7)
  • Environment
    • Environment object was simplified. Now there's no default environment map, only environment.ambientColor and environment.ambientMap.
  • Post-processing
    • Post-processing engine was also reimplemented and now exists as a separate render pipeline. See dagon.postproc and dagon.game.postprocrenderer
    • Denoise filter for SSAO. A lot less samples are now needed to achieve smooth ambient occlusion. Also SSAO is now rendered into a separate buffer, so that its resolution can be lowered for better performance, and occlusion data can be used at several stages of the pipeline
  • UI
    • File drag-and-drop event
  • Misc

Dagon 0.11.0-alpha3

07 Oct 12:16
Compare
Choose a tag to compare
  • IQM and animated models extension
  • Project initialization for Dub: dub init --type=dagon.

Dagon 0.11.0-alpha2

30 Sep 10:23
Compare
Choose a tag to compare
Dagon 0.11.0-alpha2 Pre-release
Pre-release
  • Colorspace fix in decal shader
  • LoadingScreen now uses Application instead of Game

Dagon 0.11.0-alpha1

20 Jul 17:46
Compare
Choose a tag to compare
Dagon 0.11.0-alpha1 Pre-release
Pre-release

Preview release of 0.11 branch. See CHANGELOG.md for details.

Dagon 0.10.3

05 May 21:32
Compare
Choose a tag to compare
  • Fixed ShapeQuad and HUDShader
  • #66