Bidirectional Path Tracing and other speed improvements on Cycles

Talking about noise-awareness… as usual Brecht is aware of the issue, and of many papers
http://wiki.blender.org/index.php/Dev:2.6/Source/Render/Cycles/Papers (see the Adaptive rendering paragraph)
These info could be useful…

I am in principle quite keen on supporting this initiative within my modest means.

An issue that has already appeared here is the differences of opinion as to which direction this developer should take vis-a-vis optimizing/speeding up Cycles. Whilst most of the discussion is way over my head, from the little research I have done it is clear that it will be impossible to satisfy everyone with whichever route will be chosen. Arguing over exactly what optimizations should be made can very well prevent this initiative getting off the ground in the first place.

Might I suggest that this discussion and planning should consist of simply raising sufficient funds to hire a full-time developer for cycles (the Mitsuba chap appears to be a great suggestion) and then leave the decisions up to Brecht and the successful candidate, rather than attempt to hash it out here?

I think the consensus here is that we love what Brecht has done so far, and has done a awesome job on it aswell… But we want to accelerate the development of cycles by hiring a second developer?

I’m no coder, so forgive my ignorance, but each new rendering method should support all of Blender’s bells and whistles, such as hair, sss, render passes, etc. correct?

I was pretty sure I’d seen some sort of crowdfunding site specifically for programmers, but there is always http://www.kickstarter.com/. It may be a little difficult without the specific details of the project…“More brains and hands to code cycles” just seems a bit vague. Again, tuqueque, I may not know the best approach to getting better results from cycles, but if throwing in a little scratch gets more neurons on team cycles, count me in!

I personally think path tracing was the best idea. (That is what cycles uses right?) Its just too slow right now. We use Arnold here at work, it also uses path tracing, but its REALLY fast. It uses something called “unidirectional path tracing”. Whatever that is, it works.

Collect funding = relativity easy
Find the right coder = very hard

To get I to work I think you need to find a dedicated coder who is willing to work not only for the money. Over the years, few projects that the community started and funded that have succeeded (with this scope I can’t name a single one…) But if you find the right person I’m willing to invest a few bucks…

I guess it’s a very good suggestion.
I don’t know mutch about him, but what I’ve seen from his work impresses me. I guess he has a fresh enough brain to create smart (new) algorithms for Cylces.

For me, improvements for interior renderings would also be very important for my daily business.

Kind regards
Alain

@Hunkadoodle, although kickstarter.com would be a great idea for stand-alone projects, in this instance I imagine that the Blender Foundation would be able to handle the financial side of things. The worst-case scenario is that hundreds of people donate an insufficient amount, and they all want their money back; I would imagine though that once someone has donated to the BF - even though they specifically wanted it to be used to further the development of Cycles - they would probably be happy to have the money used for other Blender development should the plan fall through.

@NinthJake and @Alain - a further reason to have Wenzel Jacob doing the work with Brecht is that he is quite comfortable with the FOSS model, having developed Mitsuba (this is a case of reiterating the blindingly obvious as a rhetorical device!). It would seem that the quickest way of getting this idea off the ground is to change tack somewhat and make the thrust of this erstwhile campaign getting Wenzel Jacob on board as a Cycles developer, as opposed to simple casting around for someone.

Perhaps a new thread should be started: Fund Wenzel Jacob for Cycles.

It would be worth seeing how many blender heads say aye, and how much people are prepared to shell out.

wooowoooow. at work you are using Arnold? how is it? can you give us any info?

Wenzel Jacob would probably be a great developer for this project but first, obviously, iterating the blindingly obvious as a rhetorical device aswell:
Get in contact with Brecht and if he agrees, also with Jacob, in order to find out if he’d even do it and what he’d want for it.
The feedback of this thread overally should already be enough.
To my mind, the main goal of the thread already is fullfilled :slight_smile:

