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