[Bf-committers] Material Nodes: No normals in worldspace?

Tobias Oelgarte tobias.oelgarte at googlemail.com
Thu Jul 21 01:37:58 CEST 2011


Am 20.07.2011 23:11, schrieb michael williamson:
> On 20/07/11 20:14, Tobias Oelgarte wrote:
>> way to influence the shading
>> depending on the orientation (not location) of the faces itself.
>>
>> For example you would like to give any upward looking face an own
>> material and fade it out to a second material, as the angle gets bigger.
>> This can be achieved within viewspace, but only if you never intend to
>> rotate the camera. Tilt it 180° to left or right and the bottom of all
>> objects will show the first material instead of the second.
>>
>> So my questions are:
>> a) Is there a way to access the normals in worldspace/localspace within
>> material nodes?
>> b) If not: Why was it never implemented? Seams to be very useful: Snow
>> depending on surface angle; Trees covered with moss at the rain side,
>> ice at the wings of a plane, etc.)
>> c) Is there any workaround that would also work on animated meshes?
>>
> I also miss this!
> Cycles allows you to access the normals in world space, so that's a
> small mercy!  I'd love to get this in BI!
>
> There is a hack workaround... it uses a distant light, light group
> exclusivity and an extra material in your node setup.
>
> Here's a video tutorial on how form Sebastian K
>
> http://vimeo.com/23852345
In the meantime I came to the same solution (seams to be the only one, 
without baking and limitation to static objects) as Sebastian König 
represented in this tutorial. But it is more or less a surround for the 
problem. Shortly after that I stumbled upon the exact same problems as 
inside the tutorial. It shows how complicated/limited it gets, even in 
this simple case. It could be much easier and powerful to have 
worldspace normals and maybe even the view-vector in wordspace 
coordinates. This would allow many new possibilities for reflection 
mapping and other cool stuff. On top of that it would work smoothly 
together with GLSL and shouldn't be so hard to implement. Maybe this can 
convince one of the programming gods to implement this feature? I would 
appreciate it very much, and I guess many others would also do.


More information about the Bf-committers mailing list