Commit Graph

541 Commits

Author SHA1 Message Date
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 4fbc2435de Emitter raytracing (#329)
* emitter rewrite to support raytracing, still has some problems

* added emitters to compute BVH

* sorting only for culled rasterized particles; fixes;

* emitter mesh shader update

* emitter tracing improvements

* particle traces will use simplified lighting model

* don't update particle gpu data when scene update requests are stopped

* path tracing unlit material support

* path tracing unlit material fix

* path tracing: unlit refactor
2021-10-07 17:00:17 +02:00
Turánszki János 71222ec839 improvements: loadmodel, gltf import, obj import 2021-09-25 00:00:53 +02:00
sashikknox 19006f5772 - add Editor icon for SDL window (builtin) (#319) 2021-09-22 11:48:28 +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
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
Turanszki Janos b549e6c597 editor: jump to camera will retain screen aspect 2021-08-24 20:20:33 +02:00
Turanszki Janos 3a9351e9bd editor: camera improvements 2021-08-19 12:07:00 +02:00
Turanszki Janos 0234c972ab editor: fixed textureslot tooltip 2021-08-06 20:09:12 +02:00
Turanszki Janos ab21ffc61d editor: obj importer will create root entity, translator update 2021-07-23 00:36:38 +02:00
Turánszki János 3d55225452 FidelityFX-FSR (#288)
* FidelityFX-FSR

* fsr update

* editor fsr sharpness slider
2021-07-18 17:18:01 +02:00
Turanszki Janos 5b7249e999 recursive entity serialization; editor fixes for selection, copy, instance placement, gui focus 2021-07-15 13:46:23 +02:00
Megumumpkin d451a107be Editor text input fix for Linux (#279)
* Editor text input fix for Linux

* SDL mouse delta scroll fix

Co-authored-by: Megumumpkin <megumumpkin@gmail.com>
2021-07-11 18:44:57 +02:00
Turanszki Janos dc80d0597b editor: if load model contains new camera, snap to the first one 2021-07-08 22:59:42 +02:00
Silas Oler 4adbb67660 exponential height fog (#275) 2021-07-05 14:12:59 +02:00
Turanszki Janos 35fa8e79c5 acceleration structure updating improvements 2021-06-24 11:34:54 +02:00
Turanszki Janos c034a26fdb uwp updates 2021-06-22 11:16:13 +02:00
Turanszki Janos 781916b62b fixes 2021-06-21 11:12:49 +02:00
Turanszki Janos 3d9db2cbcf raytracing: more precise feature query 2021-06-17 19:38:18 +02:00
Turanszki Janos 657d391fb1 volumetric clouds: reduce blue noise sampling and reduce resolution 2021-06-17 13:55:19 +02:00
Turanszki Janos 1b7432a57f volumetric cloud updates:
- added light shaft occlusion support
- moved into weather
- parameter access, serialization
2021-06-16 21:57:20 +02:00
Turanszki Janos 6995a64ec4 editor: weather window fix 2021-06-13 15:48:51 +02:00
Turánszki János 73dad9d860 linux meshoptimizer fix 2021-06-12 17:39:23 +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
Turanszki Janos 6c6f650b1c editor: material window texture slot visualizer 2021-05-30 18:23:04 +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
Turanszki Janos 83c4467a54 raytracing updates; water and ocean shader fog alpha fix; 2021-05-26 10:20:25 +02:00
Turanszki Janos 026dc11a99 added support for Open Image Denoise library for path tracing and lightmap baking 2021-05-22 11:51:51 +02:00
Turánszki János 662470520e Raytraced shadow updates (#263)
* rtshadow and rtao refactors

* vulkan update

* blue noise for rtshadow, rtao

* path trace fix

* rt shadow multi spp

* path trace fix

* fidelity-fx raytraced shadows denoiser

* fixes

* raytracing light sampling improvement

* blue noise packed into texture

* vulkan fix

* blue noise refactor

* rtao svgf denoiser

* denoiser fixes

* fix

* blue noise update

* precompute blue noise phase

* rtao forces 1spp

* denoise 4 lights

* fixes

* unshadowed light fix
2021-05-18 13:11:55 +02:00
Turanszki Janos fc982f19b7 exposed atmosphere settings in weather component, and added skyExposure 2021-05-10 21:12:48 +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
Turanszki Janos 4025f24a1d emitter and editor fix 2021-04-18 10:51:56 +02:00
Turanszki Janos dbd3e6df06 refactor: ocean, water ripples 2021-04-11 01:10:24 +02:00
Turanszki Janos d2ae9d7e66 updated lightmap and decal packing systems 2021-04-10 20:03:02 +02:00
Turanszki Janos 02c9d0335d improved scene gpu buffer updates 2021-04-05 00:06:38 +02:00
Turanszki Janos ea673fb3b7 depth of field params moved to CameraComponent 2021-04-04 17:07:27 +02:00
Turanszki Janos 0194c08e2d raytracing updates 2021-04-01 12:22:40 +02:00
Turánszki János fc2cbfcc1c path tracing hardware acceleration #175 (#253)
* path tracing hardware acceleration #175

* hlsl5 fix

* fixes

* random seed fix

* ci fix

* fixes

* re enable spirv validation in linux

* path trace updates

* pathtrace fix

* raytracing fixes

* path tracing normal map limit
2021-03-28 19:48:34 +02:00
Turanszki Janos 18da0a1521 tonemap + eye adaption upgrade, and other improvements 2021-03-25 22:07:48 +01:00
Turánszki János 933080a2e4 Unified Shader Compiler (#250) 2021-03-21 18:54:04 +01:00
Turanszki Janos 99aa9d0f16 emitter updates 2021-03-11 00:08:26 +01:00
Turánszki János 1be19b50d7 Bindless Descriptors (#244)
* bindless descriptors implementation base

* push constants

* dx11 tonemap fix

* stressing bindless descriptors

* lots of fixes

* remove some stuff and cmake update

* cmake update

* performance optimization for scene buffer updating

* documentation and shader compiler updates

* general updates improving scene gpu data updating

* softbody gpu updating improvement

* readme update: gpu based validation

* dx12: omit IA from root when there is no input layout

* vulkan: bindless sampler fix

* vulkan critical fix and renderer update

* dx12 refactor

* fixed BLAS updates and vulkan rt hangs

* object setcastshadow fix

* vulkan raytracing fixes

* vulkan fix

* object shader fix

* documentation update

* rewritten constant buffer arrays as arrays of byte address buffers

* raytraced reflection env probe

* occlusion culling using push constants

* bindless vertex fetch

* fixes
2021-03-08 00:33:40 +01:00
Turanszki Janos 783c824139 resource manager upgrade: embedded resources support 2021-03-01 00:37:55 +01:00
Turanszki Janos 3c3cfe9e9b editor paint tool: pressure sensitivity 2021-02-26 01:08:33 +01:00
Turanszki Janos 9b4a8870ac file system refactor 2021-02-25 21:52:41 +01:00
Turanszki Janos 3a4a3c9b91 file system improvements 2021-02-24 21:39:24 +01:00