Commit Graph

61 Commits

Author SHA1 Message Date
Turánszki János d832ee167f Expression and humanoid lua bindings (#569)
* Expression and humanoid lua bindings

* add fog color override

* fix

* added scene saved indicator text

* win + D fix
2022-09-19 12:19:46 +02: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 5179d75878 Ray traced diffuse (#561)
* Ray traced diffuse

* tweaks

* tweaks

* tweaks

* updates

* ddgi update speed,
ssr roughness cutoff,
rt reflections ray length,
rt diffuse ray length,
2022-09-09 13:28:03 +02:00
Megumumpkin c32a3194c8 Lua Component Remover (#559)
* Lua Component Remover

* Update Docs

* Add Component Remover to Binding Registration
2022-09-07 09:15:25 +02:00
Turánszki János 03fe5dcce8 Physics updates, lua bindings (#554)
* physics updates, lua bindings

* velocity setters

* fix softbody gravity

* gui things

* colliders cpu and gpu separation

* terrain prop check for missing assets

* lua internal put in function
2022-09-04 16:34:50 +02:00
Megumumpkin 018f5d003d Add HairParticleSystem and Small Enhancements for Lua Bindings (#553)
* Update Lua

* Update Lua Bindings

* HairComponent Lua Binding Fix

* Adding Documentation
2022-09-03 19:06: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 73ee94d114 Volumetric cloud updates (#544)
- Reprojection update
- Cloud model changes
- Weather map import
- Local lights
- Environment capture
- Volumetric cloud shadow
- Aerial perspective for clouds

Co-authored-by: Silas Oler <silasmartins@outlook.dk>
2022-08-30 16:37:51 +02:00
Megumumpkin 97ecb37106 Fix Lua Binding (#539) 2022-08-28 16:13:43 +02:00
Megumumpkin da94fa2641 Lua Extend Refactor (#537)
* Add More Properties to Lua Bindings

* Fis class_parameters.lua Script

* Update Transform Bindings

* Update TransformComponent Bindings
2022-08-28 12:36:47 +02:00
Turánszki János c30fe35661 New animation properties support (#535)
* new animation properties support

* material param animations

* camera component window, camera component lerp

* camera aperture debug

* some documentation updates
2022-08-27 09:41:03 +02:00
Megumumpkin 24f7c3a5b5 Extend Lua Scripting (#534) 2022-08-26 19:26:56 +02:00
Turánszki János 8aad16113d GPU particle collider support (#529) 2022-08-24 14:52:13 +02:00
Turánszki János bd41a54b3b Script Component (#521) 2022-08-22 13:53:59 +02:00
Turánszki János 64babc8fcd Config file support (#517) 2022-08-20 18:32:16 +02:00
Turánszki János c7da8a9dd3 added light shaft strength parameter 2022-08-15 15:20:43 +02:00
Turánszki János bebe54efc6 Light animation support (#509) 2022-08-14 22:46:54 +02:00
Turánszki János 440ad123aa added capsule-ray intersect functions; editor bone picking; 2022-08-11 09:43:43 +02:00
Dennis Brakhane 2f7a6ea44c Replace Arial with "Liberation Sans" (#504)
The Arial license does not allow redistribution, so this commit replaces
it with the metrically compatible "Liberation Sans" font.
2022-08-11 08:06:31 +02:00
Megumumpkin da6a2e53ba New Lua Scripting (#501)
* New Lua Scripting System

* Update Scripts

* Small fix on wiLua Globals

* Add One More Note To The New Demo

* -path fix
-renamed new_script_demo.lua to script_tracking.lua
-refactors
-version bump to 0.71.0

* removed GetScriptPath()

Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
2022-08-07 18:26:28 +07:00
Turánszki János 3eb2a10c78 script path fix; fighting game script help text color improvement; 2022-07-19 20:18:49 +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 b944465263 Font renderer updates (#483)
* font renderer updates, text debug drawer;
editor: name visualizer;
github CI: vulkan sdk not required;

* cmake: vulkan sdk not required

* refactors

* lua binding for DrawDebugText()

* comment

* transparency sorting for debug texts;
font alphablend fix;

* softer debug text
2022-07-05 15:20:23 +02:00
Turánszki János c02ab327d8 Physical light units (#476) 2022-06-29 20:15:36 +02:00
Turánszki János d17a3f1fbe scripting updates 2022-06-23 10:39:25 +02:00
Turánszki János d914744585 lua binding for color space info display 2022-06-22 11:49:32 +02:00
Turánszki János 949520e4b8 SetAOPower() lua binding 2022-06-22 11:31:32 +02:00
Turánszki János 9177077b7a Shadow atlas (#467)
shadow atlas will contain directional, spot, point light shadows all in one texture;
shadow count will not be limited, they will be tigthly packed within the atlas instead;
shadow resolution will be dynamic per light;
shadow texture arrays will no longer be used;
2022-06-21 18:34:04 +02:00
Turánszki János 57c2731ca2 sponza asset update 2022-06-15 12:19:13 +02:00
Turánszki János 858e860dbc added set_material_all.lua script 2022-06-11 10:23:13 +02:00
Turánszki János 9af2855682 VRAM usage display 2022-06-03 14:52:58 +02:00
Turánszki János 731f9aae31 SDF font rendering (#453)
SDF supports following font effects:
- upscaling sharpness improvement
- softness
- bolden
2022-05-30 16:58:27 +02:00
Turánszki János 91c385ab9d Pain Tool Brush textures (#448)
* added brush textures to paint tool

* logo

* fix
2022-05-22 13:20:19 +02:00
Turánszki János 00b2655329 added custom scaling factor to canvas (#416) 2022-04-23 09:50:46 +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 0355104b8b editor: emitter viscosity slider update; emitter_fluid asset update; 2022-01-12 10:31:08 +01:00
Turánszki János cc2ca6a433 scripting updates and new sample scripts 2022-01-09 21:29:16 +01:00
Turánszki János aaa24829dc documentation update 2022-01-03 23:37:08 +01:00
Turánszki János d586b43a82 added configuration for emitter restitution property;
added emitter_depthcollision_test.wiscene
2021-12-30 14:28:07 +01:00
Turánszki János 0fdc67dcd0 DX12 custom root signatures (#372)
* dx12: abandoned shader reflection, added support for custom root signatures, removed dxcompiler dependency

* removed dll copies from build scripts

* update

* updates

* updates

* fix

* update

* update

* updates

* added custom root signatures to some passes

* fix

* updates

* comment fix

* allow shaders to not have root signatures, if they are part of a pipeline which has root signature for an other shader

* root signature optimizer

* batched descriptor null initializer

* shader updates

* update

* put the atmospheric sky update to async compute

* improved debug of root constant - push constant data size mismatch

* bitwise root param iteration

* added superluminal perf api

* performance api will be optional

* async updaterenderdata fixes

* fixes

* fixes

* occludee update

* raytraced reflection implementation with ray query instead of rt pipeline

* alwaysactive

* shadercompiler enable old d3dcompiler because why not, it's only loaded on demand now

* removed common sampler api

* root signature simplification

* fixes

* linear allocator fix

* push constants are now immediately set

* fixes

* version

* fix?

* improved descriptor allocator

* default sampler table reduction

* gpu sort lib push constants

* small update

* descriptor allocator safety

* shader compiler refactor

* some optimizations
2021-12-19 15:53:18 +01:00
Turánszki János 67eb9dd66f raytracing: expose filtering with layer masks 2021-12-04 16:48:12 +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 4777246989 common refactors (#364)
* common refactors:
- DirectXMath only included in wiMath.h instead of CommonInclude.h
- cleanups in CommonInclude.h
- lua math refactor
- generic allocator refactor

* FLT_MAX to numeric_limits

* linebreak

* comment fix

* allocator fix

* more math refactors

* removed wiContainers, renamed wiAllocators to wiAllocator, moved ThreadSafeRingBuffer to wiAllocator
2021-11-26 13:45:11 +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
Turánszki János d3c11eddf6 HDR display support (#341)
* dx12: initial HDR support

* make dx12 more feature level compatible

* vulkan, dx12 hdr updates

* remove trash

* remove postprocess_LDR, tests

* fixes

* added custom display output mapping for hdr10

* renderpath2d srgb->linear mapping for compose blending

* hdr updates

* improvements

* documentation update

* documentation fixes

* vulkan: outdated swapchain handling

* minor fix

* vulkan: hdr workaround with color space change with same format

* improved vulkan swapchain destructor

* updated features.txt
2021-11-09 19:02:01 +01:00
Megumumpkin 7ee042cc84 SDL Controller Support (#326)
* SDL Controller Fix

* SDL Controller Fix (Compile Fix)
2021-09-30 18:26:42 +02:00
Turánszki János cab3a1acb6 emitter memory budget improvement and fixes 2021-09-20 12:59:46 +02:00