Direct Light Sampling Cache (aka Light cache part I)

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

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

Post by Dade »

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
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

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

Post by Dade »

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
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

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

Post by Dade »

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
Donor
Donor
Posts: 3101
Joined: Mon Dec 04, 2017 10:11 pm
Location: Ivory Coast

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

Post by Sharlybg »

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
Developer
Posts: 4146
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. »

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
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

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

Post by Dade »

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
Donor
Donor
Posts: 1046
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

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

Post by FarbigeWelt »

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.
Light and Word designing Creator - www.farbigewelt.ch - aka quantenkristall || #luxcorerender
MacBook Air with M1
User avatar
Dade
Developer
Developer
Posts: 5672
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

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

Post by Dade »

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
Donor
Donor
Posts: 1046
Joined: Sun Jul 01, 2018 12:07 pm
Location: Switzerland
Contact:

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

Post by FarbigeWelt »

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
DLSC 48 min i7 4770K
Parkett.zip
Parkett
(574.05 KiB) Downloaded 422 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
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.
Light and Word designing Creator - www.farbigewelt.ch - aka quantenkristall || #luxcorerender
MacBook Air with M1
User avatar
FarbigeWelt
Donor
Donor
Posts: 1046
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 »

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.
Light and Word designing Creator - www.farbigewelt.ch - aka quantenkristall || #luxcorerender
MacBook Air with M1
Post Reply