Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/add scripting engine #116

Draft
wants to merge 4,119 commits into
base: master
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
4119 commits
Select commit Hold shift + click to select a range
7b25b5a
[GitHub] Some screenshots for the main page
PanosK92 Oct 11, 2023
d6301d3
Update readme.md
PanosK92 Oct 11, 2023
688a779
Update readme.md
PanosK92 Oct 11, 2023
2fcd99e
Update readme.md
PanosK92 Oct 11, 2023
74284af
Update readme.md
PanosK92 Oct 11, 2023
be0a3d4
Update readme.md
PanosK92 Oct 11, 2023
df897fb
Update readme.md
PanosK92 Oct 11, 2023
7c69c83
[Car] The anti-roll bar force has been split into two, one for the fr…
PanosK92 Oct 11, 2023
7c16389
Merge branch 'master' of https://github.com/PanosK92/SpartanEngine
PanosK92 Oct 11, 2023
574f547
[Renderer] Introduced DrawString() which can be used to render text a…
PanosK92 Oct 11, 2023
da33553
[Font] Improved rendering of multiple strings of text
PanosK92 Oct 11, 2023
28f826c
[Renderer] Fixed a bug with IBL for transparents, also made the fores…
PanosK92 Oct 11, 2023
faa49c6
[Misc] Calibrations
PanosK92 Oct 11, 2023
2cfd8f5
[Profiler] Fixed a bug where the performance metrics would update so …
PanosK92 Oct 12, 2023
65e0f40
[Car] Added on screen text with certain wheel metrics (for each wheel)
PanosK92 Oct 12, 2023
0285d8d
[Log] Fixed a regression where after the engine has started, nothing …
PanosK92 Oct 12, 2023
ef3900b
[Car] Slip ratio computation doesn't rely on thresholds and is more r…
PanosK92 Oct 12, 2023
5a54b00
[Car] Fixed some issues with the pacejka force computation
PanosK92 Oct 12, 2023
07f08c9
[Car] Removed threholds from slip angle computation and fixe an issue…
PanosK92 Oct 12, 2023
40be5ef
[Car] Cleanup
PanosK92 Oct 12, 2023
4f6cd28
[Car] Improved gearbox simulation
PanosK92 Oct 12, 2023
493760c
[Car] Made compute_pacejka_force() more robust
PanosK92 Oct 12, 2023
abe5c0c
[Car] Improved engine behaviour so that it revs up and down
PanosK92 Oct 12, 2023
3e1fd3c
[Car] Added debug drawing for engine and body properties
PanosK92 Oct 12, 2023
50fc8fb
[Car] Introduced aerodynamic drag
PanosK92 Oct 13, 2023
a325e3d
[Physics] Don't simulate or debug draw while loading a world in a dif…
PanosK92 Oct 13, 2023
6f5644d
Update readme.md
PanosK92 Oct 13, 2023
35cbf2d
[Car] Renamed some variables for better readability
PanosK92 Oct 13, 2023
4e0c939
[Car] Made both the gearbox and wheel radius more realistic, this pro…
PanosK92 Oct 16, 2023
28dc5ea
[Car] Improved gearbox and engine simulation and used more real world…
PanosK92 Oct 16, 2023
03ada18
[Car] Fixed some bugs related to breaking and the gearbox
PanosK92 Oct 17, 2023
e34d6a9
[Car] Fixed direction of aerodyanmics
PanosK92 Oct 17, 2023
dbf34c9
[Car] Fixed some breaking issues
PanosK92 Oct 17, 2023
446e6ee
[Car] Some more fixes (more work is needed)
PanosK92 Oct 17, 2023
17b8a27
[Car] When the car is moving in any direction and throttle becomes op…
PanosK92 Oct 17, 2023
1548a57
[Car] More bug fixing
PanosK92 Oct 17, 2023
06a0ee1
[Wiki] Added an image with spartans for the contributors page
PanosK92 Oct 19, 2023
99b8054
More screenspace shadow work
Nickelium Oct 19, 2023
465053f
Screenspace shadows shaders
Nickelium Oct 19, 2023
a736e62
Missing composition of screenspace shadow result and cleanup wrong fi…
Nickelium Oct 19, 2023
b96612d
Revert wrong files and adapt to code conventions
Nickelium Oct 20, 2023
a689add
[Car] Fixed a couple of input and gearbox bugs
PanosK92 Oct 20, 2023
5b16090
[Car] Moved all member variables into one struct as it was becoming c…
PanosK92 Oct 20, 2023
142afc4
[Car] Pacejka forces are now drawn on the screen
PanosK92 Oct 20, 2023
3c6621c
[Car] Slip ratio and slip angle is not drawn for each wheel
PanosK92 Oct 20, 2023
2253bf8
[Car] Fixed anti-roll bar producing inverted forces causing the car t…
PanosK92 Oct 20, 2023
f7adfd1
[Car] Fixed an issue where when going backwards the slip angle would …
PanosK92 Oct 20, 2023
d25357c
[Car] Fixed an issue where the wheel velocity was not calculate corre…
PanosK92 Oct 20, 2023
10bfdcf
[Car] Tire friction model improvements
PanosK92 Oct 20, 2023
8a129a5
Fix warning by casting to proper types
Nickelium Oct 20, 2023
c63f3d3
Merge with latest
Nickelium Oct 20, 2023
cf6b342
[Car] Improved slip ratio calculation
PanosK92 Oct 20, 2023
076be6a
Remerge one more time
Nickelium Oct 20, 2023
3815230
Fix compile error: cascade count hard coded to 3
Nickelium Oct 20, 2023
0950862
Merge branch 'master' of https://github.com/PanosK92/SpartanEngine
Nickelium Oct 20, 2023
3f3c3f3
Switch branch and missing merge
Nickelium Oct 20, 2023
912a728
[Car] Added debug arrows under each front tire to visualise pacejka f…
PanosK92 Oct 20, 2023
a3959a0
[Renderer] Fixed crashe related to updating the light constant buffer
PanosK92 Oct 21, 2023
072b722
[Shaders] Move all screen space shadows related shaders under the sam…
PanosK92 Oct 21, 2023
e577784
[Shaders] Fixed include path
PanosK92 Oct 21, 2023
5a229b9
[SSS] Removed the need to track light indices, the screen space shado…
PanosK92 Oct 21, 2023
bfe8379
[Renderer] Enabled ACES tonemapping and increased the sss thickness b…
PanosK92 Oct 21, 2023
b5b211a
Merge pull request #113 from Nickelium/screenspaceshadow
PanosK92 Oct 21, 2023
6a5b273
[Contributors] Added Tri Tran
PanosK92 Oct 21, 2023
507bf1b
[Rendering] Calibrated some lighting parameters
PanosK92 Oct 21, 2023
2d8bf8b
[Renderer] Fixed an issue where transparents would not write to the d…
PanosK92 Oct 21, 2023
9386623
[Word] Adjusted the camera height as well as some lighting properties…
PanosK92 Oct 21, 2023
b5ec515
[SSR] Enabled for transparents and improved performance. Also disable…
PanosK92 Oct 21, 2023
d482ccd
[SSR] Reduce ray steps and binary search steps to something more sane
PanosK92 Oct 22, 2023
d79ac6e
Implement basic undo system (wip)
perkele1989 Oct 22, 2023
511f319
Maybe only undo if ctrl is held...
perkele1989 Oct 22, 2023
cbad329
[Settings] Introduced UseRootShaderDirectory xml option (still inactive)
PanosK92 Oct 22, 2023
8cc457d
[Settings] xml file will now only be created (if needed) during engin…
PanosK92 Oct 22, 2023
9a4b6a8
[Enitty] Implemebnted unique IDs
PanosK92 Oct 22, 2023
ffff608
[Renderer] Fixed an issue where FSR 2 would ghost if any transparent …
PanosK92 Oct 22, 2023
08eb6e0
[Renderer] Deleted Grid class an all grid related code, the world gri…
PanosK92 Oct 22, 2023
2439a16
[Vulkan] Fixed an issue with HDR color space deteciton
PanosK92 Oct 22, 2023
01ca33d
[Renderer] Grid rendering now fades out and has an anti-moire algorithm
PanosK92 Oct 23, 2023
425e646
[Renderer] The grid now writes into the FSR 2 reactive mask
PanosK92 Oct 23, 2023
7e3d719
[Renderer] Grid now use the unjittered view projection matrix
PanosK92 Oct 23, 2023
ea7f904
[Renderer] Switched swapchain HDR format to 10 bit with an ST2084 col…
PanosK92 Oct 23, 2023
0e476a8
[HDR] Fixed an issue where the PQ transfer function would output whit…
PanosK92 Oct 23, 2023
14a9adb
[Audio] Fixed a bug where an audio source would continue to play even…
PanosK92 Oct 23, 2023
09f8634
[Renderer] Exposure is now fed directly into FSR 2
PanosK92 Oct 23, 2023
23d51ee
[ScreenSpaceShadows] Removed my old screen space shadows since they a…
PanosK92 Oct 23, 2023
a787c1d
[Rendering] Improved refraction
PanosK92 Oct 24, 2023
bc466a8
[ConstantBuffers] Optimized light buffer
PanosK92 Oct 24, 2023
c812d4e
[Refraction] Greatly improved (physically based and does chromatic ab…
PanosK92 Oct 24, 2023
b5fe8d9
[D3D12] Build fix
PanosK92 Oct 24, 2023
d876ce1
[Refraction] Chromatic aberration strength is not tighted to the IOR …
PanosK92 Oct 24, 2023
104a2d1
[Shaders] Extracted common vertex code from the depth prepass and the…
PanosK92 Oct 24, 2023
0b3136f
[World] The plants and the trees in the forest default world will be …
PanosK92 Oct 24, 2023
f73f3bf
[World] Updated default world selection to be the forest
PanosK92 Oct 24, 2023
c3bcc9f
Delete enc_temp_folder/ac7d7a654acaff6ce6dbdcd67e914c4b directory
PanosK92 Oct 24, 2023
245e17a
Update contributing.md
PanosK92 Oct 24, 2023
7007afd
Update contributing.md
PanosK92 Oct 24, 2023
a68d820
Update contributing.md
PanosK92 Oct 24, 2023
3829dbb
Update contributing.md
PanosK92 Oct 24, 2023
1a83a1f
[Material] Introduced VertexAnimateWind flag, this will allow for sel…
PanosK92 Oct 24, 2023
4577794
[Forest] Trees trunks are not affected by wind (they don't animate)
PanosK92 Oct 24, 2023
62e05dc
[Renderer] Updated depth prepass with material properties so it can r…
PanosK92 Oct 24, 2023
8066d6b
Merge branch 'master' of https://github.com/PanosK92/SpartanEngine
PanosK92 Oct 24, 2023
f344f7c
[Shadows] Wind animated vertices are now captured in the shadow maps
PanosK92 Oct 24, 2023
8e6d748
[Forest] Small plants will now rotate to match the surface normal
PanosK92 Oct 24, 2023
5608798
[Wind] Feeding perlin noise into the sine wave to make the vegetation…
PanosK92 Oct 24, 2023
f42c2ff
[Refraction] Objects which are behind the surface we are computing re…
PanosK92 Oct 24, 2023
234d648
[Water] Real wave deformation
PanosK92 Oct 24, 2023
9431304
[Water] Wave are are now based on the gerstner wave equation
PanosK92 Oct 24, 2023
8974215
[Wind] Vegetation wil not sway at the point of contact with the groun…
PanosK92 Oct 25, 2023
96c4f99
[Water] Improved wave patterns
PanosK92 Oct 25, 2023
1dc2964
[Wind] Introduced low and high frequency noise to the base sine waves…
PanosK92 Oct 25, 2023
2cdc876
[Shadows] Removed cascaded shadow mapping since the high quality scre…
PanosK92 Oct 31, 2023
ecf9521
[Shadows] Directional lights now have a fixed number of casacdes, two…
PanosK92 Oct 31, 2023
fd40d64
[Shadows] Expose only the normal bias in editor light options; regula…
PanosK92 Nov 1, 2023
f09e85a
[Vulkan] Fixed an issue where chaning render target array index would…
PanosK92 Nov 1, 2023
db62988
[Shadows] Fixed a regression where alpha testing would not work
PanosK92 Nov 2, 2023
0189f7a
[Shadows] Added smooth transition between the near and far cascade
PanosK92 Nov 2, 2023
6004807
Update readme.md
PanosK92 Nov 2, 2023
c6581ec
Update readme.md
PanosK92 Nov 2, 2023
21a4367
Update readme.md
PanosK92 Nov 2, 2023
d14d45a
Update readme.md
PanosK92 Nov 2, 2023
2626014
[SSGI] Improved temporal filter quality (less ghosting)
PanosK92 Nov 2, 2023
9ddbdff
[TemporalFilter] Disablec catmull rom 9 sampling until I can use a bi…
PanosK92 Nov 2, 2023
94a5538
[Profiler] Added sort check box to prevent a scenario where it's hard…
PanosK92 Nov 2, 2023
ad12c19
[Rendering] Optimized g-buffer pass so that it doesn't do expensive o…
PanosK92 Nov 2, 2023
e651b71
[SSGI] Fixed history accumulation regression
PanosK92 Nov 2, 2023
79b7307
[Renderer] Fixed an issue with FSR/TAA jitter computation
PanosK92 Nov 2, 2023
eee3e22
[Rendering] Improved motion vector precision
PanosK92 Nov 3, 2023
e451883
[Rendering] Improved depth linearization
PanosK92 Nov 3, 2023
9729d93
[Shaders] Removed reduntant function
PanosK92 Nov 3, 2023
caffd65
dummy
PanosK92 Nov 3, 2023
ef7bf65
[Shaders] Improved direction_sphere_uv()
PanosK92 Nov 3, 2023
a2f4984
[FSR2] reverted motion vector scale back to what it was
PanosK92 Nov 3, 2023
a7755a2
[Shaders] Reverted motion vectors computation
PanosK92 Nov 3, 2023
11b81bf
[Rendering] Improved motion vectors and motion blur
PanosK92 Nov 3, 2023
90c5df8
[Shaders] Some motion blur upgrades
PanosK92 Nov 3, 2023
c5645e6
[Shaders] Adjusted motion blur strength
PanosK92 Nov 3, 2023
b55d287
[Rendering] Reduced FSR2 ghosting
PanosK92 Nov 3, 2023
384f1e9
[Rendering] Enabled auto generation of FSR 2 masks, this drastically …
PanosK92 Nov 4, 2023
4f8ea55
[D3D12] Build fix
PanosK92 Nov 4, 2023
88ece2a
[Rendering] Added missing semantic to grid shader
PanosK92 Nov 4, 2023
572171d
[Rendering] Pass_Icons() is now using an unjittered projection matrix…
PanosK92 Nov 4, 2023
b26d656
[Vulkan] Fixed validation error
PanosK92 Nov 4, 2023
19e2a15
[Rendering] Updated composition pass so that alpha is maintained and …
PanosK92 Nov 4, 2023
69afd5e
[Rendering] Fixed an issue where the fog would not affect the sky
PanosK92 Nov 4, 2023
eb754a0
[Rendering] Fixed an issue where certain motion vectors were not bein…
PanosK92 Nov 4, 2023
da7b46f
[Rendering] Implemented atmospheric scattering and removed environmen…
PanosK92 Nov 8, 2023
25b1dc5
[Rendering] Improved atmospheric scattering
PanosK92 Nov 9, 2023
1903499
[Rendering] Some small atmospheric scattering tweaks
PanosK92 Nov 9, 2023
44550ef
[Rendering] Re-enabled fog, was disabled to test atmospheric scattering
PanosK92 Nov 9, 2023
b357cb7
[Rendering] Some atmopsheric scattering tweaks
PanosK92 Nov 9, 2023
d8be172
[Rendering] Added starts to the atmospheric scattering and fixed vari…
PanosK92 Nov 9, 2023
c1d0889
[Rendering] Removed hardcoded ambient light, the ambient light is nat…
PanosK92 Nov 9, 2023
6141b42
Update readme.md
PanosK92 Nov 10, 2023
f641ad1
Update readme.md
PanosK92 Nov 10, 2023
fa449e7
[Rendering] Atmospheric scattering improvements to approximate realit…
PanosK92 Nov 13, 2023
b6c8fd3
[Rendering] Reduced intensity of space light
PanosK92 Nov 13, 2023
ad73969
Update readme.md
PanosK92 Nov 13, 2023
3c7c5d5
[Renderer] Removed depth pre pass option since it's now always enable…
PanosK92 Nov 14, 2023
2292935
[RHI] Removed the need to manually call BeginRenderPass
PanosK92 Nov 14, 2023
07637fd
Update contributing.md
PanosK92 Nov 17, 2023
c502f94
Update readme.md
PanosK92 Nov 17, 2023
8a52261
Merge branch 'master' of https://github.com/PanosK92/SpartanEngine
PanosK92 Nov 17, 2023
0b16af6
pulled latest from master
PanosK92 Nov 17, 2023
d2eefba
fixed compilation error
PanosK92 Nov 17, 2023
be088b2
Merge pull request #111 from IkerGalardi/master
PanosK92 Nov 17, 2023
0f1baea
[RHI] Removed the need to manually call EndRenderPass()
PanosK92 Nov 18, 2023
07e08f7
Merge branch 'master' of https://github.com/PanosK92/SpartanEngine
PanosK92 Nov 18, 2023
7cbfd0a
[Renderer] Moved updating of the frame buffer struct into UpdateConst…
PanosK92 Nov 18, 2023
61983d9
[Shaders] Fixed a regression that would cause vegetation and water mo…
PanosK92 Nov 18, 2023
62da010
[Premake] Fixed PR regression that would cause release builds to have…
PanosK92 Nov 18, 2023
7452115
[Renderer] Enabled alpha tested shadows for all cascades since the di…
PanosK92 Nov 18, 2023
cad72fe
[Renderer] Made the world grid transparent and reduced frame accumula…
PanosK92 Nov 19, 2023
fa614f5
index change
PanosK92 Nov 19, 2023
f820924
Merge pull request #115 from perkele1989/master
PanosK92 Nov 19, 2023
050f707
Merge branch 'master' of https://github.com/PanosK92/SpartanEngine
PanosK92 Nov 19, 2023
52f0327
Fixed the issue of Command creation mid-gizmo drag.
ApostolosBouz Nov 19, 2023
b7fd341
Update contributing.md
PanosK92 Nov 19, 2023
2c071e9
Merge pull request #120 from ApostolosBouz/undo_fix
PanosK92 Nov 19, 2023
d2e2d66
[Commands] Fixed undo for Transform
PanosK92 Nov 19, 2023
5fa88b9
[Commands] Deleted Command.cpp (redundant)
PanosK92 Nov 19, 2023
edcc783
[Commands] Fixed redo for Transform
PanosK92 Nov 19, 2023
a30d952
[Commands] Added undo/redo keyboard shortcuts to the Shurtcuts & Inpu…
PanosK92 Nov 19, 2023
290d944
Edit Discord badge
MichaelHinrichs Nov 20, 2023
f7a572c
Merge pull request #121 from MichaelHinrichs/patch-1
PanosK92 Nov 20, 2023
376fa01
[Lighting] For the directional light, the color and intensity are no …
PanosK92 Nov 20, 2023
95da4b1
Merge branch 'master' of https://github.com/PanosK92/SpartanEngine
PanosK92 Nov 20, 2023
11efe39
[World] Set the car roughness to something more realistic
PanosK92 Nov 20, 2023
efa98d3
[AtmosphericScattering] Improved day so that you can actually see a b…
PanosK92 Nov 20, 2023
4f8db59
[Lighting] Set intensity to 1.0 since the color from the atmospheric …
PanosK92 Nov 20, 2023
e63f201
[Lighting] Removed atmospheric scattering sample idea since it's not …
PanosK92 Nov 20, 2023
ca4ed5e
[VertexProcessing] All vegetation will now bend/distort when the play…
PanosK92 Nov 20, 2023
424d435
[Forest] The player can now create ripples on the water surface
PanosK92 Nov 20, 2023
b388b1d
[Forest] Re-enabled default water waves (disabled before for debuggin…
PanosK92 Nov 20, 2023
ce5fab3
[Forest] Increased ripple amplitude
PanosK92 Nov 20, 2023
81dc8a2
[Forest] Tweaked water material (needs to study artist resources to m…
PanosK92 Nov 20, 2023
568e622
[VertexProcessing] Improved player vegetation bending
PanosK92 Nov 21, 2023
67b899e
[VertexProcessing] Improved water ripples to only occur when the play…
PanosK92 Nov 21, 2023
7c297f0
[VertexProcessing] Water ripples caused by player movement will now c…
PanosK92 Nov 21, 2023
9964ab7
[Forest] Fixed an issue where when looking up or down with the physic…
PanosK92 Nov 21, 2023
9e7b75a
[VertexProcessing] Improved wave propagation logic
PanosK92 Nov 21, 2023
2ac43e3
[Shaders] Renamed vertex simulation shader to vertex processing
PanosK92 Nov 21, 2023
a074d7b
[Forest] Made water ripples a bit more realistic
PanosK92 Nov 21, 2023
1933dfd
[Forest] Water now uses interleaved sampling of the normal map, this …
PanosK92 Nov 21, 2023
e6647d6
[Forest] Added wave interference pattern for normal mapped ripples
PanosK92 Nov 21, 2023
76362bf
[Shader] Comment
PanosK92 Nov 21, 2023
ce37824
[Shaders] Fixed error related to non static functions that showed up …
PanosK92 Nov 26, 2023
71a7118
[ThirdParty] Updated Vulkan to latest
PanosK92 Nov 26, 2023
d43cd50
[World] Enabled physics for the floors and walls of the Doom level
PanosK92 Nov 26, 2023
7aa116b
[World] Enabled physics for every mesh in the Doom world
PanosK92 Nov 26, 2023
3855de1
[Architecture] Merged Transform component into Entity class, this is …
PanosK92 Nov 29, 2023
ea7164d
[Forest] Decreased water tiling from 1000 to 250, this is because the…
PanosK92 Nov 29, 2023
f316bc1
[Performance] Reduced startup time
PanosK92 Nov 29, 2023
90f5c29
[ScreenSpaceShadows] Added screen edge fade, this removes edge artifa…
PanosK92 Nov 29, 2023
3e13c99
[ScreenSpaceShadows] Increased quality since they seem to be very cheap
PanosK92 Nov 29, 2023
160f539
[Vulkan] Fixed a warning related to vkGetQueryPoolResults which came …
PanosK92 Nov 29, 2023
0cb233d
[Terrain] No more hard edges which gave the terrain a low poly look
PanosK92 Nov 29, 2023
f1d9e1a
[Terrain] Reduced smoothing to only 1 iteration since it still looks …
PanosK92 Nov 29, 2023
f7665f5
[Car] Fixed an issue related to entity cloning and updated the song t…
PanosK92 Nov 29, 2023
cf7e828
[Entity] Fixed threading related crash
PanosK92 Nov 29, 2023
e474f22
[Renderer] Replaced second g-buffer material render target with a str…
PanosK92 Nov 30, 2023
0358324
[Renderer] Fixed an issue where the material structured buffer wasn't…
PanosK92 Nov 30, 2023
3eec4d4
[Material] Added subsurface scattering and index of refraction proper…
PanosK92 Nov 30, 2023
38e9731
[ScreenSpaceShadows] Removed light and surface building since it's no…
PanosK92 Nov 30, 2023
92def3d
[Renderer] Fixed an issue where the material structured buffer would …
PanosK92 Nov 30, 2023
3b9b371
[Material] Added index of refraction which can be tweaked via the edi…
PanosK92 Dec 1, 2023
8b77de1
[Lighting] Added subsurface scattering (basic and only used for veget…
PanosK92 Dec 1, 2023
7bc1f52
[Forest] Enabled subsurface scattering for vegetation (a very basic v…
PanosK92 Dec 1, 2023
ae934ef
[Editor] Fixed erratic behaviour of material multiplier sliders when …
PanosK92 Dec 1, 2023
0d51132
[World] Fixed crash that would occur in debug configruration mode whe…
PanosK92 Dec 1, 2023
38849b8
[ScreenSpaceShadows] Fixed all screen glitches by using a sampler as …
PanosK92 Dec 1, 2023
62d215a
[D3D12] Build fix
PanosK92 Dec 1, 2023
b5d81f8
Update contributing.md
PanosK92 Dec 1, 2023
64cae36
Update contributing.md
PanosK92 Dec 1, 2023
884d51e
Update readme.md
PanosK92 Dec 1, 2023
a8324cf
[ScreenSpaceShadows] Double sample count since the pass is cheap, sha…
PanosK92 Dec 1, 2023
95bb9ee
Merge branch 'master' of https://github.com/PanosK92/SpartanEngine
PanosK92 Dec 1, 2023
f3435f7
[Audio] Added wind and underwater sound effects for the forest world,…
PanosK92 Dec 1, 2023
f64cdd1
[SubsurfaceScattering] Added fresnel and lowered the intensity a litt…
PanosK92 Dec 1, 2023
27a3fc9
[Forest] Added foosteps sound when walking
PanosK92 Dec 2, 2023
90c1376
[ReadMe] Added some interesting facts
PanosK92 Dec 2, 2023
7cb0b3a
[ReadMe] Some tweaks and additions
PanosK92 Dec 2, 2023
9f186ae
[ReadMe] Corrected link
PanosK92 Dec 2, 2023
487f87b
WIP: Made the basic copies and moved the required files.
NickPolyder Nov 5, 2023
2a0fae4
Fixes for the linker and bring to version .NET Core 7.
NickPolyder Nov 5, 2023
3a6c9a2
Move the library header files to their proper location.
NickPolyder Nov 18, 2023
481575c
Hooks to Init, Tick, Shutdown.
NickPolyder Nov 11, 2023
d636573
Clean up premake. move C# SDK to new path.
NickPolyder Nov 18, 2023
c0b28d1
Make path dynamic.
NickPolyder Nov 18, 2023
f44f291
re build the library zip file
NickPolyder Dec 4, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
[SSS] Removed the need to track light indices, the screen space shado…
…w passes and the light pass, now read the lights in the order that the renderer already has them, the renderer's light vector can then be ordered in any way.
PanosK92 committed Oct 21, 2023

Verified

This commit was signed with the committer’s verified signature. The key has expired.
dietmarw Dietmar Winkler
commit 5a229b94e56faf4c12d1a329cfead5a14b63cc7e
10 changes: 3 additions & 7 deletions data/shaders/light.hlsl
Original file line number Diff line number Diff line change
@@ -56,14 +56,10 @@ void mainCS(uint3 thread_id : SV_DispatchThreadID)
}

// screen space shadows
int ArraySliceIndex = pass_get_f3_value2().x;
if
(
light_has_shadows() && is_screen_space_shadows_enabled()
&& ArraySliceIndex != -1
)
int array_slice_index = pass_get_f3_value2().x;
if (light_has_shadows() && is_screen_space_shadows_enabled() && array_slice_index != -1)
{
shadow.a = min(shadow.a, tex_sss[int3(thread_id.xy, ArraySliceIndex)].x);
shadow.a = min(shadow.a, tex_sss[int3(thread_id.xy, array_slice_index)].x);
}

// ensure that the shadow is as transparent as the material
6 changes: 3 additions & 3 deletions data/shaders/screen_space_shadows/screen_space_shadows.hlsl
Original file line number Diff line number Diff line change
@@ -19,9 +19,9 @@ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

static const uint g_sss_max_steps = 32; // Max ray steps, affects quality and performance.
static const float g_sss_ray_max_distance = 0.5f; // Max shadow length, longer shadows are less accurate.
static const float g_sss_thickness = 0.05f; // Depth testing thickness.
static const uint g_sss_max_steps = 32; // Max ray steps, affects quality and performance.
static const float g_sss_ray_max_distance = 0.5f; // Max shadow length, longer shadows are less accurate.
static const float g_sss_thickness = 0.05f; // Depth testing thickness.
static const float g_sss_max_delta_from_original_depth = 0.005f; // The maximum allowed depth deviation from the original pixel (a big deviation decreased the probabilty that the pixel is the occluder).
static const float g_sss_step_length = g_sss_ray_max_distance / (float)g_sss_max_steps;

1 change: 1 addition & 0 deletions data/shaders/screen_space_shadows/sss.hlsl
Original file line number Diff line number Diff line change
@@ -30,6 +30,7 @@ void mainCS(uint3 thread_id : SV_DispatchThreadID)
// create surface
Surface surface;
surface.Build(thread_id.xy, true, true, true);

// create light
Light light;
light.Build(surface);
8 changes: 4 additions & 4 deletions editor/Widgets/RenderOptions.cpp
Original file line number Diff line number Diff line change
@@ -347,17 +347,17 @@ void RenderOptions::OnTickVisible()
// Volumetric fog
option_check_box("Volumetric fog", do_volumetric_fog, "Requires a light with shadows enabled");

static vector<string> screenspaceshadow_modes =
static vector<string> screen_spaces_hadow_modes =
{
"Disabled",
"Normal",
"Bend"
};

uint32_t screenspaceshadow_mode = Renderer::GetOption<uint32_t>(Renderer_Option::ScreenSpaceShadows);
if (option_combo_box("Screenspace shadow", screenspaceshadow_modes, screenspaceshadow_mode))
uint32_t screen_space_shadow_mode = Renderer::GetOption<uint32_t>(Renderer_Option::ScreenSpaceShadows);
if (option_combo_box("Screenspace shadow", screen_spaces_hadow_modes, screen_space_shadow_mode))
{
Renderer::SetOption(Renderer_Option::ScreenSpaceShadows, static_cast<float>(screenspaceshadow_mode));
Renderer::SetOption(Renderer_Option::ScreenSpaceShadows, static_cast<float>(screen_space_shadow_mode));
}

// Shadow resolution
10 changes: 5 additions & 5 deletions runtime/Rendering/Renderer.h
Original file line number Diff line number Diff line change
@@ -137,7 +137,7 @@ namespace Spartan
static std::shared_ptr<Mesh> GetStandardMesh(const Renderer_MeshType type);
static std::shared_ptr<Font> GetFont();
//=======================================================================================================
static uint32_t GetMaxSSS() { return 4; }

private:
// constant buffers
static void UpdateConstantBufferFrame(RHI_CommandList* cmd_list, const bool set = true);
@@ -158,16 +158,16 @@ namespace Spartan
static void CreateSamplers(const bool create_only_anisotropic = false);
static void CreateRenderTextures(const bool create_render, const bool create_output, const bool create_fixed, const bool create_dynamic);

// rasses - core
// passes - core
static void Pass_Frame(RHI_CommandList* cmd_list);
static void Pass_ShadowMaps(RHI_CommandList* cmd_list, const bool is_transparent_pass);
static void Pass_ReflectionProbes(RHI_CommandList* cmd_list);
static void Pass_Depth_Prepass(RHI_CommandList* cmd_list);
static void Pass_GBuffer(RHI_CommandList* cmd_list, const bool is_transparent_pass);
static void Pass_Ssgi(RHI_CommandList* cmd_list);
static void Pass_Ssr(RHI_CommandList* cmd_list, RHI_Texture* tex_in);
static void Pass_Bend_Sss(RHI_CommandList* cmd_list, std::shared_ptr<Light> light, uint32_t array_slice_index);
static void Pass_Sss(RHI_CommandList* cmd_list, std::shared_ptr<Light> light, uint32_t array_slice_index);
static void Pass_Sss_Bend(RHI_CommandList* cmd_list);
static void Pass_Sss(RHI_CommandList* cmd_list);
static void Pass_BrdfSpecularLut(RHI_CommandList* cmd_list);
static void Pass_Blur_Gaussian(RHI_CommandList* cmd_list, RHI_Texture* tex_in, const bool depth_aware, const float radius, const float sigma, const uint32_t mip = rhi_all_mips);
// passes - debug/editor
@@ -187,7 +187,7 @@ namespace Spartan
static void Pass_Debanding(RHI_CommandList* cmd_list, RHI_Texture* tex_in, RHI_Texture* tex_out);
static void Pass_Bloom(RHI_CommandList* cmd_list, RHI_Texture* tex_in, RHI_Texture* tex_out);
// passes - Lighting
static void Pass_Light(RHI_CommandList* cmd_list, const bool is_transparent_pass, const std::unordered_map<std::shared_ptr<Light>, int32_t>& map_light_index);
static void Pass_Light(RHI_CommandList* cmd_list, const bool is_transparent_pass);
static void Pass_Light_Composition(RHI_CommandList* cmd_list, RHI_Texture* tex_out, const bool is_transparent_pass);
static void Pass_Light_ImageBased(RHI_CommandList* cmd_list, RHI_Texture* tex_out, const bool is_transparent_pass);
// passes - amd fidelityfx
Loading