Skip to content

Releases: gecko0307/dagon

Dagon 0.17.1

17 Jul 16:58
Compare
Choose a tag to compare
  • Assets
    • Fix mipmap setup in Texture.createTexture3D
  • Extensions
    • Actors in dagon:iqm now support single frame playback.

Dagon 0.17.0

12 Jun 17:19
Compare
Choose a tag to compare
  • Core
    • New methods Application.setWindowSize, Application.setFullscreen, Application.centerWindow
    • Arbitrary cadencer frequency support (Cadencer.setFrequency). Now you can adapt application update frequency to display refresh rate using Application.frequencyToRefreshRate
  • Game
    • Basic scene management in Game class: Game.scenes and Game.setCurrentScene that can be used to set current scene by name
  • Rendering
    • Wayland support under Linux
    • Material opacity support in HUD shader
  • Assets
    • Fixed a bug with incomplete GLTF scene deletion
  • Extensions
    • Fix jumping for character controller in dagon:newton
  • Misc
    • Dagon and extensions now use bindbc-loader 1.1, bindbc-opengl 1.1, bindbc-sdl 1.4, bindbc-freetype 1.2, bindbc-newton 0.3.

Dagon 0.16.0

25 Feb 16:32
Compare
Choose a tag to compare
  • Core
    • New method Application.takeScreenshot
  • Rendering
    • Approximated subsurface scattering support
    • Environment light probes support
    • AgX tonemapping support: Tonemapper.AgX_Base and Tonemapper.AgX_Punchy
    • For background objects such as a skybox it is now necessary to manually disable G-buffer writes: skyEntity.gbufferMask = 0.0f;
  • Assets
    • EntityManager is now World
    • EntityGroup* accessor classes moved to dagon.graphics.world
    • New material property, subsurfaceScattering
  • Post-processing
    • Fix sampler conflict in LUT shader
  • Extensions
    • dagon:imgui extension now uses bindbc-imgui 0.7.0
    • dagon:newton and dagon:imgui extensions now include prebuilt libraries for Linux
    • Extensions now don't provide x86 libraries.
  • Misc
    • Dagon now uses dlib 1.3.0.

Dagon 0.15.0

30 Aug 21:10
Compare
Choose a tag to compare
  • Core
    • Relative mouse mode support (EventManager.setRelativeMouseMode)
    • dagon.core.locale: fix deprecations in Windows locale API signatures
  • Assets
    • 1D and 3D textures support
    • Embedded images support in glTF loader
    • dagon.graphics.texture: New methods Texture.setFaceImage, Texture.setFaceBit, new function cubeFaceBit
    • dagon.graphics.cubemap module is deprecated, use dagon.graphics.texture instead
    • Deprecated material properties have been removed
  • Post-processing
    • Hald CLUT support in LUT shader + Texture.createFromImage3D method. When you use a 3D texture as a lookup table, the shader will automatically switch to the Hald mode
    • Manual mode parameters for DoF filter: dofManual, dofNearStart, dofNearDistance, dofFarStart, dofFarDistance
  • UI
    • FirstPersonViewComponent uses relative mode by default, and it can be switched with useRelativeMouseMode property
  • Extensions
    • Updated Newton binding
    • NewtonUserJointSetRowSpringDamperAcceleration was removed in favor of NewtonUserJointSetRowMassDependentSpringDamperAcceleration and NewtonUserJointSetRowMassIndependentSpringDamperAcceleration
    • New method NewtonRigidBody.localPointVelocity
  • Misc
    • Dagon now uses dlib 1.2.1.

Dagon 0.14.1

09 Sep 14:32
Compare
Choose a tag to compare
  • Update init-exec template code

Dagon 0.14.0

