since blender 2.37 is out

i remember the yafray guys said a new yafray version will come with it as well. lets see …

I wish it was delayed another week to go with yafray, I am sure the bug tracker is getting spamed with bugs right now =_=. I mean we waited 5 months whats another week?

Well yafray has posted a build from the CVS. You can get it for windows here. It works great with the new version of Blender.

i hope soon they can include a anisotropic specular light shader.

i am still amazed how fast cheetha3d renders AO or Radiosity.
special the edge antialiasing works so fast.

would be awesome if yafray could get there.

I always spend quite a bit of time writing the commit logs, explaining as much as I can, but (and maybe exactly because I write too much) unfortunately very few people seem to read it…
It has anisotropic speculars (two models), but they are not accesable from Blender. However, Blender’s WardIso is actually the anisoptropic Ward brdf in yafray, but with both u and v roughness set to the same value, which is equivalent to the isotropic case.
So what you could do is export as xml, and change either ‘u_roughness’ or ‘v_roughness’ to a different value. Anisotropic directions are a problem, and currently it is either derived from uv coords, orco coords or fixed orientation if neither are available.
Blender’s nurbs surfaces with ‘UV orco’ enabled work best.
It doesn’t really look all that great though, since sampling is missing, you only get the simple shading, no reflection. In the current yafray that was simply too difficult and inefficient and I removed it again.
That is all better done in the redesign.
So once again, yes, it does have anisotropic speculars.


well i asked sometime ago at the forum and somebody told me that there is not shader yet there. i checked my thread few days ago with no new message so i guessed that this shader was not yet there.

i am glad to try out your tip! thank you for mentioning.


The last time and only time you asked a question on the forum was in january, and was about this topic, but I answered then that I was working on it. Or do you mean some other forum?
I had asked a question back then though that is still valid now, but you never answered, I don’t know if you actually ever saw that, but I’ll try again, since I still could use the info: since you seem to have experience using anisotropic shaders (or at least your past questions seemed to imply that), how do you specify or control the directions of anisotropy? As far as I know, any renderman renderer has the same problem, meshes don’t have this, you have to specify them yourself, only parametric surfaces like nurbs, spheres, cones, etc, have ‘automagic’ exact anisotropic directions, polygons have not.
So if you have any tips on this, it still would be appreciated.


i remeber thatyuou said you are working on it but i did not see a news about a finished shader. i think that is what i was looking for. i am not a big help with coding.

in maya the shader has four options:

fresnel, x and y spread, and angel

well fressnel is logical.

spread x changes the thickness of the highlight (sharp and small, diffuse and wide)

spread y changes the width of the highlight.

and with angel you can change in 360 degree steps the direction of the highlight.

i need to enter 180 when i want to get the same direction for polygones when i compare it to a nurbs ball.

i hope this helps!

Well, that wasn’t really what I meant, but at least that tells me that you don’t have to do anything special like add uv coordinates or something, so I guess maya does some ‘magic’ to calculate the anisotropic directions.
Thanks for the info anyway! :slight_smile:


sorry that are all information i could provide you!
i have no clue about programming or the 3d code behind.

as it looks like the orientation is linked to the global setting and not
the local(object) setting.

is there any info in the renderman docs about shader writing?


ok, so the orientation is sort of fixed, so also probably deforming models during animation don’t work as well either?
If so, then that is also what I have in yafray, that is the case if you don’t have uv or orco coordinates on the object, then it uses a fixed orientation. Which can actually work well, but doesn’t work for deformed models in animation, since the directions stay in place and don’t rotate/deform with the model.

Just to show that it can work well, here is that testrender again from several years ago I posted on the old yafray forum from my own renderer:
Again, NOT yafray, but it at least shows that using a fixed direction can work well in some cases.

is there any info in the renderman docs about shader writing?

Lots, but as I said before, for renderman it is the same thing, only parametric objects, nurbs and such, have well defined parameters you can use for the shading, polygons have not, and you have to specify that as an extra parameter yourself with the polygons.
Which is why using nurbs or surfaces with ‘UV orco’ enabled work best with yafray, but also means that it must be well-tesselated, so reasonable values for the u and v ‘Resol’ parameters available in the editing panel.
Oh well, enough technical talk, doesn’t really belong here…
Thanks for your help in any case.


The anisotropic directions was the problem that i found when I tryed to make the anisotropic shader for blender.

Perhaps, it can develop a ‘fake’ anisotropic direction that it provides good results (like maya?). I was trying with the light projection (from light source to light incident point) over surface model but I don’t had good results.

What do you think about this?


Yes, I did see that at the time and wanted to answer, but I was still so busy with yafray, I forgot about it later.
Anyway, yes, you can use a reasonably simple solution for this, but as I said above, it won’t work for deformed models, while the model deforms and rotates, the directions of anisotropy stay fixed, and that might not look good.
What you do is use the surface normal to define an orthonormal basis, you can then use the two tangent vectors from that for the specular calculation.

btw, I mentioned this in one of my commit logs, but I don’t think anyone really reads it, but the WardIso specular is not correct. I don’t know if that is your code or someone else modified your code when adding it to Blender, but in any case, the code is the brdf model itself, you can’t use that in the direct form for shading.
But anyway, this is not the place to talk about this sort of stuff, email me if you want, I’ll be glad to help.

good example eeshlo.

i need metal highlights :wink: