Skip to content

Releases: gecko0307/dagon

Dagon 1.0.2

03 Jun 19:18

Choose a tag to compare

  • Assets
    • Scene.onPauseUpdate
  • Render
    • Support UV transformation in HUD shader.

Dagon 1.0.1

02 Jun 13:43

Choose a tag to compare

  • Assets
    • baseColorFactor from glTF is now converted to gamma space for storage
  • Graphics components
    • Fix some error messages for the Shader class.

Dagon 1.0.0

24 Apr 09:52

Choose a tag to compare

  • Graphics components
    • Light.angularRadius to simulate directional light disk.

Dagon 1.0.0-beta3

21 Apr 20:40

Choose a tag to compare

  • Core
    • New event type CustomResize
    • Event manager now handles SDL_WINDOWEVENT_CLOSE
    • Application.isWindowMinimized
  • Assets
    • New animation playback mode for GLTFBlendedPose: PlayMode.OnceAndStop
    • New property GLTFBlendedPose.timeScale
  • Render
    • SkyShader now supports alpha clipping for environment textures
    • Fix fog for area lights
  • Graphics components
    • Particle system improvements:
      • New properties Emitter.fadeInDuration, Emitter.gravity
      • Emitter.initialPositionRandomRadius is now Emitter.initialPositionRandomRadii vector
  • UI
    • New property FirstPersonViewComponent.roll
  • Extra
    • New StarfieldSkyShader properties: sunEnergy, spaceColorZenith, spaceColorHorizon.
  • Extensions
    • dagon:audio:
      • AudioManager.streamMusic overload that creates a new WavStream
    • dagon:jolt:
      • JoltCharacterController.headMargin is now zero by default.

Dagon 1.0.0-beta2

11 Apr 18:31

Choose a tag to compare

  • Extensions
    • dagon:jolt:
      • New method JoltPhysicsWorld.shapeCast
      • Improved crouching logic in JoltCharacterController (now uses convex cast instead of ray cast to detect ceiling height above the head)
      • New method JoltCharacterController.onGround
    • dagon:nuklear:
      • Fix regression bug.

Dagon 1.0.0-beta1

10 Apr 18:55

Choose a tag to compare

  • Graphics components
    • Better default CSM projection sizes for quality shadows at close distances
  • Rendering
    • Fix BRDF LUT sampling
  • Extensions
    • dagon:jolt:
      • New constraints: JoltSliderConstraint, JoltConeConstraint
      • Constraint settings are now passed via JoltConstraintSettings structure
      • JoltCharacterController now supports crouching.

Dagon 0.42.0

17 Mar 18:13

Choose a tag to compare

  • Core
    • New method Application.isWindowFocused
  • Assets
    • GLTFScene and GLTFNode now implement TriangleSet interface
  • Open World
    • New package dagon.openworld, basic functionality for chunk-based culling and world streaming which allows to build open world games
  • Extensions
    • dagon:jolt:
      • New method JoltRigidBody.setShape
    • dagon:audio:
      • New methods AudioManager.setVolume, AudioManager.setMinMaxDistance, AudioManager.setAttenuation, SoundComponent.setVolumeSmooth, SoundComponent.playTrack.

Dagon 0.41.0

02 Mar 17:26

Choose a tag to compare

  • Core
    • Fix core timer stuttering
    • Breaking change: stepFrequency is now updatesPerSecond, both in Application and settings.conf
    • New output color profiles: Linear (gl.outputColorProfile = "Linear") and Gamma 2.4 (gl.outputColorProfile = "Gamma24")
  • Graphics components
    • New property Entity.autoUpdateTransformation
  • Extensions
    • dagon:jolt - Jolt Physics integration
    • dagon:newton:
      • Kinematic bodies support (NewtonPhysicsWorld.createKinematicBody, makeKinematicBody)
      • New properties for NewtonRigidBody: bodyType, collisionShape, angularVelocity, acceleration, linearDamping, angularDamping, simulationState, collidable, sleepState, autoSleep, freezeState, gyroscopicTorque. New methods setMassMatrix, setMassProperties
      • Fix character stucking in the walls while jumping by disabling friction completely
    • dagon:audio:
      • New method AudioManager.setPlaySpeed
      • Optional volume parameter in SoundComponent.play methods.

