| 114 | } |
| 115 | |
| 116 | QVector3D NormalmapGenerator::sobel(const double convolution_kernel[3][3], double strengthInv) const { |
| 117 | const double top_side = convolution_kernel[0][0] + 2.0 * convolution_kernel[0][1] + convolution_kernel[0][2]; |
| 118 | const double bottom_side = convolution_kernel[2][0] + 2.0 * convolution_kernel[2][1] + convolution_kernel[2][2]; |
| 119 | const double right_side = convolution_kernel[0][2] + 2.0 * convolution_kernel[1][2] + convolution_kernel[2][2]; |
| 120 | const double left_side = convolution_kernel[0][0] + 2.0 * convolution_kernel[1][0] + convolution_kernel[2][0]; |
| 121 | |
| 122 | const double dY = right_side - left_side; |
| 123 | const double dX = bottom_side - top_side; |
| 124 | const double dZ = strengthInv; |
| 125 | |
| 126 | return QVector3D(dX, dY, dZ).normalized(); |
| 127 | } |
| 128 | |
| 129 | QVector3D NormalmapGenerator::prewitt(const double convolution_kernel[3][3], double strengthInv) const { |
| 130 | const double top_side = convolution_kernel[0][0] + convolution_kernel[0][1] + convolution_kernel[0][2]; |
nothing calls this directly
no outgoing calls
no test coverage detected