Commit Graph

88 Commits

Author SHA1 Message Date
Dennis Brakhane f0bd5a8086 Don't use by reference capture by default (#1207)
replace [&] with [this] or [] where possible to avoid people
accidentally capturing something by reference that needs to be
copied, like strings.
2025-08-13 08:46:42 +02:00
Dennis Brakhane 282b81c3d9 replace default reference captures, fix missing calls (#1153)
* forAll -> forEach

* replace default reference captures with more specific ones

* fix missing calls in fixXYZ/forEachSelectedWithRefresh
2025-07-08 17:08:59 +02:00
Dennis Brakhane 985596c9b3 editor: reduce code duplication for all other components as well (#1151) 2025-07-07 07:36:01 +02:00
Turánszki János c31aa35c53 gui layout refactor (#1114) 2025-06-01 17:07:12 +02:00
Turánszki János 1be929aa8a gui changes: slider size now includes the textbox, combobox size now includes the droparrow, editor gui rearrangement 2025-05-30 08:50:26 +02:00
Turánszki János 1bc427d4d0 rewritten LOD selection to be screen-rect based; turned off depthclip for shadows; 2025-02-12 08:42:06 +01:00
Turánszki János 2726ff1737 editor: added master volume slider, object multiselection value fixes 2025-01-22 07:47:29 +01:00
Turánszki János dfcc61bd6d gui: auto window sizing to fit all widgets; editor: object lightmap preview, windows sizing updates; 2024-12-29 11:15:50 +01:00
Turánszki János 30bb9e10d5 fixed lightmap atlas generation for soft body and 8-influence skinned mesh 2024-12-23 17:13:15 +01:00
Turánszki János 2fda798086 lightmap leak fixes; updated xatlas; ortho shader fixes; (#993) 2024-12-21 16:02:42 +01:00
Turánszki János b62c7ff48b added per-object rim highlight 2024-08-28 06:36:12 +02:00
Turánszki János ff0fe12595 Ocean wet maps (#881) 2024-07-11 16:40:20 +02:00
Turánszki János 431e823234 removed 256 subset limitation 2024-07-06 06:13:45 +02:00
Turánszki János b375b09561 physics: cylinder shape, local offset;
added per-instance alpha test;
grass disable cast shadow fix;
editor: hierarchy remove will use proper detaching;
2024-06-17 08:27:01 +02:00
Turánszki János 1c38d93304 Editor gui v2 (#843) 2024-05-17 08:04:05 +02:00
Turánszki János fcca0dfe37 Vertex AO (#795) 2024-01-27 13:06:47 +01:00
Turánszki János 4954f62468 various updates (#758)
* object rendering can now be disabled in reflections; removed custom ray tracing inclusion masks for more unified system based on object flags and to not interfere with user logic layer masks; other scripting updates;

* unregister editor printscreen

* point light shadow artifact fix
2023-10-01 17:01:39 +02:00
Turánszki János be5b87b300 new object flag: not visible in main camera 2023-09-29 09:14:27 +02:00
Turánszki János 05fa9fd6dd foreground object rendering 2023-09-17 07:24:23 +02:00
Turánszki János a073cf4f9f BVH accelaration support for scene intersections (#704) 2023-06-30 09:13:42 +02:00
Turánszki János 169e394e53 lightmap BC6H compression 2023-06-03 11:02:10 +02:00
Turánszki János 21d5f37fee build updates (#655) 2023-03-28 19:30:29 +02:00
Turánszki János da6c48b7ce custom object sort priority for alpha blending 2023-03-05 17:41:10 +01:00
Turánszki János 38993813c1 Intersection filtering updates (#565)
- refactored RENDERTYPE enum to FILTER
- 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
2022-09-13 19:55:30 +02:00
Turánszki János bcffb27ead Parallel scene intersections (#563)
- scene intersections using multithreading
- scene intersections can specify LOD level
2022-09-10 15:24:01 +02:00
Turánszki János c359395cea Terrain physics (#552)
* terrain physics

* terrain props physics configuration

* asset refactors

* fix

* warning
2022-09-03 19:58:14 +02:00
Turánszki János 60ef0ae251 Terrain refactor (#549)
- terrain separated into core logic and gui
- terrain can be serialized
- ddgi extents also saved, added control for smooth backface test
- raytraced shadow fixes
2022-09-01 18:42:16 +02:00
Turánszki János 6a2173f699 armature window, object window meshID selection (#542)
* armature window, object window meshID selection

* fixes, default blink applied
2022-08-29 12:03:30 +02:00
Turánszki János eff37576b5 Improving window layouts (#532)
* improving component window layouts

* sound window update

* transform window update

* editor top gui animation; delete callback for entity tree

* layer window update

* other layout changes

* grid helper ini

* don't allow negative or zero local scale

* version bump

* camera fps config check if exists
2022-08-26 09:21:19 +02:00
Turánszki János fe81c80b04 Softbody and rigidbody windows separated (#526) 2022-08-22 23:42:49 +02:00
Turánszki János 084a1b1f1f DDGI updates (#514)
DDGI updates:
- allow 0 raycount to keep static DDGI
- DDGI serialization for saving and loading with scene
- grid dimensions configurable
- refactors
2022-08-18 11:50:09 +02:00
Turánszki János f277a00596 GUI updates (#490) 2022-07-28 20:59:25 +02:00
Turánszki János 5a0c423ddd Updates:
- editor: quicksave, multiple scenes support, gui changes, additional shortcuts
- physics: improvements for handling multiple scenes, and removal of physics objects
- scripting: ability to override global scene and camera with custom scene and camera from cpp side
2022-07-14 15:21:28 +02:00
Turánszki János 2a8d22124e physics: LOD support for triangle mesh shape 2022-07-04 11:39:07 +02:00
Turánszki János f7d28b1127 GUI scrollbar updates (#447) 2022-05-19 22:42:49 +02:00
Turánszki János 604140ad85 Procedural Terrain (#408)
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
2022-04-10 11:42:10 +02:00
Turánszki János 74cb74d3c9 version 0.60 (#367)
- namespace refactor (example: wiGraphics:: -> wi::graphics)
  - provided namespace compatibility macro for old user code: WICKEDENGINE_BACKWARDS_COMPATIBILITY_0_59
- resource manager will return `Resource` instead of `shared_ptr<Resource>` objects
- MAD shader optimizations
- implemented alpha to coverage with alpha tested materials when MSAA is enabled
- alpha testing fix with transparent shadow maps
- TLAS and scene buffers will be recreated less frequently when things get added/removed from the scene
2021-12-03 21:22:27 +01:00
Turánszki János 16d9a8de74 common improvements (#366)
- std container replacements for vector, unordered_map, unordered_set
  - unordered_map and unordered_set replaced with ska::flat_hash_map
  - vector replacement is still std::
- unordered_map performance test (std:: vs ska::)
- backlog improvements
- wiArchive improvements
- editor: added option to dump scene to C++ header file
- common improvements, refactors
2021-11-28 22:12:05 +01:00
Turanszki Janos 35fa8e79c5 acceleration structure updating improvements 2021-06-24 11:34:54 +02:00
Turánszki János f1ced24f05 Multi swapchain support (#257)
* multi swapchain draft

* uwp fix

* swapchain resize handling

* swapchain buffercount

* vsync toggle

* tests fix

* update

* everything removed from graphicsdevice regarding global screen params, engine refactor

* added GetSwapChainTexture() function to graphics device; screenshot() now requires swapChain

* linux fix: vulkan device needs window handle for instance creation

* refactor

* removed unused includes

* shader refactor and lensflare fix

* swapchain clearcolor and other refactors

* vulkan: no vector allocation in submit

* tests fix

* refactors

* lens flare canvas size fix

* gui refactor for canvas support

* refactors

* removed global canvas state

* msaa fix

* fixes

* refactor to minimize interface changes

* gui changes

* checkbox fix

* gui fixes

* fixes

* input system will accept window handle

* editor fixes

* refactor and removed resolution related system events

* small editor update

* refactor: renderpath inherits from canvas

* fixed tests duh

* image refactor

* image fix

* removed every using namespace std

* pushconstant fix

* editor: object picking only when necessary

* removed include

* dx12: copy fence waiting performed on CPU

* dx12 copyallocator update

* vulkan: copy allocator with timeline semaphores

* missing include

* dx12 copy allocator update

* refactor

* editor update

* vulkan copy allocator fix

* dx12 update

* vulkan, dx12 fixes

* version bump

* vsync event helper

* documentation update

* updated vulkan, dx12, dxc
2021-04-22 11:36:22 +02:00
Turánszki János fc2cbfcc1c path tracing hardware acceleration #175 (#253)
* path tracing hardware acceleration #175

* hlsl5 fix

* fixes

* random seed fix

* ci fix

* fixes

* re enable spirv validation in linux

* path trace updates

* pathtrace fix

* raytracing fixes

* path tracing normal map limit
2021-03-28 19:48:34 +02:00
Turánszki János 1be19b50d7 Bindless Descriptors (#244)
* bindless descriptors implementation base

* push constants

* dx11 tonemap fix

* stressing bindless descriptors

* lots of fixes

* remove some stuff and cmake update

* cmake update

* performance optimization for scene buffer updating

* documentation and shader compiler updates

* general updates improving scene gpu data updating

* softbody gpu updating improvement

* readme update: gpu based validation

* dx12: omit IA from root when there is no input layout

* vulkan: bindless sampler fix

* vulkan critical fix and renderer update

* dx12 refactor

* fixed BLAS updates and vulkan rt hangs

* object setcastshadow fix

* vulkan raytracing fixes

* vulkan fix

* object shader fix

* documentation update

* rewritten constant buffer arrays as arrays of byte address buffers

* raytraced reflection env probe

* occlusion culling using push constants

* bindless vertex fetch

* fixes
2021-03-08 00:33:40 +01:00
Turánszki János 2478e8108a 0.52.0
* velocity buffer is now written by prepass

* major refactor

* critical fix

* fixes

* water fix

* tessellation rewrite

* vulkan: flip viewport instead of -fvk-invert-y
2021-01-19 01:52:40 +01:00
Turanszki Janos 4486de33d8 added per instance emissive color 2021-01-07 00:33:16 +01:00
Turanszki Janos 24cee6be6a editor: lightmapper tangents fix 2020-12-29 17:53:41 +01:00
Turanszki Janos 960734e87a physics updates #206 #207
physics debug draw
editor physics updates
2020-12-28 17:21:47 +01:00
Turánszki János 180ddc3586 0.49 (#160)
* renderer updates: material shadertype, customshaders

* custom shader updates

* hologram fix

* editor windows refactor

* major gui update:
- gui no longer lifetime manager
- window no longer needs gui to construct
- removed gui constructors/destructors
- rewritten every editor window

* renderer update

* gui hasfocus fix

* editor fix

* renderpath upgrades: hybrid forward-deferred

* fix

* water ripple refactor

* cmake fix

* cmake fix

* renderer fix

* volumetric light fix

* customshader stencilref

* cmake fix

* rtdeferred fix

* editor update

* raytraced shadows denoise

* anisotropic shader

* sss stencil greater

* added cartoon shader

* using precomputed tangents

* added unlit object shader

* importer update

* editor update

* editor fix

* vulkan envmap rendering fix

* terrain shader simplification (normal texture mapping instead of triplanar)

* added subsurface profiles, reduced gbuffer

* denoise disocclusion fallback

* editor fix

* more sorting priority for blend than instancing

* hairparticle culling

* particle updates; font update instancing instead of index buffer; vulkan/dx12 fixes;

* shader fixes

* hairparticle trianglestrip and no cross section

* editor fix

* cam wnd update

* terrain shader fix
2020-10-17 13:17:07 +02:00
Turanszki Janos d3b18bc504 gui updates, editor window refactors 2020-10-04 14:24:22 +02:00
Turanszki Janos c7f5c1a17e job system updates, cpu performance improvements 2020-05-31 00:38:03 +01:00
Turanszki Janos 2a86f71cd6 input fix and editor improvements 2020-05-02 12:26:37 +01:00