27 Aug 09:01
Compare
Choose a tag to compare
  • Core
    • Custom event dispatcher (EventManager.onProcessEvent) that provides access to raw SDL events
  • Rendering
    • dagon.render.deferred package is now dagon.render.passes
    • Unreal and Reinhard2 tonemapping operators (Tonemapper.Unreal and Tonemapper.Reinhard2, respectively)
  • Assets
    • Material now provides a new set of explicit properties for direct compatibility with glTF (texture properties always take precedence over factor properties):
      • diffuse is now baseColorTexture and baseColorFactor
      • roughnessMetallic is now roughnessMetallicTexture
      • roughness is now roughnessFactor
      • metallic is now metallicFactor
      • emission is now emissionTexture and emissionFactor
      • energy is now emissionEnergy
      • normal is now normalTexture and normalFactor
      • height is now heightTexture and heightFactor
      • transparency is now opacity
      • clipThreshold is now alphaTestThreshold
      • blending is now blendMode
      • parallax is now parallaxMode
      • shadowsEnabled is now useShadows
      • fogEnabled is now useFog
      • culling is now useCulling
    • Old material properties are still supported, but deprecated and write-only. Material.roughness and Material.metallic now don't support textures
    • Texture system redesign. Texture class now can be created from raw pixel data without intermediate SuperImage, hense DDS textures are now loaded directly to Texture object without additional layers of abstraction. Also Texture now supports cubemaps in addition to 2D textures
    • Added support for ASTC texture compression format
    • New module dagon.graphics.texproc with combineTextures function
    • alphaMode support for glTF materials
  • Game
    • New methods: Game.resize, Game.frameTexture
  • Extensions
    • Experimental Dear ImGui extension, dagon.ext.imgui. It is based on bindbc-imgui binding. It will not replace Nuklear, both toolkits will coexist in future
    • New constraint NewtonUserJointConstraint in Newton extension
    • Fix raycast in Newton extension
    • libnewton.so and libnuklear.so are now loaded from /usr/local/lib under Posix
    • Fix CMake configuraiton for installing Nuklear in /usr/local/lib under Posix.

Dagon 0.13.0

02 Mar 07:40
Compare
Choose a tag to compare
  • Core
    • State for joystick buttons in EventManager (joystickButtonPressed, joystickButtonUp, joystickButtonDown)
  • Rendering
    • Fixed state validation failure on AMD (different sampler types for same sample texture unit). Cubemap and equirectangular environment map now use different texture units
  • Assets
    • Images are now loaded using callback mechanism in AssetManager. You can register your own loader function with AssetManager.registerImageLoader method
    • Dagon now uses dlib.image to load images by default. stb_image is available through dagon:stbi extension. Import dagon.ext.stbi module and register the loader with stbiRegister function in your scene constructor:
      stbiRegister(assetManager);
      
    • OBJ loader now supports quads
    • emissiveFactor support for glTF materials
    • Entity.setRotation
  • Post-processing
    • Motion blur shader now supports static radial blur - enable it with PostProcRenderer.radialBlurAmount. Fixed Entity.blurMask for objects rendered via forward pipeline. Mask is now used to smoothly decrease motion blur in a processed fragment, which allows to fully avoid undesirable blur leaks inside entities with blurMask property set to 0
    • New properties to control lens distortion effect: PostProcRenderer.lensDistortionDispersion, PostProcRenderer.lensDistortionScale
  • Extensions
    • dagon.ext.physics was removed in favour of dagon.ext.newton
    • NewtonRigidBody.addForceAtPos now works correctly. Added NewtonRigidBody.centerOfMass
    • NewtonConvexHullShape is now created from TriangleSet instead of Mesh
    • Fixed compilation of dagon.ext.iqm. Added Actor.blendSpeed property. Switching Actor animation to the same frame range as the current one now doesn't cause loop reset
  • Debugging tools
    • Shader programs are now validated against current OpenGL state in debug mode. Invalid shader causes application exit
    • Debug output messages are now more informative, they include textual definitions of message source, type and severity instead of numeric constants. Issues with high severity cause application exit.
  • Misc
    • Dagon now uses dlib 1.0.0.

Dagon 0.12.1

29 Oct 10:00
Compare
Choose a tag to compare
  • Fixed a bug with wrong rendering in SkyShader.

Dagon 0.12.0-beta2

11 Oct 06:34
Compare
Choose a tag to compare

Changes since 0.12.0-beta1:

  • Rendering
    • Background color is now used correctly
    • Any entity can use terrain shader
    • Entity.gbufferMask to store the value that should be written to alpha channel of color buffer in G-buffer
    • Support light.diffuse, light.specular in sun light shader
  • Newton extension
    • FirstPersonViewComponent.baseOrientation
    • NewtonRigidBody.addImpulse
    • NewtonRigidBody.createUpVectorConstraint now returns NewtonJoint pointer.
  • Misc
    • Dagon now uses dlib 0.23.0.

Dagon 0.12.0

26 Oct 10:29
Compare
Choose a tag to compare

No changes since 0.12.0-beta2.