Commit Graph

2872 Commits

Author SHA1 Message Date
Turánszki János e050a83422 hair particle system fix 2021-09-28 14:18:27 +02:00
Amer Koleci 818dabbac0 - FIX: baseVertexLocation being uint32_t instead of int32_t (#325)
- ENH: Draw/Dispatch indirect args_offset can be uint64_t
- FIX: Vulkan not taking care of BlendState alpha to coverage.
2021-09-28 13:06:19 +02:00
Turánszki János 7b2556d5a2 eye adaption improvements 2021-09-28 00:03:59 +02:00
Amer Koleci 48ec4703a9 Graphics: Add TEXTURE_ADDRESS_MIRROR_ONCE support to Vulkan and D3D12 (#323) 2021-09-27 16:55:00 +02: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 72277468ec dx12: minmax sampler feature check 2021-09-26 19:46:39 +02:00
Turánszki János 9a32cf3674 render queue: distance 16bits, instanceindex 24bits;
loadmodel fix;
2021-09-26 17:08:45 +02:00
Turánszki János a49232392f vulkan: added support for sampler reduction mode 2021-09-26 16:04:55 +02:00
flipdp 9ffbad0970 Added more settings for backlog (#322)
* Added more settings for backlog

Added things like disabling lua execution, setting log levels or completely disabling the backlog

* Update wiBackLog_BindLua.cpp

I wasn't sure if adding an unblock binding for lua execution made sense, but since it should only block lua execution in the backlog and lua scripts probably use the exact same bindings I added it in so you can unblock lua execution with lua scripts.

* Changed function overload to default parameter
2021-09-26 12:44:14 +02:00
Turánszki János 71222ec839 improvements: loadmodel, gltf import, obj import 2021-09-25 00:00:53 +02:00
Turánszki János 6f858d6f6c image renderer fix: corners didn't have enough precision as float16 with some projections 2021-09-24 23:52:37 +02:00
Turánszki János 91b834fb56 occlusion culling refactors 2021-09-24 14:55:22 +02:00
Turánszki János 979ed7138d shadow occlusion culling 2021-09-23 23:47:16 +02:00
Turánszki János f0d6bb7da5 image renderer: more push constant packing 2021-09-23 19:09:30 +02:00
Turánszki János 518d820be0 dx12, vulkan: added predication support 2021-09-23 00:54:24 +02:00
Turánszki János 1ac7d8b42d dx12: fix missing resource state from some depth resources 2021-09-22 17:50:43 +02:00
Turánszki János a6a713936d bloom and eye adaption updates (#320)
* bloom and eye adaption updates:
-eye adaption is now histogram-based
-bloom affected by expose and eye adaption
-bloom is no longer in post process chain, it's applied in tonemap shader instead
-path tracing bloom enabled

* mipgen refactors: resource bindings to push constants
2021-09-22 15:10:06 +02:00
sashikknox 19006f5772 - add Editor icon for SDL window (builtin) (#319) 2021-09-22 11:48:28 +02:00
Amer Koleci 963bcecd23 Vulkan: FIX bindlessAccelerationStructures destroy call when raytracing is not supported. (#318)
Remove unused destroyer_bindlessUniformBuffers.
2021-09-21 16:50:07 +02:00
Turánszki János cacb1e1a56 credits update 2021-09-21 12:25:02 +02:00
Matteo De Carlo 977cd73c15 Linux audio (#289) 2021-09-21 12:22:18 +02:00
Amer Koleci 7a4ea17e4e Vulkan improvements. (#316)
* Vulkan: Cleanup core 1.2 feature checks.

* Vulkan: Improve SwapChain creation logic and handle capabilities in better way.

* Vulkan: VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME depends on VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME (which is Core 1.2)

* VK_KHR_get_physical_device_properties2 is core in 1.1 and no need to enable on instance extension.

* Vulkan: FIX checks with core 1.2 features.
2021-09-21 11:07:23 +02:00
Turánszki János 72fc0fd453 emitter fix 2021-09-20 15:19:51 +02:00
Turánszki János cab3a1acb6 emitter memory budget improvement and fixes 2021-09-20 12:59:46 +02:00
Turánszki János 1b7d3c48ca force field visualizer fix 2021-09-20 11:42:30 +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 da1131686f Vulkan: Some code cleanups and use uint for queue families. (#312) 2021-09-17 10:42:16 +02:00
Turanszki Janos 1824e7d7a2 added more initializer timings 2021-09-16 19:06:39 +02:00
Turanszki Janos c4f05170a3 added performance timings for GUI 2021-09-16 16:04:20 +02:00
Turanszki Janos e90672cf2f added system initialization timings; profiler fix; 2021-09-16 00:50:07 +02:00
Turanszki Janos 359497497d graphics device refactors 2021-09-15 16:51:22 +02:00
Turanszki Janos 64ef9aa26b vrs fixes 2021-09-13 12:52:49 +02:00
Amer Koleci e5a1bf60f7 Merge pull request #307 from turanszkij/fix_vk_barrier
FIX vulkan barrier for indirect buffer usage and initial data.
2021-09-10 17:56:16 +02:00
Amer Koleci d356a27d4d FIX vulkan barrier for indirect buffer usage and initial data. 2021-09-10 16:18:06 +02:00
Turanszki Janos e3b8342914 fixes 2021-09-08 17:22:39 +02:00
Turanszki Janos 147c1bf6b2 post processes: replaced constant buffers with push constants 2021-09-08 14:20:44 +02:00
Turanszki Janos 42829dccd9 moved more things to bindless 2021-09-08 12:41:27 +02:00
Turanszki Janos db1ed8db32 vulkan: texture initial data layers fix 2021-09-08 10:15:56 +02:00
Turanszki Janos 331f52e8c3 some memcpy removals, dx12 fix 2021-09-07 16:36:02 +02:00
Turanszki Janos 5ca25dde0d added updaterenderdataasync, fixes 2021-09-07 12:17:56 +02:00
WANG QY 168f8d3ac7 Disable enum bitmask operators by default (#300)
Co-authored-by: Turánszki János <turanszkij@users.noreply.github.com>
2021-09-07 08:56:40 +02:00
Turanszki Janos b6469cb9a9 optimized scene buffer updates 2021-09-06 19:23:47 +02:00
Turanszki Janos 39d2f13a39 dx12 primitivetopology fix 2021-09-06 18:11:55 +02:00
Turanszki Janos e6c5936fba raytracing fixes 2021-09-06 17:18:07 +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
Turanszki Janos 0674f736ed dx12, vulkan: copy allocator doesn't need to map again 2021-09-06 11:05:52 +02:00
Turanszki Janos 88da51d3e8 fix: incorrect initialization of non-POD data 2021-09-06 10:12:12 +02:00
Turanszki Janos 220342b461 texture readback fix 2021-09-05 20:02:18 +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