WickedEngine Versions Save

3D engine with modern graphics

v0.71.219

11 months ago

Changelog since last release:

0.71.200:

  • Conversation system in character demo (Content/scripts/character_controller/character_controller.lua) fixes for ray tracing backface culling
  • improvements for transparent shadow (transparent materials can also receive transparent shadows in some cases)
  • VRM import small improvements: skin subsurface scattering, disables shadow casting for some face elements to avoid small shadow pixels on face from eyebrows, etc.
  • DDS loading fix for non divisible by 4 dimensions

0.71.209:

  • optimization for cascaded shadow map rendering: all cascades are rendered simultaneously into multiple viewports
  • optimizations for hair particle system, visibility rendering, depth of field, motion blur, screen space reflections
  • fixed variable rate shading classification by motion vector
  • font renderer scaling will be handled better according to current screen DPI
  • Editor font updates:
    • removed yumin japanese font, replaced by Noto Sans CJK font that handles Chinese, Japanese and Koren characters in single font file
    • all font files from Editor/fonts folder will be loaded automatically by the Editor, so user can add new fonts to support new character sets
    • Editor/config.ini can be used to override default Editor font by specifying font = fontfilepath.ttf in the root settings

0.71.219:

  • texture import: common texture formats such as PNG, JPG, TGA, etc. will be automatically compressed to GPU optimal format (can be disabled per material)
  • environment probes will be compressed to GPU optimal format
  • lightmaps can be optionally compressed to GPU optimal format
  • fixed issue on Linux where it will crash on boot while trying to read filename with foreign characters
  • some optimizations for GPU skinning and morph targets
  • graphics API: custom swizzle can be specified per-texture or per-descriptor

v0.71.195

1 year ago

Changelog since last release:

0.71.192:

  • anisotropic shader updates:
    • anisotropic direction map and rotation parameter
    • GLTF import/export

0.71.195:

  • Video support (experimental)
    • GPU video decoding (Vulkan: latest drivers required)
    • MP4 file support (must be H264 encoded)
    • VideoComponent: control video playback, and use as video texture (overrides MaterialComponent textures)
  • Vulkan: updated synchronization and submit APIs by @amerkoleci
  • new startup argument igpu: prefer to use the integrated GPU on the system (default preference is dedicated GPU)
  • talking animation: random phoneme selection, forced talking animation toggle
  • fix for crash with empty hair particle when ray tracing is used
  • fix for crash when non existing material is referenced by rendering
  • fix for editor crash when importing models with cameras

v0.71.190

1 year ago

Changelog since last release:

0.71.181:

  • added memory usage graph to built-in profiler
  • path tracing depth stencil: editor now draws selection outline in path tracing too
  • decal slopeBlendPower parameter: control decal fade out on sloped surface (can avoid overly streched decal texture)
  • shader compiler: option to strip reflection, this reduces shader file sizes (DX12 only)
  • character controller:
    • fixes for fixed timestep update: movement and animation is improved in lower frame rate situation
    • option to toggle framerate lock for reduced framerate testing

0.71.184:

  • multi threaded animation update
  • morph target moved from CPU to GPU
  • fix for animation targeting emissiveColor of material

0.71.190:

  • Localization support, automatic localization export for GUI
  • Editor:
    • new theme "Nord" (by @MolassesLover )
    • language selection: English, Hungarian, Japanese, additional languages can be added
    • added asian font
  • Color picker: ability to input hexadecimal color code as text
  • planar reflection: improved selection for closest planar reflection by considering occlusion culling status
  • DX12, Vulkan: improvements in resource loading performance

v0.71.176

1 year ago

Changelog since last release:

0.71.152:

  • Sky and atmosphere improvements (by @kliaxe ):
    • atmospheric shadows (sky can receive shadows)
    • clouds can receive shadows
    • aerial perspective effect
    • other quality improvements for sky and cloud rendering
  • Lua performance improvement: removed lots of memory allocations
  • Improved framerate locking

0.71.155:

  • small improvement for raytraced ambient occlusion
  • performance improvement for generating grass on terrain (and any hair particle system in general)
  • editor: F key shortcut to focus camera on selected entities
  • fix: window resize will not reset camera field of view

0.71.164:

  • added area light properties: radius, length (allows to create sphere and capsule area lights)
  • improved height fog that affects sky and clouds, added fogDensity parameter, removed fogEnd parameter (by @kliaxe )
  • decals now support normal maps

0.71.176:

  • decal updates: -- alpha only basecolor option: base color texture will only control blending -- surfacemap support: decal can modify surface occlusion, roughness, metalness, reflectance -- texture tiling support: decal can use material's texMulAdd, which enables texture atlasing
  • weather: sky texture rotation can be controlled
  • character controller sample: -- camera rotation vertical limiters and smoothing -- character footprints will be placed at every step to demonstrate decal system usage from script
  • added custom object sorting priority for transparent
  • editor: -- you can now create and remove subsets from a mesh -- object merging fix when merging instanced objects

v0.71.143

1 year ago

