From d8856f60c5384cc1975439193bb627d77d917d77 Mon Sep 17 00:00:00 2001 From: Alexandre Lanvin <alanvin@ad.inria.fr> Date: Mon, 9 Sep 2024 11:31:48 +0200 Subject: [PATCH] added antialiasing, fix for linux --- cmake/linux/dependencies.cmake | 6 +++--- src/core/view/SceneDebugView.cpp | 3 ++- src/projects/gaussianviewer/renderer/CMakeLists.txt | 2 +- src/projects/gaussianviewer/renderer/GaussianView.cpp | 2 ++ src/projects/gaussianviewer/renderer/GaussianView.hpp | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/cmake/linux/dependencies.cmake b/cmake/linux/dependencies.cmake index a7854bb2..28eb3ba3 100644 --- a/cmake/linux/dependencies.cmake +++ b/cmake/linux/dependencies.cmake @@ -48,7 +48,7 @@ if (MSVC11 OR MSVC12) CHECK_CACHED_VAR GLEW_INCLUDE_DIR PATH "glew-1.10.0/include" DOC "default empty doc" CHECK_CACHED_VAR GLEW_LIBRARIES STRING LIST "debug;glew-1.10.0/${LIB_BUILT_DIR}/glew32d.lib;optimized;glew-1.10.0/${LIB_BUILT_DIR}/glew32.lib" DOC "default empty doc" ) -elseif (MSVC14) +elseif (MSVC14 OR MSVC17) set(glew_multiset_arguments CHECK_CACHED_VAR GLEW_INCLUDE_DIR PATH "glew-2.0.0/include" DOC "default empty doc" CHECK_CACHED_VAR GLEW_SHARED_LIBRARY_RELEASE PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32.lib" @@ -81,7 +81,7 @@ if (MSVC11 OR MSVC12) set(assimp_set_arguments CHECK_CACHED_VAR ASSIMP_DIR PATH "Assimp_3.1_fix" ) -elseif (MSVC14) +elseif (MSVC14 OR MSVC17) set(assimp_set_arguments CHECK_CACHED_VAR ASSIMP_DIR PATH "Assimp-4.1.0" ) @@ -155,7 +155,7 @@ if (WIN32) #CHECK_CACHED_VAR Boost_COMPILER STRING "-${Boost_WIN3RDPARTY_VCID}" DOC "vcid (eg: -vc110 for MSVC11)" CHECK_CACHED_VAR Boost_COMPILER STRING "-vc110" DOC "vcid (eg: -vc110 for MSVC11)" # NOTE: if it doesnt work, uncomment this option and set the right value for VisualC id ) - elseif (MSVC14) + elseif (MSVC14 OR MSVC17) set(boost_multiset_arguments CHECK_CACHED_VAR BOOST_ROOT PATH "boost-1.71" CHECK_CACHED_VAR BOOST_INCLUDEDIR PATH "boost-1.71" diff --git a/src/core/view/SceneDebugView.cpp b/src/core/view/SceneDebugView.cpp index cb94c98a..97a1d196 100755 --- a/src/core/view/SceneDebugView.cpp +++ b/src/core/view/SceneDebugView.cpp @@ -326,7 +326,8 @@ namespace sibr //user camera transform update sibr::Transform3f scaled = _userCurrentCam->getCamera().transform(); scaled.scale(_userCameraScaling); - getMeshData("scene cam").setTransformation(scaled.matrix()); + sibr::Matrix4f scaledMatrix = scaled.matrix(); + getMeshData("scene cam").setTransformation(scaledMatrix); // update input camera (path) scales if (_pathScaling != _lastPathScaling) { diff --git a/src/projects/gaussianviewer/renderer/CMakeLists.txt b/src/projects/gaussianviewer/renderer/CMakeLists.txt index d6a0944e..f95f329f 100644 --- a/src/projects/gaussianviewer/renderer/CMakeLists.txt +++ b/src/projects/gaussianviewer/renderer/CMakeLists.txt @@ -12,7 +12,7 @@ project(sibr_${SIBR_PROJECT} LANGUAGES CXX) sibr_gitlibrary(TARGET CudaRasterizer GIT_REPOSITORY "https://github.com/graphdeco-inria/diff-gaussian-rasterization.git" - GIT_TAG "3509be80f83ee30599b23bb3542d45aea2174a03" + GIT_TAG "255c532d5fd0c3d83afec0e8e49574b65ae381bd" ) find_package(CUDAToolkit REQUIRED) diff --git a/src/projects/gaussianviewer/renderer/GaussianView.cpp b/src/projects/gaussianviewer/renderer/GaussianView.cpp index f1609f37..b9fe1e5a 100644 --- a/src/projects/gaussianviewer/renderer/GaussianView.cpp +++ b/src/projects/gaussianviewer/renderer/GaussianView.cpp @@ -520,6 +520,7 @@ void sibr::GaussianView::onRenderIBR(sibr::IRenderTarget & dst, const sibr::Came tan_fovy, false, image_cuda, + _antialiasing, nullptr, rects, boxmin, @@ -572,6 +573,7 @@ void sibr::GaussianView::onGUI() ImGui::SliderFloat("Scaling Modifier", &_scalingModifier, 0.001f, 1.0f); } ImGui::Checkbox("Fast culling", &_fastCulling); + ImGui::Checkbox("Antialiasing", &_antialiasing); ImGui::Checkbox("Crop Box", &_cropping); if (_cropping) diff --git a/src/projects/gaussianviewer/renderer/GaussianView.hpp b/src/projects/gaussianviewer/renderer/GaussianView.hpp index 117d826d..94bacfc5 100644 --- a/src/projects/gaussianviewer/renderer/GaussianView.hpp +++ b/src/projects/gaussianviewer/renderer/GaussianView.hpp @@ -86,7 +86,7 @@ namespace sibr { protected: std::string currMode = "Splats"; - + bool _antialiasing = false; bool _cropping = false; sibr::Vector3f _boxmin, _boxmax, _scenemin, _scenemax; char _buff[512] = "cropped.ply"; -- GitLab