Commit Graph

85 Commits

Author SHA1 Message Date
Turánszki János 9bdeb4f90b cartoon shader: disable ssao, ssr, improved rim light; vrm mtoon will enable cartoon shader; 2022-09-26 19:41:13 +02:00
Turánszki János cffe8362bd gltf collider layers; added start-end animation lua bindings; 2022-09-25 09:43:10 +02:00
Turánszki János 91595edc65 editor: mixamo humanoid rig import 2022-09-21 11:14:43 +02:00
Turánszki János 6151fd82e6 VRM humanoid data import (#567)
* VRMhumanoid data import

* linux fix

* humanoid lookAt

* updates

* mouse look improvement

* head size

* theme color affects picker entity icons

* eye lookat

* blinking more random, collider aabb checks

* improvements

* editor: use humanoid information to improve bone picking
2022-09-16 15:05:23 +02:00
Turánszki János ac4fc8540d Sparse morph target and VRM expressions (#536) 2022-08-28 19:22:23 +02:00
Turánszki János 1ba4014fc0 Collider editor (#527) 2022-08-23 13:13:00 +02:00
Turánszki János 1c3b874a44 VRM springbone and collider import (#513) 2022-08-17 16:09:31 +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 440ad123aa added capsule-ray intersect functions; editor bone picking; 2022-08-11 09:43:43 +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 c02ab327d8 Physical light units (#476) 2022-06-29 20:15:36 +02:00
Turánszki János 86c748ed98 Spotlight inner cone, GLTF KHR_lights_punctual (#474)
* added inner cone angle to spotlights

* refactors

* different shader entity packing

* KHR_lights_punctual

* features.txt

* spot cutoff

* seri

* fixes

* update

* angularAttenuation mad

* refactor

* attenuation refactors
2022-06-28 23:10:48 +02:00
Turánszki János bb5e7a8ccb hierarchy: don't assume that transforms exist; gui update; editor model importer update; 2022-04-24 14:32:36 +02:00
Turánszki János e353ac3481 gltf import: additional data types support 2022-01-10 09:51:47 +01:00
Turánszki János 5076826906 gltf import: implemented additional vertex color types 2022-01-10 09:37:48 +01:00
Turánszki János c4c582d739 general improvements (#368)
* custom implementation for wi::vector

* fix

* sdl vulkan fix

* linux fix

* fix

* vector fix

* shader compiler and job system will be initialized automatically on first use

* vector improvements

* updates

* update

* network and audio will be auto initializing on first use only

* fix

* for now, use std::vector

* vector refactor minor

* backlog: access safety

* shader clearcoat fix

* gui initialization on demand

* initializer updates

* job system will be explicitly initialized
2021-12-09 18:58:27 +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
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 71222ec839 improvements: loadmodel, gltf import, obj import 2021-09-25 00:00:53 +02: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 d26a31d3bb added KHR_materials_ior and KHR_materials_specular GLTF extension support 2021-05-29 17:41:30 +02:00
Turanszki Janos 1ee087f4b8 double sided property gltf compliance 2021-05-27 19:35:59 +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 783c824139 resource manager upgrade: embedded resources support 2021-03-01 00:37:55 +01:00
Turanszki Janos 9b4a8870ac file system refactor 2021-02-25 21:52:41 +01:00
Turanszki Janos 3be76495b4 big material texture slot refactor 2021-02-02 22:07:47 +01: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
Turanszki Janos 938d81a095 added support for gltf KHR_materials_transmission 2020-12-29 20:53:34 +01:00
Turanszki Janos 2d04908a13 added cubic spline and morph target animation support 2020-12-27 17:18:22 +01:00
Turanszki Janos 0895e4b433 improved specular glossiness workflow; big shader refactor; updated tinygltf version; 2020-12-20 01:29:40 +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
XthemeCore cfb1a2b585 Fix - add normal for morph target (#183)
Quick fix for morph target by preparing support normal without implementation.
2020-11-07 11:02:36 +01:00
XthemeCore 2559f88c2e Add Morph Target (#180)
Support both glTF 2.0 and wiscene format.
2020-11-06 20:12:51 +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 fefc361087 improved cpp conformance 2020-06-12 22:09:04 +01:00
Turanszki Janos c1762538ab animation data decoupled #105 2020-06-06 13:53:31 +01:00
Turanszki Janos e9fbc9c205 file operation updates for uwp platform #110 2020-05-10 20:23:49 +01:00
Turanszki Janos dc6c068f33 added heap allocation counter; reduced string allocations; 2020-04-24 23:48:54 +01:00
Ben Vinson fdb31f4e87 Use wiResource structs instead of texture pointers for deferred mip generation 2020-04-18 20:00:45 -06:00
turanszkij 49c3459653 mipgenerator: added preserve coverage option 2020-04-11 16:09:38 +01:00
turanszkij 9b0cc2524b transform hierarchy fix #76 2020-03-09 19:55:11 +00:00
turanszkij f6cca39c01 resource manager and gltf importer fix 2019-12-22 22:09:08 +01:00
Turanszki Janos fa267b0e7d large refactor 2019-12-12 22:15:16 +00:00
Turanszki Janos edb664d532 editor fix 2019-12-06 19:28:43 +00:00
Turanszki Janos 20e56802cc graphics API texture refactor 2019-11-21 22:29:25 +00:00
Turanszki Janos cdcba00936 mipgen subresource fixes 2019-09-23 21:44:41 +01:00
turanszkij 3bba4e41b9 start subresource refactor 2019-09-22 15:53:58 +01:00
turanszkij 53e7f6ca3b refactors, removed min max macro usage 2019-05-10 18:26:05 +01:00
turanszkij fbbec29221 some fixes; resurrected tps character control script; 2019-04-12 00:41:16 +01:00