diff options
-rw-r--r-- | source/blender/blenkernel/BKE_subdiv.h | 7 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/subdiv_ccg.c | 2 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/subdiv_inline.h | 20 |
3 files changed, 15 insertions, 14 deletions
diff --git a/source/blender/blenkernel/BKE_subdiv.h b/source/blender/blenkernel/BKE_subdiv.h index 0d262b53743..28efb159b09 100644 --- a/source/blender/blenkernel/BKE_subdiv.h +++ b/source/blender/blenkernel/BKE_subdiv.h @@ -259,10 +259,11 @@ BLI_INLINE int BKE_subdiv_rotate_quad_to_corner( const float quad_u, const float quad_v, float *r_corner_u, float *r_corner_v); -/* Inverse of above. */ -BLI_INLINE void BKE_subdiv_rotate_corner_to_quad( +/* Converts (u, v) coordinate from within a grid to a quad coordinate in + * normalized ptex coordinates. */ +BLI_INLINE void BKE_subdiv_rotate_grid_to_quad( const int corner, - const float corner_u, const float corner_v, + const float grid_u, const float grid_v, float *r_quad_u, float *r_quad_v); #include "intern/subdiv_inline.h" diff --git a/source/blender/blenkernel/intern/subdiv_ccg.c b/source/blender/blenkernel/intern/subdiv_ccg.c index a94df94a2c6..9802c8a0088 100644 --- a/source/blender/blenkernel/intern/subdiv_ccg.c +++ b/source/blender/blenkernel/intern/subdiv_ccg.c @@ -227,7 +227,7 @@ static void subdiv_ccg_eval_regular_grid(CCGEvalGridsData *data, for (int x = 0; x < grid_size; x++) { const float grid_u = (float)x * grid_size_1_inv; float u, v; - BKE_subdiv_rotate_corner_to_quad( + BKE_subdiv_rotate_grid_to_quad( corner, grid_u, grid_v, &u, &v); const size_t grid_element_index = (size_t)y * grid_size + x; const size_t grid_element_offset = diff --git a/source/blender/blenkernel/intern/subdiv_inline.h b/source/blender/blenkernel/intern/subdiv_inline.h index 1863c8602e6..b779cee59dc 100644 --- a/source/blender/blenkernel/intern/subdiv_inline.h +++ b/source/blender/blenkernel/intern/subdiv_inline.h @@ -77,27 +77,27 @@ BLI_INLINE int BKE_subdiv_rotate_quad_to_corner( return corner; } -BLI_INLINE void BKE_subdiv_rotate_corner_to_quad( +BLI_INLINE void BKE_subdiv_rotate_grid_to_quad( const int corner, - const float corner_u, const float corner_v, + const float grid_u, const float grid_v, float *r_quad_u, float *r_quad_v) { if (corner == 0) { - *r_quad_u = 0.5f - corner_v * 0.5f; - *r_quad_v = 0.5f - corner_u * 0.5f; + *r_quad_u = 0.5f - grid_v * 0.5f; + *r_quad_v = 0.5f - grid_u * 0.5f; } else if (corner == 1) { - *r_quad_u = 0.5f + corner_u * 0.5f; - *r_quad_v = 0.5f - corner_v * 0.5f; + *r_quad_u = 0.5f + grid_u * 0.5f; + *r_quad_v = 0.5f - grid_v * 0.5f; } else if (corner == 2) { - *r_quad_u = 0.5f + corner_v * 0.5f; - *r_quad_v = 0.5f + corner_u * 0.5f; + *r_quad_u = 0.5f + grid_v * 0.5f; + *r_quad_v = 0.5f + grid_u * 0.5f; } else { BLI_assert(corner == 3); - *r_quad_u = 0.5f - corner_u * 0.5f; - *r_quad_v = 0.5f + corner_v * 0.5f; + *r_quad_u = 0.5f - grid_u * 0.5f; + *r_quad_v = 0.5f + grid_v * 0.5f; } } |