Cycles Strand Rendering

grrr wrong thread

ok, so in case you have enough GPU-memory it will be a big advantage to have GPU strand-rendering.
anyway i have to buy new hardware. i will try to wait until strand-rendering for GPU is in blender, to buy suitable hardware.

I would like GPU rendering for hair too. I bought a GTX 580 with 3 Gb of Vram to use Cycles so if we can have the choice between GPU and CPU, it would be cool.

The reason that Strand rendering is disabled on the GPU is that it was actually slower than CPU to render with Hair enabled, even if there wasn’t any Hair in the scene.
As far as I remember, BroadStu mentioned he doesn’t have any experience with GPU code. My advice is: Keep the code simple (maybe have just one primitive type for GPU Hair) and avoid branching and global memory access as much as possible.
It isn’t clear yet whether the code can be brought up-to-par on the GPU and I don’t think it is (or belongs) at the top of anyone’s priority list.

Where can I get the most recent build with the cycles hair render enabled? I have the Mingw64 2.64.9 r52833 that I got from this thread, but when I go to BuildBot and download a build, the hair render is not enabled. If it is in the build, how do I turn it on?

Also, the version I am using the hair looks good in the preview, but when I render the image, I have to change the settings because the hair does not show up. Has this issue been addressed or is it something that I am doing?

Hi lking73, you have to switch to Experimental in render settings > Feature Set.

Cheers, mib.

are you using “Experimental” feature set instead of “Supported” in the Render properties tab?

edit: mib2berlin beat me to it.

+1
For GPU only curves primitive because it is the one using less memory. If anyone wants to use other hair primitive will have to switch to CPU.
That way very little code will be added to the GPU and perhaps it will work.

Yes, it slowed down rendering even without hair so was deactivated. I’m not sure how further developments have changed this. We have to find where the slowdown is caused and may need to use two separate bvh intersections. My main problem is that I don’t have a suitable GPU to test with (hopefully this changes soon). If anyone wants to test a GPU version let me know and I will create a patch to enable it. I can certainly see the benefit of having GPU rendering available, particularly on small instanced objects like feathers, but this isn’t a high priority. Using triangle primitives on the GPU should be available very soon though. This primitive doesn’t require any kernel change so shouldn’t cause any slowdown. Unfortunately, it is the most memory intensive and improving the poor triangle geometry creation is on my todo list.

I would guess that this is caused by differences in the way the dynamic bvh and static bvh deal with hair on scaled objects. Since the default is a dynamic preview and the final render is always static it can cause problems. I want to put in a temporary fix soon. In the meantime I would suggest setting the bvh type to static in the render options. This should give an accurate representation of the final render in the preview.

After changing to static is looks exactly like the render image, thank you for the help.

Broadstu has just submitted multiple UVs and vertexcolors:
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=54053

There are about 1.2 mil strands, 100K pebbles and 1200 rocks in the scene. There’s one sun lamp casting shadows and bluish enviroment (color only). Peek memory was a little over 700 mb and it took about 5:30 min to render 50 samples on i7 CPU.

I was impressed by low memory usage and fast rendering speed. The only problem I had was that I had to display all the strands (and children) in the viewport as Cycles seems to render the number of children in “Display” instead of “Render”.

yep, that’s all over this thread :wink:

tlukman1

nice test! in terms of performance the result is really nice. which i7 cpu?

Testing out this awesome new feature and found some odd behavior.
See the ugly black area?http://img607.imageshack.us/img607/8656/42488152.png

Hi all,

Is it possible to have a build that support hair on gpu quickly or many work is needed ?

Thanks,

Matt

That’s probably caused by having too many transparent surfaces behind each other, you need to increase the maximum number of transparent bounces allowed in the Light Paths Panel, the standard setting is only 8.

I think you’re clipping too much with your ramps

this is my entry for this awesome patch :slight_smile: Thank you BroadStu!
http://dancingshapes.com/pilot/archie/archie_closeup.jpg
and also first go with cycles :slight_smile:

and turntable:
(requires HD if you wanna see some fuzzzzzz)
<a href=“http://www.youtube.com/watch?v=LkgTJw2DO9k&feature=youtu.be” target="_blank">
https://youtu.be/LkgTJw2DO9k

trying to get a fleece material.
what do you think?
I think it could be better if it was more curly. I tried to make some curls with the outer fuzzy hair. but i couldnt manage to get it really curly.
if i use the curl options my hair gets really longer. could it be because of a scale problem?
or is it a segments problem? I tried also to get more in the the display steps. which seemed to help a bit

as you can see i used the hair also for the wool, hat, his beard and dreads. ill post later a better turntable, maybe with more close up on the face.
well, when it finishes to render…

any ideas if i could somehow make hairs (for example the fuzz) to render only in the outer edges? somehow to connect the strand information to the layer weights facing option?
(in case it could save some render times)
I tried to do it for a bit but couldnt really find a way.

also, is there anyway to bake the hair into texture? (except for rendering it flat on a plain)

and lastly, any ideas on how to reduce flickering? maybe more light passes and higher antialiasing?

cheers

Tal