Dagon 0.40.0

19 Feb 10:49

Choose a tag to compare

  • Core
    • New event type EventType.KeyboardLayoutChange. New event handler onKeyboardLayoutChange
    • Application.outputColorProfile. Controlled via gl.outputColorProfile in settings.conf. Supported values are "Gamma22" (default) and "sRGB". This setting affects the color encoding function in the presentation shader
    • Fixed DProperty.toMatrix3x3f and DProperty.toMatrix4x4f, added DProperty.toVector2f
  • Graphics components
    • Internal GLSL macro defines for global engine settings (globalShaderDefine function). To use them in shaders, add #include <dagon>
    • New function downloadTexture for retrieving textures from VRAM
    • New module dagon.graphics.lut for LUT-related functionality. New function convertGPUImageLUTto3DTexture
  • Post-processing
    • Post-processing pipeline was optimized to use linear color as much as possible, less VRAM and less hard-coded buffer swapping logics. Custom filters are now supported via PostProcRenderer.addFilterPass
    • Autoexposure support in tonemapping shader (hdr.autoexposure, hdr.keyValue, hdr.exposureAdaptationSpeed in render.conf)
    • Vignette effect (vignette.enabled, vignette.strength, vignette.size, vignette.roundness, vignette.feathering in render.conf)
    • Lottes tonemapper
    • Sharpening filter based on FidelityFX CAS (sharpening.enabled and sharpening.strength in render.conf)
    • Film grain filter (filmGrain.enabled and filmGrain.colored in render.conf)
    • New DoF parameters: dof.circleOfConfusion, dof.pentagonBokeh, dof.pentagonBokehFeather in render.conf
    • Improved SSAO noise reduction filter, adding support for depth-aware weighting, which eliminates halo artifacts at close distances (ssao.denoiseDepthAware in render.conf)
    • GPUImage LUT is now automatically converted to 3D texture for more efficient sampling in the shader
    • Color grading filter now supports brightness/contrast/saturation adjustment (cc.brightness, cc.contrast, cc.saturation in render.conf). Also cc.colorMatrix can be used to directly specify a linear color transform (4x4 row-major matrix). If LUT is used, color adjustment is overridden with color lookup
  • Assets
    • Cubemaps, 3D textures and RGTC texture compression support in DDS exporter
    • New property TextureAsset.lutFormat
    • Breaking change: TextureAsset.loadAs3D property is removed. The same semantics is achieved with TextureAsset.lutFormat = LUTFormat.Hald;.

Dagon 0.39.0

13 Feb 20:26

Choose a tag to compare

  • Core
    • Breaking change: Cursor enum is now SystemCursor. Cursor is now a class that represents custom SDL cursor
    • Support loading custom application cursors from image files. New methods Application.loadCursor, Application.replaceCursor
    • New properties Application.displayCount, Application.displayIndex, Application.displayWidth, Application.displayHeight, Application.desktopWidth, Application.desktopHeight, Application.refreshRate, Application.framebufferFormat
    • window.display option in settings.conf
    • ICO is added to ImageFileFormat structure
  • Graphics components
    • New built-in meshes ShapeCapsule, ShapeTorus
    • ShaderParameterArray for passing uniform arrays
    • New method Shader.createParameterArray
    • Shader.setParameter, Shader.setParameterRef, Shader.setParameterCallback, Shader.setParameterSubroutine, Shader.getParameterValue are now deprecated. It is recommended to work with parameter objects directly
  • Assets
    • Uncompressed RGB8 and RGBA8 textures support in DDS exporter, uncompressed RGB8 textures support in DDS loader
    • loadImageViaSDLImage overload that returns SDL_Surface*.