dslightingengine

@dslightingengine.bsky.social

DSLightingEngine is a renderer replacement for DS2/DS3. Discord : https://discord.gg/uwaXYDmTyS Donations: https://ko-fi.com/ragevitamins, https://www.patreon.com/c/DarksoulsLightingEngine LinkedIn : https://www.linkedin.com/in/ganesh-mamadapur-45395064/

DSLE - Editor feature/Subsurface. These meshes are "Static" but are not rendered as normal foliage. So added a feature to mark the Base game meshes as "Foliage", which disables screen-space shadows and also enables transmission/SSS on the leaf meshes

BildBild

Large emissive meshes. 100k triangles, emit light and shadows, however importance sampling is not done by not including them in LightBVH, so the normal BRDF sampling catches them. This makes them essentially free of cost as the path tracer picks the emission based on the hit. Descriptions below

BildBildBildBild

Implemented Caching mechanism for Skinned objects. Now the BLAS is rebuilt only if the mesh has changed enough. The build time drops from 5-6ms down to 0.5ms . Without caching it dropped to 45FPS here. LE uses double buffering and Async build as well for GPU.

BildBild

Looking for help testing something in Dark Souls 1. Do you have DSR on Playstation, can go online, and have a character with a Red Sign Soapstone? If so I wanna check out some obscure thing that might've been added by QLOC to the remaster.

Darksouls3 has excellent LOD placement and many places are visible from each other zones. Firelink/Lothric wall are actually fully connected too. This is one instance. Similar behavior like Lothric wall LOD is correctly placed from COTD/Cruxifion woods 1/1

Working on improving Foliage shading with subsurface and transmission. DS2LE is using Beubeu Faraam Preset for testing and DS3LE is WIP for release end of year. Thanks to NRD Author Dimitrii Zhdan for guidance on changes with updates to NRD-Sample

BildBildBild

Integrating OMM , the latest DXR 1.2 features in LE. Left is AlphaTesting in Shader(Max 5 tries). Right is OMM for the meshes(2 state) and Subdivision level of 6. It saves about 2.5ms to 3ms. Yet to optimize fully like arranging OMM buffers contigously for all meshes.

BildBild

Working on PT in DX12, made me understand CPU/GPU timelines lot better. DS3 uses deferred command lists to render. LE overrides camera for Jitter/ReverseZ and also for editor. Jitter/ReverseZ are ensured that they are updated, UpdateSubResource was done during draw-call while tracking dirty flags.

While studying SER(Shader Execution Reordering), I came across a blog which showed that Pipeline tracing i,e (TraceRay) is faster than Inline tracing(RayQuery) on AMD GPU, SER requires PipelineTracing(Dispatch Rays) call. AMD GPU's see a 10-25% speedup using TraceRay vs RayQuery.

BildBildBildBild

Thanks to Dmitrii Zhdan(NRD Author) for including the Cavity shadows which I had showcased earlier now as part of NRD Frontend. As mentioned earlier It works amazing with NRD-SH modes when combined with Parallax mapping.

Bild