Mr. Mike Farnsworth also looks like a candidate: http://renderspud.blogspot.com/
take a look at RenderSpud’s gallery: https://picasaweb.google.com/112505732498696827624/RenderSpud#5541176259197511298
and a couple of videos: http://www.youtube.com/user/mikefarny?blend=3&ob=5
btw: RENDERSPUD!?!? Did anyone know about this? Another toy around?

I think it would be prudent to wait and see what happens after Mango.I am sure the are some major features that will be added to Cycles. I know everyone wants the features yesterday but here I think Mango could have most people needs covered I am sure thinks like motion blur or passes will have to be worked on and it will also have to be sped up

@blend b I believe get it if you use Softimage ChrisL mentioned in another thread that was what he used at work.

The problem is, as awsome as the Mitsuba and Renderspud devs are, they´re also just cooking with water.
It would be foolish to assume Brecht doesn´t know, or at least is aware of the algorithms we’re talking about, hell even I am.
The problem is to find a dev fit in Blenders base code, being able to implement the algorithms, optimize and maintain them, and the worst part, to translate the algorithms to CUDA/OpenCL wich is a rather non trivial matter.

It´s easy to write a raytracer, or a pathtracer - I guess many here into CG+coding did it already - on your own terms, but using hardware acceleration, existing datastructures, and implement it into an existing application. That´s a whole other level. So like Gustav said, getting the money is easy, putting the money to good use is the hard task :wink:

Dr. Farnsworth (I really hope he has that degree hehehe) is an intresting suggestion, seems with renderspud he already has tight Blender integration experience - then again who says that he wants the job :wink:

@tyrant monkey Its a Softimage plugin yes, but you gotta buy licenses for it and stuff. It’s not included with Softimage unfortunately. I have no idea how to get hold of it (or how we did), but either way I’m contractually obliged not to tell you sadly. :frowning: I will say it’s the most amazing thing I have ever used, I feel cycles is going to mature into something quite similar, which excites me immensely.

@kram1032 - what I assumed in all this is that everything is subject to Brecht’s approval (Ton as well, I suppose). How does one get hold of Brecht anyway?
@lsscpp - you have seriously muddied the water now. Both these good fellows have significant advantages from the perspective of the work they have undertaken. I would argue though - admittedly from a position of limited knowledge or almost complete ignorance - that the work of Wenzel is more relevant for the Cycles project (in particular the brilliant cloth rendering of Mitsuba).
@tyrant monkey - this is a difficult point to argue with; nonetheless, I will have a go :slight_smile: Mango will have specific requirements to their project they will want to have satisfied. Many of these will probably be similar to that of the majority of Blender users, and many will not. I’m sure most Blender heads will want the development of Cycles to forge ahead as rapidly as possible, so crowd-funding this will satisfy everyone, and it will mean that certain features dear to archiviz types will make a rapid appearance as will things that Mango absolutely must have.

you might be able to get Brecht in irc://freenode/blendercoders
That would be my guess.
Even if you don’t, at least that’s where most of the developers should be found and you could at least ask them about how to reach Brecht and/or pull their attention to this thread so they can decide…
Ton should also be found over there…

IMO a more realistic option would be to fund tighter integration of another FOSS renderer like Yaf or Lux. Brecht has mentioned that cycles will be an animation geared engine, yes he left it open to other development, but there are already working solutions available. If Blender gets better that’s a bonus, but I think some people may be underestimating the complexity of the task.

Don’t think Ton or Brecht needs or want to approve anything. If they the code and feature is good enough they will include it in blender…

There just one problem, these guy already have there own “babies”. It would be hard to convince them to give that up and start working on a project where they would have less freedom. In this case funding is probably not incentive enough (unless you offer them a ridiculous sum).

I happen to know that Wenzel does not think of Mitsuba as his baby at all, it is just a project he’s doing to complete his research about rendering algorithms, then he might have taken a liking to it (he should as it is impressive) but he don’t have as high thoughts of it as the rest of us have :stuck_out_tongue: