[Bf-cycles] Tiled Texture Caching for Cycles

Mohamed Sakr 3dsakr at gmail.com
Sat Jun 10 00:00:27 CEST 2017


so interesting!, Embree too looks interesting!!, will it work for CUDA?

On Fri, Jun 9, 2017 at 8:29 PM, Stefan Werner <stewreo at gmail.com> wrote:

> Here’s a little update on my progress.
>
> I believe I have it working reasonably now. I tried some of the Agent 327
> scenes and was able to render them with a 500MB texture cache at only a
> minimal speed penalty. "03_01_B - Enter” rendered on my machine without
> caching in 2h2m47s, with caching it clocked in at 2h2m50s. With the
> Gooseberry benchmark scene I get something more around 5%-10% render time
> increase.
>
> For the interested, here’s what happened to a few things I wrote about
> earlier:
>
> > On 7. May 2017, at 11:05, Stefan Werner <stewreo at gmail.com> wrote:
> > I was playing with the subtree cloning approach, and that may be a way
> > to get the basics working (at the expense of a larger shader tree). Maybe
> > then I can continue with introducing optimised shortcuts for common
> > use cases, such as direct use of UV maps, box/sphere mapping, etc.
>
> That one still holds up. Cloning subtrees works, and it was a fairly
> low-impact way of getting texture differentials. It was easy to implement
> that based on the work that’s already there for bump mapping.
>
> > High frequency bumps on sharp speculars are indeed one of the worst
> > case scenarios for texture (or geometry) caching. Disco balls are evil.
> :)
>
> That is one benchmark I need to run still - a worst case scenario built on
> purpose. I wonder how slow things will get in bad situations.
>
> (about texture differentials for light samples:)
> > I was looking at that, and this looks like shouldn’t be too hard. In
> addition
> > to evaluating the BSDF, we’d also need to get domega_in_dx/dy from the
> > BSDFs, maybe through a separate call. For the branched path tracing
> > case, we would then need to pick the result from the BSDF with the
> > narrowest footprint.
>
> It actually works reasonably well without asking the BSDF. I just plugged
> in the code for perfect specular reflections and that appears to be good
> enough for basic cases. I could however try much wider differentials here,
> since MIS will assign very low weights to specular BSDF + light sampling
> and any artefacts from picking too high of a mip map level should be barely
> noticeable.
>
> Currently my branch is off master, but I guess I should rebase to 2.80 as
> there’s no realistic chance of this being added to 2.79, or am I wrong?
>
> === In other news ===
> I am also in the middle of adding embree as an alternative to Cycles’ own
> BVH (CPU only of course). With that I am seeing speedups of varying
> magnitude, depending on the scene. In simpler scenes it’s just a percent or
> two, the Gooseberry benchmark already drops from 1h23 to 1h04 on my
> machine, and certain frames from Agent 327 with plenty of motion blur and
> hair drop from 2 hours (already with Cycles’ time step BVH) to ~12 minutes.
> There are a few little kinks to work out still, as I’m getting
> self-shadowing with embree hair that I don’t get with Cycles hair.
>
> -Stefan
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> https://lists.blender.org/mailman/listinfo/bf-cycles
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-cycles/attachments/20170610/f184ce5b/attachment.htm 


More information about the Bf-cycles mailing list