diff options
author | Kévin Dietrich <kevin.dietrich@mailoo.org> | 2021-08-18 00:46:17 +0300 |
---|---|---|
committer | Kévin Dietrich <kevin.dietrich@mailoo.org> | 2021-08-18 22:20:39 +0300 |
commit | 6b041ad3d025e5b8020d648405c8bc3c63560f8b (patch) | |
tree | 9fcf0d0cd3657c4a8821c6e907158d52a6202bbf /intern/cycles/kernel/shaders | |
parent | b8ecdbcd964a7e78d7e077ef84a914b1374ae076 (diff) |
Cycles: use object coordinates when generated coordinates are missing
This modifies the attribute lookup to use object coordinates if no
generated coordinates are found on the geometry.
This is useful to avoid creating and copying this attribute, thus saving
a bit of time and memory.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D12238
Diffstat (limited to 'intern/cycles/kernel/shaders')
-rw-r--r-- | intern/cycles/kernel/shaders/node_texture_coordinate.osl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/intern/cycles/kernel/shaders/node_texture_coordinate.osl b/intern/cycles/kernel/shaders/node_texture_coordinate.osl index ac05e984af2..9cdb925dbfa 100644 --- a/intern/cycles/kernel/shaders/node_texture_coordinate.osl +++ b/intern/cycles/kernel/shaders/node_texture_coordinate.osl @@ -58,7 +58,9 @@ shader node_texture_coordinate( getattribute("geom:uv", UV); } else { - getattribute("geom:generated", Generated); + if (!getattribute("geom:generated", Generated)) { + Generated = transform("object", P); + } getattribute("geom:uv", UV); } |