Commit Graph

69 Commits

Author SHA1 Message Date
Stanislav Denisov c4fab554f5 Implement local space mode for the translator (#1494) 2026-01-17 08:39:26 +01:00
Stanislav Denisov fd158b92be Fix the translator dragging state and avoid drifting (#1483) 2026-01-09 07:27:54 +01:00
Turánszki János f4e374b204 added terrain modification feature for spline component 2025-04-16 09:32:54 +02:00
Turánszki János f1ce71c533 editor: negative axes darkening control #1071 2025-03-25 08:40:19 +01:00
Turánszki János 03958b58ae editor: translator snap to surface improvement; subset order modification button; 2025-01-20 09:02:40 +01:00
Cédric e3944ce02f Fixes #938, Fixes #759, Fixes #786 (#939) 2024-09-04 15:27:55 +02:00
Turánszki János b5f9bc2b14 editor: fixed snap to surface transform 2024-09-02 08:22:10 +02:00
Turánszki János 48db6afe6d editor: snap to surface transform 2024-07-27 06:27:49 +02:00
Turánszki János de656d7bbc Packaging updates (#846) 2024-05-22 17:15:13 +02:00
Turánszki János 1c38d93304 Editor gui v2 (#843) 2024-05-17 08:04:05 +02:00
Turanszki Janos 7fcd03b7ab some small improvements:
- default physics stepcount increased to maintain 120 FPS even below 30 gfx FPS
- editor translator disable smooth wireframe because intel draws it ugly
2023-12-21 13:58:33 +01:00
Turánszki János 9c13bfd517 editor: light direction visualizer arrows and some other updates 2023-07-02 19:52:41 +02:00
Turánszki János 27659c372c editor: opacity control for transform tool and bone picker 2023-01-14 11:32:18 +01:00
Turánszki János b8bb07234e editor: translator Z axis fix 2022-09-02 19:40:56 +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 a0ad653d7d GUI ResizeLayout (#495)
* gui resizelayout #51

* checkbox icons

* updates

* weather reset

* embedded logo asset
2022-07-31 19:28:41 +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 edbbbe7e61 editor: transform tool fix 2022-07-13 15:46:15 +02:00
Turánszki János 778c0e5af7 editor: scaler tool improvements 2022-07-13 13:50:26 +02:00
Turánszki János 5b35a5a47d Transform tool updates (#486)
* translator tool upgrades, renderpath2D hdr improvement

* fix

* rewritten rotation tool

* visual update

* screen aligned rotation mode

* rotation snap mode fix

* non uniform scaling fix

* improvements to transform undo/redo

* added snap mode configuration

* mirroring transform tool based on camera relative position;
axis text display;

* origin drag visualizer

* minor refactor
2022-07-12 13:24:35 +02:00
Turánszki János d2985abd41 paint tool fixes; translator jitter removed when temporal AA enabled; 2022-04-28 11:33:32 +02:00
Turánszki János cedcbcb2f6 editor: copy-paste fixes 2022-03-13 11:17:24 +01:00
Turánszki János ab75435c41 editor: undo-redo and recursive selection improvements; 2022-02-12 01:31:33 +01: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 dfcdbdd40c shader refactor: removed resource and sampler binding macros 2021-11-21 20:10:19 +01:00
James Webb 4f82ed8fbd wiGraphics refactors (#359)
* Mark concrete graphics device classes as final - they should not be inherited from further.

* Apply consistent snake_cast naming (which has been used in more recent additions) across wiGraphics structs

* Make 'CommandList' type safe so that calling graphics device functions is less error-prone.

* Decouple wiProfiler from wiRenderer by passing the device instance to functions instead of using wiRenderer::GetDevice().

* Bump minor version for graphics refactors.

* Decouple wiHelper screenshot/saveTexture* functions from wiRenderer by providing the graphics device as a parameter.

* Convert wiGraphics.h enums to use enum class (except a couple of raytracing flag enums which seem best left)

* hdr fix

* Documentation updates for enum class.

* Revert "Decouple wiHelper screenshot/saveTexture* functions from wiRenderer by providing the graphics device as a parameter."

This reverts commit fd70249554.

* Revert "Decouple wiProfiler from wiRenderer by passing the device instance to functions instead of using wiRenderer::GetDevice()."

This reverts commit 69b5326cfc.

* Fix debug build

* Fix gcc build (hopefully). Move bitmask operator defs to end of file outside of wiGraphics namespace.

* Remove 'to_underlying' and replace with casts

* graphics device access decoupled from wiRenderer, now should be accessed from wiGraphics::GetDevice()

* minor refactors, comments

* dx12 assert fix

* fixes

* commandlist refactor

* commandlist initial value

* commandlist refactor

* graphicsdevice comments, GetActivePipelineCount() function

* has changed to has_flag

* just rename a thing

Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
2021-11-17 20:27:10 +01:00
Amer Koleci d0051dcb5f RHI improvements (#299)
* GPUBufferDesc.ByteWidth is uint64_t, we don't support D3D11 anymore.
AllocateGPU, UpdateBuffer uses uint64_t.
Rename SubresourceData members with better name.
PipelineStateDesc support custom patch control points, default to 3.

* CreateBuffer accepts const void* instead of const SubresourceData.
Cleanup and improve documentation about buffer creations.

* Rename StructureByteStride to Stride.

* GPUBufferDesc rename ByteWidth to Size.

* CreateBuffer: Under D3D12 - USAGE_READBACK use D3D12_RESOURCE_FLAG_DENY_SHADER_RESOURCE flag and honor BIND_SHADER_RESOURCE.
2021-09-06 16:32:25 +02:00
Turánszki János f3687dbf4e DX11 removal, Surfel GI
version 0.57.0:
- DX11 removed, DX12 is default now on Windows
- graphics interfaces improved:
	- Bindless descriptor support is now assumed
	- GPU Buffers with USAGE_UPLOAD and USAGE_READBACK will be persistently mapped after creation
	- Removed Map/Unmap
	- added BindDynamicConstantBuffer helper function
	- improved AllocateGPU helper function
	- GPU Queries resolving can be done directly into GPUBuffer
	- UpdateBuffer now doesn't synchronize internally, this allows batching updates
	- removed support for bindless constant buffers (uniform buffers)
	- BindConstantBuffer will accept offset
	- RESOURCE_STATES refactor, they can be combined now in the barriers
	- many other refactors
- gbuffer normals removed, implemented visibility buffer
- bindless decals, bindless lightmaps, bindless hair particles, bindless software path tracing
- hair particles path tracing support
- path tracing eye adaption supported
- Surfel GI (experimental)
2021-09-05 18:59:03 +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 933080a2e4 Unified Shader Compiler (#250) 2021-03-21 18:54:04 +01:00
Turánszki János 5efe28fdf9 0.51.0 (#200)
* large renderer state refactor;
added subsurface scattering energy conservation;
added emitted particle subsurface scattering;
removed area lights;
optimizations;

* added layerMask support in shaders

* fixed incorrect shadow priority for directional light;
fix point light shadow disconnect;

* fix incorrect shadow assignment
2020-12-07 01:32:44 +01:00
Turanszki Janos 571f435253 refactor 2020-11-04 16:02:23 +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
Matteo De Carlo 3cd9e77889 WIP: Initial linux support using SDL (#136)
* Initial linux support using SDL

* fixed link error and gitignore

* fix in working directory initialization (windows side)

* Added README_Linux and fixed a few compilation issues in ubuntu

* Rename main to main_Windows in Tests

* Better default renderering backend selector

* Added backlog terminal output on linux

* added asserts on all missing vulkan function call results

* added portable file dialogs

also small tests update and cleanup

* Added Editor compile target

* linux ci

* linux ci

* cmake update

* cmake update?

* cmake

* Editor_Windows fix

* build test

* make

* build tools?

* update

* ubuntu 20.04

* fix?

* cmake

* build

* build?

* package linux build

* updates, bump version

* backslash to forward slash, eof newlines, add portable-file-dialogs license

* xcopy needs backslash duh; update readme;

* copy fix

* updated readme

* readme update

* updated readme

* updated readme

* fix incorrect file encoding linux

* paint tool fix

* linux: add missing shaders

* packaging update

Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
Co-authored-by: Turanszki Janos <turanszkij@gmail.com>
2020-10-05 00:03:22 +02:00
Turanszki Janos aa6fff51d5 editor: translator undo fix 2020-09-20 12:39:10 +02:00
Turanszki Janos 1c6921ea3d editor: velocity buffer fix when translator used 2020-09-01 22:06:52 +02:00
Turánszki János c6f3611439 Event system (#133)
* event system

* more refactor

* fixes

* fixes

* fixes, documentation update
2020-07-04 13:22:11 +01:00
Turanszki Janos 2a86f71cd6 input fix and editor improvements 2020-05-02 12:26:37 +01:00
turanszkij 8b059485fe editor: paint tool (softbody, hairparticle) #94;
editor: undo fix with rotation, scale operations;
debug draw updates;
2020-03-26 00:45:12 +00:00
turanszkij 235450e313 editor: translator update 2020-03-11 19:39:44 +00:00
turanszkij d95dfa7ef2 stability improvements, fixes 2020-03-07 16:18:23 +00:00
turanszkij 8a1b30a766 big refactor 2020-03-02 23:29:06 +00:00
Turanszki Janos 7bd3008398 soft body and debug draw updates 2020-02-29 16:23:14 +00:00
Turanszki Janos fa267b0e7d large refactor 2019-12-12 22:15:16 +00:00
Turanszki Janos 7d6fb9bccc handle controller disconnect and reconnect; input refactor #64 2019-11-30 00:19:28 +00:00
Turanszki Janos be79d4c097 removed platform defines from CommonInclude #54 2019-11-23 16:38:08 +00:00
Turanszki Janos fbb53e3a6d input refactor 2019-11-23 04:33:03 +00:00
turanszkij ee988cf55d autopipeline updates 2019-11-15 19:20:12 +00:00
turanszkij f19f251524 mega-refactor: cleaned up formats, removed matrix transposes, reversed order of matrix mul in shaders, removed many small headers... 2019-08-15 00:26:29 +01:00
turanszkij 7a82d57517 vulkan, dx12: new descriptor update method;
vulkan, dx12: new dynamic buffer update method;
other updates;
2019-07-18 00:25:22 +01:00