Changelog since last release:

0.71.142:

  • animation retargeting updates: -- retargeting now callable from scripts: Scene::RetargetAnimation() -- runtime retargeting mode: doesn't bake new animation data, but reuses source, and computes retargeting in real time -- character controller sample uses separate animation file now and retargeting to character model
  • editor: entity filtering by name

0.71.143:

  • optimization for rendering of geometry that has wind enabled
  • fix for Steam - Linux build that caused crash at startup

v0.71.137

1 year ago

Changelog since last release:

0.71.127:

  • Volumetric cloud updates by @kliaxe : -- second cloud layer -- rain clouds -- more parameters exposed to editor -- overall quality and performance improvements
  • VXGI (Voxel GI) updates: -- improved quality of voxelization -- anisotropic voxels (directional voxels) -- clipmaps (voxel LOD) -- improved temporal accumulation, and multi bounce diffuse

0.71.137:

  • configurable directional light shadow cascades
  • character controller LUA sample updates: NPCs
  • editor: transparency setting for transformation and bone picker tools

v0.71.124

1 year ago

Changelog since last release:

0.71.109:

  • Added support for DirectX 12 Agility SDK (optional) (by: @amerkoleci )
  • Added FidelityFX FSR 2.1: upscale from lower resolution rendering to full display resolution wi::renderer::PostProcess_FSR2()
  • DDGI: optimization with R9G9B9_SHAREDEXP texture format - less memory usage, faster sampling
  • Inverse kinematics with humanoid rig: added constraints for leg bones (avoids twisting thighs and knees)
  • Character controller sample: dynamic foot placement with inverse kinematics
  • planar reflections:
    • transparent objects will also be rendered into planar reflection
    • temporal AA, FSR 2.1 inside planar reflection will work better
  • other fixes and improvements

0.71.112:

  • .hdr image format can be loaded now
  • .dds texture with BC6H format can be loaded now
  • spherical map texture (2D texture) can now be used as weather sky map (static environment map)

0.71.123:

  • audio state query: GetSampleInfo(), GetTotalSamplesPlayed()
  • procedural lip movement for expression based on sound
  • vulkan:
    • removed VK_NV_mesh_shader
    • added VK_EXT_mesh_shader
    • Vulkan 1.3: dynamic render pass and dynamic vertex stride are now used
  • graphics:
    • optimizations for unified memory architecture (eg: intel integrated gpu)
    • forced precompiling a lot of graphics pipeline states at startup
  • shadow map rendering optimization: improved batching
  • profiler update: graph display

v0.71.100

1 year ago

Changelog since last release:

0.71.72:

  • RenderPath3D: contrast, saturation, brightness adjustment (by @Cop46 )
  • Editor: animation retargeting, Mixamo humanoid rig import
  • Scene intersections on CPU: velocity reporting at hit result
  • Collider CPU optimization: multi threaded update
  • Spring - collider CPU optimization using BVH acceleration structure
  • MeshComponent: double sided shadow property
  • DX12: Device Removed Extended Data and device removed support callback (by @amerkoleci )
  • DX12, Vulkan: GPU device name reporting (by @jdswebb )
  • DX12, Vulkan: Sparse resource and async copy queue support
  • Terrain:
    • shadow map optimization by disabling low curvature chunk shadows
    • sparse texture system that allows 16k * 16k texture resolution dynamically close by, and lower VRAM usage

0.71.84:

  • [minor breaking change] graphics: removed TYPELESS formats, these formats can be used instead both for depth and shader resource binding:
    • R32G8X24_TYPELESS -> D32_FLOAT_S8X24_UINT
    • R32_TYPELESS -> D32_FLOAT
    • D24_UNORM_S8_UINT -> D24_UNORM_S8_UINT
    • R16_TYPELESS -> D16_UNORM
  • graphics: added ResourceMiscFlag::TYPED_FORMAT_CASTING and ResourceMiscFlag::TYPELESS_FORMAT_CASTING for advanced format casting support
  • terrain: surface textures are using block compression: memory reduction, better performance
  • terrain: tessellation can be enabled for surface
  • fluid simulation: performance optimization
  • hair particle system: performance optimization
  • LUA: fixed issue when sometimes instead error being reported, application would crash
  • shaders:
    • meshlet packing improvement: added 1 bit extra precision = doubled the supported meshlet count to 16 million (fixes a problem with very high polygon scenes)
    • removed SRGB texture conversion code at most places, instead SRGB conversion will be performed by descriptor automatically
  • Editor: added brightness, contrast, saturation sliders for graphics options

0.71.93:

  • terrain: texture compression improvements
  • fixed mesh LOD incorrect UVs in ray tracing effects
  • Editor:
    • play button: execute last script
    • stop button: kill background script processes
    • improved multiple scene switching
    • gui layout will be retained between application runs
  • added camera_shake.lua sample script
  • fix in font renderer - sometimes texts could disappear
  • fix in tessellation - displacement mapping was not using texture tiling parameter of material

