@@ -44,8 +44,8 @@ class Texture
44
44
u = std::clamp (u, 0 .0f , 1 .0f );
45
45
v = std::clamp (v, 0 .0f , 1 .0f );
46
46
47
- int u_index = static_cast < int >( u * static_cast < float >( width)) ;
48
- int v_index = static_cast < int >(( 1 .0f - v) * static_cast < float >( height)) ;
47
+ int u_index = u * width;
48
+ int v_index = ( 1 .0f - v) * height;
49
49
u_index = std::clamp (u_index, 0 , width - 1 );
50
50
v_index = std::clamp (v_index, 0 , height - 1 );
51
51
@@ -57,8 +57,8 @@ class Texture
57
57
u = std::clamp (u, 0 .0f , 1 .0f );
58
58
v = std::clamp (v, 0 .0f , 1 .0f );
59
59
60
- float widthf = static_cast < float >(width) ;
61
- float heightf = static_cast < float >(height) ;
60
+ float widthf = ( float )width ;
61
+ float heightf = ( float )height ;
62
62
63
63
float u_img = u * widthf;
64
64
float v_img = (1 .0f - v) * heightf;
@@ -71,10 +71,10 @@ class Texture
71
71
Eigen::Vector2f u11{ std::min (widthf, center.x () + 0 .5f ), std::min (heightf, center.y () + 0 .5f ) };
72
72
73
73
// 边界情况,假设次采样点坐标为 (width, height),它应当采样的下标则为 (width - 1, height - 1)
74
- Eigen::Vector2i u00_index{ std::clamp (static_cast < int >( u00.x ()) , 0 , width - 1 ), std::clamp (static_cast < int >( u00.y () ), 0 , height - 1 ) };
75
- Eigen::Vector2i u01_index{ std::clamp (static_cast < int >( u01.x ()) , 0 , width - 1 ), std::clamp (static_cast < int >( u01.y () ), 0 , height - 1 ) };
76
- Eigen::Vector2i u10_index{ std::clamp (static_cast < int >( u10.x ()) , 0 , width - 1 ), std::clamp (static_cast < int >( u10.y () ), 0 , height - 1 ) };
77
- Eigen::Vector2i u11_index{ std::clamp (static_cast < int >( u11.x ()) , 0 , width - 1 ), std::clamp (static_cast < int >( u11.y () ), 0 , height - 1 ) };
74
+ Eigen::Vector2i u00_index{ std::clamp (( int ) u00.x (), 0 , width - 1 ), std::clamp (( int ) u00.y (), 0 , height - 1 ) };
75
+ Eigen::Vector2i u01_index{ std::clamp (( int ) u01.x (), 0 , width - 1 ), std::clamp (( int ) u01.y (), 0 , height - 1 ) };
76
+ Eigen::Vector2i u10_index{ std::clamp (( int ) u10.x (), 0 , width - 1 ), std::clamp (( int ) u10.y (), 0 , height - 1 ) };
77
+ Eigen::Vector2i u11_index{ std::clamp (( int ) u11.x (), 0 , width - 1 ), std::clamp (( int ) u11.y (), 0 , height - 1 ) };
78
78
79
79
Eigen::Vector3f u00_value = Vec3bToVector3f (image_data.at <cv::Vec3b>(u00_index.y (), u00_index.x ()));
80
80
Eigen::Vector3f u01_value = Vec3bToVector3f (image_data.at <cv::Vec3b>(u01_index.y (), u01_index.x ()));
0 commit comments