Bidirectional Path Tracing and other speed improvements on Cycles

Excellent news. Farny - a name like that will allow you to blend in seamlessly to the Blender landscape. tuqueque and everyone else who got the ball rolling this far: well done, and thanks!

Ok guys… I only have 3 hours of sleep, is 1am here, I have to work for a few more hours before going to bed… And I need to be up by 8am again… But I wanted to report back to you and keep the ball rolling!

Since Thursday night I’m in contact via PM with Farny and I think there’s enough information to report back.

Though is not yet 100% sure thing that Mike will take the job, so far is at least 75%… He has to evaluate some remaining things before giving the final word… This can take days, weeks, I don’t know… be patient.

If he decides to take the job, It would be probably in a couple of months from today…

I think we are in a very good moment guys! I’m ecstatic by the results of this discussion! In less than a week we have found the help Brecht needs to bring awesome features to Cycles!

Farny already has been in contact with Brecht and they are discussing priorities. He also is taking some time to familiarize with Blender Code.

Now, guys, is time to start the funding!.. And here’s where I’ll need some help.

We need somebody to manage the funding… I won’t be able to do that because of time constraints… It’s hard enough for me to find the time to do what I’m doing here right now.

Who is willing to help on that?

I’d be GREAT if we could create somethig like the “Save the ocean sim” page http://savetheoceansim.com/blog/ . That initiative was awesome and very organized!

About how much money we need. Well… As much as we can… You’ll see…

If we paid Mike’s regular salary, we’d be bankrupted in no time!.. But he was kind enough to say this…

Of course, I think we should aim for more than that!.. The kind of skills he has and the work he’ll need to put on this, worth much more!..

IMHO…

The Ocean Sim initiative needed - 3.000$
Blender OpenCL compositing project - 10.000$

I think Farny’s take on Cycles can be easily compared to the OpenCL Compositing project.

Anyway… Let’s hear from you :).

this is cool! I hope everything goes well with Mike and that he can work on Cycles.

also the thing Mike mentioned earler that the flow from Blender C -> Python Script -> renderspud renderer (C/C++ what have you) is slow.

I think brecht is working on the render api, I remember the blender wiki page where someone from luxrender team and andrey (blender/vray) had signed up on that python script wont do it basically and there’s a need for C/C++ plugins.

I can’t find that link anymore but it has been addressed before. cross your fingers somethings being done about it.

tuqueque, you are really doing great with this. I absolutely agree with you that letting Farny settle for a shiny new computer is just not on. Cycles is going to be as important as any other project currently underway, whether or not GPU acceleration is going to be the focus of development or not (that is to say, I definitely want GPU acceleration, or even better, hybrid CPU-GPU, but for most people this won’t be the issue, as much as having a path tracing render engine).

ChipIn.com was used by the Ocean Sim Initiative. It appears to be simple to use, and does not seem to be all that time consuming. Why can’t Farny set up an account with ChipIn for this project and that saves all the issues with handling the money? I’m very happy to assist/organize whatever I can, but not too keen on handling the money; and I can’t imagine anyone else is either.

Apart from the issues of getting a developer and organizing the fundraising there is the problem of specifying developing targets… Is the goal simple to implement Bidirectional Path Tracing or should it be something else? I guess in the end, cool algorithm names are unimportant and what really matters is actual speed improvements. Also as Jacob Wenzel mentions there is possilble issues with implementing BiDir. Should be discussed carefully by those who are familiar with the subject…

Maybe some can ask Todd McIntosh if he’s interested to organize the fundraising, he did a great job organizing the OceanSim

Fund raising itself is not the big issue, since Farny can create his own ChipIn account, and once that has been done it’s a matter of creating some noise/publicity and getting people to donate. For that, a website should be set up to describe what the funding drive is all about, contain a progress blog, listing the deliverables and displaying the funding progress.

Exactly how this should be done should be left to whoever actually does it. I am perfectly happy to get the ball rolling, using either Joomla (since that’s where my experience lies) or Wordpress (less keen because I have never used it properly).

In fact, anyone willing to involve themselves should step forward with whatever it is they are willing to do, and then tuqueue - if you have the time - you should handle whatever everyone will do and so on. If you don’t have the time, I am willing to step in to the breach with whatever limited time I have.

Regarding the deliverables, it would make most sense to leave that up to Brecht and Farny, since they are the ones with the best knowledge in this field in the Blender world (correct me if I’m wrong there).

Im all in for supporting this project!
But danilius has a very valid point. It would be very nice to have some concrete goals/strategies/images/videos discussed by the gurus, not only to get a clear picture of what we are about to try and finance but also to get some (for lack of better words) “bait” to help get a proper level of interest.
Yet another example of very nice community initiative. Good luck!

I’ll donate $100/month to this project if it gets a good developer and the roadmap falls within the range of what I’d like the new render engine to be able to do.

