Fix T46085: UV project modifier artifacts with vertices behind the camera.
This commit is contained in:
parent
bd6febc4c4
commit
d7ceca8c93
Notes:
blender-bot
2023-02-14 11:28:39 +01:00
Referenced by issue #46085, baking diffuse color doesn't work properly with uv project
|
@ -516,7 +516,8 @@ void mul_v3_mat3_m4v3(float r[3], float mat[4][4], const float vec[3])
|
|||
|
||||
void mul_project_m4_v3(float mat[4][4], float vec[3])
|
||||
{
|
||||
const float w = mul_project_m4_v3_zfac(mat, vec);
|
||||
/* absolute value to not flip the frustum upside down behind the camera */
|
||||
const float w = fabsf(mul_project_m4_v3_zfac(mat, vec));
|
||||
mul_m4_v3(mat, vec);
|
||||
|
||||
vec[0] /= w;
|
||||
|
@ -526,7 +527,7 @@ void mul_project_m4_v3(float mat[4][4], float vec[3])
|
|||
|
||||
void mul_v3_project_m4_v3(float r[3], float mat[4][4], const float vec[3])
|
||||
{
|
||||
const float w = mul_project_m4_v3_zfac(mat, vec);
|
||||
const float w = fabsf(mul_project_m4_v3_zfac(mat, vec));
|
||||
mul_v3_m4v3(r, mat, vec);
|
||||
|
||||
r[0] /= w;
|
||||
|
@ -536,7 +537,7 @@ void mul_v3_project_m4_v3(float r[3], float mat[4][4], const float vec[3])
|
|||
|
||||
void mul_v2_project_m4_v3(float r[2], float mat[4][4], const float vec[3])
|
||||
{
|
||||
const float w = mul_project_m4_v3_zfac(mat, vec);
|
||||
const float w = fabsf(mul_project_m4_v3_zfac(mat, vec));
|
||||
mul_v2_m4v3(r, mat, vec);
|
||||
|
||||
r[0] /= w;
|
||||
|
|
Loading…
Reference in New Issue