0.71.100:

  • terrain:
    • virtual texturing system rewritten to be atlas-based, not using hardware tiled resource Tier 2 feature
    • now supports 64k * 64k virtual texture resolution per chunk
  • Editor:
    • added GLTF export feature. You can export GLTF and GLB files with the save button in the editor (by @megumumpkin )
    • GLTF importer improvements: avoid negative scaling correction on imported objects (by @megumumpkin )
    • terrain prop asset configuration file: customize terrain object placement with props.ini configuration file
    • terrain grass configuration file: customize grass properties with grass.ini configuration file

v0.71.47

1 year ago

Changelog since last release:

0.71.37:

  • terrain generator physics mesh generation
  • lua bindings for physics

0.71.39:

  • added ray traced diffuse effect: 1 bounce indirect diffuse light (hardware raytracing GPU only). Can use DDGI as fallback for adding multiple bounces.
  • optimization for scene intersection functions:
    • LOD level can be specified
    • they will use multiple threads to collect intersections

0.71.42:

  • repurposed RENDERTYPE enum to FILTER (old values are still usable)
  • added FILTER_NAVIGATION_MESH type - allows tagging meshes for navigation and filtering them in scene intersection functions
  • added FILTER_COLLIDER type - allows processing colliders in scene intersection functions
  • added simpler interface to get scene intersections: new Scene::Intersects() function overloads
  • improvements in character_controller_tps.lua script: script is checking colliders and navigation meshes instead of all meshes in the scene. This can result in faster performance when meshes are set up with colliders.
  • terrain sample assets specify custom colliders for trees and bushes. Terrain chunks and rocks are tagged as navigation meshes.
  • playground sample scene has now navigation mesh tagging for meshes that need collision

0.71.46:

  • VRM humanoid data import, automatic LookAt for head and eye bones.

0.71.47:

  • Lua bindings for expressions, humanoids
  • Weather: added fog color override for realistic sky
  • Editor: display save confirmation text
  • Editor: fix for Win + D shortcut crash

v0.71.34

1 year ago

Changelog since last release:

0.71.0:

  • lua scripting updates by @megumumpkin :
    • improved handling of script paths (code breaking change, might break existing asset paths in lua scripts)
      • scripts can now query their originating directory and file path with script_dir() and script_file() commands.
    • advanced process tracking by script and process identifiers, new sample script: Content/script_tracking.lua
  • gui: text input field caret positioning, selection highlighting support

0.71.3:

  • font renderer: 2x base upscaling, SDF rendering can be disabled
  • editor updates:
    • paint tool:
      • screen aligned brush visualizer update (thicker geometry, better visible)
      • sculpt mode: axis locking support
      • texture mode: brush mask shape, rotation
    • terrain generator: stackable modifiers (perlin noise, voronoi noise, heightmap image)

0.71.7:

  • default Arial font replaced by Liberation Sans (by @brakhane )
  • editor: bone picking, animation editing

0.71.10:

  • added light animation support: color, intensity, range, innerConeAngle, outerConeAngle properties can be animated

0.71.15:

  • wi::ecs::ComponentLibrary can be used to register custom components to the scene (by @megumumpkin )
  • Linux: engine can be compiled as dynamic library optionally (by @portaloffreedom )
  • Added support for spring colliders
  • DDGI will be serialized with the scene, can be used for baked GI
  • DDGI grid size parameter is no longer hard coded, can be edited
  • Added controllable light shaft strength parameter
  • Editor:
    • GLTF importing supports sparse accessors
    • GLTF importing can import spring bones and colliders
    • can import VRM model

0.71.18:

  • added support for .ini config file loading and saving
  • cartoon outline effect can be configured per material
  • added userdata to material, support for custom material parameters
  • pen pressure support for windows desktop platform
  • Editor:
    • config.ini file update with lots of parameters
    • many application settings will be saved and loaded from config.ini
    • layout improvements

0.71.28:

  • colliders will affect for particle systems
  • Lua scripting updates (by @megumumpkin )
    • option to add custom script parameters at script launch
    • many new bindings for wi::scene components
  • new animatable properties:
    • sound: play/stop event, volume
    • emitter: emit count
    • camera: fov, focal length, aperture size, aperture shape
    • script: play/stop event
    • material: color, emissive, roughness, metalness, reflectance, texmuladd
  • many updates to Editor

0.71.31:

  • Volumetric cloud updates (by @Kliaxe )
    • Improved reprojection: improved quality, less noise
    • Cloud model changes
    • Weather map import
    • Local lights
    • Environment capture
    • Volumetric cloud shadow
    • Aerial perspective for clouds
  • added support for sparse morph target: greatly reduces size of morph target data
  • expressions will be imported from VRM models
    • human preset and custom expressions supported
    • procedural blink, look, mouth animation

0.71.33:

  • mesh LOD works in ray tracing effects

0.71.34:

  • terrain separated into core logic and gui
  • terrain generation parameters are serialized
  • ddgi extents and smooth backface test parameters serialized (prevents static DDGI probe relocation)
  • raytraced shadow fixes