forked from blender/blender
Weizhen Huang
9eabc20a48
`atan2(0, 0)` is undefined on many platforms. To ensure consistent result across platforms, we return `0` in this case. Note only the behavior of the shader node `Artan2` is changed here. During shading, we might still produce `atan2(0, 0)` internally and cause different results across platforms, but that usually happens with single samples and is not obvious, plus checking this condition all the time is costly. If later we find out it's indeed necessary to change all the invocation of `atan2(0, 0)`, we could change the wrapper functions in `metal/compat.h` and `mtl_shader_defines.msl`. Pull Request: blender/blender#126951 |
||
---|---|---|
.. | ||
bake | ||
bvh | ||
camera | ||
closure | ||
device | ||
film | ||
geom | ||
integrator | ||
light | ||
osl | ||
sample | ||
svm | ||
util | ||
CMakeLists.txt | ||
data_arrays.h | ||
data_template.h | ||
tables.h | ||
types.h |