3D game engine for D
Application.takeScreenshot
Tonemapper.AgX_Base
and Tonemapper.AgX_Punchy
skyEntity.gbufferMask = 0.0f;
EntityManager
is now World
EntityGroup*
accessor classes moved to dagon.graphics.world
subsurfaceScattering
dagon:imgui
extension now uses bindbc-imgui 0.7.0dagon:newton
and dagon:imgui
extensions now include prebuilt libraries for LinuxEventManager.setRelativeMouseMode
)dagon.core.locale
: fix deprecations in Windows locale API signaturesdagon.graphics.texture
: New methods Texture.setFaceImage
, Texture.setFaceBit
, new function cubeFaceBit
dagon.graphics.cubemap
module is deprecated, use dagon.graphics.texture
insteadTexture.createFromImage3D
method. When you use a 3D texture as a lookup table, the shader will automatically switch to the Hald modedofManual
, dofNearStart
, dofNearDistance
, dofFarStart
, dofFarDistance
FirstPersonViewComponent
uses relative mode by default, and it can be switched with useRelativeMouseMode
propertyNewtonUserJointSetRowSpringDamperAcceleration
was removed in favor of NewtonUserJointSetRowMassDependentSpringDamperAcceleration
and NewtonUserJointSetRowMassIndependentSpringDamperAcceleration
NewtonRigidBody.localPointVelocity
EventManager.onProcessEvent
) that provides access to raw SDL eventsdagon.render.deferred
package is now dagon.render.passes
Tonemapper.Unreal
and Tonemapper.Reinhard2
, respectively)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
Material.roughness
and Material.metallic
now don't support texturesTexture
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 texturesdagon.graphics.texproc
with combineTextures
functionalphaMode
support for glTF materialsGame.resize
, Game.frameTexture
dagon.ext.imgui
. It is based on bindbc-imgui binding. It will not replace Nuklear, both toolkits will coexist in futureNewtonUserJointConstraint
in Newton extensionlibnewton.so
and libnuklear.so
are now loaded from /usr/local/lib
under Posix/usr/local/lib
under Posix.EventManager
(joystickButtonPressed
, joystickButtonUp
, joystickButtonDown
)AssetManager
. You can register your own loader function with AssetManager.registerImageLoader
methoddagon:stbi
extension. Import dagon.ext.stbi
module and register the loader with stbiRegister
function in your scene constructor:
stbiRegister(assetManager);
emissiveFactor
support for glTF materialsEntity.setRotation
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
PostProcRenderer.lensDistortionDispersion
, PostProcRenderer.lensDistortionScale
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
dagon.ext.iqm
. Added Actor.blendSpeed
property. Switching Actor
animation to the same frame range as the current one now doesn't cause loop resetSkyShader
.No changes since 0.12.0-beta2.
Changes since 0.12.0-beta1:
Entity.gbufferMask
to store the value that should be written to alpha channel of color buffer in G-bufferlight.diffuse
, light.specular
in sun light shaderFirstPersonViewComponent.baseOrientation
NewtonRigidBody.addImpulse
NewtonRigidBody.createUpVectorConstraint
now returns NewtonJoint
pointer.Light.diffuse
and Light.specular
parameters that control brightness of diffuse and specular portions of a lightForceField.active
, BlackHole.threshold
FirstPersonViewComponent
(pitchLimitMax
and pitchLimitMin
parameters)va_Texcoord
uniform locationMaterial
now supports roughnessMetallic
parameter to pass combined PBR texture. Following glTF convention, G channel stores roughness and B stores metallicfromImage
methoddagon.graphics.shapes.ShapeDisk
)dagon.postproc.shader.dof
)DeferredRenderer.occlusionBufferDetail
parameter that controls resolution coefficient of SSAO bufferdagon: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 terrainssettings.conf
) in project folder. Configuration overrides some of the hardcoded application settings, such as window width and height, fullscreen and window titlehideConsole: 1;
in settings.conf
.Changes since 0.11.0-beta2: