diff --git a/apps/specular_estimation/CMakeFiles/specular_estimation.dir/src/specular_estimation.cc.o b/apps/specular_estimation/CMakeFiles/specular_estimation.dir/src/specular_estimation.cc.o index 6366ea4e3572f96d965170748cf00a206f339372..9ecf6cab6cfa8cdfd8ae23ec22cc01d1b1e52bd8 100644 Binary files a/apps/specular_estimation/CMakeFiles/specular_estimation.dir/src/specular_estimation.cc.o and b/apps/specular_estimation/CMakeFiles/specular_estimation.dir/src/specular_estimation.cc.o differ diff --git a/apps/specular_estimation/src/Ceres.h b/apps/specular_estimation/src/Ceres.h index 5f0dde9f2aceb0a692f49e120cccc4dbc88e966d..35019ecad6a2c6ce3120abe3c97cef5c6d5c44ac 100644 --- a/apps/specular_estimation/src/Ceres.h +++ b/apps/specular_estimation/src/Ceres.h @@ -98,7 +98,7 @@ void specularMinimisation(double& SpecularIntensity, double& SpecularPower, doub problem.SetParameterLowerBound(&SpecularIntensity, 0, 0); problem.SetParameterUpperBound(&SpecularIntensity, 0, 1); - problem.SetParameterLowerBound(&SpecularPower, 0, 0); + problem.SetParameterLowerBound(&SpecularPower, 0, 1); // Run the solver! Solver::Options options; diff --git a/apps/specular_estimation/src/OpenGL.h b/apps/specular_estimation/src/OpenGL.h index 4cb103a2e93ffe9b128e3dc42a858b30c1a4a2aa..2a95e16e70173a46f97578759c7bd7067d71da52 100644 --- a/apps/specular_estimation/src/OpenGL.h +++ b/apps/specular_estimation/src/OpenGL.h @@ -536,7 +536,7 @@ void computeResidual(int imageNumber, int windowHeight, int windowWidth, std::st sum = cv::sum(residual)[0]; */ - std::cout << "Image " << imageNumber << ", SSD per pixel: R = " << cv::sum(sumOfSquaredDifferences)[2]/(windowHeight * windowWidth) << ", G = " << cv::sum(sumOfSquaredDifferences)[1]/(windowHeight * windowWidth) << ", B = " << cv::sum(sumOfSquaredDifferences)[0]/(windowHeight * windowWidth) << ", specular intensity = " << SpecularIntensity << ", specular power = " << SpecularPower << std::endl; + //std::cout << "Image " << imageNumber << ", SSD per pixel: R = " << cv::sum(sumOfSquaredDifferences)[2]/(windowHeight * windowWidth) << ", G = " << cv::sum(sumOfSquaredDifferences)[1]/(windowHeight * windowWidth) << ", B = " << cv::sum(sumOfSquaredDifferences)[0]/(windowHeight * windowWidth) << ", specular intensity = " << SpecularIntensity << ", specular power = " << SpecularPower << std::endl; //std::cout << "Image " << imageNumber << ", average sum of squared differences: R = " << sum << ", specular intensity = " << SpecularIntensity << ", specular power = " << SpecularPower << std::endl; } @@ -787,8 +787,8 @@ void computeMatricesFromLights(int windowWidth, int windowHeight, glm::vec3& pos } } - lightInvDir = glm::vec3(lightDirections.at<float>(lightNumber, 0), -lightDirections.at<float>(lightNumber, 2), lightDirections.at<float>(lightNumber, 1)); - //lightInvDir = glm::vec3(lightDirections.at<float>(lightNumber, 0), lightDirections.at<float>(lightNumber, 1), lightDirections.at<float>(lightNumber, 2)); + lightInvDir = glm::vec3(lightDirections.at<float>(lightNumber, 0)+0.5, -lightDirections.at<float>(lightNumber, 2), lightDirections.at<float>(lightNumber, 1)+0.5); + //lightInvDir = glm::vec3(lightDirections.at<float>(lightNumber, 0), -lightDirections.at<float>(lightNumber, 2), lightDirections.at<float>(lightNumber, 1)); // Modify specular power diff --git a/apps/specular_estimation/src/specular_estimation.cc b/apps/specular_estimation/src/specular_estimation.cc index fb416b479c8b4e9858f49ab3ead2304216de7b00..9497f3af9dde90517d281868151bba3ebfc894db 100644 --- a/apps/specular_estimation/src/specular_estimation.cc +++ b/apps/specular_estimation/src/specular_estimation.cc @@ -217,7 +217,7 @@ int main(int argc, char** argv) { std::vector<glm::vec3> lightInvDirs; for (int i = 0; i < numberOfLights; i++) - lightInvDirs.push_back(glm::vec3(lightDirections.at<float>(i, 0), -lightDirections.at<float>(i, 2), lightDirections.at<float>(i, 1))); + lightInvDirs.push_back(glm::vec3(lightDirections.at<float>(i, 0)+0.5, -lightDirections.at<float>(i, 2), lightDirections.at<float>(i, 1)+0.5)); initialiseOpenGL(heightMap, normalMap, texture, textureImages, lightDirections, width, height, depthProjectionMatrix, depthViewMatrix, position, horizontalAngle, verticalAngle, FoV, lightInvDir, programID, MatrixID, ModelMatrixID, ViewMatrixID, DepthBiasID, lightInvDirID, Texture, TextureID, depthTexture, ShadowMapID, vertexbuffer, uvbuffer, normalbuffer, elementbuffer, indices, depthProgramID, quad_programID, FramebufferName, quad_vertexbuffer, VertexArrayID, SpecularIntensityID, SpecularIntensity, SpecularPowerID, SpecularPower, numberOfLights, calculateResidual, depthMVP, depthModelMatrix, MVP, ProjectionMatrix, ViewMatrix, ModelMatrix, depthBiasMVP, biasMatrix); diff --git a/bin/specular_estimation b/bin/specular_estimation index 24ec1e8dbaf9d4d69c72a136c58bd0ebb3a7045a..7cecd8ab6fc2f20a5dd472b69c8e3fb897ec1800 100755 Binary files a/bin/specular_estimation and b/bin/specular_estimation differ