[Bf-cycles] Mapping node transformation order (intentional?)

Brecht Van Lommel brechtvanlommel at pandora.be
Tue Sep 24 14:39:58 CEST 2013


The simple reason it works this way is to be compatible with the way
the node already worked for Blender internal.

The node actually applies scale before rotation, but it transforms the
texture coordinate, not the texture. If you want to first scale and
then rotate the texture, it needs to do the inverse of this
transformation on the texture coordinate.

Which behavior you want depends on what you use the node for, I think
it makes sense to add an option to the node to switch this, perhaps
with inverse as default. I'm thinking it would be an enum with options
"Texture" (= inverse transform), "Point" (forward). Eventually also
"Vector" (ignore translation) and "Normal" (inverse transpose +
normalize) could be added like the Vector Transform node has.


On Tue, Sep 24, 2013 at 11:37 AM, Campbell Barton <ideasman42 at gmail.com> wrote:
> Recently I noticed that the mapping node applies scale _after_ rotation.
>
> This may seem like a detail however it means you can't aspect correct
> an image that is rotated (to do so you need to you 2x Mapping nodes),
> And for general usage it means you end up with diamond (sheared)
> rectangles for tiled textures.
>
> This is also different to object transformation (where you can scale
> on a single axis even when the object is rotated.)
>
> Is this by design or incidental?
>
> --
> - Campbell
> _______________________________________________
> Bf-cycles mailing list
> Bf-cycles at blender.org
> http://lists.blender.org/mailman/listinfo/bf-cycles


More information about the Bf-cycles mailing list