The first post from Tuqueque was clear: pay someone to implement in Cycles a few alternatives to unidirectional path-tracing (to make Cycles suitable for every kind of scene and job), as well as speed it up as much as possible. I’m ok with this!

@ Dr. Farny & Brecht
btw, is this (http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/ReducingNoise) actually possible? At first sight (mine) it looks like one of the smarter optimization strategy available (“progressive reduction of pixel to be rendered” sounds good!), but i don’t exclude that it is not the case

@m9105826: that is an incredibly generous offer.

This highlights the importance of getting Brecht and Farny to make a list of targets (or deliverables, which ever term you prefer).

Then we have the leisure of debating the priorities of these targets, and to what degree donors can influence these decisions. m9105826 is the kind of donor who is only willing to fund features that fall within his (her?) requirements or wants. This is an inherently good thing, since it will help weighting feature importance without extensive debates. This does not mean that the community does not get to have any input either, so exactly how the donor/community balance will pan out really has to be discussed.

I don’t think that there will be too many clashes though since unless the major donors are involved in seriously far-out projects, their requirements will certainly be similar to everyone else’s, and no doubt they will be tolerant enough to allow a reasonable degree of leeway.

Their is little to be done until a developer agrees to undertake the project. If Farny comes on board shortly then that issue is moot, but without a developer there’s not much point in investing much effort at this stage.

As always, great feedback from you :slight_smile:

Well, I’ve been looking around and it seems to be “easy” enough this whole ChipIn thing… I think I’ll be able to take responsibility for the funding!..

Where I’ll need help for sure is on the site/blog to post about the project and update/maintain information… I’ll talk about it with Farny to see if we both can deal with that.

About specifying developing targets. This will take some time. For now we can sit back and relax for a few days until Farny decides and organize with Brecht all that (Holidays are close and that can slow us down a bit)… Again, I’ll be in contact with him and report back ASAP.

Greets.
tuqueque.

Sounds good! $100 a month isn’t unreasonable, and I would think that many people would contribute about that much, especially for a project like this one. As for Arnold, that’s been around for more than 10 years I think.

Anyway, If you manage to get this going that would be fantastic. I’m curious, has ton or brecht said anything about this yet?

Perhaps having render layers / passes as a target would inspire more people to donate as this would open up a whole world of possibilities, it is good that various algorithms may enter Cycles and make it a lot more usable in certain cases but then there is the issue of it being a good engine, but only being able to put out an RGBA image, which to a lot of people is pretty sub-par.

I’m more than happy to donate for this project, even more so if it covered some other areas, like the above!

I’d absolutely love to help out, and I didn’t mean to make it sound like I’d only donate if they followed some super-specific plan that I set out haha. There are just certain features that I would love to see, and would be more willing to part with money for. And that brings up another point: I’ve seen so many Blender projects start off with incredible steam, and then wither away as development went on. My biggest concern is donating a decent chunk of change to a project and having it never come to fruition. It’s the double-edged sword of open sourced software.

Afaik Brecht and Dr. Farny are in contact, thanks to Tuqueque

Passes and renderlayers have always been in the todo list, Cycles is designed with these goodies in mind, according to the wiki.
The personal picture I have in mind is like so: Brecht will go on with his BF job, stabilizing stuff and adding features for Mango project and whatever he thinks cycles needs; in parallel, Farny (or whoever the developer is) starts a branch with additional Integrators/Sampling strategies, keeping in sync with thw main developement to avoid incompatibilities

Perhaps I’ll have a separate branch, but I’ll just be working on my local copy, and until patches are accepted it wouldn’t matter. :wink:

As for exactly what I’d work on, I’ve discussed some possibilities with Brecht already. There are a couple of smaller features I’d like to tackle to help me get familiar with the codebase, and Brecht has expressed his desire to definitely have my help on the render passes / layers capability. That does not preclude me working on additional integrators, but it’d sure get him in a better place for Mango, and would help in getting Cycles in a place where the alternate integrators like bidir path tracing would make for better citizens anyway, given the philosophy.

Nothing is set in stone, and before I were to do any work tuqueque and I would definitely get an RFC out to you guys on what is planned and in what order.

I’m still waiting for the powers that be to get back to me, though, so we should all try to not get too excited just yet. :o

-Farny

Thank you so much for keeping us up to date. It’s nice to have info of what happens behind the scene! :slight_smile:
Now, the hardest part will be the latter: to not get too excited! :wink:

I am really excited to see this effort getting momentum!

But also i would like to bring you sad possibility: That Brecht leave the blender foundation for a better paid job offer.
I think that is a possibility we should take care of, and be prepared and coordinated to offer him a counter-offer, perhaps in convination with the BF also.

I think one advantage that we have is, i guess, He really enjoy developing raytracer engines, and i think if we can ensure he can keep working on his own render engine while He can make a life of it is something that we have to be prepare of.

Any thoughts?

Cheers.

Let’s not get off topic now.