diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index 6f15657..207e31b 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -2,9 +2,9 @@ name: CMake on: push: - branches: [ main ] + branches: [ main,dev ] pull_request: - branches: [ main ] + branches: [ main,dev ] jobs: build: diff --git a/README.md b/README.md index ef983bf..70b4e4a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -[![Build Status](https://travis-ci.org/Forceflow/ooc_svo_builder.svg?branch=master)](https://travis-ci.org/Forceflow/ooc_svo_builder) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=4JAUNWWYUVRN4¤cy_code=EUR&source=url) +[![CMake](https://github.com/Forceflow/ooc_svo_builder/actions/workflows/build_cmake.yml/badge.svg?branch=main)](https://github.com/Forceflow/ooc_svo_builder/actions/workflows/build_cmake.yml) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=4JAUNWWYUVRN4¤cy_code=EUR&source=url) -# Out-Of-Core SVO Builder v1.6.3 +# Out-Of-Core SVO Builder v1.6.4 This is a proof of concept implementation of the algorithm explained in our HPG 2013 paper, Out Of Core Construction of Sparse Voxel Octrees. The project was subsequently updated after the article was also published in Computer Graphics Forum 2014. The paper and additional material can be found on the [project page](http://graphics.cs.kuleuven.be/publications/BLD14OCCSVO/). @@ -15,9 +15,9 @@ There are two tools distributed in this release, both are required to convert a The current `ooc_svo_builder` can be built on: * **Windows:** - * Visual Studio project files for VS2015, VS2017 and VS2019 (tested on Community Editions) + * Visual Studio project files for VS2015, VS2017, VS2019 and VS2022 (tested on Community Editions) * Precompiled binaries for Win64 (see releases) -* **Linux** through Cmake or build scripts in `linux` folder. Also, see the travis.yml for how the automated build is made. +* **Linux** through Cmake or build scripts in `linux` folder. Also, see the [github action config file](https://github.com/Forceflow/ooc_svo_builder/blob/main/.github/workflows/build_cmake.yml) for more info. * **OSX** through Cmake # Dependencies @@ -28,12 +28,12 @@ Additional library dependencies are: For the Windows build, you have to configure the location of the external libraries (see dependencies) in the supplied props files. You can configure where VS should copy the compiled binaries to and where the build process can find the required [trimesh2](https://github.com/Forceflow/trimesh2) and [glm](https://github.com/g-truc/glm) libraries. -*/msvc/vs2019/svo_builder_custom_includes.props* : +*/msvc/vs2022/svo_builder_custom_includes.props* : ``` C:\Binaries\ C:\libs\glm\ ``` -*/msvc/vs2019/tri_convert_custom_includes.props* : +*/msvc/vs2022/tri_convert_custom_includes.props* : ``` C:\Binaries\ C:\libs\trimesh2\ diff --git a/msvc/vs2022/ooc_svo_builder.sln b/msvc/vs2022/ooc_svo_builder.sln new file mode 100644 index 0000000..3f823dd --- /dev/null +++ b/msvc/vs2022/ooc_svo_builder.sln @@ -0,0 +1,40 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2015 +VisualStudioVersion = 12.0.40629.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tri_convert", "tri_convert.vcxproj", "{BD2A8ED9-8168-4999-869C-F2D52496BA10}" + ProjectSection(ProjectDependencies) = postProject + {7E07FCA1-CC53-4E69-86CD-29D886C50569} = {7E07FCA1-CC53-4E69-86CD-29D886C50569} + EndProjectSection +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "svo_builder", "svo_builder.vcxproj", "{7E07FCA1-CC53-4E69-86CD-29D886C50569}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug Binary|x64 = Debug Binary|x64 + Debug|x64 = Debug|x64 + Release Binary|x64 = Release Binary|x64 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {BD2A8ED9-8168-4999-869C-F2D52496BA10}.Debug Binary|x64.ActiveCfg = Debug Binary|x64 + {BD2A8ED9-8168-4999-869C-F2D52496BA10}.Debug Binary|x64.Build.0 = Debug Binary|x64 + {BD2A8ED9-8168-4999-869C-F2D52496BA10}.Debug|x64.ActiveCfg = Debug|x64 + {BD2A8ED9-8168-4999-869C-F2D52496BA10}.Debug|x64.Build.0 = Debug|x64 + {BD2A8ED9-8168-4999-869C-F2D52496BA10}.Release Binary|x64.ActiveCfg = Release Binary|x64 + {BD2A8ED9-8168-4999-869C-F2D52496BA10}.Release Binary|x64.Build.0 = Release Binary|x64 + {BD2A8ED9-8168-4999-869C-F2D52496BA10}.Release|x64.ActiveCfg = Release|x64 + {BD2A8ED9-8168-4999-869C-F2D52496BA10}.Release|x64.Build.0 = Release|x64 + {7E07FCA1-CC53-4E69-86CD-29D886C50569}.Debug Binary|x64.ActiveCfg = Debug Binary|x64 + {7E07FCA1-CC53-4E69-86CD-29D886C50569}.Debug Binary|x64.Build.0 = Debug Binary|x64 + {7E07FCA1-CC53-4E69-86CD-29D886C50569}.Debug|x64.ActiveCfg = Debug|x64 + {7E07FCA1-CC53-4E69-86CD-29D886C50569}.Debug|x64.Build.0 = Debug|x64 + {7E07FCA1-CC53-4E69-86CD-29D886C50569}.Release Binary|x64.ActiveCfg = Release Binary|x64 + {7E07FCA1-CC53-4E69-86CD-29D886C50569}.Release Binary|x64.Build.0 = Release Binary|x64 + {7E07FCA1-CC53-4E69-86CD-29D886C50569}.Release|x64.ActiveCfg = Release|x64 + {7E07FCA1-CC53-4E69-86CD-29D886C50569}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/msvc/vs2022/svo_builder.vcxproj b/msvc/vs2022/svo_builder.vcxproj new file mode 100644 index 0000000..67d6b29 --- /dev/null +++ b/msvc/vs2022/svo_builder.vcxproj @@ -0,0 +1,172 @@ + + + + + Debug Binary + x64 + + + Debug + x64 + + + Release Binary + x64 + + + Release + x64 + + + + {7E07FCA1-CC53-4E69-86CD-29D886C50569} + svo_builder + svo_builder + 10.0 + + + + Application + true + MultiByte + v143 + + + Application + true + MultiByte + v143 + + + Application + false + true + MultiByte + v143 + + + Application + false + true + MultiByte + v143 + + + + + + + + + + + + + + + + + + + + + + + $(ProjectName)_binary + $(BINARY_OUTPUT_DIR) + + + $(BINARY_OUTPUT_DIR) + + + $(BINARY_OUTPUT_DIR) + + + $(BINARY_OUTPUT_DIR) + + + + Level3 + Disabled + true + + + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + Disabled + BINARY_VOXELIZATION;_MBCS;%(PreprocessorDefinitions) + true + + + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + _CRT_SECURE_NO_WARNINGS;NDEBUG;_MBCS;%(PreprocessorDefinitions) + true + AnySuitable + true + Speed + true + + + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + true + _CRT_SECURE_NO_WARNINGS;BINARY_VOXELIZATION;NDEBUG;_MBCS;%(PreprocessorDefinitions) + true + Yes + true + true + MaxSpeed + true + AnySuitable + true + Speed + true + + + true + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/msvc/vs2022/svo_builder.vcxproj.filters b/msvc/vs2022/svo_builder.vcxproj.filters new file mode 100644 index 0000000..c57ad39 --- /dev/null +++ b/msvc/vs2022/svo_builder.vcxproj.filters @@ -0,0 +1,81 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + {58358ae3-48a3-4644-89b1-6407b78a1d87} + + + {0c388158-f680-4ed5-be2e-b0dd722deb0c} + + + {662e2f44-ecc7-49f5-a7eb-e0fb3121c710} + + + + + Source Files + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files + + + Header Files\Partitioning + + + Header Files\Partitioning + + + Header Files\SVO Building + + + Header Files\SVO Building + + + Header Files\SVO Building + + + Header Files\SVO Building + + + Header Files\Voxelizer + + + Header Files + + + \ No newline at end of file diff --git a/msvc/vs2022/svo_builder_custom_includes.props b/msvc/vs2022/svo_builder_custom_includes.props new file mode 100644 index 0000000..c0f261f --- /dev/null +++ b/msvc/vs2022/svo_builder_custom_includes.props @@ -0,0 +1,23 @@ + + + + + D:\dev\Binaries\ + D:\dev\libs\glm\ + + + $(GLM_DIR);$(SolutionDir)\..\..\src\libs\libtri\include\;$(IncludePath) + $(BINARY_OUTPUT_DIR) + + + + + $(BINARY_OUTPUT_DIR) + true + + + $(GLM_DIR) + true + + + \ No newline at end of file diff --git a/msvc/vs2022/tri_convert.vcxproj b/msvc/vs2022/tri_convert.vcxproj new file mode 100644 index 0000000..8eeaf16 --- /dev/null +++ b/msvc/vs2022/tri_convert.vcxproj @@ -0,0 +1,160 @@ + + + + + Debug Binary + x64 + + + Debug + x64 + + + Release Binary + x64 + + + Release + x64 + + + + {BD2A8ED9-8168-4999-869C-F2D52496BA10} + tri_convert + 10.0 + + + + Application + true + MultiByte + v143 + + + Application + true + MultiByte + v143 + + + Application + false + true + MultiByte + v143 + + + Application + false + true + MultiByte + v143 + + + + + + + + + + + + + + + + + + + + + + + + + $(ProjectName) + $(BINARY_OUTPUT_DIR) + + + $(ProjectName)_binary + $(BINARY_OUTPUT_DIR) + + + $(BINARY_OUTPUT_DIR) + + + $(BINARY_OUTPUT_DIR) + + + + Level3 + Disabled + true + + + true + trimeshd.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + Disabled + true + + + true + trimeshd.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;NDEBUG;_MBCS;%(PreprocessorDefinitions) + AnySuitable + Speed + true + + + true + + + + + trimesh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + Level3 + MaxSpeed + true + true + _CRT_SECURE_NO_WARNINGS;BINARY_VOXELIZATION;NDEBUG;_MBCS;%(PreprocessorDefinitions) + AnySuitable + Speed + true + + + true + + + + + trimesh.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + + + + + + + + + + \ No newline at end of file diff --git a/msvc/vs2022/tri_convert.vcxproj.filters b/msvc/vs2022/tri_convert.vcxproj.filters new file mode 100644 index 0000000..6434089 --- /dev/null +++ b/msvc/vs2022/tri_convert.vcxproj.filters @@ -0,0 +1,27 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Source Files + + + + + Header Files + + + \ No newline at end of file diff --git a/msvc/vs2022/tri_convert_custom_includes.props b/msvc/vs2022/tri_convert_custom_includes.props new file mode 100644 index 0000000..935e36d --- /dev/null +++ b/msvc/vs2022/tri_convert_custom_includes.props @@ -0,0 +1,30 @@ + + + + + D:\dev\Binaries\ + D:\dev\libs\trimesh2\ + D:\dev\libs\glm\ + + + $(GLM_DIR);$(TRIMESH_DIR)\include\;$(SolutionDir)\..\..\src\libs\libtri\include\;$(IncludePath) + <_PropertySheetDisplayName>tri_convert_custom_includes + $(TRIMESH_DIR)\lib.Win$(PlatformArchitecture).vs$(PlatformToolsetVersion);$(LibraryPath) + $(BINARY_OUTPUT_DIR) + + + + + $(BINARY_OUTPUT_DIR) + true + + + $(TRIMESH_DIR) + true + + + $(GLM_DIR) + true + + + \ No newline at end of file diff --git a/src/svo_builder/main.cpp b/src/svo_builder/main.cpp index f233a05..3b3b66a 100644 --- a/src/svo_builder/main.cpp +++ b/src/svo_builder/main.cpp @@ -23,7 +23,7 @@ using namespace glm; enum ColorType { COLOR_FROM_MODEL, COLOR_FIXED, COLOR_LINEAR, COLOR_NORMAL }; // Program version -string version = "1.6 alpha"; +string version = "1.6.4"; // Program parameters string filename = ""; diff --git a/src/svo_builder/voxelizer.h b/src/svo_builder/voxelizer.h index b277a1a..ed0c715 100644 --- a/src/svo_builder/voxelizer.h +++ b/src/svo_builder/voxelizer.h @@ -1,5 +1,6 @@ #pragma once +#include #include "../libs/libtri/include/tri_tools.h" #include "../libs/libtri/include/TriReader.h" #include "../libs/libmorton/include/morton.h" diff --git a/src/tri_convert/tri_convert.cpp b/src/tri_convert/tri_convert.cpp index 10edbb8..0d48a0d 100644 --- a/src/tri_convert/tri_convert.cpp +++ b/src/tri_convert/tri_convert.cpp @@ -12,7 +12,7 @@ using namespace std; using namespace trimesh; // Program version -string version = "1.6 alpha"; +string version = "1.6.4"; // Program parameters string filename = "";