blender/intern/cycles/kernel/svm
Sergey Sharybin 7e823969b5 Fix non-finite tangent in Cycles with missing UV map
Was causing calculation issues later on in the kernel.

This change catches the most obvious case: missing attribute. The old
code was trying to set tangent to 0, but because it was transformed as
a normal it got converted to non-finite value. This change makes it so
that no transform is involved and 0 is written directly to the SVM
stack.

To cover all cases it will require using safe_normalize() in this node
and in the normal transform function. This is more involved change from
performance point of view, would be nice to verify whether we really want
to go this route.

I've left asserts in the BSDF allocation functions. Don't have strong
connection to them, but think they are handy and are not different from
having an assert in the path radiance checks.

Differential Revision: https://developer.blender.org/D11235
2021-05-12 10:06:11 +02:00
..
svm_ao.h
svm_aov.h
svm_attribute.h Cycles: internal support for alpha output for attribute node 2020-10-28 12:43:42 +01:00
svm_bevel.h
svm_blackbody.h
svm_brick.h
svm_brightness.h
svm_bump.h
svm_camera.h
svm_checker.h
svm_clamp.h
svm_closure.h Fix Principled BSDF specular color for black base color 2021-02-22 18:33:05 +01:00
svm_color_util.h
svm_convert.h
svm_displace.h
svm_fractal_noise.h Shading: add Roughness input to Noise and Wave texture nodes 2020-04-09 21:48:03 +02:00
svm_fresnel.h
svm_gamma.h
svm_geometry.h Cycles: remove __UV__ and __INSTANCING__ as kernel options 2020-06-22 13:28:01 +02:00
svm_gradient.h
svm_hsv.h Cleanup: correct spelling in comments 2021-02-05 16:23:34 +11:00
svm_ies.h
svm_image.h Cleanup: correct spelling in comments 2021-02-05 16:23:34 +11:00
svm_invert.h
svm_light_path.h
svm_magic.h
svm_map_range.h
svm_mapping_util.h
svm_mapping.h
svm_math_util.h Cleanup: clang-format 2021-03-26 12:28:49 +11:00
svm_math.h Nodes: Add Refract and Faceforward functions to Vector Maths nodes 2021-03-23 09:59:20 +00:00
svm_mix.h
svm_musgrave.h
svm_noise.h Cleanup: spelling 2021-02-17 15:04:29 +11:00
svm_noisetex.h Shading: add Roughness input to Noise and Wave texture nodes 2020-04-09 21:48:03 +02:00
svm_normal.h
svm_ramp_util.h
svm_ramp.h
svm_sepcomb_hsv.h
svm_sepcomb_vector.h
svm_sky.h Fix T79052: Cycles new sky texture fails with sun size zero 2020-08-17 17:57:29 +02:00
svm_tex_coord.h Fix non-finite tangent in Cycles with missing UV map 2021-05-12 10:06:11 +02:00
svm_types.h Nodes: Add Refract and Faceforward functions to Vector Maths nodes 2021-03-23 09:59:20 +00:00
svm_value.h
svm_vector_rotate.h Shading: Add invert option to Vector Rotate Node 2020-03-02 12:49:19 +00:00
svm_vector_transform.h
svm_vertex_color.h Cycles: refactor to split surface and volume attribute lookup more 2020-10-28 12:43:42 +01:00
svm_voronoi.h Fix T79803: Wrong Distance To Edge 1D Voronoi 2020-09-03 18:56:27 +02:00
svm_voxel.h Cycles: support for different 3D transform per volume grid 2020-03-18 11:23:05 +01:00
svm_wave.h Shading: add Roughness input to Noise and Wave texture nodes 2020-04-09 21:48:03 +02:00
svm_wavelength.h
svm_white_noise.h
svm_wireframe.h
svm.h Cycles: Add support for shader raytracing in OptiX 2020-12-04 13:04:11 +01:00