Commit Graph

131 Commits

Author SHA1 Message Date
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
Turánszki János 30584135b3 tests linux fix 2022-08-08 12:57:12 +02:00
Turánszki János 1f6160f56f font renderer: sdf rendering can be disabled, 2x upscaling by default 2022-08-08 12:46:01 +02:00
Turánszki János 09f70458d4 text input improvements 2022-08-02 11:36:15 +02:00
Turánszki János 90fbbba9ba Text Input Caret (#500) 2022-08-01 18:25:15 +02:00
Turánszki János f78998f44f gui: added support for tooltip theming 2022-07-29 13:55:27 +02:00
Turánszki János 7e589cf5fc updated icon assets 2022-06-04 11:41:32 +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 c486669e18 linux build fix 2022-05-16 10:43:20 +02:00
Turánszki János d159fd73e7 audio test update 2022-05-16 09:36:19 +02:00
Megumumpkin 176a6bad8f Tests - Update Gamepad Testing 2022-04-02 18:01:11 +07:00
Megumumpkin 26a9d5dd5e SDL Input Refactor (#406)
* SDL Input Refactor (Initial Edit)

* SDL Input Refactor - IMGUI Text Input Fix

* SDL Input Refactor - wiGUI Text Input Fix

* SDL Input Refactor - Pruning Includes

* SDL Input Refactor - Fix Includes

* SDL Input Refactor - Fix Compiler Error (Windows)

* SDL Input Refactor - Fix Compile Error (2)

* SDL Input Refactor - SDL Version Checking For LED

* Trying out Sniper SDK build system

* SDL Input Refactor - Processing Design Changes

* SDL Input Refactor - Separate Steam Deck Build

* SDL Input Refactor - Separate Steam Deck (2)

* Steam SDK CI Build - Change Package Name & Reduct

* Steam SDK CI - Straight up building, no apt update
2022-03-29 11:26:34 +02:00
Turánszki János 07beea2cc9 refactor in test application 2022-03-26 12:29:13 +01:00
Turánszki János 406d24d031 updated to visual studio 2022 (#392)
* updated to visual studio 2022

* github actions fix
2022-02-19 12:54:52 +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 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
Matteo De Carlo af97739b61 HiDPI support on SDL2 (#351)
linux: works only with wayland backend, can be used with SDL_VIDEODRIVER=wayland enviroment variable set.
It's possible that it works also on other platforms when using the SDL backend.
2021-11-11 15:38:05 +01:00
Matteo De Carlo 1cf8585d37 Resizable windows on SDL2 (linux) (#350)
Fixes #349
2021-11-08 21:38:03 +01:00
Matteo De Carlo b5c0171034 Fixed warning and Tests lua script (#348)
Fixes #173
Fixes lua script missing in Tests build folder
2021-11-08 11:49:44 +01:00
Matteo De Carlo 82c38509b8 Fixed missing fonts in Tests project (#345)
The Test project was missing some resources
2021-11-06 18:54:57 +01:00
Matteo De Carlo d38aa343e1 Added runtime shader compiler on linux (#339)
* Added runtime shader compiler on linux

* dxcapi path fix

* linux: shaderdump generation on github CI

* linux: worker thread shutdown fix

* thread safety in worker shutdown

* cmake fix?

Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
2021-11-05 12:17:41 +01:00
Turánszki János e2e6dd872b tests: added some simple animation to 65k instances demo 2021-09-27 00:01:57 +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
Turanszki Janos c6c1dc349c frustum culling layermask optimization 2021-06-02 00:33:08 +02:00
Turanszki Janos 521e081e8c windows fix: don't resize to 0 window 2021-04-23 11:55:19 +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 666dd4ff03 platform code refactor (#242) 2021-02-23 00:29:29 +01:00
Turánszki János a0a12ad4ec uwp: port cx to winrt #238 2021-02-22 00:15:42 +01:00
Turanszki Janos 357ec1f4d6 Merge branch 'master' of https://github.com/turanszkij/WickedEngine 2021-02-08 21:10:44 +01:00
Turanszki Janos a02d347a84 default font embedded into exe 2021-02-08 21:10:29 +01:00
Amer Koleci 76eebc3836 Supports for building using CMake on Windows. (#233)
* Supports for building using CMake on Windows.

* Don't override some global variables.

* CMake: Compile correctly editor as well.
2021-02-08 20:05:23 +01:00
Turánszki János 087e6ee9dc removed win32 and ARM builds (#228) 2021-02-03 20:48:30 +01:00
Turánszki János 496a15909d raytraced shadow updates 2021-01-16 20:41:22 +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
Turánszki János e81baa9fef renderer updates (#191)
Big renderer refactor to remove some global state.
- Renderer no longer uses "global scene", but instead takes scene as parameter to functions
- Visibility is exposed, user can generate visibility for arbitrary camera and some exposed parameters
- Big changes in renderer can make user render code in high level interface not compatible with previous versions
- Fixed occlusion culling const correctness
2020-11-23 02:30:10 +01:00
Turanszki Janos de22c5251c build script update 2020-11-16 19:19:04 +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
Turánszki János 26af9078c9 Vulkan and DX12 fixes (#134)
* renderpass updates, vulkan and dx12 warning removal #78

* lots of fixes
2020-07-08 22:07:45 +01:00
Turanszki Janos 3d1b67cc67 updated lua interface 2020-07-05 19:39:40 +01: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 d5ba2d3270 fixed test script 2020-06-28 15:34:50 +01:00
Turanszki Janos fefc361087 improved cpp conformance 2020-06-12 22:09:04 +01:00
Turanszki Janos c7f5c1a17e job system updates, cpu performance improvements 2020-05-31 00:38:03 +01:00
Turanszki Janos df4bd55ba1 UWP platform updates 2020-05-09 18:48:14 +01:00
Turanszki Janos e49006e99c uwp platform updates 2020-05-08 23:38:34 +01:00
Turanszki Janos a1bf837a5e dpi change will trigger ResizeLayout callback for render path 2020-05-06 22:56:08 +01:00