Releases: turanszkij/WickedEngine
Releases Β· turanszkij/WickedEngine
v0.71.143
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
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
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
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
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 [Steam release]
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
- improved handling of script paths (code breaking change, might break existing asset paths in lua scripts)
- 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)
- paint tool:
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
v0.70.18
0.70.14:
- Editor:
- completely rewritten transform tool: improved functionality, usability and visuals
- completely refactored GUI: window grouping, component listing, icons, and a lot more
- multiple scenes support, scene switching, saving, quicksave, etc.
- color grading reference palette display
- many new keyboard shortcuts and features (check help in the Editor)
- new undo/redo operation that supports any component addition/removal/data change (not implemented yet for every gui control)
- terrain generator: grass and prop density, chunk scale and other parameters added
- generation of cube and plane mesh without loading model
- GUI improvements, initial theming support
- Font renderer: 1byte char stream will be interpreted as UTF8 automatically (no need to manually decompress into wide char any more)
- physics: triangle mesh LOD support, removed some allocations, fixes
- Dear ImGui docking sample that showcases a custom 3D editor by @plemsoft
- Linux Template sample by @MolassesLover
- Updated DirectX, Vulkan headers, Volk and VMA libraries by @amerkoleci
0.70.18:
- Editor: material picker, layout improvements, transform tool improvements, checkbox icons, tooltip theming
v0.70.0
0.70.0:
- shadowmap atlas, dynamic shadowmap resolution: high number of shadow casting lights are supported
- impostor rendering updates: optimizations, fixes
- environment probes: MSAA rendering option
- spot lights: added inner cone angle parameter
- GLTF importer supports punctual lights (KHR_lights_punctual extension)
- switched to physical light units for punctual lights (might break old lighting configurations)
- font renderer: HDR display output support
- graphics API: subresource data GPU upload/download improvements
- terrain generator: export heightmap image
v0.60.84
0.60.62:
- terrain generator uses virtual textures
- removed terrain specific shaders (terrain will use normal shaders from now)
0.60.63:
- Added experimental rendering method: visibility buffer shading in compute. You can try this by enabling "VCS" in the Editor's Renderer window and compare performance with forward rendering. (Disabled by default)
0.60.73:
- QOI image loading integration (by @Sororfortuna )
- Physics fixes and torque support (by @eddieataberk )
- GUI: slider support for windows and labels
- Editor: paint tool custom brush textures and reveal textures (only for Texture paint mode)
- Tests: directional sound test
0.60.84:
- font renderer: SDF font rendering, outlines, softness, boldness effects; cursor exposed to allow continue text rendering from previous draw; kerning fixes;
- added VRAM usage query and display
- added typewriter animation effect for sprite font
- vulkan row pitch, slice pitch fixes
v0.60.61
0.60.14:
- hierarchy update system was rewritten to use multiple threads (instead of top-down update, now a bottom-up traversal is used)
- vulkan: added support for dynamic uniform buffers
- added motion blur shutter speed to remove dependency from frame rate
- light shaft fix when camera is far from origin
- water ripples are rendered in lower resolution
- added restitution property for emitters
- emitters will be distance-sorted with 16-bit float precision instead of integer precision
- graphics API: command lists count is no longer hard coded, so infinite number of command lists can be used
- RenderQueue refactors, improvements in wi::renderer, no longer using fixed allocator sizes
- wi::font and wi::image SetCanvas() function no longer requires a CommandList
- wi::image::SetBackground() function no longer requires a CommandList
0.60.19:
- added Dynamic Diffuse Global Illumination (DDGI)
0.60.31:
- Screen space reflection improvements by @Kliaxe : optimizations, quality improvements. Some improvements also included for ray traced reflections.
- Added missing SetPointer implementation for Linux/SDL by @flipdp
- Updated Vulkan Memory Allocator library by @amerkoleci
- The Visual Studio build now uses Visual Studio 2022 by default
- GraphicsDevice improvements:
- new function: ClearUAV: fully clears unordered access view resources to value
- new function: GetMinOffsetAlignment: queries the precise offset alignment needed for a GPU buffer's subresources
- CreateSubresource: added optional parameter to request a specific format for only a single subresource
- other improvements, fixes
- MeshComponent: merged index, vertex and subset buffers into combined resources, reduced allocations
- CPU performance improvements when updating the Scene
- Entity_Serialize improvements
- Editor: lots of fixes for undo/redo functionality
0.60.32:
- MIP mapping implemented in raytracing effects with ray cones technique
- improved visibility resolve pass
- depth is now computed purely from primitive ID and camera projection, depth buffer is never converted to shader resource
- fast path for when minimal amount of surface params are needed for the frame
- it will compute surface params only when certain post processes request them
- ShaderMesh and ShaderMeshSubset are now combined into ShaderGeometry to reduce GPU buffer loads
- Mesh UV Set 0 and 1 vertex buffers are interleaved, improves performance of depth passes
- render queue will no longer be sorted for RENDERPASS_MAIN - Opaque
- dx12, vulkan: draw-indirect-count implementations
- performance improvements, fixes, refactors
0.60.48:
- improvements for materials with additive blend mode in raytracing
- added better random generator in shaders
- path tracing performance improvements:
- ray termination chance based on expected ray contribution
- anyhit traces will be disabled after set amount of bounces ( ANYTHIT_CUTOFF_AFTER_BOUNCE_COUNT value )
- ocean updates:
- ocean mesh uses indexed draw (performance improvement)
- gradient tiling pattern fix
- added underwater effect
- transparency range (distance fade) improvement
- raytracing shaders use sampler that is configurable by user like the in object shaders
- added support for Linux package files (by @MolassesLover )
- added support for system-wise install by CMake (by @portaloffreedom )
- Linux file dialog fix (by @megumumpkin )
- other fixes
0.60.50:
- Added procedural terrain generator (for now this is Editor only preview version)
- Added LOD (Level Of Detail) support
- Added LOD Generator to Editor (Mesh Window -> LOD Gen), uses the meshoptimizer library
- Editor can merge multiple objects now into one mesh (Mesh window -> Merge Selected)
- Ocean: added occlusion culling support to detect when ocean is occluded
- can skip planar reflection render for ocean
- can skip ocean simulation
- can skip ocean rendering
- CPU ray tracing optimization: TMin and TMax parameter
- can improve Ray-AABB and Ray-Triangle tests
- improves performance of third person character controller script
- other fixes
0.60.61:
- added cloud shadows
- improved wind effect
- added stars to sky (realistic sky type)
- added custom scaling to canvas (it is an optional scaling on top of display DPI scaling)
- hierarchy system: transform components existing are no longer assumed
- Linux file dialog filtering fix
- other fixes and improvements