mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
`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: https://projects.blender.org/blender/blender/pulls/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 | ||