Commit Graph

90 Commits

Author SHA1 Message Date
Turánszki János fb41bf83bd Softbody simplification with bones (#876) 2024-07-04 09:24:47 +02:00
Turánszki János 5973b353e4 scene instantiate improvement; editor fixes; 2024-06-16 07:13:53 +02:00
Turánszki János 43d485b417 image distortion mask (#862) 2024-06-13 08:04:43 +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 1479fe9084 vertex buffer quantization (#777) 2023-11-16 18:23:23 +01:00
Turánszki János 98c208eabd editor updates: male dummy, meshoptimizer, cpp mesh export 2023-11-01 10:43:08 +01:00
Turánszki János 9affa1c86d improved 16-bit PNG support;
vulkan: readback image rowpitch fix;
editor: F2 screenshot button;
2023-07-22 10:08:07 +02:00
Turánszki János 34a4c4a243 editor: mesh export to header will produce more optimal vertices and indices 2023-07-09 16:50:42 +02:00
Turánszki János 984690efa8 editor: reference dummy visualizer and mesh export to header (#706) 2023-07-09 08:47:48 +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 cc99c3e51a editor gltf export fixes 2023-06-20 10:51:20 +02:00
Turánszki János 2ef1eb3d16 hair particle system: combined multiple buffers into one to reduce allocations;
editor: report index buffer format for mesh;
2023-06-18 11:35:23 +02:00
Turánszki János 21d5f37fee build updates (#655) 2023-03-28 19:30:29 +02:00
Turánszki János 0169e79b2e morph targets moved to compute shader (#651) 2023-03-20 08:24:43 +01:00
Turánszki János 82398e9e85 editor: merge objects fixes 2023-03-09 09:57:16 +01:00
Turánszki János a3ed633ba7 editor: create/remove subsets 2023-03-05 11:54:34 +01:00
Megumumpkin b577075471 Add capability to export GLTF (proposal) (#594)
* Add capability to export GLTF (proposal)

* fixes: VRM and mixamo lookAt, warning removals

* editor: save gltf will also modify scene path and refresh scene list

* filesystem fix

* tangent fix, file system callbacks for writer, defaultScene

* Fixed GLTF Export for GLB format and Stuff

* camera fix: orientation is not rotated, aspectration is not imported, because it will be computed from monitor

* import fix: no material

* import fix: buffer view stride was not accounted for every vertex channel

* import fix: skip importing othographic camera

* fix: uvset_0 stride

* export fix: surface map is not valid to use as specular map

* export fix: camera doesn't need to be flipped

* fixed import issue of reimporting existing nodes

* editor: add gltf exporting tooltip to save button

* revert camera aspect change in importer

* fixed tangent.w double flipping

* protect against importing 0 camera aspect

* workaround fix for float precision issue with decompose and transform scaling <=0.0001

* scale workaround fix: support negative scale

Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
2022-11-21 12:29:31 +01:00
Turánszki János 893e2d9339 added double sided shadow property 2022-10-10 18:02:23 +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 20e1989630 GLTF sparse accessor, VRM model import 2022-08-15 14:14: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 11fdd5f1f3 soft body fix; normalized light direction fix; 2022-06-22 11:02:17 +02:00
Turánszki János 8db0369816 Impostor updates (#461) 2022-06-14 13:46:49 +02:00
Turánszki János f7d28b1127 GUI scrollbar updates (#447) 2022-05-19 22:42:49 +02:00
Turánszki János 18108223df Terrain Virtual Texture (#422) 2022-05-02 10:34:27 +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 313fd0cd43 terragen and physics fixes 2022-03-10 12:30:07 +01:00
Turánszki János f49ecdb60e Rendering Updates (#400)
* surface load updates

* ssr update

* rtao update

* raytracing updates

* ssr removed surface shader, visibilityresolve now resolves additional params

* surfel uid validation refactor

* msaa fix

* update

* update

* picking normal fix

* ray cone improvements

* rtreflection raycone improvement

* visibility resolve fast path

* comment update

* shadow mask fixes for planar reflection

* unrolled mesh and subset into shadergeometry buffer

* shadergeometry refactors

* interleaved uvset vertex buffers

* render queue sorting only for transparent and prepass rendering

* refactors

* refactors

* dx12, vulkan: draw-indirect-count implementations

* surface.load instance color fix

* surface.load instance emissive color

* profiler fix
2022-03-06 16:46:52 +01:00
Turánszki János a1833c9639 graphicsdevice: descriptor format change; indexbuffer merged into general buffer; 2022-03-01 20:18:58 +01:00
Turánszki János daa0f21681 combined mesh vertex buffers into one resource and refactors 2022-03-01 15:10:19 +01:00
Turánszki János e599f40664 editor: undo/redo improvements; also added cut to Ctrl+X; 2022-02-13 00:28:17 +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 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
Turánszki János 3a08a2bfc6 editor: fixed subset selection when selecting from scene graph view 2021-11-26 17:15:10 +01:00
Turánszki János 8e8dfb1bb4 editor: subset and subset material selection from mesh window 2021-11-26 17:03:11 +01:00
Turánszki János 100e6b6c97 Basis Universal (#313)
* added basis-universal library and KHR_texture_basisu gltf support

* fix

* added basisu license

* added basis transcode;
added basis encode;
added ktx2 encode;
resource manager file types query;

* added BC decompressor

* added lightmap compression BC6;
added DirectXTex BC libs;

* version bump

* removed directxtex, using simpler lightmap compression instead

* fix

* added ktx2 conv button; normal maps fix;

* don't rely on zero-initialization of graphics resources

* don't always enable vrs classification
2021-09-19 17:07:12 +02:00
Turanszki Janos 71314f3941 editor: added mesh optimizer 2021-06-12 16:49:56 +02:00
Turanszki Janos f8a8c61b63 wireframe tessellation update 2021-06-07 20:48:06 +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
Turanszki Janos 02c9d0335d improved scene gpu buffer updates 2021-04-05 00:06:38 +02:00
Turánszki János 9b308941fd sheen and clearcoat (#226)
* sheen and clearcoat

* updated material wnd

* clearcoat works

* sheen updates

* sheen working

* environment reflection alwyas from probe

* restore comment sheen energy conservation

* fixes and gui for sheen and clearcoat

* sheen fix

* ocean, rt reflection fix

* material wnd update

* updated features list
2021-02-01 01:11:30 +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 cfcf71f051 editor fix 2020-12-29 21:21:34 +01:00
Turanszki Janos 960734e87a physics updates #206 #207
physics debug draw
editor physics updates
2020-12-28 17:21:47 +01:00
Turanszki Janos 0895e4b433 improved specular glossiness workflow; big shader refactor; updated tinygltf version; 2020-12-20 01:29:40 +01:00
Turanszki Janos 501fe734c9 editor: added delete impostor button 2020-11-09 20:37:32 +01:00
Turanszki Janos 1f14b1d80f apply morph target normals, better morph updating 2020-11-07 12:44:12 +01:00