Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Sharybin <sergey.vfx@gmail.com>2018-11-01 17:20:31 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2018-11-01 17:20:50 +0300
commit623574ffa23badf767d8a445f1c18aabdbd10e26 (patch)
tree0a200bb397590031fb658eeaccb6b139a5876f6b /source/blender/blenkernel/intern/subdiv_displacement_multires.c
parentd710cb91b9281e94851bddc8b49b570dc6326b5f (diff)
Subdiv: Cleanup, de-duplicate some code
Diffstat (limited to 'source/blender/blenkernel/intern/subdiv_displacement_multires.c')
-rw-r--r--source/blender/blenkernel/intern/subdiv_displacement_multires.c35
1 files changed, 1 insertions, 34 deletions
diff --git a/source/blender/blenkernel/intern/subdiv_displacement_multires.c b/source/blender/blenkernel/intern/subdiv_displacement_multires.c
index bcb96ce8a66..5744ac3ca0d 100644
--- a/source/blender/blenkernel/intern/subdiv_displacement_multires.c
+++ b/source/blender/blenkernel/intern/subdiv_displacement_multires.c
@@ -70,39 +70,6 @@ typedef enum eAverageWith {
AVERAGE_WITH_NEXT,
} eAverageWith;
-/* Simplified version of mdisp_rot_face_to_crn, only handles quad and
- * works in normalized coordinates.
- *
- * NOTE: Output coordinates are in ptex coordinates.
- */
-BLI_INLINE int rotate_quad_to_corner(const float u, const float v,
- float *r_u, float *r_v)
-{
- int corner;
- if (u <= 0.5f && v <= 0.5f) {
- corner = 0;
- *r_u = 2.0f * u;
- *r_v = 2.0f * v;
- }
- else if (u > 0.5f && v <= 0.5f) {
- corner = 1;
- *r_u = 2.0f * v;
- *r_v = 2.0f * (1.0f - u);
- }
- else if (u > 0.5f && v > 0.5f) {
- corner = 2;
- *r_u = 2.0f * (1.0f - u);
- *r_v = 2.0f * (1.0f - v);
- }
- else {
- BLI_assert(u <= 0.5f && v >= 0.5f);
- corner = 3;
- *r_u = 2.0f * (1.0f - v);
- *r_v = 2.0f * u;
- }
- return corner;
-}
-
static int displacement_get_grid_and_coord(
SubdivDisplacement *displacement,
const int ptex_face_index, const float u, const float v,
@@ -117,7 +84,7 @@ static int displacement_get_grid_and_coord(
int corner = 0;
if (poly->totloop == 4) {
float corner_u, corner_v;
- corner = rotate_quad_to_corner(u, v, &corner_u, &corner_v);
+ corner = BKE_subdiv_rotate_quad_to_corner(u, v, &corner_u, &corner_v);
*r_displacement_grid = &data->mdisps[start_grid_index + corner];
BKE_subdiv_ptex_face_uv_to_grid_uv(corner_u, corner_v, grid_u, grid_v);
}