dslightingengine

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/

671 followers158 following645 posts

DS3 has lot of LODS for every mesh. In LE I can add the base LOD to the BVH, as LE doesn't know when the LOD is actually swapped in main view, this will create self-intersection issues, however added a feature to detect these cases and path tracer will do a stronger ray bias

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

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

Image descriptions. 1. Importance sampled large tree - 4.5ms Trace time 2. No importance sampled tree - 2.5 ms Trace time 3. Vertex color bake of the tree. 4. Alpha bit of the vertex are used to indicate whether it emits light or not.

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.

dslightingengine reposted

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

View full thread

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

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.

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.

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.

I already did a lot of rewiring with command lists for eg execution motion blur command list before PT is rendered. It usually is executed after scene is rendered. LE needs to update buffers for eg to capture at full res and FP16 precision.