Direct Light Sampling Cache (aka Light cache part I)

Discussion related to the Engine functionality, implementations and API.
User avatar
Dade
Developer
Posts: 1458
Joined: Mon Dec 04, 2017 8:36 pm

Re: Direct Light Sampling Cache (aka Light cache part I)

Post by Dade » Wed Jun 20, 2018 6:51 pm

Asticles wrote:
Wed Jun 20, 2018 3:36 pm
So, with scenes with only an hdr will not be benefit?
Yes, it is a single light source so something intended to accelerated many light sources renderings is useless. "Many" can be a quite small value as shown in my second test with a single cube but one single light source is really too small.
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Posts: 1458
Joined: Mon Dec 04, 2017 8:36 pm

Re: Direct Light Sampling Cache (aka Light cache part I)

Post by Dade » Tue Jun 26, 2018 7:56 am

I added the support for cache entries on volumes:

media_RGB_TONEMAPPED.jpg

I added also an option to to enable/disable cache entries on volumes because it can easily lead to a LOT of entries:

media_RGB_TONEMAPPED2.jpg
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Posts: 1458
Joined: Mon Dec 04, 2017 8:36 pm

Re: Direct Light Sampling Cache (aka Light cache part I)

Post by Dade » Thu Jun 28, 2018 8:58 am

I updated the first post in this thread with the properties used by DLSC.

Once BlendLuxCore supports is done, we can release an alpha to start testing this feature (OpenCL support will follow once the testing is done).
Support LuxCoreRender project with salts and bounties

User avatar
Sharlybg
Supporting Users
Posts: 815
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

Re: Direct Light Sampling Cache (aka Light cache part I)

Post by Sharlybg » Thu Jun 28, 2018 4:18 pm

Dade wrote:
Thu Jun 28, 2018 8:58 am
I updated the first post in this thread with the properties used by DLSC.

Once BlendLuxCore supports is done, we can release an alpha to start testing this feature (OpenCL support will follow once the testing is done).
NICE we are ready :D
Support LuxCoreRender project with salts and bounties

Portfolio : https://www.behance.net/DRAVIA

User avatar
B.Y.O.B.
Developer
Posts: 1728
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Direct Light Sampling Cache (aka Light cache part I)

Post by B.Y.O.B. » Thu Jun 28, 2018 4:25 pm

I find it a bit weird that the targetCacheHitRatio is expressed as a percentage in range 0..100, while all the others are in range 0..1 :?:

Code: Select all

lightstrategy.targetcachehitratio = 99.5
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Posts: 1458
Joined: Mon Dec 04, 2017 8:36 pm

Re: Direct Light Sampling Cache (aka Light cache part I)

Post by Dade » Fri Jun 29, 2018 7:59 am

B.Y.O.B. wrote:
Thu Jun 28, 2018 4:25 pm
I find it a bit weird that the targetCacheHitRatio is expressed as a percentage in range 0..100, while all the others are in range 0..1 :?:

Code: Select all

lightstrategy.targetcachehitratio = 99.5
Ok, lightstrategy.targetcachehitratio is now between [0, 1] like other parameters.
Support LuxCoreRender project with salts and bounties

User avatar
FarbigeWelt
Posts: 302
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Question: Direct Light Sampling Cache (aka Light cache part I)

Post by FarbigeWelt » Sat Aug 04, 2018 7:44 am

What if there were an individual cache radius for each light source, depending on the volume of a path render with depth 1? This might be done even recursively, starting with a large radius, stopping at a maximal number of chaches per visible scene and light sources.
Microsoft Windows 10 Professional, intel i7 4770K, 32 GB, AMD R9 290x 4 GB, AMD R9 390x 8 GB
Instagrammer, please join #luxcorerender for your renderings.

User avatar
Dade
Developer
Posts: 1458
Joined: Mon Dec 04, 2017 8:36 pm

Re: Question: Direct Light Sampling Cache (aka Light cache part I)

Post by Dade » Sat Aug 04, 2018 8:45 am

FarbigeWelt wrote:
Sat Aug 04, 2018 7:44 am
What if there were an individual cache radius for each light source, depending on the volume of a path render with depth 1? This might be done even recursively, starting with a large radius, stopping at a maximal number of chaches per visible scene and light sources.
What is "the volume of a path render" ?
Support LuxCoreRender project with salts and bounties

User avatar
FarbigeWelt
Posts: 302
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Re: Direct Light Sampling Cache (aka Light cache part I)

Post by FarbigeWelt » Sat Aug 04, 2018 10:00 am

Dade wrote:
Sat Aug 04, 2018 8:45 am
What is "the volume of a path render" ?
If I knew what to read to learn more about render techniques I would.

Correct me if I'm wrong. Light path starts at a light source heading in one direction until it hits the surface of an object (omitting volumes), considering path =1, the ray ends at this surface. The difference between light source and surface has a length. If you take several rays from the same light source, each ray having another angle, and span a trianlge from one ray's end to the two most close neighboured ray's end until all ray's end are connected you get a surface. The space enclosed by this surface I meant to be the volume of a path render with depth 1.
A reasonable radius for the DLSC algorithm might be a calculated using this volume. Sure, with depth 1 it is not clear if the reflected ray will hit the sensor at depth 2. Whereas one is able to calculate cut surface of sensor and the path render depth 1 volume and derive origins of direct lights. A following path strategy may decrease rays from this origin by essential factors what releases capacity for rays starting around the surface of the path render depth 1 volume.

EDIT1:
DLSC 48 min i7 4770K.jpg
DLSC 48 min i7 4770K
Parkett.zip
Parkett
(574.05 KiB) Downloaded 19 times
EDIT2:
For comparison, usual path render strategy are even with the speed of two GPU kind of useless.
GPU Path Light Strategies 600 to 1000 Samples 7 to 8 min.jpg
GPU Path Light Strategies 600 to 1000 Samples 7 to 8 min
Once there was fire it kept you warm, cooked your meals, and spent you light. The light was sparesly and flickering but repelled the beasts. Passing centuries, hungry minds wandered in the deepest darkness of the night until some got stroken with the brightest flashes of dawnig age of electricity. Bulbs spread the world and entered households like saturated beams of rising sun behind a mountains shadow. Once revealed, electric light pushed mankind into restlesness, with pace and clock of a barking thunderstorm. Continous accelerating involves starving for endless energy and optimization. Continously improving people focused on endowing crystallized knowledge reaching for another climax on the way to speed of light.
Microsoft Windows 10 Professional, intel i7 4770K, 32 GB, AMD R9 290x 4 GB, AMD R9 390x 8 GB
Instagrammer, please join #luxcorerender for your renderings.

User avatar
FarbigeWelt
Posts: 302
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

Re: Question: Direct Light Sampling Cache (aka Light cache part I)

Post by FarbigeWelt » Mon Aug 13, 2018 11:16 am

Dade wrote:
Sat Aug 04, 2018 8:45 am
FarbigeWelt wrote:
Sat Aug 04, 2018 7:44 am
What if there were an individual cache radius for each light source, depending on the volume of a path render with depth 1? This might be done even recursively, starting with a large radius, stopping at a maximal number of chaches per visible scene and light sources.
What is "the volume of a path render" ?
I will illustrate in the next weeks what I meant.
Microsoft Windows 10 Professional, intel i7 4770K, 32 GB, AMD R9 290x 4 GB, AMD R9 390x 8 GB
Instagrammer, please join #luxcorerender for your renderings.

Post Reply