From 182afc95b2bbe925f28de115dd8a0a594ea9826a Mon Sep 17 00:00:00 2001 From: alanvinx Date: Thu, 24 Oct 2024 10:52:57 +0200 Subject: [PATCH 1/9] New release: issues fixed and integrated training speed acceleration. --- .gitmodules | 3 + README.md | 46 +++++++++-- arguments/__init__.py | 1 + assets/Exposure_comparison.png | Bin 0 -> 482657 bytes assets/all_results_LPIPS.png | Bin 87541 -> 0 bytes assets/all_results_PSNR.png | Bin 89124 -> 0 bytes assets/all_results_SSIM.png | Bin 82608 -> 0 bytes assets/charts/accel_default_LPIPS.png | Bin 0 -> 56632 bytes assets/charts/accel_default_PSNR.png | Bin 0 -> 60452 bytes assets/charts/accel_default_SSIM.png | Bin 0 -> 54992 bytes assets/charts/accel_sparse_adam_LPIPS.png | Bin 0 -> 58860 bytes assets/charts/accel_sparse_adam_PSNR.png | Bin 0 -> 61901 bytes assets/charts/accel_sparse_adam_SSIM.png | Bin 0 -> 56430 bytes assets/charts/base_LPIPS.png | Bin 0 -> 56994 bytes assets/charts/base_PSNR.png | Bin 0 -> 60124 bytes assets/charts/base_SSIM.png | Bin 0 -> 55482 bytes assets/charts/exposure_LPIPS.png | Bin 0 -> 76088 bytes assets/charts/exposure_PSNR.png | Bin 0 -> 83181 bytes assets/charts/exposure_SSIM.png | Bin 0 -> 72861 bytes assets/charts/timings.png | Bin 0 -> 23163 bytes assets/depth_comparison.png | Bin 0 -> 692694 bytes full_eval.py | 34 ++++++-- gaussian_renderer/__init__.py | 37 ++++++--- render.py | 23 ++++-- results.md | 96 +++++++++++++++++++--- scene/gaussian_model.py | 39 +++++++-- submodules/fused-ssim | 1 + submodules/simple-knn | 2 +- train.py | 44 ++++++++-- utils/loss_utils.py | 27 ++++++ 30 files changed, 296 insertions(+), 57 deletions(-) create mode 100644 assets/Exposure_comparison.png delete mode 100644 assets/all_results_LPIPS.png delete mode 100644 assets/all_results_PSNR.png delete mode 100644 assets/all_results_SSIM.png create mode 100644 assets/charts/accel_default_LPIPS.png create mode 100644 assets/charts/accel_default_PSNR.png create mode 100644 assets/charts/accel_default_SSIM.png create mode 100644 assets/charts/accel_sparse_adam_LPIPS.png create mode 100644 assets/charts/accel_sparse_adam_PSNR.png create mode 100644 assets/charts/accel_sparse_adam_SSIM.png create mode 100644 assets/charts/base_LPIPS.png create mode 100644 assets/charts/base_PSNR.png create mode 100644 assets/charts/base_SSIM.png create mode 100644 assets/charts/exposure_LPIPS.png create mode 100644 assets/charts/exposure_PSNR.png create mode 100644 assets/charts/exposure_SSIM.png create mode 100644 assets/charts/timings.png create mode 100644 assets/depth_comparison.png create mode 160000 submodules/fused-ssim diff --git a/.gitmodules b/.gitmodules index d48532b787..cafb9acf7d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -8,3 +8,6 @@ [submodule "SIBR_viewers"] path = SIBR_viewers url = https://gitlab.inria.fr/sibr/sibr_core.git +[submodule "submodules/fused-ssim"] + path = submodules/fused-ssim + url = https://github.com/rahul-goel/fused-ssim.git diff --git a/README.md b/README.md index 525912c865..7a3484e078 100644 --- a/README.md +++ b/README.md @@ -37,12 +37,15 @@ This research was funded by the ERC Advanced grant FUNGRAPH No 788065. The autho ## NEW FEATURES ! -We have limited resources for maintaining and updating the code. However, we have added a few new features since the original release that are inspired by some of the excellent work many other researchers have been doing on 3DGS. We will be adding other features within the ability of our resources. +We have limited resources for maintaining and updating the code. However, we have added a few new features since the original release that are inspired by some of the excellent work many other researchers have been doing on 3DGS. We will be adding other features within the ability of our resources. -Update of August 2024: -We have added/corrected the following features: [Depth regularization](#depth-regularization) for training, [anti-aliasing](#anti-aliasing) and [exposure compensation](#exposure-compensation). We have enhanced the SIBR real time viewer by correcting bugs and adding features in the [Top View](#sibr-top-view) that allows visualization of input and user cameras. Please note that it is currently not possible to use depth regularization with the training speed acceleration since they use different rasterizer versions. +**Update of October 2024**: We integrated [training speed acceleration](#training-speed-acceleration) and made it compatible with [depth regularization](#depth-regularization), [anti-aliasing](#anti-aliasing) and [exposure compensation](#exposure-compensation). -Update of Spring 2024: + +**Update of August 2024**: +We have added/corrected the following features: [depth regularization](#depth-regularization) for training, [anti-aliasing](#anti-aliasing) and [exposure compensation](#exposure-compensation). We have enhanced the SIBR real time viewer by correcting bugs and adding features in the [Top View](#sibr-top-view) that allows visualization of input and user cameras. Please note that it is currently not possible to use depth regularization with the training speed acceleration since they use different rasterizer versions. + +**Update of Spring 2024**: Orange Labs has kindly added [OpenXR support](#openxr-support) for VR viewing. ## Step-by-step Tutorial @@ -492,11 +495,34 @@ python convert.py -s --skip_matching [--resize] #If not resizing, Ima
-### Depth regularization +### Training speed acceleration + +We integrated the drop-in replacements from [Taming-3dgs](https://humansensinglab.github.io/taming-3dgs/)1 with [fused ssim](https://github.com/rahul-goel/fused-ssim/tree/main) into the original codebase to speed up training times. Once installed, the accelerated rasterizer delivers a **$\times$ 1.6 training time speedup** using `--optimizer_type default` and a **$\times$ 2.7 training time speedup** using `--optimizer_type sparse_adam`. + +To get faster training times you must first install the accelerated rasterizer to your environment: + +```bash +pip uninstall diff-gaussian-rasterization -y +cd submodules/diff-gaussian-rasterization +rm -r build +git checkout 3dgs_accel +pip install . +``` + +Then you can add the following parameter to use the sparse adam optimizer when running `train.py`: + +```bash +--optimizer_type sparse_adam +``` + +*Note that this custom rasterizer has a different behaviour than the original version, for more details on training times please see [stats for training times](results.md/#training-times-comparisons)*. + +*1. Mallick and Goel, et al. ‘Taming 3DGS: High-Quality Radiance Fields with Limited Resources’. SIGGRAPH Asia 2024 Conference Papers, 2024, https://doi.org/10.1145/3680528.3687694, [github](https://github.com/humansensinglab/taming-3dgs)* -Two preprocessing steps are required to enable depth regularization when training a scene: - To have better reconstructed scenes we use depth maps as priors during optimization with each input images. It works best on untextured parts ex: roads and can remove floaters. Several papers have used similar ideas to improve various aspects of 3DGS; (e.g. [DepthRegularizedGS](https://robot0321.github.io/DepthRegGS/index.html), [SparseGS](https://formycat.github.io/SparseGS-Real-Time-360-Sparse-View-Synthesis-using-Gaussian-Splatting/), [DNGaussian](https://fictionarry.github.io/DNGaussian/)). The depth regularization we integrated is that used in our [Hierarchical 3DGS](https://repo-sam.inria.fr/fungraph/hierarchical-3d-gaussians/) paper, but applied to the original 3DGS; for some scenes (e.g., the DeepBlending scenes) it improves quality significantly; for others it either makes a small difference or can even be worse. For details statistics please see here: [Stats for depth regularization](results.md). +### Depth regularization + +To have better reconstructed scenes we use depth maps as priors during optimization with each input images. It works best on untextured parts ex: roads and can remove floaters. Several papers have used similar ideas to improve various aspects of 3DGS; (e.g. [DepthRegularizedGS](https://robot0321.github.io/DepthRegGS/index.html), [SparseGS](https://formycat.github.io/SparseGS-Real-Time-360-Sparse-View-Synthesis-using-Gaussian-Splatting/), [DNGaussian](https://fictionarry.github.io/DNGaussian/)). The depth regularization we integrated is that used in our [Hierarchical 3DGS](https://repo-sam.inria.fr/fungraph/hierarchical-3d-gaussians/) paper, but applied to the original 3DGS; for some scenes (e.g., the DeepBlending scenes) it improves quality significantly; for others it either makes a small difference or can even be worse. For example results showing the potential benefit and statistics on quality please see here: [Stats for depth regularization](results.md). When training on a synthetic dataset, depth maps can be produced and they do not require further processing to be used in our method. For real world datasets please do the following: 1. Get depth maps for each input images, to this effect we suggest using [Depth anything v2](https://github.com/DepthAnything/Depth-Anything-V2?tab=readme-ov-file#usage). @@ -508,7 +534,11 @@ When training on a synthetic dataset, depth maps can be produced and they do not A new parameter should be set when training if you want to use depth regularization `-d `. ### Exposure compensation -To compensate for exposure changes in the different input images we optimize an affine transformation for each image just as in [Hierarchical 3dgs](https://repo-sam.inria.fr/fungraph/hierarchical-3d-gaussians/). Add the following parameters to enable it: +To compensate for exposure changes in the different input images we optimize an affine transformation for each image just as in [Hierarchical 3dgs](https://repo-sam.inria.fr/fungraph/hierarchical-3d-gaussians/). + +This can greatly improve reconstruction results for "in the wild" captures, e.g., with a smartphone when the exposure setting of the camera is not fixed. For example results showing the potential benefit and statistics on quality please see here: [Stats for exposure compensation](results.md). + +Add the following parameters to enable it: ``` --exposure_lr_init 0.001 --exposure_lr_final 0.0001 --exposure_lr_delay_steps 5000 --exposure_lr_delay_mult 0.001 --train_test_exp ``` diff --git a/arguments/__init__.py b/arguments/__init__.py index 8c16a18db3..0b2f448d8f 100644 --- a/arguments/__init__.py +++ b/arguments/__init__.py @@ -96,6 +96,7 @@ def __init__(self, parser): self.depth_l1_weight_init = 1.0 self.depth_l1_weight_final = 0.01 self.random_background = False + self.optimizer_type = "default" super().__init__(parser, "Optimization Parameters") def get_combined_args(parser : ArgumentParser): diff --git a/assets/Exposure_comparison.png b/assets/Exposure_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..8c1b1d80f72490340af5a344e86ce47010b3ca66 GIT binary patch literal 482657 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
  • pk7Io;C` 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

    GTaX6zHr!b8*idf5)hg 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

  • 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

    +qDXx<0I%E{hr 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 M07*qoM6N<$g83TXIsgCw literal 0 HcmV?d00001 diff --git a/assets/all_results_LPIPS.png b/assets/all_results_LPIPS.png deleted file mode 100644 index 28cf94c90fd56177539e56708c6f345e2e47bf2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87541 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 +f2qjYlFxS-( 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�?W6yE#Hb+O=Jk6 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

    %;++F-XW3tNQay{5bC* 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 literal 0 HcmV?d00001 diff --git a/assets/charts/accel_sparse_adam_SSIM.png b/assets/charts/accel_sparse_adam_SSIM.png new file mode 100644 index 0000000000000000000000000000000000000000..f1a38a9a285140a2b972fe323d6c8c2843092074 GIT binary patch literal 56430 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 literal 0 HcmV?d00001 diff --git a/assets/charts/base_LPIPS.png b/assets/charts/base_LPIPS.png new file mode 100644 index 0000000000000000000000000000000000000000..6720d69134d59627d0b2d20e383070c259283ffe GIT binary patch literal 56994 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 literal 0 HcmV?d00001 diff --git a/assets/charts/base_SSIM.png b/assets/charts/base_SSIM.png new file mode 100644 index 0000000000000000000000000000000000000000..4d771c6d66fbaaf66ac0b5b524550fcc5494568a GIT binary patch literal 55482 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 literal 0 HcmV?d00001 diff --git a/assets/charts/exposure_LPIPS.png b/assets/charts/exposure_LPIPS.png new file mode 100644 index 0000000000000000000000000000000000000000..ede29a452c9bcf582960bb997ef57a287a39155c GIT binary patch literal 76088 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

    +kQDl<7(u9>83?`{fYD*@r!pG*K|f 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 literal 0 HcmV?d00001 diff --git a/assets/charts/timings.png b/assets/charts/timings.png new file mode 100644 index 0000000000000000000000000000000000000000..1e29ace21e59c24b23eb727b8f4e3f6755612871 GIT binary patch literal 23163 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 RKO84l9Z;1|+;{Zce*;j__&NXp literal 0 HcmV?d00001 diff --git a/assets/depth_comparison.png b/assets/depth_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..8aa27c5a93800b38841d0de45c2e0f35b537976d GIT binary patch literal 692694 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�=A~lZ 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�3zxhi4iLFFyY~ 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

    #q^zOEptm##KjA0qWCKP^3yH8i0pt z?#R|(OvZI$1DAQy8znUBK6&so2kKS#;6Tnvb(h_) zdK6Tx(#W6Rt`(@-Z>~FbuSSXwhebgHM2w?}mV72kvbeY_mdm(r#?rotyKM1<^m*SFcsPbSuIv(^5_{Dpf9{R~ zha67MTMxa#>U1o1opkWn*jTEa1K~Ueeyt4IQR=(qqy5S^rrMM<^z@so>XB2^AD#2y zGp+rnkWT2Wi)QuO!!)`2RTrL%cP@{8z{Gz-!<80)wjQsyPjLlsgM6RS0Fko-f9T@_ zMau8A;MZ}x7Hhs}(nFqT9A`#aRK;&(1$Ds<3)IpVE+5LB(@R0QxaKLp!)xkTj~C<8 zjNrnw?=TN~_tlbg7w4}^VTgaiCgy9Sl`wSH=dC`CO6_rPfYodxD0zE!l9P8y=a_4(@NqJ} z6T*(Kb75h?^|9PgiE_k(Hq+|z1plWH=R$G{!zsr8wGs&c2NEFE zh29OOlG^@g6jdcDAG)xijDoblkNwtqPfpi-f$iP~W8BT}m3;-RQbp&km^I4@0K#oa z+Gu9xE=jxWY&Le5NpLK^iTR|k5fu8I)>+LlKA^<;n^ub*5ab~M%}U$0BOA@~rizn@ zgJCZJG!lqWmcaGlzu1ipzrXj*cry3ru{ABDjg|KwvKUP_IjcWNU$czdlA(<$-WJ#w zO%PS{TXq4)Fh6$P%l7|t@EGQ*u>fTChlkM(V2Wb(w^=B~1N5E5TNn73gBLx;>D*0y z&x|QKJ{NLgK^Ba{Dl134>3|?g5MYE6N%B8VVV;Y%q+}ZlM<2wrq{c zQ6dt1l0|73uZg-ZgBTV)wIQ_yBXP4ObZ8o`1I%&%M3F7&y$qEw{5Kt(6C_$%T1?SR zG?fA*>M!C1r%t-VDjlirh-w>1UKuaZO|aY;1r!56YTRg3K3~GD5hXSy)?l{iJDVm4 zW+KG9;NKUBc7?n|q;~$UR3M_454W3ek-)LjEcX~%cF?y5dX%Coq%d(_?Yo^2QFg

    KYdnx@lEA&}U}sSSxeP_$_lG9%Q?xb!SK`yFg@McTLgajDnlpJvO5!ya=BIkcZf zsg(Tv*kyOMyHqnv-^^ z&BI;xssG*GKwk&REy698gLM27dp_TbZ7`zpKhPCT=RW#J;!OjKmm@92=YJo*+WVNK zE?W(|_mx%S+{7F*hHcy|2Zvq*ctadm`~NsH`<*~CR>>2pf(x}03^G^%E%iVA>dN?&pmy5 z0y2uhy8gtU#PE9==8Q7Nw@ydxuE&81t%B^(9!ulm`7$cZn@2EU%H$=<{b34+OWnPF=4mL{Syb_u?l}d$X(T`Hf6SL1PuJkei zILaz1-aPx5A6Ujy*S36_cIcL2$aZHlb1_<*w$g)@z1VgM|1?8hZF+)u< z8!l6lu!3ydar{?pcuS_9A~g~O%)yBk)4X1x<*TU%CJZX{vp5L@EXAqeT<$TV1@z^G z=aIXwNsK?RX2gBs{-koCLSulWp=30iMfX|Z-xjo`R5k{)Q0@@Ial#Rmat}jN$)Kl* zJ&eSi{pMdfs#0;pY4#$?H}*6t zSi`mix-!u*?1-6t9;1V!`vcf9g~#P@{q^^E7c-h6uf8tc9~NZC?>kJ2))BTKDEU4m z!M=PeWl?7$-IavRH!xqD>gv+^wCrFD80^#-i<`pK+QK}pz> z@!?bf@`fMfcJND8D`&i!L?|64!;`}tyTJX|FC`lm-wTle19u>kGoZ1QA>f^&tRDDZ zigA-5Nv94RtEby#FZZ3-hhXL0?aAh7ZpLWQDSa}>bfbBxc(2>Nd2@HV*vh)-@weuL zEU)!Ubr)U|@R|c&EMSbuBwguZ6i`>)nLg;KMQ!g4tp`@q>ubR*3Cy1r_Do6HlYYE= z#C$phdO%O9mC6#x|6)(Q_0o1a{Ln$MzHJPAM%ZM|!uEx{SdU*oSYq@9H-&t!X=y_q zHWuJtIGi}GLdaat58xY5Uv;R_#(9f_%;w*@b+MU^sUvus3 z<{}Ik0I;(Q1t(_4PcF{5M(dIXbw^Rb3fR;2(}H!*Pv&OkHxDN-zhGaUpT9B`XHNhE zAgf&elXYo*jfDy%4?5mhFl=NeD$A5egaAJas=0u6jJ7;_l{iwHYE%ZI0LzC|+RR08Dzd#LI1v@T6mJ|t zsX&tR$p!1W1gOKx5V$w6{TRD2!jI9wUSb+8I{e-ejG zryLL~Vu$nQYE7#xzaOV2{V%bcvkM05Z}$Vuf*S^wq9R;CTKpMZI#vs}{o ze?q}~oMl2a^I4N2;ofMS5j*LzXsL$aV5`i0vn$3jTonQ|OG5X+$MENC#1pUN&KD() z@52d#ll|^9DM}rX;CieXgcr9!-ocS!Micb#U*_Bo?_Vs{`}Zi)U#homaFc_FfA8o1 z4w@AnYrKNufeROf$jA)Ov(kY3{2A75(m61)K3&E=#!phMTw_Y|d%E6ZFw&nF0PzZalBIyv|Q(pdzSlyC%jnC8UHR9386i<>a zTFLW@$^2px=Vt!;Sw=Te{{yKKi~D#n5Gq=HXxr}d9}duKOxJ5=>ZuYcnbf&`>m-iM ze)ZR%Cq$-FnIpFJt-I(UprL{1Nu+a?2oMt_%TAV2*@#vQ9c-ST^L`M%x&l_%(*#As zG^3YG&cfx|Y;%*cy1rzZh?V5li6Ah^&Fj=@ElEk~jdptX%>Siz9;6Qu%SyeOP|E1$ zQU#PbK<|CFO4uL7sO6as0uC-v$mZ8Oz`=)C(WRo;#@y46ow*}#Tw;2M^{l?F;n5Y4 zfBExS{C#VM(8T%fKSJ(l0A07|rhjAAP|~Xt(j?2Pom?q+3D^FeMj>%1jTW8%(%>WQWZ|TdLYaMJ9Mh zJ*EC@iDGCdUL??$vaa<9o_Eo{mtQyb^QT%({mu#2O#;?dWqpjk~C>Pza zBI6FPvY^$5K)}!@t(LzPs+1a2t)N*gz>_6?MbqU{wQiqOR716^ls+j+juw%UJ7E**}{Y(l@UW#Gf|uyP-tz zjoHk0gRq&0x4ySh62dlqB)Q93v5^+D6)T9P6qMSqsPYi`7d}^Zst#rP+K~m#%Vf9t zN~)6nOzwB^+IhM8AliAo->Zz`o-P2SeX{0o{in%&0ew!#xRK^Ovrpb~uo8S5xSxk~ zy`%FK7NvF`X}DoGAP?Wt#Gp`3CscZJGvCA_Hu>dj-P=o4O#1+0&EbyUj4C+>rDEou zMNxGE9`&gv50g8n;`4foT72rTv-j{`gZ*xDh5*E7fV? z3oFybIWHka)6YGf!;LMamb=UJ!aj4v8SI`5-#Jr;@iR9+ivy2Gbkl#evuf`QKW5r; zWS*}RV(=dyzugoqRKUWE=?i{3FvN5Of;uw^oz6Uw5olQ;{+hFnSJc0D){Q%4D z7EC&wb&~|hA=cDS{9(5EDoZi}^gSb6UW{i6i)-4QJxbqc%B~M64Y`T{b|dvSICTYZ zhTiEqPkXbbS3B)^pTII6C!f}pWG6i0pzf61 zZfL#{$fH$nj{YyZK8`D0N~a*P$%1mI|6K>*m{?*U5KU1B{{@&Sl8B5|w>85piJa}0 zU@gKZKgdM2D3JnD%9i0(m^`sP%UDw7!3}&mbdYlJa7yBxtt?@Tf~*%$($~bWrWlv4 zbl2iTYW^dSU)xiBO*njI{_mv682ofYYnN-&sxwhlnfHvGo>*%6{JFPJ#Zs8Xx1qAv zxh2Y#SPL?rSJPHxIWbfTPfb#5Y8>m%{U~FiN?1ZboKsZwu3qyDrU{Y27>UI0HiBz{ z3S-K(ZR7JQ{GZclETOOgi!-Ly9IcJ6Z(*hhDv?`hQqqRs7cBldA=CN%B3R!%GZx9K zfQNC*oG_%m@h1cON`{r*&4*Xx?n7m-NoB<1tW0>@mv+9l1rL89;H8;5ed_I@AI#}N z)p$dZhI+MtKJhxCqCPGospQzv#rzbn>*vG1)FXbZRrl)YZNpR({W5kyKvLf&{HtA3 z041AUsYx#CYP?l$Ikx3)=w(uNn?hn5-O#NbwR9ypK00hTk$BTtmT*|^T>8i%fq7(Z zvT86FMI0iJ5bj&nPpZ#4z?}T*^ez@n9)6;UE21$*ZbaY*@#}IZi%*Zz(vmL2y#U zTKSMG;Dg^nDO+=`+&Cq*v3-OLXdV6t z9u86z!E)O46E_g|mvNJdB2SDir^sS;O#gGc`Ry%k>FhdPTYCSmD|A_nd3Ci9#O%b^ zf8+G!;jKabHwthezi@Sd7STecX-`+TBR-2Y1W>+g?%d{7);Z?pP90^fg-mc2dA4?1 zf~S@b+i)YHc3NyoO4=ry7$;j=dEUWZ09U*vYU9Xrh66;* zY>DD48pdJ9a&k38UBt4KlVpP+N!t!du?GSFQnlJs27P*% z@vSmnJ~B@EnP^7E@J1OEyYLN6GDn8 zK6*Yy@$#XBMRq_}ddWsA)3l(;Vf-Y4-(18UZ(7UI;!J)N9zT5=L(jA%6dzIP6z>0) zcyP<6Ihn)$*i@PLyvoAgMn{1lFyzv&)u+j<5T(~Dul_{_bx}7Zib0nJ`Ua(Se^t-y zY(tXo7Sx4_f?C2qOSv44PY<2GAxYCS$Bud7y>};O{<(C#F<=1uRJaZ^9@>8z@c7=uXBl+tBGM*FY9_<*Mr^gErmsrttzhA)*IgG-HOZj_g! z98w$i^tO64K6uly?10J_Un*e@sm$R1AzmDK!4U&P>l zeK@;_OMy5=p{`yFYAR~)IFL+y9pay`33tN*3u?WLR@4;{+L~$BAg8dNlHHBh(@n6C zIl$I?ckn7f>QlNOhi-J|=H9I=8^VBV6R;i=-@KJ2oTG7+S@d;YprJ47OShXt7f-RF zy_VO43mM>?Ng~~!N11Rno0*Dh589o<2mVHUxFd`U#GxrQHQF-iEWb3ZTZ(yl_;I~x z7sE)6tb`BJSrQD{)b}eD1b$lB>SdMMHak;!q|CFJkPo`6C1|7CwbV7>i)XO>S^DYx zMx2UPZQ(TQ{-_+@=CXxpG2gc4%(zQagfcM$5O7Os0M3!Xg_toeLt;9xp%Er8L~e@X zLtRWMLqRRK0xm0hdKo!*2Hhl4(c7H^lnu@~E8UYE;HlMf$x@JI&-$PH*WRX{lJrAG zWiIww#IRk3NXC8w7VIB7;P{>bYVp~wY1c`$G_sEO#S`hh)q5+?OZ4cjl>AQI^^V}b ztLDAk4Qw&rgQxUx5IQ3=I5W9W9!px5Qy8Du-yf0wNdQ!I>RqH?F;tI%TNkQTai4?%> zXIDtRpgDXRBqOkSOK+6SW`&os7mgfcb|)km;V(RHHiLlF93LbRWqZ_5CmYHmmMrn; zQTg5EKW|Z{FKy2xTYhQ2#A$lNI-!LQ(K006-pP@E+~ZZyR+uHNU7(R+8wGRYO##Z% zUCf#qwln6MCY#+rS6^R)aklAKl8a^EJaeIzp?;;V>SvPCvSpZ5Bj~-;KFzH0*5gVo zr{E^hLR-E@quSlhlzJ_5zw;|@z))*12C(z!et&p4+p%Bi&APLvygAzuxc0603%*v8 zDe7g%rnqtK7n7Rx<_6nt-M-c2)D4x9EUZZo1X7CY+LzZqQ}pl7lS}l zKMF`Gw4B(JqKwyK`bzn(S(56JrXKfJOR^ zRy-Ry2uO8== zJT?M&WJSklB6E7)Xvj43SJc+K%m z1RtO}H+HA_y@p8pvn>JSR^j|cJhU1qkFxa2^)C~Mm5y!hEy{^7U#!-IxPt}0C(tY&qyTQWISAC_|<)x0nJ zFP#LFyAL}t8g|)cj_&PMI81=K{>m5n)C-r#0z8C<50|aO5VJO6Gp@B9qO49mNV=H* zlZjR?1i3|GNl0DLvRlXnFWsZ5`ABPMEFYTwpjQMr292Y_n+#dhO<+R5Y%GcW3f1AQ zqcfu<23YRUAf3VFJ*ru?2#%{{z=5tr%6 z%?#+K?&nFoP0`5B8KgJ--!e!)5KVzbWV|)O_7|q?olg*$FY0>Fy-IEYE}hdKul0Fv zJoxXFn*ZVl<1Rg{-#`NA^z73PDs~?2CIiur|_dsNG3X&Nx>~?nq4xV}u zuH1t<59c>j=6{PqCjc{VGYNbOy!JO{e$V-V7Cr0dS@ZU806pL*iSK(p^A-M1*LCQc zva|w$0|VTWGMeaFi2=@$hG-WF~?I4s7PUlS1C0-dohKgaVL0TKI1>* z{0nDWI9?$xImWG095b7v8%cpHq;zgUf<1rl2Gwdxn-n8u{uA`TAI!aW=+A?d^MGrta{Cm?xviD+90`JVc zX7x<@Q>47XR(Q-m`zE69-2(k&y)5xV0=pg5*yB{^%aBUu56N7P7E>X{6dc31G65@| zZzX3nv{NzSW*i*DdS2Xsdrs)0{-{B)Oo%zYWX3^UWfpm77Ich&#sF;af&-WE#>2F&VLfKB3Y+YHvmGgbAVr|$}{FBQUBzO zbCE!moOA9x9#Y5S{pUA-c;Xi0TqGZ^A@5i8LM`2_p%4xDqF-U+;ff?fk=<2^wb+nl zl2hP^BM~4AMbi#g5$~YixD?^EIN{hCc8HnQyJWuGQ+3hTB z0#V+D+cvS}?&B=7Pv|DFQ7}Zh_Y=qi>xSv#5{B|#ZJZz&GK3vlIu+ABh5=SspIQ_@ z5XZ3oJSv(pG#ddWQ@(*7#0{XgL?2@UF}dNjDve)8`{r)}@6$hF-w%3YpBn9YR&u>H zu0r7Mb}yupm|7~RD8J?AcGmfeOK#l1Mp~-{yjwnUT{?6XwPnw3lobFR@(bmhXW`%+N!kk;AJw+L;zQvtk zlc*c8nP0R7Y4h?{4^V5&94vY|vA1;TgebiB#Y^;K?Xx!=nng`+K%FQphp68*DjTZE zWzn~$qFd4U*W;#3p-sD*(@Gh?@C}oW?0}I3uEvN{cXAlkbPT-ROfQje^oX@ zf<47#rn86#y8x}@bpvTQ5}{jJ zA)!*^FS6;>ZCf^v`HOA&1gF8=Z?J4RVnPH*V(`l>nY9?LbQAsSj_>_?8(gYD z@>G($x7B{Vyo;$ZToZQ7KP>hcy;)83anty9hAe5Rl&C6}Qk0tvfT$;6o?YoES~T4( zb}y7t36neEd|}!oK$ab6&Hv*@;hvBnsP%(!Atmks!F0DyZu<^;EQm8!-H~ zY7CxQyO(b63DrV)=NG=!&cD7e^>pujELgh>q?t)9GA>0lJ71T2cK_RHN;WHb%5b`L zqZ42qc~98|6=pLlE9p-FkGY!;fY@*ckJl!4+>ys1XAwp-H`N7+%!r2@4fnS*BEL0C z9_T4clibjZ=GzeC{Jr|ShFlBAG46~K458jd^O^Ha!^=Um7+e#7ryeE9zjGu1DG*|j zShO0@WOO8y{&%xCAq|3i6oOLF4917AwfP9AoMDoBsldj>r!qX}9f2KV~;E`oxdF=^qp&+T6a9DGxe zf%!j`VQv=ZS%^8#A{g)DRlle&V?fv%EqY^ zAtU?~gcTnlQ#q1CiL&6WNQv$sWo5i+(Fgyh(DX~>rk6cHjif^S6AGd8M5zn4vXrJ`;}aizP5C$t8sOBp93+9cBWA9G^80GH&jj*gVh?F1jFK=V;VhFN-t%bU+oN z73>XsW?0;M%x|y}1XzPu(KERTnTT&YVF_z0WAQ@*k1t&*AWyUlCiYZ*msH9A}#FI5p;*{1Q*c-xD%X&LwK6 zy9m0I?H>vG(!*g`3kaw{wrQ32XhCDYtl!KQyolr|_#srOwvcHli3`wc^%rsV6pJbV zN7i1jwb?zxzXmS%sXp4fE^{+{Md@di1kzKH&i{^L3b!^mVLg05Wj5NMvPk8xelu!( z9-w?o_qm=L4AwQLB$P{K>wukp?*6iKC3Ma3G;n0rv_p_8t!_H2*0OLsNy>9QB~k%< zkXnX2YjsQW%uXW;p`6Keow$a*{wN--X3bc4h0yBVm6YD1eH;zbjhs%Vb{=c9pGOzl zWK2j{lhnX)?(oM+o#sL2+l}yEp7txc&X67){&jCDa|4Fv$@4Z2^6@6aTH!F_tFWi1 z&&q~x4oR2|V}0wNWQdQWWRV!6&}kq4!Kr;P#ED}(U&}nCvNpkgO%4d{xq-0c{i^## zR>&z7Nw2*11@RM`Ri6FmvG9QJjmP8_ut=m-P|%*V3HjHqbHV$SbC8-v4nE^n80t0@_^xKb}%eG#b>m0ZK}}EJ?}G;cHar-@v@7kCfOB)tvis+uB&B zw^QGJxxkzQd@(51G_Y`89|ca7gsP3fH)f3nkY$EKl;OuUr&dz9nq^sYmX-$O%2bOB|-2zKlw%Q9djE zl9>o$;`OBZyu6u6cE@Dx>4I6eBk;F_O^E=dJA<$Cz<8xsXs)&Y#(9jOpmmP@$+{#h1|%30;S?6nbmCKboB?o*%}!B zWAyDw3751$9&1zLziIDPb%o7D@7aGemA%=yTfGz*1I4z8!#nluvzFeg;8dk;aig*8 z<_9ifLP5=Wk9CG5u3xb0U`vn@M)z-BI-8|G(2LIl#N^hhU!H7Mo?CN{%+oVjD&J?H zl~LiSnG(U&!QX{anCV#*(_WoeEyd~v^HUq2~KM}X)byL{*#p&E09MF*YJS^ zfYEKm3}@huIy;-HytQh6Kj~%;v-to@Zg7jI`0>DID4cRYGOS)|Gj(-D2iIr#+!Gd$ zFN%+rLea3&^COwO_@6n-Nw?oTJH|lyR10>xP}}kI!2R<@k^keM^u{d_@=+g9K6CEe zE{CBZmQ6y?KsR+hW*qTAOr0ABCWM(4lGoA+laZP|;)<16w{2M^1KupzvDuTg{d-RC*l~;rsBeP?x>S?Dj&H6$H`EdP0`h9xP$}SZWTdE!Z+XUGVu?Icf zWoeneCGz|6?^~Y=`4U(&w*pu?{kfGpcKXlffSY>A-r^T-3|GZ7DM8jO>gbrStWvZn|ge4 zvuWA1YUj;st19`{yf2gAuUGBeRus%2OwJcbT^wGJbUZ1ek&hlvnLXiH0raMN~6n9$+TPRc<~?8^{!^b@Go>D zFlvS4cm%&hne?NEpWld7(aF==&x^jpjcn4`R}u=r=WVp}C#Iac{;Dk3zbYWvpI*UF z%7d6DAFU{i(N4Y%E>pr3^} zL!W!IYQF1ReHYz%VW9#`q9nH808W{9n%#^=fb#PDSL>f0JAMk^>ArV~pq~Q5R8gtW z5^e!&nH%GJ(KS>aMH-Sx$oi`3JigJX_gOA2*OpRQ;kOO;mxW8o zx1klsMy?{hQL-8$7sbQhAV-`SQZx8?E^uuTq25E1_L7F<7RpUcqGbmxN&d#VyqMkt z)_05U)%!{>d<9e&)E2tB#}$#%_?sv;xJJ!qfR-z*dHG-a^6G5%MPb$BmSi_z#=HC! zX}vb0>H z`2@5&s^8`!*|1PQPGqrYX5w90%u;=JAmUZoeEEFy@T!RZ?R3mS%GMVaZ0gabOv~L9 zldlk$Z%);m<&H&nG^!GxP4oKCtKlP~%;*iSE7Y*GOj?+`y>*|qQ;k~X1@z_gv=(hD zkQ6!Si-sz#Akbu1XE^i<2Iykm4#hCgW~`#-pXwj7~S%wxctn99dQqfcjkoujhDyT&MbX(fqCryBxe zw<=%k(T%L158XoZD3+fupKtn}ecnpyRI&fno_J2}BY8-1fw23c zy|-s71q%rNgTUJH=NU;^&Rv+Z4zLDvXe1LKW}Kgz5JWuWOww>+!cybF62jLE9scLc z6H|2HoiA0G_yp2vhkY}o_9IU;TRq2g`ULK`;DFOs9h?bw_s9v1H`Kmc6I_}(&*nH0 zW2v&j-o39#Rc5WHq?@^EU=-rDwoJdA;kiV>LT#_h4HWb@h#fAmdHIgXpeEvt#0&tq zFgowz4XIgdAWcD9OVFDxX8SdK_q^DQ8nYDRfx{Osg0%wtl=hBk@HMd(_;C5gQMbhD zLmy7;3mNDQcs`yFh*I5=w!SaSP@(?Tlpe97<3U7VBv|B5I@@w6sqJOT0QdOYKFCP8 z?eh;Nw!(cf=pW8GF(-InJd<1cpJqzKF89|&GWTwaU5R%{;EDYFQ>&$C2)8%%oPP0i zx09X}cyWM@Q}YU;a=ZpkO!)tZGwDD*Jk6X!?CR>ODLbF-AfMs-`5K(J#$D7Gw7Hg- zYVqSV2w*<;z6}9nF!yZ?@dMeS345{lFdtxwcULm#;~c?PdT0cmAWIPv@<{+BZGYqX zYyQLTcKAu0GMMc^H1A92+g9(lDhBrP41Mp?2O=}2-#*e! zGy><~Opb|XqLWG3a3^B*>MW$4$I*vPbGmlHDWMcdTm=B&2P++8_jfm0d~tryM`*UD z@p*3fgg5CD-S9O^o7Nqq)^op)v-89o`~fLLck*)hbw^jvR(?@qrgM;gP9Ey}S!kW4 z$TY=?=WcZ_4qPV*qr6t}q$rUYxQof)q; zQxoG!z-9F3Wx4;S3-`DFh0SpkY#z$n42o%6_mJ5d+4+y?Au?{?0$kWnYgDs~0i&@3 z&Rh$gHfhfEhC{k+ch0HcRZlj_3i;k`l1t)rY_{<*?x4kH;R;nhp?QR*9iPcIM)9xm zOA@IgK3oBzP|AQzs}veq&CC)PF%84s@owq!@?Y6kc#jsF4N?Eu=VX7Yc69zU_UEJ8 z3xdUKbgr>?Kp5p;pIC;MUzIWr3O4>zl+lcT2`nR-GX&(teCl`4V(8dN;1lAtY+;@$ z3N7|B@Y5mPN(QBx8e)ry8OE#PUlpR<&f-fGPrGH2eZi$V5*sAshtdLxGk%U<9fNp5R43%I7qMge7>ZX??9M9I&45ZYV1H1V7O(W|5+whxonghh0mb-Q48-_E1N7 z|1wQ>Q5W`i(QrnSF0a8!=u}88tCdw_NwQL)q9ie{j-*vCS9IaLtae#$hsZAi>>W$S z8y*+VKm`|v-L9!*cOU6AGE}t#?dG+AKo1XqG|qw1%_Tq-hmyG5+>0=jlfU_S6nh>n z3huP(Fi0b#GKHTtJWswcoL$)5YcQ(oSYFQ{x6l0;gJNFvcD|Ln-n?ha)pzEO1+mg=J@{u|&*{N){r%4LAM!wiBP&iKd<`#UOJ`B&;CBp2PvhM_%CK1TkZ~X-ttS@`G)47t$59KUOGw zg5&#VZHgEEB2!eda!s6zl9e&r{_1CA)4vl4+{v5b5WiCpYdWfNc_NPDVgkC{BpN{I zGr1oir)mB57i^nm$4(2Y*rQJSeluX@(glWQIoQ^{w9rjZ&;60uDL3U6+Rul%laI&d z@A4@@S!(>w4nFc?Zsd(qF|M;MRa&na3o+#IXIQriE;`7u)8_~!n798jIHq?ipT05E zDzJ@NqjZ@atDOGJ?TPJ|WZUW1Nt<;85i%Uhir!tiD(`pZHaO$|^isG7L8|f%8jlt< zjH-}|O0uyj8?U5XgIp48wX4-$CoxGWzJEoHPdj~te>r~g6-zN7_jCTl5T8vd1?VwoWv5@>u(P(i&Q16GweXc`C z8IR8Rzt20hp&YoYj6--<5e}+^+zPQPLgg^!gn0qIkn-<|oC0#em#g(!Pi|ot`a%;G zvqh!hLCZs}7+a|RkDQ40bHSGlT*IQHgWu!-^9$x_RoWwJiKfSxo%E%9lPvCFla|&|c($hByTVFbdc>jBmQ^=)Umd;S3 zP~q|U#g0G{U7xoG7mmLcIy#_=OQpSnqpx z2Aj@H`FDx|cmSHeT>Om&Lr$6$Q)f!@kT!syM2>mn)8Amn+yu*A)lJrv1Ju%FIVTbq zCjYXGG-K(Dr4;$)%}WX0lV2+ zk0qt@RV@2aZQ#4Tv=9eFUJ+-JHW164OQXR|s+`!bU9q`SJ70CvMFs64pmW{I=DR|h zzQ>$DS#iK~Gwa#eJ7IB7?zAWZ*Jj`q9(exLxht{n>iFR;Sy)u0y)ux%HNf~kOE93j zX$FRS-m+`L5A){FIrXUoHvVe6m|PiTz-1vgjkOvEO4{v8X;JCu^Pk#iud099dSOy@ z`Dp@K-={)5`^cG6g@y!nn$BbC*TH9!TaM481PmcIRQ0ptrK6q=TyMMY!?`G2D&7Rg z*e>6MYk^b!dbNzo0fi839((6S>&S%d+Wxd}PNxCk^{R$IA0Fx>(E$my&Z>#9z z+y4PfEQ5HQ)hA!m88;fb?sXEuq6M{&bi~XYY&-=gYnM`!R3>RQyT+?^pgF_n89i3vNdkxdvMc)dObkhlw8e2tlPZU=K~2U?QSOqH+{M~%!| z*1Ta0lZ#vqQx;^}&VB)!&^fnrh2ujkTQY5bocaxUOQlB-85=?Kn;j$Gq!7D^w{Ulo zQd@lEich;I;Nd?R#F{41hI+eyf3E9&uZ0`IvH#wzFL^*0$JkIKOLehz=}1&p7+#t0 zU8ZKfpU^pJu-0wc*jq80LfoNm>%gq1jpHoB=RV0V+s%SSVaFioJ$#$?W^MlC%PkQ$ zSi;vL!^cDAo8i-@r}v(wuakNVcb++O*m<4m&H1s|8q~|Z=H<1Bl0k{ucozjjQCE+k zw>)-DZW5aj1zf=Uz50-4y8(Oku}j|os-9ECkzBi3@$bYJe>lH+?Yi!UDi~?feWS)P zU=z)t_^&U7U+B*@!9;mjQkeoo3_1wZj$*X*e%E)H&gGW(5100?a!RJp>K=IZ@W|%cANS5gLx>Z|G)wFS)$PYzpT5IVe_oT)Io2J$WxH0)@ zI)q|jo#E}%C~)Kz3w1l`ffRyL5a7WnWVmV)lZi#xgJS7<%x?=R(+~T)bMcM|GC}YC)MchD~@ddvkm7LO&3{&LI z@!NZ091`bjxBw}@pit;o-#;w}B`%ERU?;tVf-2$ozT8lA?L#ejJb&#`Ia>p%H+;^A zjl+Vr@t2D9xLI!;s|TgJdsnb+%qLWk-^k2@k8{v;l`F=0jSNTZ;a_n7`R&ex^u180 z=KpB{M!#!NVvX!BwUU0f8RkoAR|{eUw2ZyH{8L@Ofu|poOC2pW4bNibQh;6V#)NzN z*!8T&>1&&kw7>S(`(kHb%E*Mv^lndfUz`kW#+NA>K+^?@)Z~LS{DPlzV`Haj-vy>! z{ydX!e$qNvBa75{h(X`>qQkU(5m8M~duM59WU9upNrVj7x2zt6xm|>6ce< z>OojVlbrQeU$2yu)_kOcjw^XHeA*jnv$m+rFc5Y_?-v0tevHrW=E*H>{25o~lkL|qDK)8@%5t*)2*~X`U(>L(BPq%FO6KeNiav8q3@2`})-E{bt!#LUc>?vZ zTi1s78Zjz^I!9&YR_3J4+4WOb>8o_oU3eUz8LVye`&rIg;QxHxOWl}h#}RLX@17Y+r;0wFz~H1aaGdl;#TI4=%Oij%xttcx{3fLKVRZ$p z7k!857?<&7f!8keBzs7#1U*^LR}p&{=K5SwMSM(63ySqaX)c4%N^HO+dt&OlOyx3I zr0Rvly}UD_Qfd~!!|yjDP?jftYbG0|CLzs_t?Vkh z>7i&-G&e+Iy7wDTJC6XB(7-%(S6oLY8QAnO5+=uS5IRyTAr9D;f~89ib4EPsI>Q*W zL%il6lRp}@ByPjr3nd@eS)I}RwP4k`LM=|F)KH6TC?he!a-8$y)=eeok2_kH5Vn7+ka&XzohMjZ4mp8HjAyAIVOReE44Ra3~ORlAj z@8kkUhl@jZh>@3q968Z=E%5PjYkLthCgeqwoc%U?`Mo$LK2nm*<=Fkj7faTA5_c_S zhbq+Xtdg;-zot<5E2_z7e4R7kCX5}$o%U2%Y$;7H*e{1|F2numke5B`SKSZ6>oU}f zY{qVm2RX2z?ocNEc=lz1Zu$mkwzJf2fX)H54CfoG_;@EIA(jcM5pYvykE>KbXbD}UZY&&q;Kx3f?sUzhZx{UR_B%5%HNrc1 z(!L%L?XPv+{p7m_OezUcN;w7gxL$_PNV&0&)|27$gmWWV>X-gf*OCR0+cS8<&}afI z19s)>rDIVBkUoxE5I`+!>|x(-gaodv^!LB%0mkgW*Mq^zCSFNDZD8EhuyIcUdR)5B zkSpcig|37AUrD|VB~R6}a!>qg0Rk{}bZu>SQ{VwQ4e60ZgO4a{Pbv4S&T1bDdz(uK z_X4xE2jzM;ZZ!W!m9}S5iP*W0F_D@t*RRW1OYnTAilr7v;271^LwgA8Bv@x&JfvtI z@LJ6lXQK?J8Z5;&%7}0trY~NkNg;j-I{1D0=olT|gEs~yne_4ahq~+`R_2h}FAtKl zUvJ_@f;9j>*r*k^6T6|AmVv)-N_|t29X5!^)U@cs{Pxh&wGtP|K2yE%Zs)TYw~#J2 z=3WFwe*@}`<~3)XVKwfUlF7Q9J>SaMJ;V8|Q#30qC&jL-ORY&cT5JSAB+$*E;%jPT zYj&w93+@rO=&UY8hWNAGLNYLdovN6nC$(wAP*hJPh<}IP#+`@ulkd$OTvha1 zEJJHgMJ!|Vck;grsT5xFY1@B`Ld}|v&DLFJRBT?E<-I8J+o`j+iW%iq8O}jE3IABj zuc1!jWo#{nG^_Nl2bnEAN0Q{J^hE&4tVHg7#X0phkRnoP0l=4)^5AsK-7#=nk6^%wRj|!~) zcnqUMC6U?2F%i1*nXNN%^A8N!e0mZV6>YT+bNChV%;h$%PO)p$&U!9j)6rd&Xxbo9 z@=Bwa9Z>Y)4LY>sCdM%()Kll`2QsRW0j)bA|A+LR{j~3509%_47QNEQ)?=rd^bpTy zxu3s~Jb?8yxE}k`mct1L>w$z>SEu7vL{PvT*zS*uA=O01W_mtm_>0k&fF+r;gJWTH z(KqvGHZpa;xlScBJBRvy*1I|$g2j@)nWnr=u(x(I6)Ayav4WM_6gj4Ao6{U(46W5M zY}@;$TvBPwdG{Jl;=fldFm)Uyl|M2W0Fj>6fI(&;3tN4muFt^02iGJe5}<0Xk>n!T z2+rU>YA$p}zt#qu2Z~>jTTp@1IiA%JqT^liDPa-ja40$*2gIfU{e%gRI>Q_+a$*LzDem zvX)d>kHPzhIa12#?lNc2oXWN=Lyni@+k!0i{vYh!l!m3U zuG%YSQ&AuE{(T!d`W$IpZD?0or4u+bd+*2IMX0cM)&V#!j$O2cD}Lhuv9sQ8Px!vZ za#TPoqWi7XJE3rKUt`>a2)hGtU!Ux&Jry%kBh(NO0WXouV6On>Djd$1qc?^T`su~b z`7~JIKugpSY;$x*7@hxqjn_Q5j3mV)S0?DmShgoq)W(E?E1jQ%l&xyG&3P}-a1=KH zqW>=SE(H|}s0O`420Umgq4c3cb=37v8b zaVRAj=-Nh!thzRHc{&wwD#UMsMdAgAUoDR(*3n-L@vkRn?V&r_Wia*f-A5-id+*(@`xHlc%v~m@r85n_U=CeDwbQTFZueCI%D;Saum@H2^h3&pIOn--L>e~+J2@e=)QJv321X?W5cn*)3+C!boDX) z9?+3kH!e-lGLK`k@Rzv0E8(Iz4ZBf1!p8_&PaE28;irAio#F0ylwm!G;sJX3ksxwT zi@V{y-G(>>=k?bhJTALoaly0Pd$^#F0U;VgH~E{4_7|)cVFsjIO7>&uG3^}P*TkT4 zf8~4+rIDS^-(fVqs*z>%&SOGX}-*bS@*=0 zweS&sc^82_s@Q~~ET3A&p=3;ej^x3GSZ_)UYw=OKzYKf%7A`CJ!DKOXU+z@q+5LHU zJx8FNM?bpemnTiSO@vKTN{glsbF01xLsU;I7uiS;{|T_LSLbJcsj2L<*m@bvNz%N@ ze0h~k>nHBA{L44E$*`Ey&2-5G90t>@7)^gAp_gA!F(XwSP(xl)HR_bdCh@VTJPUV^ zh4J~3HBcnx6q$OxpoA?Qwjv5=ueGygH_Ghs)D~+C93qd7J~($Nf5uj_pTRNlG6{#P zKE&&(Lz7g4ro}#tFqZRpMz>_k2wxmNB*Oc3xO%CP?)IfER(zi#yI;sr%h(2csrX9k zlRH3Z9zH3h+3f}D@6@|W0QHg)>dSO8rk*BAE2n-&6HJr!d7Mk{V3pNa71>!490ktT z0`A~1#D?Igyj&o3(zVDNF_1ss!-%bfO@GOhSe@7Y^W5B0_Qf*mxq@U`XjQZA0(yw- z-+RFBxw#$BDQwX)h;vt6pcy#iAWruSWZ$j6UzhP;&9A($6xkc+3{%&L`Rl6`A+vq^B)rL zp0hrsu^P{K|2Rb8Nq49y+HZY4$g8aB=2kFM&ORgk$!CNqXcTAFpX5G$M_nac#qa%@ z1tvgYO40M>uey{$K0^#BnATXb_LCx{vU@3 zC?S>wLo=k^$3FHf^IJ1~~xAW%nWSN>U`(ROFD#@VhY3Q?yhw>q~$6cfbsuT2Mu`VyaIz zezpJNkq>}5xh|$cIX=_9Awioh?YkM+M)*c-k+hnR^5Mphp7WVcZ?c_sh4IBwH26Z7GRFO0z;lUf;@w4SpV;edYUt_}u|zNw7YD z<;Sy}Cb*cQHH%Pu=|Az(@Owf-s_HD)c%LLOQdIM(OHCf0sMfnef;8sI@Z7Qd^G2J6 zp=LrAeiKeG%t&NGgDFUEw)rA4n<~h;szZh+&CmO`@8a$i>_M9aH{k^SI0%PNQl(x9qPnMZC1c7jY z^!x5|SIVYrDfIWy({cKyS*%dtb z@)_|Qcl_y&zH~`ipxW)m{ptJj!^zWh|I_;EQRqX=^K9+mx#rh+H%ltcg3RecLU0R8 zV_CzOXGAmWJoaJW$Y%|6eujT3uvbn8shgeUue2xDH$6LdlL9AFXjg2@Pa;{S(j5*q z70s!?U7*b0M%`UD)Db#VZ1?zP%P8*}9y)H+%f^U`nM})tXEapzX6X8vHawuR>MPYOk+bBJ3xMu+;_2 zKcM67z7xt38n0X8Qube+(r?|Qn)RW1WN%g@QI4m`n@_!F^khw;0C9%`w$eZW)S@tm z7N?II!HuKc8)E+fV#C5+Vio=cKtP`a@ZWOmH8$mpw_p6zsoksII(~S5){f8iY>o@IOVl1OY7zuV$fqXM^dIf!o3q-FFaAJK1m)qUi%La{y!r(KbO!UqktPf0xHGev@Eu_#ZuH@$ z>Wf(+tnbvu#ZB=%Pf8Uj@Z#PuQt!PGp6e6&34H3w~sS%qtd?37~{`J z3sZ-WSVly}I~(4AV}KPPDm6YvchHlf`MWv0C`0gh?GxSI`ZK3c&cYoa7Zw z?j|zD1*0lqW&rbEgC%b)27{Kq?$XPLR9r{}>+>u%m9c*$!4noe7@g!n>$OY!)RArJ zhTT+({+k}Q)OVG;J3WDU1Y=lKw~8l!U2w@OG%EAA)TMq0$K%cuLJ$(pl$M@KZ>C$l~g%nCT*7Wbh%JT4p? zK>H+4@@c7tfp>yhM*>)ru7@Hxk6ZBZ=A(<#+nRw~o50&}VcPZJ8?+@*WrKC=C(<~@ zK*^|c!4Zat}b!OUb`cV|tOE3rDe#Fh|9-N5NMyw&y(_+q~=uz81kJw(Ug zT~NU7*zT?lUer4PfLpF3^S*lWXouESvWTW;0Ra7d_B)X#h(yB2$M=VPj-p^eG;tQ!bLb4p#Xa<7fvQa518fC0cR1y46l$KGYAO! zYx*E^f`fRMbd?>}>jSffNM4tyy1vQL5Ai)di?viD;ZGv2z3(zZ4Dcw|A-Bbe+vx6G z<_npWr%gQt@un+xkm_?d<0z%*FKjo=j4l3YSZlws`6$h20%*N_q`)~Ik)vH-+irM5 zP}x=Py`<4i;_ZJ^CUgz`?bEEcpk>2EmYgKN)-e@ic%evAu4$s1&pDu*;E~uR^bC%3 z+M_Tp9@-01Aw%qW=*HSqspP1YIvM9V}ocfEuiG%lpjhy;%70qS2%z?JX!Yw5Qe9OC#O&G#rx^bZ^m}p_a^< zw*%|>S!(qL?2%m+fnn74f>(XIS@?E8>f!Rv!2E0$-GVC7!L~BBMnuu$RaHw%F$dn; z^31XtP=3me*%;Q}&dJ$Z^dw>HPP+~6W81e^dd_1}rSUt|7z5oU?o=FsF>y{a8e2tlk%}IXyHsi{py%J+ zPb#wEXw+X~h12igSbFc010RQUUs2vaoc2tPGV|&{srg=8Iw+gU%M^2|BU620q0m~6 zy{$8R*w{y;;#;O0!Rto=@3E$gFNqJ&v|kz@QqUyRrGg~9J>kr)-CmdHwehdtmZ^qY z7hfiey@*3?n#CrljGqD2`Mw$PKE|bjiUC=Yl=mj*f05H`!SJ8Yw;AmD>Kz9 zm3vjqS7PG8xH!C4uf8xL#%tdQ+jtY(s%uPM^9M-p0RYeb2)E()wWeye0BVzW(h>+U zIFV6x@i3py!^5CxYC}a@M?^(!->$5z6ekWbRzgX3ax*|{up05a>y>q>zqkK^zhsw1 zsv3k%IDmug%7os!>!nRH;IfGL=l5yAgZ>m{QwaLab7DTl*M&VM+{R<8PKF2->4dhM z0Zac}UpvQ6a;>Z6AGY-I)6b2zw591}iu)9}2OCbBm=$&3EQ^+&;i2$yheT7karI*1 zufPQ*e8hymNlrt38f9Ijmx-wGq6u*{GKnUfy}rkXC85cwm`=HeU71sZs0^UhYrS6- zc>Si5P9-}WrB`U?S}#oiJR2l~Yh883NSr93$&|ppi%%~x`?^C(f&fSOM2c~+VW2@< zG;f0K{DA8PiTuHSe%wb&hlDhcM(xbJXAJ@##=kic%HxH>WwBW>=&|MVL!tf2)l*Xg zpk@Bu5)kjDFWlYt?r|*ocON1<+ibMhN8WEdlUu|3JbM*#a917R&nFmbzrXe%XdGjf za26B{i*~nvL9x3mG>TI7opZ;wp@Anmk2mrpz=%^|3&ukMB`g#Ee#H$(y{+)JKufi@ z%_p(=5SLVR2!ds-1#`zC&u({7*u>3xSJc8jE?H5_{J4%zk|iB*jOhrjzdL+%vuv`P2;dQ!*w(r+#P{@KM) z5PtVgKeT9G$KM3_@pX0kBxN%~jV16a=1*&N%{zw`U|*g^6OPKwSm7M{g#3@_5$b8=~z+*v(&3Sx}bhj z9Nmo}?9RQsR@fC_=T&_cmaTg*?P#lRwRz#h_3#3YAzThoFI1=XE_ zb}XR_0K7GU-Q-@jXhn(d#Cyk8?kWifVos+>3UCnDJCfR(>%tbwYC zlolZ=*=du3@yp%%AWzdC0RJtG#AZ~3YKX_|ef1BeZIvc!#Y_`>LBs&8l)S|x2c1AHZRG~FGUn6H`-J(?L^&0oG+cssIuUVhf zrQ7$=5=BzYN*oTVsY|9^6XY+vaF8)BN1C*)pGo1H8C+9*Ee zYMr|uA{GEUN89rb%>rUoS;7Jdndld6?{3Axb@g!8ZHfL9c;F(^{YYAW zHF#3p|g@o!NJ-#0AZ&J zaPQ2x&UOb=dF6Wt)D?8=yu+Y4+?#FW-=17S9Oj;(7`Ec)AtYc24?AtoTa#Zsi6`VX zaZ~!Tfc#eM__C^rZ)#brh~-a}hMQ;6R)yaHUI!ay&>6~}L{$rFh~hkn^`5OXr6So|1}KS2wz>xqVp^{>9mTW7&>)-%IqDr?Mkx^!}Es~T{P zGtN3g88rm12g&hvrK~_i7#z7*_DJuwZ{s?}Mj@g8EI2j~^raP?l9O;JL_e-A&JX`* zjW^hn2!Oknxkz5sGDhfVLUrs$SDG>=LSlzxa<+X%3?U~#W2o&QKW@dJ2~7Zq^rzdm z#GiL(n;NulEq*S|lkRSg9gWklGv|B+wJ)z-oIi|}vVu3qMAw4|dPQ^&z^nUTy+Tr9 zjHkEf57~T}9Eah#v;@e*Z|-8yt-TMZ$eKv>Ure7w6&qK0G0#4F1!sn8 z_xFkjW$x6f{`DbTTGAYG$^dVli0K~KjN7wv`z4AWwF(B0y*~xZ86AV49{9|%aEM0NUZW_nMR<)N*;JbYX$2QqbiBp%!0WBsN#^j&)2n2Xd|HLEAHOw&moQdtba_y z{sMVz6d6qH_&kv?}mLVGT_ll|mSw{HK=19z79SU;yC)3YIhtc!nM zpt7i^;-pXcRSVxh`Y*N>vvT*Rl?0t!`9);KUvDN{e*$g_G(2|446JS8_vf>@xzI@K z@Oi)dFqCH*H+7B&F}wR?Q|%7&k=bKh&_|!a?fq&8np9z~WWrm1;1o!yWu4w`Gky04 z0AT4_zs|hB{O%6f^7TT&23OM80*AK4sjx(MxN?r?LUv z>yqJd_IG=jY+HfytP(cQo@k77bcGY&^u!Zms}dK%I9OQ008xg&UgBR|TGmM(R?$`D znvo$|^(_CI>q$kWytkjvxVVgdD~p2Y>B;kQ=*tq^AJ3PjKxX9a!#O-W4ET8@1Cb$$ z1knw9=!CWRYyjBjGo7c{3BMuh6`b#5W4m1_5!tVewqAsym-!;;^V<4@X{2tSd&o0Y zcffM;9mQ#ZG4#rq;wD1 z2#VJ18xdipfSqMOy2y$t-<6tH)b72Ri}M6e{ifdApP8AH+B&aHmfZG+z7zKf0kx() z;XGjOGfN>Ayp}3|P+T>r5=?>3X(_E{j0J9HQ|<*wtG()%Ghbx4S@B*i`A{l*A$8k% zpv?LPfW%dKG)YjWm6lg(EF9uO=wiM2i9ON@?g-&Ro+COdt7~bj9360NsGeL~9Zx!0 z=}K#Ne9`6bOhQAAIfIq>4qFfXM?$43pZq)od}!Yr7j3lagkQagLbdaNXsTZ6QBE$e>B8lin?v8 zs-7*={r)|5qCO#2tp7qPU4$C1*4tcVE2_y=B@0VW<^&^rLc{H0i!pV_=_fK?CsIDC zIz>1=VDf-^Fv=8AgWy~E2OqdCAj82w3V(SOVATC{c3rGrriopBeL4BGZ>jf|#U}4f z@C{_+Ormo>+KKX3BJ^J77D&5$T6=y-4qZibF=KBrV&%nC+u%ZWt@33OUbM|r-F34q zz9{UV#Z53#GcR(ev-kCE8RfT(#y80;zA~eKm91W28ET8T75yju$T`t5*|e=InE@R2x1m9%Z>)$8*6O3db8m5Gh=T*Sf&pV zT+A-}Jr3#?*}k`SOqVM$miR6I@zav8nz708#h^A3ngz(~{)W5!G3o9S_ORKI*Y?A= zAjUr;0jIY=wC5ryjf5d3#ol^ zC2r2=jF!cR*Ml@puubyyCyHR+^t(=yXJY=J@&28mD&}8ZP5>evQG-q%!NW&M$OdIQQCU>fH9AG&h~6Ta&tzE1O@HNnhVfW-pKvD z4Ppc{&Xqb=W`yoeJ}WdWJRA?MH*^6~x|iMmq>1ksTxY?kwcLC65WkbPlJw##&IAWQ zNVgt(C*_ng(;}=OstW#c7JxYJn%cRKrax8NOfP=zC3a$5ZRp=Uc^g!GWSaT({-!_1 zQZIc|n4pZ`3Y6N1RUi|GWYc2ODAA3LxzG#@f_hh(0z!(9Ubl!^OFJY8U470CryE7# zt<`B#h_BaM#G4(en4l<65i)MS(Kt%|ils zMJ{ffvmtJ5Vf@voM2(n#XPFM|X34fS?}C_*FpwcFd_Ze*T@~lORRrg*osC(t(n?QK3q~`az|Lt zoF8J39|Ls?kfM$QX6NiT4$p&@dac~Av^hllE|b@Zs@%8QI*~A+GDFV~YYrU`!#A5s zYOx(&m0{T-emOv&JbnVdTDYTgguvA zz?lQ})ckBryvTo9Eg1BX;+LCX$Y@Q0?pF${Y(J8^CMnV~5;_f)!LFqt&$%RXGN)fU z&lX8tzDm75Meh^0C%d0pV;{3t4_^ZN{dA>Y95Q?YA4ifWzRuSDaZ&Vh+rC2Y-m4vj zeWc{{@Ih3?2-{D`E&qvheH+hI$%m9cts!+7m(SzWIfc?I`=Yj+Zi@X(D~naG7(-4- zB4)?ee6+6*ke9D|#GC|ZQ*lmTpDl-Aksuigus$;_IBug(7nBDRlvLFEn!JP3UBQU{kn@= z#R1q4fBmC0jq&=*>BD*7=u@0n64pcPLch*egW--re3w?gpr^~YqgAN^%4-#;8M^i0 z-iuLkWo0)JQQ(g~SWX8Bbvl+MfIfLPGkMNu7+_zHjyfdF#8+4ml>uF)?oOmt8j4-d^nL-ed01RzPN`j5xUsl?TCbM;0@wOcoIzuz$(CC@vWBH z7S!Bz(UV6T#NFQ4DEDq&$Y@f9<6CaDSOP^}x;#gU*js~f7oy(?sUpG0yyi9~j_g0W zBvXkdyYT77hKtYJ_QyxlKL9wy@P4jze0#>^ApsUPA_N2enZ*8yE6v%Xb+3+}VkS z9o7$HH@9!hAtIMCddA7@aDo@lEuYDs_X~JrPm`YzmWW`D<+tgBH0B13K`(%zVeUNk ziA`2FZp{^ojKLE#AM|^{RRjbh>SrYibbbsPw?lJ%K*?T<$>(laE&EwA8fzM8R zp!*~b5E;dGKi^sTFg5w9^YyaPP%R$$m(LMrD4p~J$$AfbzM6{n=(ah|`Pp%WwG;&E zTf{c&JW6L~Z$FguulRS8)He3|QnRH-3l4phm+*78!f;gilu^RF3-hdaCMKJ2>52twtk6k6IfI_OH;j{))Y4%!q|tBI zt(vSpHQI$PZJ6SJG3sw1ie6p4wvZ$u>FksS9$S2T>C~|E^pw&~O3+b>4e>4Li}fH_ zkM^L(D#0x2cRclN+}_^C0-SK$0XlOR&N zeEo|ee@PlpduUR#_#0YpBSZ=>MF>6WW=V=k$+pyz-csoF{Pb~x*gv*E%;5mP*6kne=9~k zbd;w1nzmO&Bz#(zuH2qDh|b0xJ8H9p=$yQe{=#Ol#2(c{%`cZhJsrHx z&Ccw7QK38uq}WF*fNO~-_L;?j3S8`sTYtAdt;a|8lO6RBg!;v$m&$dys8UuG*l_*--fE`x;bdsVxd&GX18}hnXx@dO2T8}^ zSG7^TOV7_qDBp|`HW|AqpGPApqdrLYI?al;JAK}GZR(Sx`!d3@C|cANzBg^nE|5!W z$kQkmM?9>c@-so-!<(3reI(qcjZX~z~(gg?Zre6qtq za+2xPj`(|S4mZU3u-Z0f$B%x0P#<4EpOQ7z2yT@nb7hP&8`<7wws7)w`6c}4OKan z`|u1Y{$JbGD^;&t=PzqKm&3~1M(1pjBB zrXMg@qjDf}s@-}JXe9=mY=OKwChmcE!7@Y6xG0ivewfe~Kn+!M_^mRW4>Jzl$IrYa z>?UejCF~unK+>OQt_Sp4cC8GPR80$BdC+(w&)446cf6QST)P5z^togob-(5GGB!HF zOlmHNo$yFsp3BUh*z3f?h>rdRdTAJ|F(2N$|LDD;eVl6d`CuY)7NAcCr(dtfq^3Fj zP@BC&+#^-6(9=Yf_x!6lWplaa!&=|^G0VAh*_6~S+VW9`8VBB>;Bt)0arYyHLw(9B zlCB>IE^E5@(E7X`dd>Ed;Nda!^1sHD2GGAl5JI=Q2iP{h*Va5cjEkUH>y$I>%venF zlf8muf?EErF}^Q;eIseF$I-U`nDS`e8ME^iZ^z5s4e*ROAN03kKK+L5qWUE5vkRoO zx3mqZ{6&^$7u{}@V=t6Vw~oNHkz!+M>%=?C+1Kb2EI`lf!7Fs;jPCC0WLC`Z%2vjb znDnBhgb2q971~pySJ-60`E{!M9s=xNW6JJi;S9i*6vPKUr)_8v+Zl6XDK4tGanv{Q zk)|7F!ZtnGpL23o7&HwP_e~gcaz}<)pMKL>unz$HwW$&FPaXs>v-q`3)n4fd9(wVh z1tk?{RaV5N#(HHF57viC)`XqJtWgjnmt^6*s%EZ7M`E?dXOhY5lA%@=3T-hHnrcu< zDD_}v9Wo)pL}yF6qE>Lq`O=jXXV75W`6Yd(lNz#0pzvVTU>l_e&b{IWVyd;KT5x$g z*pA&!$OuGvCrQfYNCP~8sK`xv1~t7tP2GcHok~|6Bwae#bR1=kw-9B%hoWzj;9>B@?dt{pz32-vIyaI;p9ma?up=6LN*oTMEg`6gUH}Cn zVacx(q0uUj+TaDN=#vW>Fqmw)rK^Pr+*rvII8?c}tgHZxqn12ccl;$u{*&be;n~dP zN%-SpsB_#5sh0UP$-8b8?F|o>OCxEs((lTa)s>PZ#DY!I%m>kr45QqBP(k3EBv zGUp$kaW%m(H`O!}f{S*p<)O1gFNuD z)54pFEqG%3>y@VNTQqk5*+W={6Om1Ir`W77F6XY-SzRzmdwd$IxB2Lk_s@&O_+MsT zJd=6n#Kc3Wn$CAtg-#v)?(abiIP$)OT|l;`I()3qo=k34$cPh~=DG|piivw#D57br zNf65z?e;m~A+2}Oazc;6G61)Di&h72=LIt%fo89X@DescC|lzu5BtZEbL|~E4(Ku}_o*Tzn=hV#hi-a^jiHQI? zY9-W=pQDFK-G?jQhVYJHO>skYCnlC$%7IXUk9)KL2*df*U*YyvyWh^;Ou;J0H!x4 zETby^7tPnfpeb@=#TYiTlGg#X?B>8g-Lu2y!G+10Mzk>Ue#t$oak%Z_O(|m2?*p5v!S8ECxxBV+ceg58xn$kezkO9 zc@1JlNS(vXtpBeCaLTJQUj2JdYYf}Gm<4D+g1~r^?)7nNa=f^+?v{{w@9sM_ygRD( zXK{9=Kik%+zvqCk!X`shi=i`bz&iH1qXVOdz6X@t`33#R?s=^JOV+?l0F}R7m;kVv zVtE|s7hEuJ2C>m4Nz8~bXb8Z%G0?PD-zV%`jH+}?hHh<~5teXOYaCG!E+}PG{{oM} zyA{-A)5oxuufra*bDP1!iG{4_!ulsghv-3YjdPvU6y<%rcbeEe>?B=M;LO#R zKIRwx&$zk-aUPpu?T(rbA>WzfG{!z)h!19)*;@Yq1y5c%&d-hgYX<~F#9AEZo2rY= zrE!W}(r$Fq>gaYR6bH(ijZ%|!!+=bQR4FBmT-=0XqKuEne(KewLcl+)Vm@D=epRA! zq3SSH$gaL&lxAt-#>e0BdAtNKBuy6QF$U+C5AL)eE=Aj$R80~gfcC++f+7La8pq94+~)+A|;#k-3` z%R#zj_U!9i&V?|^^{Arv2?L1IHz0emUy*{# zr?R6YD<%8@=1oUx0C87B7g)>(bv1?6Z1|Hf{TM$`J`Ze6EIiQa<&Xid%P$Ig zN8FGIvE0KsPu7Dq7F$y-rdj}^P#QCZ>+-ZH_x(i@m$8Q!&5H8>XgbTbsM@v-OM}um zG}7F3$spYf9g@gmibOv~)>>bT_=~`SAV%W@DQ*>$=YKIQCs_)>SC> zE>?SkXdha_PaYDV`of*jKy?iGsx5%1Ldv9}uwz{d-K4XDKEfPU2i4kcx;5tI-sG9ep%aIH9#s2%V0H|zq%Zt?M=wb%@LqCdEx8IX z^m$?qqyjpM>q4Cjlg<~p){c|l(8 zetzr==R8gmlZd|6-y^nqh2Ar&EPy6)+ng`-2+bgY4Jlys0mD37I!*gbrWsi|S$4J+ zu7=NT$depV@V`N(D!M+1{e|Zz#X@`%&OeIh1Rdw>PBP6}&r}|lBBf8gjhz%Hn6zUa z!fGsZn)Z%OY}sQ5oZ&e6CI?6NfnLI(hr+DvEKh}|O>5=u>kCRRqaI^u_6^|`)%H*S zUaD%5wmieDVm4@Wh5UNdeH(}|ylhU(rc&Z%uKi%kzaY>U)VyZLpE+@S>n&@UsV?;IZUG&|dac1mp_)B?21(QfiI_v+g z6T5WYeJTo@;WfZ^TJPeRh(hz#od zqs~LlnP8aFkT%%uSMBEkrf@R{&3j`YoycPAd~%Y7iWbxc<2VncKh$t@cIRBp_dV85 zuc!)`vWWTCM$2{_)&XpZsR-9K!d=syi|N>F^F9zlnB`F=4E{sVgk@Hv5YX1S zuSW*iidwtS*y&K3zqvn;&hV1ArMnpze!U;H0Hy>Q^$oN<=H!hSozQvVCt61gF& zV2&~Nr{I2#JD;oZCSZrSNn6##GG^XYQI-I3)S)@WWvS4*GMi;-l4-`6r89T@hxD6o z!JHJXTGK!hK;!)Nh5h^`&iA-Qe?wKHsQiWg@|nf%X>jV6cYmuNs4ciT%iz*|aosF* z$PzfKK)~ZsR0j-xXB%Dn77cqI!mZjuQheyR>Xw3*^p(K_xxB#cBALH4@}azSnHYa! zzgB+8!Mn&(Xt~mn>m%GCbfe@@VvVnxI`V%}>VMtynN4JjH3@eDK0|3A z&piuhX5k?D=NZ}pN;9jXHC^Bl%Cjiu{_cqCfXn3y-mqgZdt+G%b+ad-tZRiqttWAEi>h1_zbWyew+5#3}J zyGi!4TjpBBU+{GLsZyuG8<@F^IqbyprL>OI8%h) zV~V2z4k6CdI|Yegi{6YvtG4euh7hBZ$kP6wk0jO9cpd1IH^7Tu!n^^S`Benfi3rw`Ko0HaE{fJ}H8`*+?;<`k1J8ePwP z^1CVBjzC}{WVlNs;p9e#Vs(876YxSeroTKmiR)}DWczRuswtRBO!l<}#=gkF{^gTq zj^Bs)I=q{73f9BiyRp@EfLAek@#jz~jo=295q^jwcQwO)lURN)qN7q|A>yI8zhW&B zfRt9aX=l3+eK>9)mDzz;J{3JC-oIieysvpMO~ruut+XR=xD#5VnJFyLLbo=Z=aISo zCMo6QD7>Z%l7^N^awuoO%CR2K5F(BErbRx$PAe%~bXVo><6w(6SLZvB&1N5)4>JD! zdWD5(AiBW!6H>SKeW0KFz4cW}aVb9m!*cN;Ni3}aXY|aw21RDC>Q*<5oo+Yh$xRO` zbdy1ABfr%exdk7uhj@)zT*dXn=I_rWimE#tid;~8-P;nP1V*|DlSZKHj3omrmQo}a z!>?I6D-`3R25au>KYw0{=bk)uj7Yikh9CwdHm zBhY^MzxZ~6K>z)M%p|pzTEQYJZ3-cuNNk`H|1qFT5`kpUUZ!e*f2)R<+VlM(jZQ+` zK%v#PMQxy-+4TkmzO)P{ZGqu(ZNA2|SsDnxoO3f@yfld7L?c}+t%*%=7l;#^DW{(dX>#~g7m_r)X78D68s*GDUC2oJ`i)~VX zT|m#{toU)V!~tid(g;R&-q`+FekT-=X<1!OEFnUFuB#LbPUD;NR(U65!dg|7Yl}ZN9cI{JE|gr+{Fa5zog)uxZcRV}iT1@;yGD zhDIE{jo_r|?k`Aw(4;b@s_yJ3)*mM$GrW*YK$_?2n=*3bcm`w5acvb-)O~kaJoqg( z|35}%II1&yN)I8y$Tx8jStsT8t;3tTVY0ro|JYl+n`M|3H(VmKMPk%KI`QVO+#l5_Dp^!;!rbWQ`1x%c=gFZ@s zy?l;3VHv!S`q&SV(};xFZ~uF5!_rBq(m`v_=SMb>Ufx|sTF=@YJEoa4CHNN^Z zSs3IX1asie){BTLW?tI9mzcp)CH=2f2vxGSjgh z9Xk0?ylNvKXfudWbxx6#`Hq;CNW zsM5mY-5&hnRy=%>N#k5J=tjpRuuD;A;jpi^b5ozlx2-sh6_WN=SJ#}q{X)Yli){yg z$H1<}U0u;$M`l0d@*J9klgs?OI@J2PzB}`B%B>aMeRCGR9dy@3DVrbEXFRzW+uq?V zk53PfsyAJXKvJm$h;TapO)GhJ8pX3iw(wP`Y0i1J7^9%s7gT#p0aUMnJ6|hm(e2{s zMbduH2vV7`x`Bvg1mtB}mGqut$75>QATv?a`W&1<4lB1z9^Q1g_P6o}l-A0kvj2ea zo~wGe#cu)RGfaWU3Cr@&^0V_Mo%>Ys+^wCvE3<%OoJRfwW(h*ehR;zkA#|UyRnUfY z%w+t*XK!uA{kz>K!~ne~#f3O}w318N72Y66N!+4U+tUF?%<&dMReU5lF_JKyc-M0x zzYArvJOMJnK%2wIl+?9ZvKQd4bhsSQba#dph;2izzi@GTBJi(q>*&gIx<(qeVBv;U znLTz3olNSFVxN%=ASV?~*zi)UhTh2i!75X($wbbLJI=3mH2{q9Q! zmLxs(xSE31{q1wu>SKhnMn1y$X|s&Y1sf{-_-(bh_wr@vq@N^{;&HU&Ke?Z}FH=uG zj=Tc@;3eZd#1%+~4~RJvPdiTfB~>!IGlb=?*IaUVeodVZ)-XiDw{{wz2k$tw?CDW3 zWpI0HR_j(G#gPLTvzu9x@%^ftjt{rw+Aa#}7@lVGS;dzz==jnq1wOGCV_BIDn;m-`dfoz{n( zV&w^az3GyL7q8y3Jzgk0mlWSY&pVNa8oWda{mihe25#-|GT|iO0QOv|+2tnmKg>{} zwosJs3>As_+9tiSFwM#PW=R}<)kRCf?g~l2j@OnkM{Dx9Vt(s{={xe0?d(pXzPfNs zegW;TV~2VX{j^aBq45Jw5d5J(fCm+z9VyX{mX*q7cR}+%Q~F-Dzby$S^?yp|5Vz66 z%94qF^3A2B&358)SMRKpjl`g5Qn3!;f-hsFx=w5zL$ofVWUG*TDO-;_>*K3iSljQ1 zJ!Pmh~<73^yyenZ;%px+9 zbnuX)Li~P33iBsEzVGukgz0|>;#DOB=($ptsjsu8bxRk%OBUZTqzBMvev1^P&7+@U zsZDc@|LrREmBM;LW^^{Z)vjo>HijxHY$j?vgYWyPeNnnOyl8)f%S(1_{yFya$cpYs{y@Bw|aowX?r}oX7F5!wRoUm+NRs-bx zA@*`SSLPcrvT$Tymx4R&&*2J8$@zX<1FRW!)o4R0EUX;#K#a|xQ5irdUo@xwY^(t; zeqs;2?MJ$ug0JHGsfCWCzFmEY3E!vd;p4PfLJRs&>5S#RHUV_*A*T*$eon_m@D}aG zth5X$sK17TC<*truSO6%1jo*$UwS86j_Gv^fW1VT8&U+Zok^l}ik$vjAra8d&Ze}s z$=i&~ltWKlIKlujyY=4q9GvehO?$R4hQ9#a((#uz02Q#L%4eC_jnO5jsxIJt@<|y5Mnp#OD@$EEbpx2qUg9t zX@mqnIBysh3KtBp`kmNfGs|f_v%Np%awDtM zU=tpjBh}YJ_~tJ-X{Bo{5F#xIqdwE%SnfeE46xkm=7_?72oy!Z*TEdE{ZI3c;&zTq zLfynJq&wiBYmVdE-^fmbO5KkP&FMuxLf#$k*s4UDk`vjrPYJp^0mAz%=AL`a(4O1g>oG$4UT_PC(o39vM!2gRFUQ@}Z+i&l zo|XuPPF*JLI6xA=dH^pFq?(EBT{(Zw;WTFCLM_p*)HKtPUf_wMP#_@uBdVXp|DCdQ zblV0QE_=%;AB6W_->{f;>IT7frA`lDdFEv4 zWo!CBkF;@+AC#lZ^*cpc+hZ}>G+9W%OJx5wYi*zkDXeC%Zv_kB$_CFl(LGkzZ0}Es ze0b{7RiHX1D8P_Lxpq7M;y&#&8c2U#&~uxcwl;(^`3}3XNw%U?~z}%#^svm{k%z{~4aZ;WIhYWnkqIYJv7A9C9GGDk*Y}NKb`nT1$(E z(CrdHDs#aDMskq=21vWW=cw0L24r95ylYbz_m|1E3gO%M0=mAB7wq6HOc#CS9U8ON zPJq2rqgTN)@oAf47YMm^LJ1UKO-42ya=*z5w|gs#U_OugJ>ESV0c@Y> z-2M_FRgm-D9>z+lWs>G9&>|J=s$My1@w*BUMX9%yU-{JD=B=D!=HqjRxAKAqUAVf< zdF8WWb=1wF^xZqXHHh;m0jJWv7y)csTE%$TLAm-jyKqg|jo0{O&Z{iG)GC`jL_u=) z4`UJF8}spg6}Oi$xMjze>d9E)^Le;MO14OwinByonN6t`zC39$ZO~4j=lA?Lu(=6{ zH{~MQb4y7Z0iZ1pfwTt5@D#rbTTz;$fE?9F`WC$GDQ*XEJSdsh|EBO)gG_9@)Y>{> z_AU#grIYt_P?egrsBYEn)DbgACJ&L6^|NT+z5wBaczwSqpS*Dt+Ru!XD;*rEykWLp z|6%F%b`=s_Y$o-1c0_-1$j%HHdx+DViN7n-WCU9ZSVaRZ(uQ{9HgEVw7h#bHE&1@v zv*s~aWqXJkir@R21|q^(%OLBbk1Dwh3lF0mEEc(=HZ*Gr4IlcfI*~7CI84R2w9yBY zcEkU~7_5-iZrE8L!NBqZN8KP;S-wr%(iwF#d_%*G*3-OsUPjCTfMK~xO`h+Egv`Ur z{^KXd0@RTTpvMN8n5u6<$S@-Ln36ho2w|~*LkvfRHk+0ep4`8&*YuYwzT;qFQ$$e4?C@M@ zVJ;d?FIdVZ9s^NV9)sKEFLJ$YQKi$1o|Xd2by=Q6%m=is2#h?@JfTWXXct+%+F$8- zHvIGo#V2*Cg%loeCaH>D_Y$2hS4@MnjzXVcfkMm{m=Ry%*AQk!?eX8O7y7hOZqao=D#=tc*M5CO;Lfi6vTNGt<;J~ z3G$K0!ynMs=eZXghNjph$;#qM?&v7tD_8KArpD|GMe60}CW3Di&;UOnfXRs1Ob-vs z4+4O@)P~b;ym={m3dv$r!Hn$Ig78KTPbV8=t#M zsdFyJulX_${uslML&1-vQ-U;jeQ@_ zS_Xf7s)cS@)P0P=9W=h?8qB7`=eL9HMHQGj2x*Qi*N-j$&mkIK(D(T}d~2nJF<6^! zg>@4(-fE5;t@Y^MUQEe8is-Fdu;iATK9F)A*$UyA7@o~!i~=-j^|lfz=0KbMwwdNe zbu}-%c;!-q`zT58$7n=<590b;Z?t4UPhS50E zkvW}gt+qCau8`AUeq(l@4|$$-HzAnQdmco4Ya=!VNrE0cx@%Q5=Qf!YV}rX zDQJ#FK{i7SLGR=qlu`~4ujC1HnMtE${_+_ZB zin(8_q}1jRE)$fajDP_}GBRAWpM7*Ab~2ooL6Qrhh9u;7knQ_?j<}2Gw3?LrB0B4G zU0|Nh&Y!8o9k%4&8-xZ=?4)G#VEokYc=vniZo?D%*&gVdZ1#ILFvTXdF*uUB3Fos+ zE>&nbIfWX}(<6yRg%6}z3X)fs2$6tXMahe_okt$CX3?*CA4RP1*ce7I0m=^~k0YmI zOt|!UBm+B@>4US$hrfK%!SxfB(=OhcAPV#eO}G=tHfK82*Ev z0#c(rF<_Q4+zLVdj%C;GCFJ|z&NU+2pa});&u{9fs@EJp&5H^! zdHDE;5O4=-G1^}jJshr`d8`WussYs1&JG_5VzIMOUn)hlJZB6*6bAg>%Z==GQhG(r zIOB(_nY`zFL`1*?wS+^r<2;}_bxMruKZzY2bSL7SE?em%I&UAV1SioH6>_7et`$Uc z$18SW^nSpF5|Z^}?pv^0uMY?Pmcz0$IDC3yZ4bkk_R$zGXwh-!;vv4V^d~G~PVLiB zzII$mu*h1>(8&*F+Gf+b&TS7tlc-I-EZSN|rTgm}JUQkWo<5!Xi|w<1?U7LzqtWQf z71-Rrkl72-Of!}UI?SO3dqeGCfa`4txPm#1=DT!TK-udD9d`h9{f?)S&K&+gV9CDB zzsuj_kI3YxqJeh~VFf{gUvY;xl>y)TLm>6n+=ji>D!+c6=CxI4FvVg{6WJ)M;>!8n zDeKrS2_8uW9(Vgx81Yo!HXpDowLe?W%iMNYgnUU(pbZBTk}PmwCYeL95m~f8P#92X zvuf=)B5PL(Bwq)P^zdH;^MoX7TfbGvwT9LY(mfu3&&ndU#D3Ax{2b?rqnp0SfT(0? zVV-!NaM!~gHg1t2j_WVc_hc-Q1QYzDWhuyuqYI&qMxfw%WVuRcmxS)oO{pStnD8jW zXLN%)u!l;wDqnOpen^1tfmLhDfXQZ-jr=7G!xY@pwwrHEalGkS>;I@>`Dw-FoMNJL z2HJ=V{(lP#+UNb1sZjN<14o}QeMIt7zaXe|hG)zmx#aGq zLqb5~bY!6!sKDZdSyCtKm>*Vb%b!ZeuB`l}Xm~WjM65<{=8k5lFDB>hcB97oF`_QT z?{)GuwCi<}ZT~Hp;%&?DwYNYz0 zW9ycWr~v4P|9^50V&Da=D(b`zxW5C;TP7-2Ljj#k>C~_H(NL8}?uVA{HU|WX`mIqL zE4kM5D7jxMQARQr{QmaC1soEuDf@k;B(e&u({gDn_ z>c~QsO|CpEtpdq~2y78a;Wzw1a0{4Iw1NJT0s`Im0NORBERoFZMid?yID47U-|}sH zrDkmw{_%#Y@;7cFp4EN_20mdUsBS}7szmuPi=xi5gH#aDu7Es4c`AH)eoatB0C-cX zlnu?+Ncv5Ip{kxNBD;fAARVx<4U$n^<*LXWq-eU?*INSQWp~i6y?=L)I z1xu@cWc7$m|2rXHB?=M?(u8we!482Vl*x{mpukeA&r)D?RKX7({*NYJon*D){_O46Q1yzv^>W0V_-_NcPb%R@ZJ4rApb=qP%8^UGs9!() z0Z(GoM6JPwlW-2dmJF=1(3&)5j5OuL(pN`eNid? zS=jqUktiBh{qXAo?b<8pD4m3GG(Gi*SZr!w#PU?(9si3SGI&~VO6EQK_?sgF|F6mM zgRVs`L!E{h2KOsTy|B1*Jp1z%bD1c0Ahw**sKiF{CpU>f@t(^?-JJNIbG;Coc`^VpJ7u`&fz>C?f|3TEOE$)W0 z3VATpB0uk&`>%tVDL*G^_G)JmMwK@hCAjyR+vaEo#mMVj)KmE8B!r@rlo(+24~dnd z>7~u%FKt^gwc>j_P2N!xhnXH?gyf~Jn;&Rb@lhk`tvOunO>m#m!4vNY$LmsM-=!{C z`&Qi*+0YMsQPUg4k*qXoR}S*fx5Bcx?HiuB!*k4>xe+qguYr0N3+AZECGPU;q@bZT zLbp~*y7ud#xbF^bMo*L#jA;87l!c_reenKFW7Q6m#AX_?N_bO8eaJUa%&}lpzCzDB zKtj3Er2)J5z6K2|Z0MgL5bj$4?IQ6gUpP~c#-GqxUEIdUT`H(AvFD(5J>Y*k*7;rz(s{4*FjjmWo9B6z@EHjiO?T_c#3)Zy<(eSBSiMKW;mZC?z`=QPi z>)Tq3FWX6cMbzvlO=Q}Rvssp0=6$Ct@4*{T)DVl zglA=JHEyCd7iz%cH@1C+pvoxCxp1;MP?*^f+({L z4>+iH+clXVpkS7;<}zk*7m&7m-MDC9sWmWLwOjYskaX;Q9iu!9iJ5(njc50KIu#1t z#w_Bo|70Jo&<|`4Ec8z|tIcb4;|e)#Nu60@`=P&wVnu4!gsx5wfm7*o7<_~eWMQnv z0&+?!FQJkAKYxoV{?+VIS7D`%(r!Q*+X(k`<)IoNd2)+e>}N?tHz?wTz?=k6mh74` z$7s$rI#PGSz`OhGU8q@gwqa#y88^{9{ZJVa2H{p25*(Y8?;dmY;%}3+nS%O88p!0#IBy8-E~7L&`}MP~ylGXvbaYk8T9?JHyb5I@C$|(GJtGE@4>PZ=t>Sr=Vn4<@1<0Fx zataj`8-@@;sA1F?NG#F)wZdo0^}@bO(Lx@SNKkiqnCz-0{!l+eazFaT_r*bPn#6Zt zS|zMR)d+q6Wvogat1{;3NlLu&_DqYEzjFMW1U_VE`(!V>)!O5;aP6qwL5LD9;(9|D zr5B*Xoa9=r1lCs$qGbJ&y3_&5YFtb1iO%h5@<&s$bzoUN8+>UKuNBv3gW5T|Y$a_& zO`W{gl>mQH(Z}Na1>r-g1dFRLIUL4}2)UK!^$3alTWfntFt#%*b_?&2)?Y1atFy7d zC?+70v98g^YB@rxhFTNN-frXS`SLh=PIqa)H3s;AB$oC1%;V`t*1F-A(50?w-HMT! z%rfDt?Wc{a`%6*vg<~x5EyjHE&n~VOsw_*Vjb=I%d$%zo>Xv?svl!IndS)NiS0mtR zrazw9`%I*#=Y?^B1WgpY}2~Mm2PC#%OSpGpkJo?tD`UZNZNb>7Ve8PF3}#c zMZFwPkLSVD81=65xC}ei0S!(Q+hDqEWGUGzMJitF4J`D&^e5VaVL}c}GvM4zZg|6= zD*yH0-t?%y8JWxsnBl!?rqnNQ(%%+up_6pReQa}>@&?Tw;^_?(n2QDOl-Ozdy}is>O_Bj0OR<4gE8*06(X zEMBqf#9IaVtd|_UCj~4ragx)TZb3%f5w1r z!OYVsBdn1QqF&)lcITamM{k`?gh*c~lC>x#;^5(1c;-F$>h0fM)vb#X1d&c6JfOP1 zhRVz~^5_E&9!W>>g-=oXp`;`s--bZJ2jD;|{~CsF9QdpmFjOk985zYQv1%dgf=BW3 zWGD#s1QI_xEl-wc!;yyjFz7qeEl{0GJ%=H*=$riyRs8I^_`7vEf}2%0=3-vK8Oii5 z;{{rpRW;EUkL3x2g1`SR)6vZG3t*jkQ^|5N|Pici|Np zo1ezlWPksB$Xx>o2cWVeEt9kGEWmH^vbsF}z?Ajn7c#Y9r2P(bVP>_fksr#%ajf9p zNi(ZYbHt%9IpW)zZQP|zsmH^|Q-Z|lA-zT@nYC8t7W#R0DaBb52Jk+>u)hKGSdgG!k=QY7l_$^QkR&4LFB(&|2G#3tz3WuL& zx1T570s}ZcwRy{w7x9DWyiI_27lI=Ky%!pq3+a05+qir^0Rlmh&M|AJ!2@zYm+UtE zMlI@Jr|(1m+6#~|Fx6Q-zpUL|+2#WjXK+P4ckcF*@EqufK-qznxHWstP9A2yI>1yu zhhc}`nqL=JTncLY11nh2*|4)ywNgGq5AO}?b39X>>6Isx{=`R$S<-=z==ht<&;fkn zX)XUHSDVmgS?Ra=pmF!d42k&tFXoC1;mqeIErmyjWM&4L?0=fVVf2?tI8i(c&5rwfl zo$HE+KR7n=eJqiq<9iE@Rx9jONhmo- zkA-F%$B*Y6IPEi($L5^2_SWo>(VjikgbVavEPh-Z4edPrMV|IXv4E{dmN#Pdo6<$# z9dnqth+>b@`Z}T7!KB~+s-T)o&7AZu`}g~5o2JX&JD(>@)RS{-l&D@&VvWZNFQI>- z6THzR=+y28Pa9n=n{?YYF;{CNNcz|1^A(@p6CVo^^W|4e}o4wn*OGX)P<^9+0y>Up@S;=x2L7p+PclLk~ySu;6|vi z>YzM}$2?w)^v9)oH1$UHBHgVbCS^X$0MxL|aK|I69LO1;L2FEu)E0dD~O?$LXJ z|JVaOP6R984Px#NwtU+3YW36CiUJ-?DB$@_okCPVR-e#C1psGG_^)6eZb5y=e`VpF ze=rg)XYQ&t)xPSz!^WZmYws{&E>cVYzY|AtaPPk>gBX9GNEcgJ_nI(uvQ6lg)xORy z{H^--f#29Tb84PW;>grwze=%b;fS*J^*{^ipP;>vF&858`ix};k;W~?MTkyh$Yh;}PHA*pcdH&%e{{jp^&MVKE&oO^@T)}KfJ*z;KT9wBjo4!!J!(8e=v zSK87g=h_QKih}Cw&o(Yj4oO32Deyqq?y-dsv7@DL_L^ta6A>5RYkGr1LigEOE{m-8 zCM|vMF7AAM?~#fI{Pr9c3-B|`>#Xh+WfRQ4f5IMOGS^T`wu}%QilK=Q|9O-ESY_Ss z5XNgavAUiSnvT4!Gf#kme_Y50|7|Fd<{0lbN40=pBEyGXMvDe*N5Rvj)12m&_8whe zlylMUZE{eABYzcG#zq|D&3TTAFe5pW3^Y;d)y=F=i^^txXHWraL>%OgItg5gM?;Qg zT^k9K;Z}bdfZa!}$gu_Cv{%bthtClfYdR@Q33i}x1(v^YiDD*Xkr1QVhJNGU-)OoA zK(0TXmRSKM+&A*~^?W1F+I&X8Xn)p6b37DVok+1skJ~Q%Ug+EDApjYB2N}!86Pa1} zKKRh{L=2b+A?PToKP}S$N~M%?UdK$?EE2@}ER?y+-i3D`Ar+vI7)~BZM_OwGia(iY za?rVi@mh?rvSzW#i^*?FTvlx{A3;7sCI(rNM;Xvh@j0ieZ=Nla#XWsheokt%za2Uf zjDKL7Ei!}?)*??FB4k_RAX}Wm{h-RVL7JM8n{Hz511A(C=``k6#AJ@*g{E3Qw$dmi zw%DQ8D;%$M%hH;GaEA6GaL$FmR5{rwS@cPrvL7q@)t7o%s^Q8yQGD{__ad_ZnQnE;5_Ma53U|`;^uPP-bV<1YLfC=8q|e zy{$1DFtsb@cXZfru;;mMI~F!DnrmdD5pF$1Z#oW~dV|=a27VZ=7t+fO9C=7^GF*S1 zUz}dB%p~{Gsoay|o?4!5GxH)0hBMCPB!M@dwo8g$j<%|bhtVP~P=w5oDb1SXfZr|F zq?%HACy`#P+l!0b$xhW9D>5ND|LU#cJJC`Nd3_r(J6x_l7td;GC4WB4z)~JHw)JT>380gm17>{O^%z zFP44iC)?+q!z*1JOQ9rWGK zo;WlBc+lHDuLzG=ayo(83>SnlBpXPgjh#xtr2f8S!~%;=z$N|KOc#M0;lq@xpzm0z z#AB<7PjYI%F-lF2mSv;E68vaET}yj``HR39G>ye-NYN=PA?y;A*TXNRv+#U*V>vMn zLFa%&WD9+Ef)o_fCts-4RS zuiHmx!GkkncXWg^o^~Oev+Kz-J32irpSLp$hKcHJQM6%=1fF6EGv1#hvgImfM#l6E zs<5?FAvI%JKNvK) zK!B@mQ7^%re@w-Tq#1(qFM*b0j^N(L>9HfVW6n4aRl`!4=i=2VLa!dwPf@Nu*%e$>(FB=848%BsOk`?j|rgUIRsiIuo5FvVlVpXCce>@76ziU{u}}K?E2;WhF6#~uAa+a zhV_!_f*^6z7Tby#UW#*N?E@xpwZd_2qb*=849dHBC(4`Qt!y)5BqdFp=3iEN*qXA+ zciYEtZ|W>*08fM%BGqYBPcw8CE;w$H!yfMgdNlBlU>W;ahO45c<tkdE-nODh*7dgo=#U-}zwi$RgrrNzBEl#?^+B|U|>;a%3C%%50cYR3q1 zqLe`Yh8M7hwFNV}3Lb7SCy;LE!I*&j>j$(8jn>W3s~De#%urc8?xmouK5ovW=-AS? zn=%G08`icHZY)C)|sH(@kF;7)pyg^QlH6zvUb{l{Fw=YCDT$A?kG;{!^vNfz$ zn~gXme%pAA-S3X_9ypu!O}TS_edc=y-=aNOQ^2I0PgD`}S_TB0s38Ll`poS_0sXH_ zd3|oIWtDkH?*@#-VH`b=d;bW2h$?#}ln)ZC*!ipK`SB8N>;K&z#+KP!C1Y@uBzdZT zS0E&tiw3{TH(DMIlcy21&A*Rg6~yQ;-FS?|~d56?C!5J1DN z?XY(3cc)j?&F;=bw%52$M6ZgUK)0o^?$!~@me}=GT?;Yb<8|vc<9p7$VwnA+UKzcbC7J4bH#>eM5y zl>MT^0che=O0*~woM1=OaW0+v<;IUO!5uiTI9fT;ku4jUJd6-kNm%js`KF|~be@rZ z9~m@M+~D{F8X}v#r>Oh|FCU-W;ScdDRs%050&YXB0Pf>yJ0|r6uY+86HYtx>B>>16 z#r8vbcY=J`l=J(%eg59=VFuHno6h_%N-pX6d+Ziz|F4HIHc6j_^W=j|Z`zbhIlnOU zp%64W1SR_QS8PLjiVR@8*v&5vXbJrKB%vATq zq`dgbq!fMsM4D}Aa4;Bi^KGDS7J<_5K3;GfH5z~zB$1RZ%lR-Q5q6;&uB}W*^sG%y z_?wUoi7TSRCxC%@Sz%9>s=AD63$v)^O@qUVg@6XkTse z;g>z(ncoHYqdF-oXCpH1(wP`RN5f`P5pjbrt>0}u3VIC2!Ri+S%p{qW+3jJ2ZGM(X zyCXJO#xJhoX}dGGNZ}!ZTI#;D1FpCyJ6bTfhc1 zRp_p@IPK0=VCylYrd)*rlp=WKPy4>8QI@Si3O86%dgNMA1@sFQp3VDyHP--P`#$8Y z)^cnm7(o9Z%8dtizLR%j`?Ejv1q*uj^tWw;pZt#5XiFJCfcO4{9IMx;d`1`qiBS zSRCwxvmdCs${}n{3WBKA_SOlP+if{vilc6Ky{RQRBR+{jyHgAhx!JiOdb4UF&um8) zWgc7kFk_eep={(&^G{#EWb_<`sw{_G!pIoASBp4(&5rd!0kYbI(_;$QYwc>ah6?IR z+W}j7MBB?8=p9{A!xQgXI|-yEHgFiwbYNGvuUToW=15q|hWkRy=rn=dK!$q6*|EaD zEo47crpq!4OvZO4;1n1JwL{GXe+Sn?>ETL|Yy@r(qZOH6XfXNH=*P0>qc^FZ z2n%{0RV;8@>!gb?6^tG0;rwB3HZIK%4}PkJJ30z`@uy%OlUh70g~LENatceb#3E-JpPjZ>^2H%`2BDsUnw`*Pijq=b|FH7P21yN}SBuvBr`bj5Io(mD*`>cb^wc&j2^YhDOM|>i$U+^iuP5|#M zav*|dBrHG7iN*3U=PLSThi&yH>uqiH%?=J5xyu+uu0Td> zeh_pZz%~g4M>QhZ#Yl=M!W*@jVYjuPRZ}cABS~jiOr4!0(Eu(} zjmR-=a?kMA)9Z;$5+OoG=h5Psp^8#G5j@4}TF2(zDIwqJ)}E*toY=72lenkw)$5wK zf)$WV?nDK+GVzVprAIK9v4{IpnIw0pVr1sf8p1q;b4DQjvx~&!)18P4z^+@dtf&Jv zq~re#0M_)_g*%2^k5|J-Xv`i3~nzw!i=f|Ph_~KvusV0?|*O&bV$eQH@ItiQ7%^d_INJ==; zoR0W)YrxTRk|mPPG0CJp&u*aEvRcRy_o>3UMX9Y*id4)qb~n7wGqx{$a)7MliexH- z-WXmm2Hnl*TKCEL7-!8;Szilu_A}EGNlNqgQjaSQE){u@3v}|d+7g5u;Ul#I>^|}O zJRk}x0o0RD0F?eGa7A1CgT5_$R;9JnjWF7Zi=mrYEkN-?QfQI*k<&goYz3S!?%f8> zC)Le6MA;frZQ`ByJX4=b>Sf%nM<>{h{JBbtnJ9J=l-TjG8AhA8@~G=vRS<2P*BiBV$HvS=z~J^mj`fN+PX%d( zd4Qm^V9v9vEmm0Yw?b_mUT_|Jp>|wd9H5>&N_;yHc(FbF=KqFX>a(_!b7H#Ok*wgV zkcA~x!gcqF%W65r-_f;zijCbk>;6W+{&joNw3r{B&7G#J zpkYV$Z>@|rGsk>%%ngUBb|KSMD3$!*#5AV32zm>XT!T3RPLfIT#Ty+gPZ!qM-iIcbkMs1c+mYR!4vaFmwrHjOW%NFD+_Qe zK@~s_QEB&u>=w8n_l(R?E2?h>nl$g6`irNa-1{AzRb}`!r>E2TC6(I>2P{kvo_$(h zkZ^W*8nU5aisVxQx@q0F&!^$*1(SiO+jSbI()BK_QRvRpfwloHATC*eFfy3-%f-v&>@JQb0rB+o zlzINa`>&3H!KdA4vkz`+&OR;^7A_-JPhTny^s;>$pHgZCFZNE!!2S7JsJ~8PU5-lg z?MUX!bb(X_bx~dvvU7Z=o0Wt(!Y{9#t*Uf&adLLh+C4(SY@Jm*?qD%*HJ6O;$BU^J z#dHVtm7k`ej#N{!Opgi^i$F#A?ztpuOoA*J^qaN5zQjxuu*uZg5yEvDeA{yYM>25G0@X^Z_Zd26w4=`eSNm(2h+ zbFjcI9b!n`=)R;Q@L*q^uA@w+KUrBbCg5`6*vQ6LA zHbs;`1L4B2ARWLZ{)6I*<7Z6dB%ZF#$sjsq&iQC=H(h!CH53=;dg@*_WFM7CB(WLf zE=T?xK`rAw(3Z6f7Kr^ocjv>(T2i%1ixMKOAH8bod_vLBcxJrx0f$@gp-r=q-0$?A zX!lYM|MrOg7RZs|2gkXG`0iUw@EouNP~puum@s|e#`{8NMceY$f)+odXnSa(Fr-Zvzy6V*XOtMP?h%%N7@4 zU?~jj!26?ChnWO%pFV%6^&rkrOkL+@J0Dhk2#)AILg~u!_L0QRqQ&-p^{V(iAwkd= zaJ^^S%O^8#&WaeOwwj89*E>0L*J)?Z-R^FC;!ADdFg-K7`S@~hl=Q>IX3~wK%E4J( zX*=ewNo4x_^gfZPr^g!vYPXo(n14Wow56r+s1c1{dxte7?rrJErxJS0c!u242^Dh#;hMN;WT#5wOj>>iP8u@C?k zN<69KTLGrH7A8y1zy2UTO=**=_0r`ir(=}*zNhQ#cgE3exq>+~gc{bU_Lw5{rvjuhmzfM$*XzUmKvr?mqDx54iOq>h_;i}Bhs**;} zG)cQVXz}ed;M1uq18S=p1$+gWtitcR>9D~n;G&ecx8J3rfxogA$A|yo zsQug3KNcf6un}98sve4Wj_!rFpEG9S4$p(HB(;)h%%Zu6L!Hm82Nxp`id{6&?Upg-?!ZWIr<+r4sjR;l%w<1E;b{FfR$xN}4ZPz787ZV)$o7Tj-6M#0zk`P_ zrD0V6UBXaOn0#s8!9vy6{Bn>vW_03mdgIAzo2576`RUUE_TB2talW;JrW zOPV5H=S6_XUF|@a=PB|W| zv2YM`*L@VKxCp{JU`2PYlngX2R}_AKNjH%XK8*uP&=VBB3MC#SD6aAF)EtwV&OHE>W`Q632Xjh8}p+)B&0c}3} zeXSj|Dbe1n7$Aj{^5GD3fpvq@H#`j#vi=gM)WmcDwIhvTA>I^q4H=xc7-gT?hgxk)pn7jPwT5&JbLY@jlWaAYCV^ zp95m!BTWbPWoo6bpK^pR4^O$()vJXBoqV3;UX|2vKVT1B{b}{vT}*VwAc&?l_p%6B zZVt+NXI3MRyhyIhAp>xL=wC+do7~Ekv&<&>;Rm9?F@Kg;TP$r|7Yy=OC!>HO-wHRE zn<5Sj0WxtiW(!O?^;f26Y1f5)8ILspeDqhqtVz9J(ePE;4QY;6Ak|zrb0&TS6&kLH!`#AU0M{fFq zf0OT1(R$rMo>xn-P+6wq!RD$zG)D^ml+;jz&Z0YKZmd4=`c4k~q9Fn{nFsII*>vQy z%*I8IN8JM`VyFctika5@cBiduQW0vkm@Wjx^@n~P!vbDe?{8B@JftRj_3jgYJfMi4 zE5F@i7K_);PtW4tJc!o3{N4ZcZ5xS6lcb&;Rj~)0KyZC>%wiX=`cHuY5W2^k)U#p( zbpOO6hCJ4;z(!_^^4(N?Q*lnpK3rrr{7@9qw5XN(_dDMd_VS(7lXtH8$;ug_#FC}l zwx%*Q2<|l11@As==$#mL)Z2pS=ew>Ezgjy<2H1cr?FY`Luwf+GhF31@Nbs`_5Jxz) zJ!+T!)xUk^P7(7G`o}Hf+`kJztv}y)SZ1X!pX0PkWROltFO^7iA|P2*?)K}qk#KOJCa=#owDJ%=Ow)!mN?t zQidrV8j4=<%(5CKR~PUL*S-TDstXA|!Yn1}Et)+*QvicWKYCL{zyoE<0#ig_!=;`* zE8cR8Ytxk`cl0q%Y_@7xB|g~^ z8#>hqFgmMz4ZWqi8|M0$K`d&=LhQA@g)X!JYV-r}S$&aQSourx*2{>|AbV}X*-sy^ zy;4H(V{O!<*F}j(BqaBP-pfUnU<{An6Fi>26ii{>YSyqCsO5xrM17JUBnbp&+jbEDFaXpWMZO=~&5qtmO^pFQOnxkcZ-OrQ6te;Mo)49XY6nty$(o zM#d+-A5%BinYh7YFtb{bLZ{H*DQy4lRIV!`XgJ!s4Bb1}1T^ybv4dCc;pAb3vUJ!M zI^Y%Yb+xPs;EN>%w)OcR&$WK0(FaKyD8ue^Zx9u_3f6IfZ`tT zZv{2fD@y8VnyzU{C zk#N&ol;`N5sJ)L#NmK*h7Zg^pY2H|+pgO+qhk5&ch*3^DKQMq8x)jjAb*gSKO6GHy ze4~-Wj)CvyGdcb##@VtCq~hDe=Li1T`Y-f>?^t?&4J{a*l2sNai#VSC&OpS=xyK$Q zIac;VWq~0K`ko720MIiuTMJU8Fr`360gT#6R6pN!;26-{!XSy9vw?2tyTF|Sqs!g5rzN3boI%=Vd& zu*-Mi)U=+iJIT^Qme^KuX(+xM;@kQHH3A`M>9u*z zAdd`Oo%_b~#Q>{{9zv4Zxxc9*aUML%&D&eV7>2~iD*(__1fFA!MT6dq>&b`j`#Pni z&NtokQ6}~a9>>bM!CjX7;Y9Zf7?XB~09-vgZTd4%ddeCpkmw>-hCVF?3y!Sq_-<_e z4?FcOx#(W_BefH00b*paV0OG!!6JE6y}ta~ci{8@GrVsB!N2C5dmos}Stc+ef&*dM zg=_$?!IyQz@gHEnRcGL4l*4JsbAfs|lRpNra#wynXc40+a(CSe5Yk_%)3IY)c5H1X z+{;U<5EcyRTZS-=?}v%SWMn_PHvdI|BR55F-3CT{mKu?P6U6Ii+Lb)@>eMBA7|*8y z7g}9$fLVl>t4D>1dBNJ0co%wGJCEkl?dxDJHU|QqQc#0@OE2R&gG~8q)-|NMKPR7={`(XyvIK$0O0F zk}w>}J)$x@53nI;Z#JcCo7R}-^4ck;w1AWeC6{ln3_+@qBQ8 z2}!cXX_iM;ob;o;QL`3KSP+QumN|ai4^YOI1q@8O#h8kOH2Z_D9+U&_XhqLOUS>od zdk-9$QabEPqTu^);q|F;Kii=L;W+?!jrb%L3-71Pd7JHWN=lS$f-FAkESV;|S5=JP zQDe1Yyn^$HI=Ap&jpPz`5esp<>>C@QXj*aCVN0Oi8rK%n;WiSbSQZY<_VPyPVT|Mf zu*3|d-W!O%GjpdQ?weIvQRUHdmyoX-Ds*m#5GXwg3+TXDfPF>2xDwxhxzJ~Ri$Jb% z+}!iauT9cO8Z-$^ z&gN<+%plrKxd~6J(CLqC58@FP@_=(DB@(>QH!=3EcC&Nb@z$3!N6GEM@jmEm^fnZK zhKH;`GRCsLPt&+U0w=DwTzQxyvQ_|s={aE86yVP8Q4z@15r6i9MYea+ow;~Mb@IB@ z2%uHAcK~ggeDEglAkoH0_mhUO0LY*12Vh$|r$#H{i<)+-@7<X7KSXbu4*?IfB zUC0USgj!uck&dXiH(}RV5fmyY=;t`aMZ9hM3G(l1??wPGqmf{n>%>Qbg~h&8$T8rJ znDu;7h|JUNEu;1`LeTtsIcnTUK8t|GAPoR=RKk}~^hI6WnPr>>Q)lM;M>lQ2XQHlM zZD6m(lnQ+NZ#q&aaS%jv6Duz8D532+u_)D7;1y6HOH8Yz2LG`cv!I4K2CTM>HBL%3 zq?qLX_ISUQ^@A1_&e!nLpYS1Ssm@w1%c_u90wNmV+6Q(gR zkS`NxE3Y(J6-7`vX*Cw$4@hWN>y>v!ZF|hj0^OlR3vdy`kuy(by}N|9_{zMQb{y;j zAk3UuaG`81$FE${BwSl7v`KPJw-)M5!&M3#a}yg>WMXmhPtA}0HvUBqZASXbQfP<5 zyV$9%uN7H!0ucwrD{bV;K5*-n&CRBMcf{LItT?XF1|xomY{+86NjZ53Q^JC6K_cH@ zU$K=2LI3->+Ee7M(0&t!z1nS=#6p0;x6%ld#kcs}?O&Oj?Zc$-`8ai;DS(&5F*G%Ns8**`8;YQ z5(C(HawKotg97AsEi4NnW2_C55}yq07Mzt-HZCyXOIhQUk!#-xPA1q>!QJQ zI<+pnv#Ntg)~CqS_TC%Y(!mAvAo;i4DxRgs!-;g;P}2WggLQ&n)`J5rw;vt-er5_X z{QQ&aQ~Mt4S62=5T1^L+XFF-xQ5efcV9T}tf?p^bPE~i1yy3;eivy=CyrR0PZ_bI+ z5!GfWd+w@H-hUJI`T|Fl(X~b(sTj_-YrjbD*4wmhev3Sw>-MCKW?bX!sOHli?TiZ!!1$;e`oZzY=z>xqgtQ$6=vThYJE!>evE+wcs8LI zD-C_BayZ4HlM$))e%4Rp0++60>d_AuV~=suUNl02oyGQYvKXjpi8R}e%NKid0GML< zJs~hCyhDGHS^M5++|#;{V_dnqcNcDXVRhlF)E_x_h*)t$x>DXC_9XWW+5R-^yL~QL z8BD{%fleKjzhmJNa`qr-m*eT?qO6X8jIq)T$x=e{70CsoNeM)JFSA>-Fxbi{E^%7Z zNWNLJ^R>NXB21S6IkCj$a#?3#OPlN*k%YjkGoblr{BX+N4KK#h+JqojQJs$ceoNeo z7roz4j(YuV5FKQ7u%PVW$0=WTLW8Kvpg5-xmX^H&wzV8*J|2KF zTes}_-0Woh^jpGY5S{SruZK(=2Q}w(y+^=+Yaop5p;5!Sjr!X~2R{{=;AD4Snw%7$ zzxUA(OR~@DtG;IPZY0Hdv)@Zx{}{7@Bbl}5jdtZ@l&p^69sX%jhgpfdVZtujGIV=8 z+yQ(P#-=osDt{qCg2Ya*{B5~$(^W9Bh)5Mr?$K!7WmV{+>h0l8Og)RntZU6@z;m_p ziCyHSUBr{f#WQ{2ubB13AR3hd*4RzHtuCRLC6Sb*1Ghg`UaT^&Mocfo1qY-%6r1k6 zrqT2V2E!C z4Dlf}lRjGvYs)8W?km-zQn3!yMMrk}J+8H*&Ex#Re36dOM$ zS{Fpz>M8qMTPOI)l%Ef`Q+@s4bie*4)=3m~J+w~Vexl4HpS=CJh`lb0wp@v=|Lc}b zfd$GkxF%!FrQ!O5>mznF60+*y%pyV0ry7Px$ev$q6;lj@+Hs6Ve^mrYc^XjE3zDc1 zSVoE+lH^S`>peMPoxuroomSJLQnx?>T|!)o-RgB7?BM}r{T`>-!Yrdj=SQ^-4F+xp z{~Jyg7kwNR#ABkZMHf39MUEuQzwa}nQlFBAYBH^ZLA(2uEP)*z{j4SMqEio_)Bb`D zNVN`Iwk-TcuCCx^6Tjj8q=;GTa=#npSevvUQ(V71Kkot#JFDbo_pl||MO-d0l8IE^^sY;GEbkkFU6N#uh$A|>SkW!c!M|h z_t*u3Jki|BPh?G*A179r6=%--vz4L`b4Eynr7W(wF&CmRo)ew zWc3kgCr;0E%Q0+$#kBJx;(JBaHC;pg^dtF$KUC}+QoIlx@jzI`;0q+bs{Ag(OEacG zrlLQyKKPYJ61`7sXSYjw!#v-Q1I$5AUWp30yc%~-$|m@-Zm(ZNH=?a~u3k|lIJNNX zR4>DJR42#wSy)#I)G^XiQ|Jg?Nb$=zLJ;oFOtf+`O zl#*_Uxz;*@Cu5m`hIbhn9=2;4e9Rgm$(py$PGXEd)tA34Q@61F{Lv`*u>c=2701SK z&Q-#nO^wZ5ocUcI-Z-`ha>SO_JYt1P_PhN43(yVD%#wKf^_6I!{y9JcMx>u_6I8|YM6I{w_>`5dq$ z>`M=oN%EB=;qjP4~<8ok{+zTZO_H^L0Vb9d+_W z_xz%<(Yx}qO-V}sjmU+;Ns}iHQrH-``~-hu|4(DOw>nmn!qAuAXCLVMPhj^oIBt_etK8xz|WPD&Dw{ zjhOxOZ$;jF$TdEM{TkiHFNX(liy>dNqnQKkX|v@SPVmnux$wiT@O5;U?sBBOGJAGv z*VW<7<1sPYI{f6Z?z!y5aV&vy3LcFWI)r@EU0TXk z|2j{;_W};dV)%WeY`Ve+`m1m2clsQOSBaA*-?cRHz1i-AjySUj(F2L+b~9RR9TM)( z!BMhXo^h5Matc3M#eA^=RP=fO^}Oe0hvJ%}nKGyk$H((3s^bJD_*VzX;z`pz;7w+- z{-8tjKDZ`SRpQ3c!pAeqRP(Nt`Of1ES)ASQllM@&2m~W>F}IHdHn&Cshdb%szVeJQ z+i?HBzN@U&=k`fRUAtDNeCZ@dwl1a@SnU3I-P^SZt_hRPn&kP|`oiheu`~9fd)Vk? zEk^C8d)XF1BmYfy@_;tzFDSm>M)4G>2h4#1`}^fr z^D035z$tmUAsZABwuuh0s^EjT15esh!<

    >!(y%ih_nT>jJY15)LpN^FIPfZKL|U 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

    n`)2erPPGF*$*D9_XkAq&@X#CwlhP{t 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%0AqMWtrAtuOt#Mzvta4dCACO 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 literal 0 HcmV?d00001 diff --git a/full_eval.py b/full_eval.py index f9ae845fdc..e0eb2d0e4f 100644 --- a/full_eval.py +++ b/full_eval.py @@ -23,6 +23,14 @@ parser.add_argument("--skip_rendering", action="store_true") parser.add_argument("--skip_metrics", action="store_true") parser.add_argument("--output_path", default="./eval") +parser.add_argument("--use_depth", action="store_true") +parser.add_argument("--use_expcomp", action="store_true") +parser.add_argument("--fast", action="store_true") +parser.add_argument("--aa", action="store_true") + + + + args, _ = parser.parse_known_args() all_scenes = [] @@ -36,9 +44,19 @@ parser.add_argument("--tanksandtemples", "-tat", required=True, type=str) parser.add_argument("--deepblending", "-db", required=True, type=str) args = parser.parse_args() - if not args.skip_training: - common_args = " --quiet --eval --test_iterations -1 " + common_args = " --disable_viewer --quiet --eval --test_iterations -1 " + + if args.aa: + common_args += " --antialiasing " + if args.use_depth: + common_args += " -d depths2/ " + + if args.use_expcomp: + common_args += " --exposure_lr_init 0.001 --exposure_lr_final 0.0001 --exposure_lr_delay_steps 5000 --exposure_lr_delay_mult 0.001 --train_test_exp " + + if args.fast: + common_args += " --optimizer_type sparse_adam " start_time = time.time() for scene in mipnerf360_outdoor_scenes: @@ -61,7 +79,7 @@ os.system("python train.py -s " + source + " -m " + args.output_path + "/" + scene + common_args) db_timing = (time.time() - start_time)/60.0 -with open("timing.txt", 'w') as file: +with open(os.path.join(args.output_path,"timing.txt"), 'w') as file: file.write(f"m360: {m360_timing} minutes \n tandt: {tandt_timing} minutes \n db: {db_timing} minutes\n") if not args.skip_rendering: @@ -74,8 +92,14 @@ all_sources.append(args.tanksandtemples + "/" + scene) for scene in deep_blending_scenes: all_sources.append(args.deepblending + "/" + scene) - + common_args = " --quiet --eval --skip_train" + + if args.aa: + common_args += " --antialiasing " + if args.use_expcomp: + common_args += " --train_test_exp " + for scene, source in zip(all_scenes, all_sources): os.system("python render.py --iteration 7000 -s " + source + " -m " + args.output_path + "/" + scene + common_args) os.system("python render.py --iteration 30000 -s " + source + " -m " + args.output_path + "/" + scene + common_args) @@ -85,4 +109,4 @@ for scene in all_scenes: scenes_string += "\"" + args.output_path + "/" + scene + "\" " - os.system("python metrics.py -m " + scenes_string) \ No newline at end of file + os.system("python metrics.py -m " + scenes_string) diff --git a/gaussian_renderer/__init__.py b/gaussian_renderer/__init__.py index a9d21218da..e12f4b6803 100644 --- a/gaussian_renderer/__init__.py +++ b/gaussian_renderer/__init__.py @@ -15,7 +15,7 @@ from scene.gaussian_model import GaussianModel from utils.sh_utils import eval_sh -def render(viewpoint_camera, pc : GaussianModel, pipe, bg_color : torch.Tensor, scaling_modifier = 1.0, override_color = None, use_trained_exp=False): +def render(viewpoint_camera, pc : GaussianModel, pipe, bg_color : torch.Tensor, scaling_modifier = 1.0, separate_sh = False, override_color = None, use_trained_exp=False): """ Render the scene. @@ -79,20 +79,35 @@ def render(viewpoint_camera, pc : GaussianModel, pipe, bg_color : torch.Tensor, sh2rgb = eval_sh(pc.active_sh_degree, shs_view, dir_pp_normalized) colors_precomp = torch.clamp_min(sh2rgb + 0.5, 0.0) else: - shs = pc.get_features + if separate_sh: + dc, shs = pc.get_features_dc, pc.get_features_rest + else: + shs = pc.get_features else: colors_precomp = override_color # Rasterize visible Gaussians to image, obtain their radii (on screen). - rendered_image, radii, depth_image = rasterizer( - means3D = means3D, - means2D = means2D, - shs = shs, - colors_precomp = colors_precomp, - opacities = opacity, - scales = scales, - rotations = rotations, - cov3D_precomp = cov3D_precomp) + if separate_sh: + rendered_image, radii, depth_image = rasterizer( + means3D = means3D, + means2D = means2D, + dc = dc, + shs = shs, + colors_precomp = colors_precomp, + opacities = opacity, + scales = scales, + rotations = rotations, + cov3D_precomp = cov3D_precomp) + else: + rendered_image, radii, depth_image = rasterizer( + means3D = means3D, + means2D = means2D, + shs = shs, + colors_precomp = colors_precomp, + opacities = opacity, + scales = scales, + rotations = rotations, + cov3D_precomp = cov3D_precomp) # Apply exposure to rendered image (training only) if use_trained_exp: diff --git a/render.py b/render.py index b22162af8a..244cb75312 100644 --- a/render.py +++ b/render.py @@ -20,8 +20,14 @@ from argparse import ArgumentParser from arguments import ModelParams, PipelineParams, get_combined_args from gaussian_renderer import GaussianModel +try: + from diff_gaussian_rasterization import SparseGaussianAdam + SPARSE_ADAM_AVAILABLE = True +except: + SPARSE_ADAM_AVAILABLE = False -def render_set(model_path, name, iteration, views, gaussians, pipeline, background, train_test_exp): + +def render_set(model_path, name, iteration, views, gaussians, pipeline, background, train_test_exp, separate_sh): render_path = os.path.join(model_path, name, "ours_{}".format(iteration), "renders") gts_path = os.path.join(model_path, name, "ours_{}".format(iteration), "gt") @@ -29,12 +35,17 @@ def render_set(model_path, name, iteration, views, gaussians, pipeline, backgrou makedirs(gts_path, exist_ok=True) for idx, view in enumerate(tqdm(views, desc="Rendering progress")): - rendering = render(view, gaussians, pipeline, background, use_trained_exp=train_test_exp)["render"] + rendering = render(view, gaussians, pipeline, background, use_trained_exp=train_test_exp, separate_sh=separate_sh)["render"] gt = view.original_image[0:3, :, :] + + if args.train_test_exp: + rendering = rendering[..., rendering.shape[-1] // 2:] + gt = gt[..., gt.shape[-1] // 2:] + torchvision.utils.save_image(rendering, os.path.join(render_path, '{0:05d}'.format(idx) + ".png")) torchvision.utils.save_image(gt, os.path.join(gts_path, '{0:05d}'.format(idx) + ".png")) -def render_sets(dataset : ModelParams, iteration : int, pipeline : PipelineParams, skip_train : bool, skip_test : bool): +def render_sets(dataset : ModelParams, iteration : int, pipeline : PipelineParams, skip_train : bool, skip_test : bool, separate_sh: bool): with torch.no_grad(): gaussians = GaussianModel(dataset.sh_degree) scene = Scene(dataset, gaussians, load_iteration=iteration, shuffle=False) @@ -43,10 +54,10 @@ def render_sets(dataset : ModelParams, iteration : int, pipeline : PipelineParam background = torch.tensor(bg_color, dtype=torch.float32, device="cuda") if not skip_train: - render_set(dataset.model_path, "train", scene.loaded_iter, scene.getTrainCameras(), gaussians, pipeline, background, dataset.train_test_exp) + render_set(dataset.model_path, "train", scene.loaded_iter, scene.getTrainCameras(), gaussians, pipeline, background, dataset.train_test_exp, separate_sh) if not skip_test: - render_set(dataset.model_path, "test", scene.loaded_iter, scene.getTestCameras(), gaussians, pipeline, background, dataset.train_test_exp) + render_set(dataset.model_path, "test", scene.loaded_iter, scene.getTestCameras(), gaussians, pipeline, background, dataset.train_test_exp, separate_sh) if __name__ == "__main__": # Set up command line argument parser @@ -63,4 +74,4 @@ def render_sets(dataset : ModelParams, iteration : int, pipeline : PipelineParam # Initialize system state (RNG) safe_state(args.quiet) - render_sets(model.extract(args), args.iteration, pipeline.extract(args), args.skip_train, args.skip_test) \ No newline at end of file + render_sets(model.extract(args), args.iteration, pipeline.extract(args), args.skip_train, args.skip_test, SPARSE_ADAM_AVAILABLE) \ No newline at end of file diff --git a/results.md b/results.md index b511067e0a..8838b6eb13 100644 --- a/results.md +++ b/results.md @@ -1,14 +1,90 @@ # Evaluations -We evaluated the impact of the features we added on MipNeRF360, Tanks&Temples and Deep Blending datasets. +We evaluated the impact of the features we added on MipNeRF360, Tanks&Temples and Deep Blending datasets. [Exposure Compensation](#exposure-compensation) is evaluated separately. Note that [Default rasterizer](#default-rasterizer) refers to the original [3dgs rasterizer](https://github.com/graphdeco-inria/diff-gaussian-rasterization/tree/9c5c2028f6fbee2be239bc4c9421ff894fe4fbe0) and [Accelerated rasterizer](#accelerated-rasterizer) refers to the [taming-3dgs rasterizer](https://github.com/graphdeco-inria/diff-gaussian-rasterization/tree/3dgs_accel). -## PSNR -![all results PSNR](assets/all_results_PSNR.png) -***DR**:depth regularization, **AA**:antialiasing, **EXPCOMP**:exposure compensation.* +## Default rasterizer -## SSIM -![all results SSIM](assets/all_results_SSIM.png) -***DR**:depth regularization, **AA**:antialiasing, **EXPCOMP**:exposure compensation.* +### PSNR -## LPIPS -![all results LPIPS](assets/all_results_LPIPS.png) -*lower is better, **DR**:depth regularization, **AA**:antialiasing, **EXPCOMP**:exposure compensation.* \ No newline at end of file +![all results PSNR](assets/charts/base_PSNR.png) + +***DR**:depth regularization, **AA**:antialiasing* + +
    + +![nodepth/depth](assets/Depth_comparison.png) + +### SSIM +![all results SSIM](assets/charts/base_SSIM.png) + +***DR**:depth regularization, **AA**:antialiasing* + +### LPIPS +![all results LPIPS](assets/charts/base_LPIPS.png) + +*lower is better, **DR**:depth regularization, **AA**:antialiasing* + +## Accelerated rasterizer + +### Default optimizer + +These numbers were obtained using the accelerated rasterizer and `--optimizer_type default` when training. + +#### PSNR +![all results PSNR](assets/charts/accel_default_PSNR.png) + +***DR**:depth regularization, **AA**:antialiasing* + +#### SSIM +![all results SSIM](assets/charts/accel_default_SSIM.png) + +***DR**:depth regularization, **AA**:antialiasing* + +#### LPIPS +![all results LPIPS](assets/charts/accel_default_LPIPS.png) + +*lower is better, **DR**:depth regularization, **AA**:antialiasing* + +### Sparse Adam optimizer + +These numbers were obtained using the accelerated rasterizer and `--optimizer_type sparse_adam` when training. + +#### PSNR +![all results PSNR](assets/charts/accel_sparse_adam_PSNR.png) + +***DR**:depth regularization, **AA**:antialiasing* + +#### SSIM +![all results SSIM](assets/charts/accel_sparse_adam_SSIM.png) + +***DR**:depth regularization, **AA**:antialiasing* + +#### LPIPS +![all results LPIPS](assets/charts/accel_sparse_adam_LPIPS.png) + +*lower is better, **DR**:depth regularization, **AA**:antialiasing* + +## Exposure compensation + +We account for exposure variations between images by optimizing a 3x4 affine transform for each image. During training, this transform is applied to the colour of the rendered images. +The exposure compensation is designed to improve the inputs' coherence during training and is not applied during real-time navigation. +Enabling the `--train_test_exp` option includes the left half of the test images in the training set, using only their right halves for testing, following the same testing methodology as NeRF-W and Mega-NeRF. This allows us to optimize the exposure affine transform for test views. However, since this setting alters the train/test splits, the resulting metrics are not comparable to those from models trained without it. Here we provide results with `--train_test_exp`, with and without exposure compensation. + +### PSNR + +![exposures_psnr](/assets/charts/exposure_PSNR.png) + +### SSIM + +![exposures_ssim](/assets/charts/exposure_SSIM.png) + +### LPIPS + +*Lower is better.* +![exposures_lpips](/assets/charts/exposure_LPIPS.png) + +![noexposure/exposure](assets/Exposure_comparison.png) + +## Training times comparisons + +We report the training times with all features enabled using the original 3dgs rasterizer *(baseline)* and the accelerated rasterizer with default optimizer then sparse adam. +![Training-times](assets/charts/timings.png) diff --git a/scene/gaussian_model.py b/scene/gaussian_model.py index 4a46cea9b7..473887db89 100644 --- a/scene/gaussian_model.py +++ b/scene/gaussian_model.py @@ -22,6 +22,11 @@ from utils.graphics_utils import BasicPointCloud from utils.general_utils import strip_symmetric, build_scaling_rotation +try: + from diff_gaussian_rasterization import SparseGaussianAdam +except: + pass + class GaussianModel: def setup_functions(self): @@ -42,8 +47,9 @@ def build_covariance_from_scaling_rotation(scaling, scaling_modifier, rotation): self.rotation_activation = torch.nn.functional.normalize - def __init__(self, sh_degree): + def __init__(self, sh_degree, optimizer_type="default"): self.active_sh_degree = 0 + self.optimizer_type = optimizer_type self.max_sh_degree = sh_degree self._xyz = torch.empty(0) self._features_dc = torch.empty(0) @@ -183,9 +189,16 @@ def training_setup(self, training_args): {'params': [self._rotation], 'lr': training_args.rotation_lr, "name": "rotation"} ] - self.optimizer = torch.optim.Adam(l, lr=0.0, eps=1e-15) - if self.pretrained_exposures is None: - self.exposure_optimizer = torch.optim.Adam([self._exposure]) + if self.optimizer_type == "default": + self.optimizer = torch.optim.Adam(l, lr=0.0, eps=1e-15) + elif self.optimizer_type == "sparse_adam": + try: + self.optimizer = SparseGaussianAdam(l, lr=0.0, eps=1e-15) + except: + # A special version of the rasterizer is required to enable sparse adam + self.optimizer = torch.optim.Adam(l, lr=0.0, eps=1e-15) + + self.exposure_optimizer = torch.optim.Adam([self._exposure]) self.xyz_scheduler_args = get_expon_lr_func(lr_init=training_args.position_lr_init*self.spatial_lr_scale, lr_final=training_args.position_lr_final*self.spatial_lr_scale, @@ -348,6 +361,7 @@ def prune_points(self, mask): self.denom = self.denom[valid_points_mask] self.max_radii2D = self.max_radii2D[valid_points_mask] + self.tmp_radii = self.tmp_radii[valid_points_mask] def cat_tensors_to_optimizer(self, tensors_dict): optimizable_tensors = {} @@ -371,7 +385,7 @@ def cat_tensors_to_optimizer(self, tensors_dict): return optimizable_tensors - def densification_postfix(self, new_xyz, new_features_dc, new_features_rest, new_opacities, new_scaling, new_rotation): + def densification_postfix(self, new_xyz, new_features_dc, new_features_rest, new_opacities, new_scaling, new_rotation, new_tmp_radii): d = {"xyz": new_xyz, "f_dc": new_features_dc, "f_rest": new_features_rest, @@ -387,6 +401,7 @@ def densification_postfix(self, new_xyz, new_features_dc, new_features_rest, new self._scaling = optimizable_tensors["scaling"] self._rotation = optimizable_tensors["rotation"] + self.tmp_radii = torch.cat((self.tmp_radii, new_tmp_radii)) self.xyz_gradient_accum = torch.zeros((self.get_xyz.shape[0], 1), device="cuda") self.denom = torch.zeros((self.get_xyz.shape[0], 1), device="cuda") self.max_radii2D = torch.zeros((self.get_xyz.shape[0]), device="cuda") @@ -410,8 +425,9 @@ def densify_and_split(self, grads, grad_threshold, scene_extent, N=2): new_features_dc = self._features_dc[selected_pts_mask].repeat(N,1,1) new_features_rest = self._features_rest[selected_pts_mask].repeat(N,1,1) new_opacity = self._opacity[selected_pts_mask].repeat(N,1) + new_tmp_radii = self.tmp_radii[selected_pts_mask].repeat(N) - self.densification_postfix(new_xyz, new_features_dc, new_features_rest, new_opacity, new_scaling, new_rotation) + self.densification_postfix(new_xyz, new_features_dc, new_features_rest, new_opacity, new_scaling, new_rotation, new_tmp_radii) prune_filter = torch.cat((selected_pts_mask, torch.zeros(N * selected_pts_mask.sum(), device="cuda", dtype=bool))) self.prune_points(prune_filter) @@ -429,12 +445,15 @@ def densify_and_clone(self, grads, grad_threshold, scene_extent): new_scaling = self._scaling[selected_pts_mask] new_rotation = self._rotation[selected_pts_mask] - self.densification_postfix(new_xyz, new_features_dc, new_features_rest, new_opacities, new_scaling, new_rotation) + new_tmp_radii = self.tmp_radii[selected_pts_mask] + + self.densification_postfix(new_xyz, new_features_dc, new_features_rest, new_opacities, new_scaling, new_rotation, new_tmp_radii) - def densify_and_prune(self, max_grad, min_opacity, extent, max_screen_size): + def densify_and_prune(self, max_grad, min_opacity, extent, max_screen_size, radii): grads = self.xyz_gradient_accum / self.denom grads[grads.isnan()] = 0.0 + self.tmp_radii = radii self.densify_and_clone(grads, max_grad, extent) self.densify_and_split(grads, max_grad, extent) @@ -444,9 +463,11 @@ def densify_and_prune(self, max_grad, min_opacity, extent, max_screen_size): big_points_ws = self.get_scaling.max(dim=1).values > 0.1 * extent prune_mask = torch.logical_or(torch.logical_or(prune_mask, big_points_vs), big_points_ws) self.prune_points(prune_mask) + tmp_radii = self.tmp_radii + self.tmp_radii = None torch.cuda.empty_cache() def add_densification_stats(self, viewspace_point_tensor, update_filter): self.xyz_gradient_accum[update_filter] += torch.norm(viewspace_point_tensor.grad[update_filter,:2], dim=-1, keepdim=True) - self.denom[update_filter] += 1 \ No newline at end of file + self.denom[update_filter] += 1 diff --git a/submodules/fused-ssim b/submodules/fused-ssim new file mode 160000 index 0000000000..1272e21a28 --- /dev/null +++ b/submodules/fused-ssim @@ -0,0 +1 @@ +Subproject commit 1272e21a282342e89537159e4bad508b19b34157 diff --git a/submodules/simple-knn b/submodules/simple-knn index 44f764299f..86710c2d4b 160000 --- a/submodules/simple-knn +++ b/submodules/simple-knn @@ -1 +1 @@ -Subproject commit 44f764299fa305faf6ec5ebd99939e0508331503 +Subproject commit 86710c2d4b46680c02301765dd79e465819c8f19 diff --git a/train.py b/train.py index 07bc6be32d..fe844c0df0 100644 --- a/train.py +++ b/train.py @@ -28,10 +28,26 @@ except ImportError: TENSORBOARD_FOUND = False +try: + from fused_ssim import fused_ssim + FUSED_SSIM_AVAILABLE = True +except: + FUSED_SSIM_AVAILABLE = False + +try: + from diff_gaussian_rasterization import SparseGaussianAdam + SPARSE_ADAM_AVAILABLE = True +except: + SPARSE_ADAM_AVAILABLE = False + def training(dataset, opt, pipe, testing_iterations, saving_iterations, checkpoint_iterations, checkpoint, debug_from): + + if not SPARSE_ADAM_AVAILABLE and opt.optimizer_type == "sparse_adam": + sys.exit(f"Trying to use sparse adam but it is not installed, please install the correct rasterizer using pip install [3dgs_accel].") + first_iter = 0 tb_writer = prepare_output_and_logger(dataset) - gaussians = GaussianModel(dataset.sh_degree) + gaussians = GaussianModel(dataset.sh_degree, opt.optimizer_type) scene = Scene(dataset, gaussians) gaussians.training_setup(opt) if checkpoint: @@ -44,6 +60,7 @@ def training(dataset, opt, pipe, testing_iterations, saving_iterations, checkpoi iter_start = torch.cuda.Event(enable_timing = True) iter_end = torch.cuda.Event(enable_timing = True) + use_sparse_adam = opt.optimizer_type == "sparse_adam" and SPARSE_ADAM_AVAILABLE depth_l1_weight = get_expon_lr_func(opt.depth_l1_weight_init, opt.depth_l1_weight_final, max_steps=opt.iterations) viewpoint_stack = scene.getTrainCameras().copy() @@ -91,13 +108,21 @@ def training(dataset, opt, pipe, testing_iterations, saving_iterations, checkpoi bg = torch.rand((3), device="cuda") if opt.random_background else background - render_pkg = render(viewpoint_cam, gaussians, pipe, bg, use_trained_exp=dataset.train_test_exp) + render_pkg = render(viewpoint_cam, gaussians, pipe, bg, use_trained_exp=dataset.train_test_exp, separate_sh=SPARSE_ADAM_AVAILABLE) image, viewspace_point_tensor, visibility_filter, radii = render_pkg["render"], render_pkg["viewspace_points"], render_pkg["visibility_filter"], render_pkg["radii"] + if viewpoint_cam.alpha_mask is not None: + alpha_mask = viewpoint_cam.alpha_mask.cuda() + image *= alpha_mask + # Loss gt_image = viewpoint_cam.original_image.cuda() Ll1 = l1_loss(image, gt_image) - ssim_value = ssim(image, gt_image) + if FUSED_SSIM_AVAILABLE: + ssim_value = fused_ssim(image.unsqueeze(0), gt_image.unsqueeze(0)) + else: + ssim_value = ssim(image, gt_image) + loss = (1.0 - opt.lambda_dssim) * Ll1 + opt.lambda_dssim * (1.0 - ssim_value) # Depth regularization @@ -130,7 +155,7 @@ def training(dataset, opt, pipe, testing_iterations, saving_iterations, checkpoi progress_bar.close() # Log and save - training_report(tb_writer, iteration, Ll1, loss, l1_loss, iter_start.elapsed_time(iter_end), testing_iterations, scene, render, (pipe, background), dataset.train_test_exp) + training_report(tb_writer, iteration, Ll1, loss, l1_loss, iter_start.elapsed_time(iter_end), testing_iterations, scene, render, (pipe, background, dataset.train_test_exp, SPARSE_ADAM_AVAILABLE), dataset.train_test_exp) if (iteration in saving_iterations): print("\n[ITER {}] Saving Gaussians".format(iteration)) scene.save(iteration) @@ -143,7 +168,7 @@ def training(dataset, opt, pipe, testing_iterations, saving_iterations, checkpoi if iteration > opt.densify_from_iter and iteration % opt.densification_interval == 0: size_threshold = 20 if iteration > opt.opacity_reset_interval else None - gaussians.densify_and_prune(opt.densify_grad_threshold, 0.005, scene.cameras_extent, size_threshold) + gaussians.densify_and_prune(opt.densify_grad_threshold, 0.005, scene.cameras_extent, size_threshold, radii) if iteration % opt.opacity_reset_interval == 0 or (dataset.white_background and iteration == opt.densify_from_iter): gaussians.reset_opacity() @@ -152,8 +177,13 @@ def training(dataset, opt, pipe, testing_iterations, saving_iterations, checkpoi if iteration < opt.iterations: gaussians.exposure_optimizer.step() gaussians.exposure_optimizer.zero_grad(set_to_none = True) - gaussians.optimizer.step() - gaussians.optimizer.zero_grad(set_to_none = True) + if use_sparse_adam: + visible = radii > 0 + gaussians.optimizer.step(visible, radii.shape[0]) + gaussians.optimizer.zero_grad(set_to_none = True) + else: + gaussians.optimizer.step() + gaussians.optimizer.zero_grad(set_to_none = True) if (iteration in checkpoint_iterations): print("\n[ITER {}] Saving Checkpoint".format(iteration)) diff --git a/utils/loss_utils.py b/utils/loss_utils.py index 9defc23a91..60cf1f70c9 100644 --- a/utils/loss_utils.py +++ b/utils/loss_utils.py @@ -13,6 +13,29 @@ import torch.nn.functional as F from torch.autograd import Variable from math import exp +try: + from diff_gaussian_rasterization._C import fusedssim, fusedssim_backward +except: + pass + +C1 = 0.01 ** 2 +C2 = 0.03 ** 2 + +class FusedSSIMMap(torch.autograd.Function): + @staticmethod + def forward(ctx, C1, C2, img1, img2): + ssim_map = fusedssim(C1, C2, img1, img2) + ctx.save_for_backward(img1.detach(), img2) + ctx.C1 = C1 + ctx.C2 = C2 + return ssim_map + + @staticmethod + def backward(ctx, opt_grad): + img1, img2 = ctx.saved_tensors + C1, C2 = ctx.C1, ctx.C2 + grad = fusedssim_backward(C1, C2, img1, img2, opt_grad) + return None, None, grad, None def l1_loss(network_output, gt): return torch.abs((network_output - gt)).mean() @@ -62,3 +85,7 @@ def _ssim(img1, img2, window, window_size, channel, size_average=True): else: return ssim_map.mean(1).mean(1).mean(1) + +def fast_ssim(img1, img2): + ssim_map = FusedSSIMMap.apply(C1, C2, img1, img2) + return ssim_map.mean() From 9d721df9c29f965663e66416996cfff3db2e85e6 Mon Sep 17 00:00:00 2001 From: Alexandre Lanvin <39962623+alanvinx@users.noreply.github.com> Date: Thu, 24 Oct 2024 14:12:47 +0200 Subject: [PATCH 2/9] Update README.md --- README.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 7a3484e078..eb2cf6c09d 100644 --- a/README.md +++ b/README.md @@ -39,11 +39,7 @@ This research was funded by the ERC Advanced grant FUNGRAPH No 788065. The autho We have limited resources for maintaining and updating the code. However, we have added a few new features since the original release that are inspired by some of the excellent work many other researchers have been doing on 3DGS. We will be adding other features within the ability of our resources. -**Update of October 2024**: We integrated [training speed acceleration](#training-speed-acceleration) and made it compatible with [depth regularization](#depth-regularization), [anti-aliasing](#anti-aliasing) and [exposure compensation](#exposure-compensation). - - -**Update of August 2024**: -We have added/corrected the following features: [depth regularization](#depth-regularization) for training, [anti-aliasing](#anti-aliasing) and [exposure compensation](#exposure-compensation). We have enhanced the SIBR real time viewer by correcting bugs and adding features in the [Top View](#sibr-top-view) that allows visualization of input and user cameras. Please note that it is currently not possible to use depth regularization with the training speed acceleration since they use different rasterizer versions. +**Update of October 2024**: We integrated [training speed acceleration](#training-speed-acceleration) and made it compatible with [depth regularization](#depth-regularization), [anti-aliasing](#anti-aliasing) and [exposure compensation](#exposure-compensation). We have enhanced the SIBR real time viewer by correcting bugs and adding features in the [Top View](#sibr-top-view) that allows visualization of input and user cameras. **Update of Spring 2024**: Orange Labs has kindly added [OpenXR support](#openxr-support) for VR viewing. @@ -524,9 +520,19 @@ Then you can add the following parameter to use the sparse adam optimizer when r To have better reconstructed scenes we use depth maps as priors during optimization with each input images. It works best on untextured parts ex: roads and can remove floaters. Several papers have used similar ideas to improve various aspects of 3DGS; (e.g. [DepthRegularizedGS](https://robot0321.github.io/DepthRegGS/index.html), [SparseGS](https://formycat.github.io/SparseGS-Real-Time-360-Sparse-View-Synthesis-using-Gaussian-Splatting/), [DNGaussian](https://fictionarry.github.io/DNGaussian/)). The depth regularization we integrated is that used in our [Hierarchical 3DGS](https://repo-sam.inria.fr/fungraph/hierarchical-3d-gaussians/) paper, but applied to the original 3DGS; for some scenes (e.g., the DeepBlending scenes) it improves quality significantly; for others it either makes a small difference or can even be worse. For example results showing the potential benefit and statistics on quality please see here: [Stats for depth regularization](results.md). -When training on a synthetic dataset, depth maps can be produced and they do not require further processing to be used in our method. For real world datasets please do the following: -1. Get depth maps for each input images, to this effect we suggest using [Depth anything v2](https://github.com/DepthAnything/Depth-Anything-V2?tab=readme-ov-file#usage). -2. Generate a `depth_params.json` file using: +When training on a synthetic dataset, depth maps can be produced and they do not require further processing to be used in our method. + +For real world datasets depth maps should be generated for each input images, to generate them please do the following: +1. Clone [Depth Anything v2](https://github.com/DepthAnything/Depth-Anything-V2?tab=readme-ov-file#usage): + ``` + git clone https://github.com/DepthAnything/Depth-Anything-V2.git + ``` +2. Download weights from [Depth-Anything-V2-Large](https://huggingface.co/depth-anything/Depth-Anything-V2-Large/resolve/main/depth_anything_v2_vitl.pth?download=true) and place it under `Depth-Anything-V2/checkpoints/` +3. Generate depth maps: + ``` + python Depth-Anything-V2/run.py --encoder vitl --pred-only --grayscale --img-path --outdir + ``` +5. Generate a `depth_params.json` file using: ``` python utils/make_depth_scale.py --base_dir --depths_dir ``` From dd795e2e15256b4fac1e07270d749798c8c3ffa0 Mon Sep 17 00:00:00 2001 From: alanvinx Date: Thu, 24 Oct 2024 17:14:43 +0200 Subject: [PATCH 3/9] added missing parameters for remote viewer --- train.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/train.py b/train.py index fe844c0df0..d378d865d8 100644 --- a/train.py +++ b/train.py @@ -78,7 +78,7 @@ def training(dataset, opt, pipe, testing_iterations, saving_iterations, checkpoi net_image_bytes = None custom_cam, do_training, pipe.convert_SHs_python, pipe.compute_cov3D_python, keep_alive, scaling_modifer = network_gui.receive() if custom_cam != None: - net_image = render(custom_cam, gaussians, pipe, background, scaling_modifer)["render"] + net_image = render(custom_cam, gaussians, pipe, background, scaling_modifier=scaling_modifer, use_trained_exp=dataset.train_test_exp, separate_sh=SPARSE_ADAM_AVAILABLE)["render"] net_image_bytes = memoryview((torch.clamp(net_image, min=0, max=1.0) * 255).byte().permute(1, 2, 0).contiguous().cpu().numpy()) network_gui.send(net_image_bytes, dataset.source_path) if do_training and ((iteration < int(opt.iterations)) or not keep_alive): From 9e1c2c61973226255e74c011ef63dd1dba6e8eb6 Mon Sep 17 00:00:00 2001 From: alanvinx Date: Sat, 26 Oct 2024 11:01:27 +0200 Subject: [PATCH 4/9] fix asset name in results.md --- results.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/results.md b/results.md index 8838b6eb13..571cde3687 100644 --- a/results.md +++ b/results.md @@ -11,7 +11,7 @@ We evaluated the impact of the features we added on MipNeRF360, Tanks&Temples an
    -![nodepth/depth](assets/Depth_comparison.png) +![nodepth/depth](assets/depth_comparison.png) ### SSIM ![all results SSIM](assets/charts/base_SSIM.png) From 3dc0b75595ac113db0c49ca51a9be33e1ed7e876 Mon Sep 17 00:00:00 2001 From: alanvinx Date: Tue, 29 Oct 2024 19:24:26 +0100 Subject: [PATCH 5/9] fix training report, add missing dependency --- environment.yml | 1 + train.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index 68cd295200..5639448ae7 100644 --- a/environment.yml +++ b/environment.yml @@ -15,5 +15,6 @@ dependencies: - pip: - submodules/diff-gaussian-rasterization - submodules/simple-knn + - submodules/fused_ssim - opencv-python - joblib diff --git a/train.py b/train.py index d378d865d8..820690305a 100644 --- a/train.py +++ b/train.py @@ -155,7 +155,7 @@ def training(dataset, opt, pipe, testing_iterations, saving_iterations, checkpoi progress_bar.close() # Log and save - training_report(tb_writer, iteration, Ll1, loss, l1_loss, iter_start.elapsed_time(iter_end), testing_iterations, scene, render, (pipe, background, dataset.train_test_exp, SPARSE_ADAM_AVAILABLE), dataset.train_test_exp) + training_report(tb_writer, iteration, Ll1, loss, l1_loss, iter_start.elapsed_time(iter_end), testing_iterations, scene, render, (pipe, background, 1., SPARSE_ADAM_AVAILABLE, None, dataset.train_test_exp), dataset.train_test_exp) if (iteration in saving_iterations): print("\n[ITER {}] Saving Gaussians".format(iteration)) scene.save(iteration) From 54c035f7834b564019656c3e3fcc3646292f727d Mon Sep 17 00:00:00 2001 From: alanvinx Date: Wed, 30 Oct 2024 13:39:22 +0100 Subject: [PATCH 6/9] fix submodule name in environment.yml --- environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index 5639448ae7..d91d37ffc1 100644 --- a/environment.yml +++ b/environment.yml @@ -15,6 +15,6 @@ dependencies: - pip: - submodules/diff-gaussian-rasterization - submodules/simple-knn - - submodules/fused_ssim + - submodules/fused-ssim - opencv-python - joblib From 8cdd2ea29c8b49e816374d7670b90192644d3c2e Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 18 Oct 2025 19:30:15 +0800 Subject: [PATCH 7/9] remove .gitmodules and stop tracking submodules --- SIBR_viewers | 1 - submodules/diff-gaussian-rasterization | 1 - submodules/fused-ssim | 1 - submodules/simple-knn | 1 - 4 files changed, 4 deletions(-) delete mode 160000 SIBR_viewers delete mode 160000 submodules/diff-gaussian-rasterization delete mode 160000 submodules/fused-ssim delete mode 160000 submodules/simple-knn diff --git a/SIBR_viewers b/SIBR_viewers deleted file mode 160000 index d8856f60c5..0000000000 --- a/SIBR_viewers +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d8856f60c5384cc1975439193bb627d77d917d77 diff --git a/submodules/diff-gaussian-rasterization b/submodules/diff-gaussian-rasterization deleted file mode 160000 index 9c5c2028f6..0000000000 --- a/submodules/diff-gaussian-rasterization +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 9c5c2028f6fbee2be239bc4c9421ff894fe4fbe0 diff --git a/submodules/fused-ssim b/submodules/fused-ssim deleted file mode 160000 index 1272e21a28..0000000000 --- a/submodules/fused-ssim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1272e21a282342e89537159e4bad508b19b34157 diff --git a/submodules/simple-knn b/submodules/simple-knn deleted file mode 160000 index 86710c2d4b..0000000000 --- a/submodules/simple-knn +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 86710c2d4b46680c02301765dd79e465819c8f19 From 663c8fb32c3151088da88ac2a6c621d015991e08 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 18 Oct 2025 19:31:08 +0800 Subject: [PATCH 8/9] add source code of submodules as plain folders --- .gitmodules | 13 ------------- SIBR_viewers | 1 + submodules/diff-gaussian-rasterization | 1 + submodules/fused-ssim | 1 + submodules/simple-knn | 1 + 5 files changed, 4 insertions(+), 13 deletions(-) delete mode 100644 .gitmodules create mode 160000 SIBR_viewers create mode 160000 submodules/diff-gaussian-rasterization create mode 160000 submodules/fused-ssim create mode 160000 submodules/simple-knn diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index cafb9acf7d..0000000000 --- a/.gitmodules +++ /dev/null @@ -1,13 +0,0 @@ -[submodule "submodules/simple-knn"] - path = submodules/simple-knn - url = https://gitlab.inria.fr/bkerbl/simple-knn.git -[submodule "submodules/diff-gaussian-rasterization"] - path = submodules/diff-gaussian-rasterization - url = https://github.com/graphdeco-inria/diff-gaussian-rasterization.git - branch = dr_aa -[submodule "SIBR_viewers"] - path = SIBR_viewers - url = https://gitlab.inria.fr/sibr/sibr_core.git -[submodule "submodules/fused-ssim"] - path = submodules/fused-ssim - url = https://github.com/rahul-goel/fused-ssim.git diff --git a/SIBR_viewers b/SIBR_viewers new file mode 160000 index 0000000000..d8856f60c5 --- /dev/null +++ b/SIBR_viewers @@ -0,0 +1 @@ +Subproject commit d8856f60c5384cc1975439193bb627d77d917d77 diff --git a/submodules/diff-gaussian-rasterization b/submodules/diff-gaussian-rasterization new file mode 160000 index 0000000000..9c5c2028f6 --- /dev/null +++ b/submodules/diff-gaussian-rasterization @@ -0,0 +1 @@ +Subproject commit 9c5c2028f6fbee2be239bc4c9421ff894fe4fbe0 diff --git a/submodules/fused-ssim b/submodules/fused-ssim new file mode 160000 index 0000000000..1272e21a28 --- /dev/null +++ b/submodules/fused-ssim @@ -0,0 +1 @@ +Subproject commit 1272e21a282342e89537159e4bad508b19b34157 diff --git a/submodules/simple-knn b/submodules/simple-knn new file mode 160000 index 0000000000..86710c2d4b --- /dev/null +++ b/submodules/simple-knn @@ -0,0 +1 @@ +Subproject commit 86710c2d4b46680c02301765dd79e465819c8f19 From f77cbe8c185d7cd142dfef65adc3dff616515e92 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 18 Oct 2025 19:38:20 +0800 Subject: [PATCH 9/9] close all .submodules --- .gitmodules | 0 SIBR_viewers | 1 - SIBR_viewers/.gitignore | 45 + SIBR_viewers/CMakeLists.txt | 213 ++ SIBR_viewers/LICENSE.md | 204 ++ SIBR_viewers/README.md | 142 + .../cmake/linux/MSVCsetUserCommand.cmake | 149 + .../cmake/linux/Modules/FindASSIMP.cmake | 114 + .../cmake/linux/Modules/FindEGL.cmake | 161 ++ .../cmake/linux/Modules/FindEmbree.cmake | 94 + .../cmake/linux/Modules/FindFFMPEG.cmake | 110 + .../cmake/linux/Modules/FindGLFW.cmake | 109 + SIBR_viewers/cmake/linux/Win3rdParty.cmake | 337 +++ SIBR_viewers/cmake/linux/cmake_policies.cmake | 19 + SIBR_viewers/cmake/linux/dependencies.cmake | 324 +++ .../linux/downloadAndExtractZipFile.cmake | 243 ++ SIBR_viewers/cmake/linux/git_describe.cmake | 114 + SIBR_viewers/cmake/linux/include_once.cmake | 22 + .../cmake/linux/install_runtime.cmake | 887 ++++++ .../cmake/linux/parse_arguments_multi.cmake | 304 ++ SIBR_viewers/cmake/linux/sibr_library.cmake | 174 ++ .../cmake/windows/MSVCsetUserCommand.cmake | 149 + .../cmake/windows/Modules/FindASSIMP.cmake | 104 + .../cmake/windows/Modules/FindEmbree.cmake | 95 + .../cmake/windows/Modules/FindFFmpeg.cmake | 104 + SIBR_viewers/cmake/windows/Win3rdParty.cmake | 337 +++ .../cmake/windows/cmake_policies.cmake | 19 + SIBR_viewers/cmake/windows/dependencies.cmake | 292 ++ .../windows/downloadAndExtractZipFile.cmake | 243 ++ SIBR_viewers/cmake/windows/git_describe.cmake | 114 + SIBR_viewers/cmake/windows/include_once.cmake | 22 + .../cmake/windows/install_runtime.cmake | 880 ++++++ .../cmake/windows/parse_arguments_multi.cmake | 304 ++ SIBR_viewers/cmake/windows/sibr_library.cmake | 169 ++ SIBR_viewers/docs/CMakeLists.txt | 63 + SIBR_viewers/docs/doxyfile.in | 2571 +++++++++++++++++ SIBR_viewers/docs/doxygen_prebuild.cmake.in | 24 + .../docs/img/capreal/caprealaddinputs.png | Bin 0 -> 13440 bytes .../docs/img/capreal/caprealalignimages.png | Bin 0 -> 22634 bytes .../img/capreal/caprealcolorizesimplify.png | Bin 0 -> 27964 bytes .../docs/img/capreal/caprealexportmodel.png | Bin 0 -> 28889 bytes .../docs/img/capreal/caprealinputsonly.png | Bin 0 -> 117923 bytes SIBR_viewers/docs/img/capreal/caprealmesh.png | Bin 0 -> 370831 bytes .../img/capreal/caprealmeshreconstruction.png | Bin 0 -> 23541 bytes SIBR_viewers/docs/img/capreal/caprealnew.png | Bin 0 -> 28762 bytes .../docs/img/capreal/caprealpointcloud.png | Bin 0 -> 275587 bytes SIBR_viewers/docs/img/capreal/meshlab.png | Bin 0 -> 682709 bytes SIBR_viewers/docs/img/cmake.gif | Bin 0 -> 28223 bytes .../img/diagramas/class/sibr_classes_v2.png | Bin 0 -> 212803 bytes .../docs/img/diagramas/class/unity_ulr.png | Bin 0 -> 50637 bytes .../AssetStreamer/seq_assetStreamer.pdf | Bin 0 -> 886473 bytes .../sequence/Renderers/seq_insideOut.pdf | Bin 0 -> 829482 bytes .../sequence/Renderers/seq_ulr_stream.pdf | Bin 0 -> 1394211 bytes .../Renderers/seq_ulr_v3_landscape.pdf | Bin 0 -> 807547 bytes .../Unity/seq_unity_ulr_rendering.pdf | Bin 0 -> 420391 bytes .../Unity/seq_unity_ulr_texture_upload.pdf | Bin 0 -> 616251 bytes SIBR_viewers/docs/img/ibr_common_cmake.png | Bin 0 -> 117471 bytes SIBR_viewers/docs/img/ibr_common_globale.png | Bin 0 -> 91057 bytes .../docs/img/ibr_common_principle.png | Bin 0 -> 49436 bytes .../docs/img/jesnault_git_cheat_sheet.png | Bin 0 -> 403423 bytes SIBR_viewers/docs/img/multimeshmanager.png | Bin 0 -> 569810 bytes SIBR_viewers/docs/img/multiviewmanager.png | Bin 0 -> 1008864 bytes SIBR_viewers/docs/img/sibr_dataset.png | Bin 0 -> 41954 bytes SIBR_viewers/docs/img/sibr_diagram_lvl2.svg | 2 + .../docs/img/sibr_new_architecture.png | Bin 0 -> 78000 bytes SIBR_viewers/docs/img/ulr_screenshot.png | Bin 0 -> 1442097 bytes SIBR_viewers/docs/layout.xml.in | 232 ++ SIBR_viewers/docs/pages/1_Getting_Started.dox | 186 ++ SIBR_viewers/docs/pages/2_Projects.dox | 15 + SIBR_viewers/docs/pages/2_Projects.dox.in | 77 + SIBR_viewers/docs/pages/3_Tutorials.dox | 21 + SIBR_viewers/docs/pages/4_Architecture.dox | 57 + .../How_to_create_dataset_from_colmap.dox | 36 + ..._to_create_dataset_from_realitycapture.dox | 97 + .../Configuring_your_project.dox | 204 ++ .../Creating_your_library.dox | 55 + .../Documenting_a_project.dox | 95 + .../Project_structure.dox | 53 + .../How_to_generate_your_dataset.dox | 176 ++ .../How_to_setup_your_own_project.dox | 21 + .../pages/Tutorials/Paths_and_cameras.dox | 54 + .../pages/Tutorials/Useful_sibr_elements.dox | 150 + SIBR_viewers/src/CMakeLists.txt | 176 ++ .../src/core/assets/ActiveImageFile.cpp | 62 + .../src/core/assets/ActiveImageFile.hpp | 69 + SIBR_viewers/src/core/assets/CMakeLists.txt | 45 + .../src/core/assets/CameraRecorder.cpp | 515 ++++ .../src/core/assets/CameraRecorder.hpp | 236 ++ SIBR_viewers/src/core/assets/Config.hpp | 99 + SIBR_viewers/src/core/assets/IFileLoader.hpp | 37 + .../src/core/assets/ImageListFile.cpp | 52 + .../src/core/assets/ImageListFile.hpp | 120 + SIBR_viewers/src/core/assets/InputCamera.cpp | 1577 ++++++++++ SIBR_viewers/src/core/assets/InputCamera.hpp | 333 +++ SIBR_viewers/src/core/assets/Resources.cpp | 117 + SIBR_viewers/src/core/assets/Resources.hpp | 58 + SIBR_viewers/src/core/assets/UVUnwrapper.cpp | 276 ++ SIBR_viewers/src/core/assets/UVUnwrapper.hpp | 63 + SIBR_viewers/src/core/assets/colmapheader.h | 196 ++ SIBR_viewers/src/core/assets/sibr_assets.dox | 18 + SIBR_viewers/src/core/graphics/CMakeLists.txt | 71 + SIBR_viewers/src/core/graphics/Camera.cpp | 158 + SIBR_viewers/src/core/graphics/Camera.hpp | 426 +++ SIBR_viewers/src/core/graphics/Config.hpp | 113 + SIBR_viewers/src/core/graphics/Frustum.cpp | 111 + SIBR_viewers/src/core/graphics/Frustum.hpp | 94 + SIBR_viewers/src/core/graphics/GPUQuery.cpp | 63 + SIBR_viewers/src/core/graphics/GPUQuery.hpp | 77 + SIBR_viewers/src/core/graphics/GUI.cpp | 436 +++ SIBR_viewers/src/core/graphics/GUI.hpp | 207 ++ SIBR_viewers/src/core/graphics/Image.cpp | 398 +++ SIBR_viewers/src/core/graphics/Image.hpp | 1312 +++++++++ SIBR_viewers/src/core/graphics/Input.cpp | 74 + SIBR_viewers/src/core/graphics/Input.hpp | 443 +++ .../src/core/graphics/MaterialMesh.cpp | 1746 +++++++++++ .../src/core/graphics/MaterialMesh.hpp | 690 +++++ SIBR_viewers/src/core/graphics/Mesh.cpp | 2423 ++++++++++++++++ SIBR_viewers/src/core/graphics/Mesh.hpp | 566 ++++ .../src/core/graphics/MeshBufferGL.cpp | 331 +++ .../src/core/graphics/MeshBufferGL.hpp | 164 ++ .../src/core/graphics/RenderTarget.cpp | 46 + .../src/core/graphics/RenderTarget.hpp | 664 +++++ .../src/core/graphics/RenderUtility.cpp | 329 +++ .../src/core/graphics/RenderUtility.hpp | 77 + SIBR_viewers/src/core/graphics/Shader.cpp | 305 ++ SIBR_viewers/src/core/graphics/Shader.hpp | 391 +++ SIBR_viewers/src/core/graphics/Shader.inl | 168 ++ SIBR_viewers/src/core/graphics/Texture.cpp | 124 + SIBR_viewers/src/core/graphics/Texture.hpp | 1522 ++++++++++ SIBR_viewers/src/core/graphics/Types.hpp | 556 ++++ SIBR_viewers/src/core/graphics/Utils.cpp | 105 + SIBR_viewers/src/core/graphics/Utils.hpp | 145 + SIBR_viewers/src/core/graphics/Viewport.cpp | 79 + SIBR_viewers/src/core/graphics/Viewport.hpp | 205 ++ SIBR_viewers/src/core/graphics/Window.cpp | 504 ++++ SIBR_viewers/src/core/graphics/Window.hpp | 277 ++ .../core/graphics/resources/imgui_default.ini | 4 + .../src/core/graphics/sibr_graphics.dox | 18 + SIBR_viewers/src/core/imgproc/CMakeLists.txt | 66 + SIBR_viewers/src/core/imgproc/Config.hpp | 42 + .../core/imgproc/CropScaleImageUtility.cpp | 97 + .../core/imgproc/CropScaleImageUtility.hpp | 86 + .../src/core/imgproc/DistordCropUtility.cpp | 302 ++ .../src/core/imgproc/DistordCropUtility.hpp | 176 ++ SIBR_viewers/src/core/imgproc/MRFSolver.cpp | 338 +++ SIBR_viewers/src/core/imgproc/MRFSolver.h | 127 + .../src/core/imgproc/MeshTexturing.cpp | 267 ++ .../src/core/imgproc/MeshTexturing.hpp | 158 + .../core/imgproc/PoissonReconstruction.cpp | 316 ++ .../core/imgproc/PoissonReconstruction.hpp | 99 + .../src/core/imgproc/sibr_imgproc.dox | 18 + .../src/core/raycaster/CMakeLists.txt | 51 + .../src/core/raycaster/CameraRaycaster.cpp | 265 ++ .../src/core/raycaster/CameraRaycaster.hpp | 167 ++ SIBR_viewers/src/core/raycaster/Config.hpp | 36 + .../src/core/raycaster/Intersector2D.cpp | 219 ++ .../src/core/raycaster/Intersector2D.h | 143 + SIBR_viewers/src/core/raycaster/KdTree.hpp | 147 + .../src/core/raycaster/PlaneEstimator.cpp | 362 +++ .../src/core/raycaster/PlaneEstimator.hpp | 118 + SIBR_viewers/src/core/raycaster/Ray.cpp | 47 + SIBR_viewers/src/core/raycaster/Ray.hpp | 184 ++ SIBR_viewers/src/core/raycaster/Raycaster.cpp | 404 +++ SIBR_viewers/src/core/raycaster/Raycaster.hpp | 179 ++ SIBR_viewers/src/core/raycaster/VoxelGrid.cpp | 403 +++ SIBR_viewers/src/core/raycaster/VoxelGrid.hpp | 408 +++ .../src/core/raycaster/sibr_raycaster.dox | 22 + .../src/core/renderer/AddShadowRenderer.cpp | 50 + .../src/core/renderer/AddShadowRenderer.hpp | 58 + .../src/core/renderer/BinaryMeshRenderer.cpp | 54 + .../src/core/renderer/BinaryMeshRenderer.hpp | 62 + .../src/core/renderer/BlurRenderer.cpp | 42 + .../src/core/renderer/BlurRenderer.hpp | 52 + SIBR_viewers/src/core/renderer/CMakeLists.txt | 65 + .../src/core/renderer/ColoredMeshRenderer.cpp | 38 + .../src/core/renderer/ColoredMeshRenderer.hpp | 58 + SIBR_viewers/src/core/renderer/Config.hpp | 37 + .../src/core/renderer/CopyRenderer.cpp | 58 + .../src/core/renderer/CopyRenderer.hpp | 67 + .../src/core/renderer/DepthRenderer.cpp | 53 + .../src/core/renderer/DepthRenderer.hpp | 65 + .../src/core/renderer/NormalRenderer.cpp | 111 + .../src/core/renderer/NormalRenderer.hpp | 81 + .../src/core/renderer/PointBasedRenderer.cpp | 68 + .../src/core/renderer/PointBasedRenderer.hpp | 66 + .../src/core/renderer/PoissonRenderer.cpp | 168 ++ .../src/core/renderer/PoissonRenderer.hpp | 119 + .../src/core/renderer/PositionRender.cpp | 45 + .../src/core/renderer/PositionRender.hpp | 62 + .../src/core/renderer/RenderMaskHolder.cpp | 143 + .../src/core/renderer/RenderMaskHolder.hpp | 111 + .../src/core/renderer/ShadowMapRenderer.cpp | 73 + .../src/core/renderer/ShadowMapRenderer.hpp | 77 + .../core/renderer/TexturedMeshRenderer.cpp | 54 + .../core/renderer/TexturedMeshRenderer.hpp | 64 + .../src/core/renderer/shaders/addshadow.frag | 240 ++ .../src/core/renderer/shaders/blur.frag | 73 + .../core/renderer/shaders/colored_mesh.frag | 21 + .../core/renderer/shaders/colored_mesh.vert | 26 + .../src/core/renderer/shaders/copy.frag | 27 + .../src/core/renderer/shaders/copy_depth.frag | 27 + .../core/renderer/shaders/depthRenderer.fp | 22 + .../core/renderer/shaders/depthRenderer.vp | 24 + .../renderer/shaders/emotive_relight.frag | 86 + .../renderer/shaders/emotive_relight.vert | 34 + .../src/core/renderer/shaders/hdrEnvMap.frag | 40 + .../src/core/renderer/shaders/hdrEnvMap.vert | 26 + .../src/core/renderer/shaders/longlat.gp | 114 + .../src/core/renderer/shaders/longlat.tcs | 58 + .../src/core/renderer/shaders/longlat.tes | 20 + .../src/core/renderer/shaders/longlat.vp | 29 + .../src/core/renderer/shaders/longlatColor.fp | 27 + .../src/core/renderer/shaders/longlatDepth.fp | 27 + .../src/core/renderer/shaders/noproj.vert | 31 + .../core/renderer/shaders/normalRenderer.fp | 24 + .../core/renderer/shaders/normalRenderer.vp | 32 + .../renderer/shaders/normalRendererGen.gp | 44 + .../renderer/shaders/normalRendererGen.vp | 22 + .../core/renderer/shaders/poisson_diverg.frag | 26 + .../core/renderer/shaders/poisson_interp.frag | 37 + .../core/renderer/shaders/poisson_jacobi.frag | 44 + .../renderer/shaders/poisson_restrict.frag | 40 + .../shaders/positionReflectedDirRenderer.frag | 27 + .../shaders/positionReflectedDirRenderer.vert | 27 + .../renderer/shaders/positionRenderer.frag | 22 + .../renderer/shaders/positionRenderer.vert | 24 + .../renderer/shaders/shadowMapRenderer.fp | 190 ++ .../renderer/shaders/shadowMapRenderer.vp | 33 + .../core/renderer/shaders/texture-invert.frag | 23 + .../src/core/renderer/shaders/texture.frag | 23 + .../src/core/renderer/shaders/texture.vert | 32 + .../core/renderer/shaders/textured_mesh.frag | 30 + .../core/renderer/shaders/textured_mesh.vert | 26 + .../renderer/shaders/textured_mesh_flipY.vert | 27 + .../src/core/renderer/sibr_renderer.dox | 18 + SIBR_viewers/src/core/scene/BasicIBRScene.cpp | 173 ++ SIBR_viewers/src/core/scene/BasicIBRScene.hpp | 193 ++ SIBR_viewers/src/core/scene/CMakeLists.txt | 41 + .../src/core/scene/CalibratedCameras.cpp | 49 + .../src/core/scene/CalibratedCameras.hpp | 126 + SIBR_viewers/src/core/scene/Config.hpp | 41 + .../src/core/scene/ICalibratedCameras.hpp | 92 + SIBR_viewers/src/core/scene/IIBRScene.hpp | 130 + SIBR_viewers/src/core/scene/IInputImages.hpp | 46 + SIBR_viewers/src/core/scene/IParseData.hpp | 169 ++ SIBR_viewers/src/core/scene/IProxyMesh.hpp | 40 + SIBR_viewers/src/core/scene/InputImages.cpp | 105 + SIBR_viewers/src/core/scene/InputImages.hpp | 59 + SIBR_viewers/src/core/scene/ParseData.cpp | 637 ++++ SIBR_viewers/src/core/scene/ParseData.hpp | 309 ++ SIBR_viewers/src/core/scene/ProxyMesh.cpp | 61 + SIBR_viewers/src/core/scene/ProxyMesh.hpp | 56 + .../src/core/scene/RenderTargetTextures.cpp | 261 ++ .../src/core/scene/RenderTargetTextures.hpp | 121 + SIBR_viewers/src/core/scene/sibr_scene.dox | 18 + SIBR_viewers/src/core/system/Array2d.hpp | 256 ++ SIBR_viewers/src/core/system/ByteStream.cpp | 236 ++ SIBR_viewers/src/core/system/ByteStream.hpp | 457 +++ SIBR_viewers/src/core/system/CMakeLists.txt | 48 + .../src/core/system/CommandLineArgs.cpp | 150 + .../src/core/system/CommandLineArgs.hpp | 540 ++++ SIBR_viewers/src/core/system/Config.cpp | 50 + SIBR_viewers/src/core/system/Config.hpp | 304 ++ .../src/core/system/LoadingProgress.cpp | 55 + .../src/core/system/LoadingProgress.hpp | 97 + SIBR_viewers/src/core/system/MD5.h | 353 +++ SIBR_viewers/src/core/system/Matrix.cpp | 136 + SIBR_viewers/src/core/system/Matrix.hpp | 164 ++ .../src/core/system/MatrixBasePlugin.hpp | 91 + SIBR_viewers/src/core/system/MatrixPlugin.hpp | 31 + SIBR_viewers/src/core/system/Quaternion.cpp | 19 + SIBR_viewers/src/core/system/Quaternion.hpp | 229 ++ SIBR_viewers/src/core/system/Rect.hpp | 142 + SIBR_viewers/src/core/system/SimpleTimer.hpp | 142 + SIBR_viewers/src/core/system/String.cpp | 168 ++ SIBR_viewers/src/core/system/String.hpp | 116 + .../src/core/system/ThreadIdWorker.cpp | 20 + .../src/core/system/ThreadIdWorker.hpp | 125 + SIBR_viewers/src/core/system/Transform3.hpp | 404 +++ SIBR_viewers/src/core/system/Utils.cpp | 498 ++++ SIBR_viewers/src/core/system/Utils.hpp | 159 + SIBR_viewers/src/core/system/Vector.cpp | 39 + SIBR_viewers/src/core/system/Vector.hpp | 221 ++ SIBR_viewers/src/core/system/VectorUtils.cpp | 13 + SIBR_viewers/src/core/system/VectorUtils.hpp | 350 +++ SIBR_viewers/src/core/system/XMLTree.cpp | 56 + SIBR_viewers/src/core/system/XMLTree.h | 45 + SIBR_viewers/src/core/system/sibr_system.dox | 18 + SIBR_viewers/src/core/video/CMakeLists.txt | 38 + SIBR_viewers/src/core/video/Config.hpp | 38 + .../src/core/video/FFmpegVideoEncoder.cpp | 249 ++ .../src/core/video/FFmpegVideoEncoder.hpp | 118 + .../src/core/video/MultipleVideoDecoder.hpp | 243 ++ SIBR_viewers/src/core/video/Video.cpp | 267 ++ SIBR_viewers/src/core/video/Video.hpp | 207 ++ SIBR_viewers/src/core/video/VideoUtils.cpp | 1863 ++++++++++++ SIBR_viewers/src/core/video/VideoUtils.hpp | 1138 ++++++++ SIBR_viewers/src/core/video/sibr_video.dox | 18 + SIBR_viewers/src/core/view/CMakeLists.txt | 58 + SIBR_viewers/src/core/view/Config.hpp | 40 + SIBR_viewers/src/core/view/DatasetView.cpp | 165 ++ SIBR_viewers/src/core/view/DatasetView.hpp | 106 + SIBR_viewers/src/core/view/FPSCamera.cpp | 204 ++ SIBR_viewers/src/core/view/FPSCamera.hpp | 108 + SIBR_viewers/src/core/view/FPSCounter.cpp | 92 + SIBR_viewers/src/core/view/FPSCounter.hpp | 77 + SIBR_viewers/src/core/view/IBRBasicUtils.cpp | 99 + SIBR_viewers/src/core/view/IBRBasicUtils.hpp | 63 + SIBR_viewers/src/core/view/ICameraHandler.cpp | 13 + SIBR_viewers/src/core/view/ICameraHandler.hpp | 60 + SIBR_viewers/src/core/view/ImageView.cpp | 174 ++ SIBR_viewers/src/core/view/ImageView.hpp | 116 + SIBR_viewers/src/core/view/ImagesGrid.cpp | 638 ++++ SIBR_viewers/src/core/view/ImagesGrid.hpp | 282 ++ .../core/view/InteractiveCameraHandler.cpp | 762 +++++ .../core/view/InteractiveCameraHandler.hpp | 254 ++ .../src/core/view/MultiMeshManager.cpp | 758 +++++ .../src/core/view/MultiMeshManager.hpp | 439 +++ .../src/core/view/MultiViewManager.cpp | 654 +++++ .../src/core/view/MultiViewManager.hpp | 439 +++ SIBR_viewers/src/core/view/Orbit.cpp | 327 +++ SIBR_viewers/src/core/view/Orbit.hpp | 158 + SIBR_viewers/src/core/view/RenderingMode.cpp | 195 ++ SIBR_viewers/src/core/view/RenderingMode.hpp | 164 ++ SIBR_viewers/src/core/view/SceneDebugView.cpp | 668 +++++ SIBR_viewers/src/core/view/SceneDebugView.hpp | 278 ++ SIBR_viewers/src/core/view/Skybox.cpp | 82 + SIBR_viewers/src/core/view/Skybox.hpp | 54 + SIBR_viewers/src/core/view/TrackBall.cpp | 642 ++++ SIBR_viewers/src/core/view/TrackBall.h | 253 ++ SIBR_viewers/src/core/view/UIShortcuts.cpp | 62 + SIBR_viewers/src/core/view/UIShortcuts.hpp | 47 + SIBR_viewers/src/core/view/ViewBase.cpp | 57 + SIBR_viewers/src/core/view/ViewBase.hpp | 132 + .../src/core/view/interface/Interface.cpp | 643 +++++ .../src/core/view/interface/Interface.h | 337 +++ .../core/view/interface/InterfaceUtils.cpp | 300 ++ .../src/core/view/interface/InterfaceUtils.h | 289 ++ .../src/core/view/interface/MeshViewer.cpp | 479 +++ .../src/core/view/interface/MeshViewer.h | 168 ++ .../core/view/shaders/alpha_colored_mesh.frag | 49 + .../core/view/shaders/alpha_colored_mesh.vert | 30 + .../alpha_colored_per_triangle_normals.geom | 44 + .../alpha_colored_per_triangle_normals.vert | 19 + .../alpha_colored_per_vertex_normals.geom | 40 + .../alpha_colored_per_vertex_normals.vert | 23 + .../src/core/view/shaders/alpha_points.frag | 24 + .../src/core/view/shaders/alpha_points.vert | 26 + .../src/core/view/shaders/alpha_uv_tex.frag | 24 + .../core/view/shaders/alpha_uv_tex_array.frag | 26 + .../src/core/view/shaders/alphaimgview.fp | 24 + .../src/core/view/shaders/alphaimgview.vp | 31 + .../src/core/view/shaders/anaglyph.fp | 26 + .../src/core/view/shaders/anaglyph.vp | 22 + .../src/core/view/shaders/axisgizmo.fp | 20 + .../src/core/view/shaders/axisgizmo.vp | 25 + SIBR_viewers/src/core/view/shaders/camstub.fp | 21 + SIBR_viewers/src/core/view/shaders/camstub.vp | 21 + SIBR_viewers/src/core/view/shaders/depth.fp | 28 + SIBR_viewers/src/core/view/shaders/depth.vp | 24 + .../src/core/view/shaders/depthonly.fp | 19 + .../src/core/view/shaders/depthonly.vp | 21 + .../src/core/view/shaders/image_viewer.frag | 46 + .../src/core/view/shaders/image_viewer.vert | 28 + .../src/core/view/shaders/mesh_color.fp | 30 + .../src/core/view/shaders/mesh_color.vp | 32 + .../src/core/view/shaders/mesh_debugview.fp | 41 + .../src/core/view/shaders/mesh_debugview.vp | 34 + .../src/core/view/shaders/mesh_normal.fp | 27 + .../src/core/view/shaders/mesh_normal.vp | 28 + SIBR_viewers/src/core/view/shaders/number.fp | 59 + SIBR_viewers/src/core/view/shaders/number.vp | 25 + SIBR_viewers/src/core/view/shaders/skybox.fp | 27 + SIBR_viewers/src/core/view/shaders/skybox.vp | 60 + .../src/core/view/shaders/text-imgui.fp | 26 + .../src/core/view/shaders/text-imgui.vp | 38 + SIBR_viewers/src/core/view/shaders/texture.fp | 23 + SIBR_viewers/src/core/view/shaders/texture.vp | 23 + SIBR_viewers/src/core/view/shaders/topview.fp | 31 + SIBR_viewers/src/core/view/shaders/topview.vp | 30 + .../src/core/view/shaders/uv_mesh.vert | 25 + SIBR_viewers/src/core/view/sibr_view.dox | 18 + .../src/projects/dataset_tools/CMakeLists.txt | 17 + .../documentation/dataset_tools.dox | 113 + .../documentation/dataset_tools_doc.cmake | 13 + .../documentation/fullColmapProcess.dox | 219 ++ .../documentation/img/colmapfullpipeline.png | Bin 0 -> 24920 bytes .../dataset_tools/preprocess/CMakeLists.txt | 28 + .../preprocess/alignMeshes/CMakeLists.txt | 34 + .../preprocess/alignMeshes/main.cpp | 883 ++++++ .../preprocess/cameraConverter/CMakeLists.txt | 31 + .../preprocess/cameraConverter/main.cpp | 247 ++ .../preprocess/clippingPlanes/CMakeLists.txt | 38 + .../preprocess/clippingPlanes/main.cpp | 83 + .../preprocess/converters/CMakeLists.txt | 19 + .../preprocess/converters/bundle.py | 301 ++ .../preprocess/converters/colmap2sibr.py | 99 + .../converters/generate_list_images.py | 72 + .../preprocess/converters/get_image_size.py | 399 +++ .../converters/ibr_convert_old_to_new.py | 212 ++ .../converters/ibr_preprocess_rc_to_sibr.py | 487 ++++ .../converters/meshlab/simplify.mlx | 20 + .../converters/meshlab/simplify200.mlx | 20 + .../converters/meshlab/simplify250.mlx | 20 + .../converters/meshlab/simplify300.mlx | 20 + .../converters/meshlab/simplify350.mlx | 20 + .../meshlab/wedge_to_vertex_uvs.mlx | 4 + .../preprocess/converters/simplify_mesh.py | 72 + .../converters/wedge_to_vertex_uvs.py | 60 + .../preprocess/cropFromCenter/CMakeLists.txt | 38 + .../preprocess/cropFromCenter/main.cpp | 193 ++ .../preprocess/distordCrop/CMakeLists.txt | 39 + .../preprocess/distordCrop/main.cpp | 192 ++ .../fullColmapProcess/CMakeLists.txt | 19 + .../fullColmapProcess/ColmapProcessSteps.json | 182 ++ .../ColmapQualityParameters.json | 162 ++ .../SelectiveColmapProcessSteps.json | 234 ++ .../fullColmapProcess/colmap2nerf.py | 359 +++ .../fullColmapProcess/fullColmapProcess.py | 126 + .../fullColmapProcess/read_write_model.py | 502 ++++ .../selectiveColmapProcess.py | 194 ++ .../selective_colmap_process.py | 390 +++ .../fullColmapProcess/textureOnly.py | 89 + .../meshroomPythonScripts/CMakeLists.txt | 19 + .../preprocess/meshroomPythonScripts/ULR.py | 50 + .../preprocess/nvmToSIBR/CMakeLists.txt | 33 + .../preprocess/nvmToSIBR/main.cpp | 106 + .../prepareColmap4Sibr/CMakeLists.txt | 33 + .../preprocess/prepareColmap4Sibr/main.cpp | 185 ++ .../realityCaptureTools/CMakeLists.txt | 19 + .../realityCaptureTools/SetVariables.bat | 9 + .../realityCaptureTools/exportModel.xml | 40 + .../preprocess/realityCaptureTools/fixup.bat | 27 + .../realityCaptureTools/processRCSteps.json | 228 ++ .../realityCaptureTools/rc_tools.py | 526 ++++ .../registrationConfig.xml | 42 + .../preprocess/realityCaptureTools/runRC.bat | 71 + .../preprocess/textureMesh/CMakeLists.txt | 34 + .../preprocess/textureMesh/main.cpp | 84 + .../preprocess/tonemapper/CMakeLists.txt | 32 + .../preprocess/tonemapper/main.cpp | 84 + .../preprocess/unwrapMesh/CMakeLists.txt | 31 + .../preprocess/unwrapMesh/main.cpp | 64 + .../preprocess/utils/CMakeLists.txt | 19 + .../preprocess/utils/TaskPipeline.py | 101 + .../dataset_tools/preprocess/utils/color.py | 22 + .../preprocess/utils/commands.py | 71 + .../dataset_tools/preprocess/utils/convert.py | 40 + .../preprocess/utils/datasets.py | 33 + .../dataset_tools/preprocess/utils/paths.py | 29 + .../dataset_tools/scripts/processRC.py | 244 ++ SIBR_viewers/src/projects/ulr/CMakeLists.txt | 18 + .../src/projects/ulr/apps/CMakeLists.txt | 15 + .../src/projects/ulr/apps/ulr/CMakeLists.txt | 43 + .../src/projects/ulr/apps/ulr/main.cpp | 105 + .../ulr/apps/ulr/resources/sibr_ulr_app.ini | 26 + .../projects/ulr/apps/ulrv2/CMakeLists.txt | 45 + .../src/projects/ulr/apps/ulrv2/main.cpp | 411 +++ .../apps/ulrv2/resources/sibr_ulrv2_app.ini | 36 + .../projects/ulr/documentation/IBR_ULR.dox | 146 + .../projects/ulr/documentation/ulr_doc.cmake | 13 + .../src/projects/ulr/renderer/CMakeLists.txt | 68 + .../src/projects/ulr/renderer/Config.hpp | 56 + .../src/projects/ulr/renderer/ULRRenderer.cpp | 145 + .../src/projects/ulr/renderer/ULRRenderer.hpp | 77 + .../projects/ulr/renderer/ULRV2Renderer.cpp | 206 ++ .../projects/ulr/renderer/ULRV2Renderer.hpp | 140 + .../src/projects/ulr/renderer/ULRV2View.cpp | 317 ++ .../src/projects/ulr/renderer/ULRV2View.hpp | 175 ++ .../projects/ulr/renderer/ULRV3Renderer.cpp | 274 ++ .../projects/ulr/renderer/ULRV3Renderer.hpp | 226 ++ .../src/projects/ulr/renderer/ULRV3View.cpp | 199 ++ .../src/projects/ulr/renderer/ULRV3View.hpp | 106 + .../src/projects/ulr/renderer/ULRView.cpp | 111 + .../src/projects/ulr/renderer/ULRView.hpp | 93 + .../projects/ulr/renderer/shaders/ulr.vert | 23 + .../projects/ulr/renderer/shaders/ulr1.frag | 140 + .../projects/ulr/renderer/shaders/ulr2.frag | 65 + .../ulr/renderer/shaders/ulr_intersect.frag | 21 + .../ulr/renderer/shaders/ulr_intersect.vert | 24 + .../projects/ulr/renderer/shaders/ulr_v2.frag | 274 ++ .../projects/ulr/renderer/shaders/ulr_v2.vert | 23 + .../ulr/renderer/shaders/ulr_v2_alt.frag | 160 + .../projects/ulr/renderer/shaders/ulr_v3.frag | 345 +++ .../projects/ulr/renderer/shaders/ulr_v3.vert | 23 + .../ulr/renderer/shaders/ulr_v3_alt.frag | 247 ++ .../ulr/renderer/shaders/ulr_v3_fast.frag | 267 ++ 487 files changed, 77229 insertions(+), 1 deletion(-) create mode 100644 .gitmodules delete mode 160000 SIBR_viewers create mode 100644 SIBR_viewers/.gitignore create mode 100644 SIBR_viewers/CMakeLists.txt create mode 100644 SIBR_viewers/LICENSE.md create mode 100644 SIBR_viewers/README.md create mode 100644 SIBR_viewers/cmake/linux/MSVCsetUserCommand.cmake create mode 100644 SIBR_viewers/cmake/linux/Modules/FindASSIMP.cmake create mode 100644 SIBR_viewers/cmake/linux/Modules/FindEGL.cmake create mode 100644 SIBR_viewers/cmake/linux/Modules/FindEmbree.cmake create mode 100644 SIBR_viewers/cmake/linux/Modules/FindFFMPEG.cmake create mode 100644 SIBR_viewers/cmake/linux/Modules/FindGLFW.cmake create mode 100644 SIBR_viewers/cmake/linux/Win3rdParty.cmake create mode 100644 SIBR_viewers/cmake/linux/cmake_policies.cmake create mode 100644 SIBR_viewers/cmake/linux/dependencies.cmake create mode 100644 SIBR_viewers/cmake/linux/downloadAndExtractZipFile.cmake create mode 100644 SIBR_viewers/cmake/linux/git_describe.cmake create mode 100644 SIBR_viewers/cmake/linux/include_once.cmake create mode 100644 SIBR_viewers/cmake/linux/install_runtime.cmake create mode 100644 SIBR_viewers/cmake/linux/parse_arguments_multi.cmake create mode 100644 SIBR_viewers/cmake/linux/sibr_library.cmake create mode 100644 SIBR_viewers/cmake/windows/MSVCsetUserCommand.cmake create mode 100644 SIBR_viewers/cmake/windows/Modules/FindASSIMP.cmake create mode 100644 SIBR_viewers/cmake/windows/Modules/FindEmbree.cmake create mode 100644 SIBR_viewers/cmake/windows/Modules/FindFFmpeg.cmake create mode 100644 SIBR_viewers/cmake/windows/Win3rdParty.cmake create mode 100644 SIBR_viewers/cmake/windows/cmake_policies.cmake create mode 100644 SIBR_viewers/cmake/windows/dependencies.cmake create mode 100644 SIBR_viewers/cmake/windows/downloadAndExtractZipFile.cmake create mode 100644 SIBR_viewers/cmake/windows/git_describe.cmake create mode 100644 SIBR_viewers/cmake/windows/include_once.cmake create mode 100644 SIBR_viewers/cmake/windows/install_runtime.cmake create mode 100644 SIBR_viewers/cmake/windows/parse_arguments_multi.cmake create mode 100644 SIBR_viewers/cmake/windows/sibr_library.cmake create mode 100644 SIBR_viewers/docs/CMakeLists.txt create mode 100644 SIBR_viewers/docs/doxyfile.in create mode 100644 SIBR_viewers/docs/doxygen_prebuild.cmake.in create mode 100644 SIBR_viewers/docs/img/capreal/caprealaddinputs.png create mode 100644 SIBR_viewers/docs/img/capreal/caprealalignimages.png create mode 100644 SIBR_viewers/docs/img/capreal/caprealcolorizesimplify.png create mode 100644 SIBR_viewers/docs/img/capreal/caprealexportmodel.png create mode 100644 SIBR_viewers/docs/img/capreal/caprealinputsonly.png create mode 100644 SIBR_viewers/docs/img/capreal/caprealmesh.png create mode 100644 SIBR_viewers/docs/img/capreal/caprealmeshreconstruction.png create mode 100644 SIBR_viewers/docs/img/capreal/caprealnew.png create mode 100644 SIBR_viewers/docs/img/capreal/caprealpointcloud.png create mode 100644 SIBR_viewers/docs/img/capreal/meshlab.png create mode 100644 SIBR_viewers/docs/img/cmake.gif create mode 100644 SIBR_viewers/docs/img/diagramas/class/sibr_classes_v2.png create mode 100644 SIBR_viewers/docs/img/diagramas/class/unity_ulr.png create mode 100644 SIBR_viewers/docs/img/diagramas/sequence/AssetStreamer/seq_assetStreamer.pdf create mode 100644 SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_insideOut.pdf create mode 100644 SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_ulr_stream.pdf create mode 100644 SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_ulr_v3_landscape.pdf create mode 100644 SIBR_viewers/docs/img/diagramas/sequence/Unity/seq_unity_ulr_rendering.pdf create mode 100644 SIBR_viewers/docs/img/diagramas/sequence/Unity/seq_unity_ulr_texture_upload.pdf create mode 100644 SIBR_viewers/docs/img/ibr_common_cmake.png create mode 100644 SIBR_viewers/docs/img/ibr_common_globale.png create mode 100644 SIBR_viewers/docs/img/ibr_common_principle.png create mode 100644 SIBR_viewers/docs/img/jesnault_git_cheat_sheet.png create mode 100644 SIBR_viewers/docs/img/multimeshmanager.png create mode 100644 SIBR_viewers/docs/img/multiviewmanager.png create mode 100644 SIBR_viewers/docs/img/sibr_dataset.png create mode 100644 SIBR_viewers/docs/img/sibr_diagram_lvl2.svg create mode 100644 SIBR_viewers/docs/img/sibr_new_architecture.png create mode 100644 SIBR_viewers/docs/img/ulr_screenshot.png create mode 100644 SIBR_viewers/docs/layout.xml.in create mode 100644 SIBR_viewers/docs/pages/1_Getting_Started.dox create mode 100644 SIBR_viewers/docs/pages/2_Projects.dox create mode 100644 SIBR_viewers/docs/pages/2_Projects.dox.in create mode 100644 SIBR_viewers/docs/pages/3_Tutorials.dox create mode 100644 SIBR_viewers/docs/pages/4_Architecture.dox create mode 100644 SIBR_viewers/docs/pages/Tutorials/How to generate your dataset/How_to_create_dataset_from_colmap.dox create mode 100644 SIBR_viewers/docs/pages/Tutorials/How to generate your dataset/How_to_create_dataset_from_realitycapture.dox create mode 100644 SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Configuring_your_project.dox create mode 100644 SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Creating_your_library.dox create mode 100644 SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Documenting_a_project.dox create mode 100644 SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Project_structure.dox create mode 100644 SIBR_viewers/docs/pages/Tutorials/How_to_generate_your_dataset.dox create mode 100644 SIBR_viewers/docs/pages/Tutorials/How_to_setup_your_own_project.dox create mode 100644 SIBR_viewers/docs/pages/Tutorials/Paths_and_cameras.dox create mode 100644 SIBR_viewers/docs/pages/Tutorials/Useful_sibr_elements.dox create mode 100644 SIBR_viewers/src/CMakeLists.txt create mode 100644 SIBR_viewers/src/core/assets/ActiveImageFile.cpp create mode 100644 SIBR_viewers/src/core/assets/ActiveImageFile.hpp create mode 100644 SIBR_viewers/src/core/assets/CMakeLists.txt create mode 100755 SIBR_viewers/src/core/assets/CameraRecorder.cpp create mode 100755 SIBR_viewers/src/core/assets/CameraRecorder.hpp create mode 100644 SIBR_viewers/src/core/assets/Config.hpp create mode 100644 SIBR_viewers/src/core/assets/IFileLoader.hpp create mode 100644 SIBR_viewers/src/core/assets/ImageListFile.cpp create mode 100644 SIBR_viewers/src/core/assets/ImageListFile.hpp create mode 100755 SIBR_viewers/src/core/assets/InputCamera.cpp create mode 100644 SIBR_viewers/src/core/assets/InputCamera.hpp create mode 100644 SIBR_viewers/src/core/assets/Resources.cpp create mode 100644 SIBR_viewers/src/core/assets/Resources.hpp create mode 100644 SIBR_viewers/src/core/assets/UVUnwrapper.cpp create mode 100644 SIBR_viewers/src/core/assets/UVUnwrapper.hpp create mode 100644 SIBR_viewers/src/core/assets/colmapheader.h create mode 100644 SIBR_viewers/src/core/assets/sibr_assets.dox create mode 100644 SIBR_viewers/src/core/graphics/CMakeLists.txt create mode 100644 SIBR_viewers/src/core/graphics/Camera.cpp create mode 100644 SIBR_viewers/src/core/graphics/Camera.hpp create mode 100644 SIBR_viewers/src/core/graphics/Config.hpp create mode 100644 SIBR_viewers/src/core/graphics/Frustum.cpp create mode 100644 SIBR_viewers/src/core/graphics/Frustum.hpp create mode 100644 SIBR_viewers/src/core/graphics/GPUQuery.cpp create mode 100644 SIBR_viewers/src/core/graphics/GPUQuery.hpp create mode 100644 SIBR_viewers/src/core/graphics/GUI.cpp create mode 100644 SIBR_viewers/src/core/graphics/GUI.hpp create mode 100644 SIBR_viewers/src/core/graphics/Image.cpp create mode 100644 SIBR_viewers/src/core/graphics/Image.hpp create mode 100644 SIBR_viewers/src/core/graphics/Input.cpp create mode 100644 SIBR_viewers/src/core/graphics/Input.hpp create mode 100755 SIBR_viewers/src/core/graphics/MaterialMesh.cpp create mode 100755 SIBR_viewers/src/core/graphics/MaterialMesh.hpp create mode 100644 SIBR_viewers/src/core/graphics/Mesh.cpp create mode 100644 SIBR_viewers/src/core/graphics/Mesh.hpp create mode 100644 SIBR_viewers/src/core/graphics/MeshBufferGL.cpp create mode 100644 SIBR_viewers/src/core/graphics/MeshBufferGL.hpp create mode 100644 SIBR_viewers/src/core/graphics/RenderTarget.cpp create mode 100644 SIBR_viewers/src/core/graphics/RenderTarget.hpp create mode 100644 SIBR_viewers/src/core/graphics/RenderUtility.cpp create mode 100644 SIBR_viewers/src/core/graphics/RenderUtility.hpp create mode 100755 SIBR_viewers/src/core/graphics/Shader.cpp create mode 100644 SIBR_viewers/src/core/graphics/Shader.hpp create mode 100644 SIBR_viewers/src/core/graphics/Shader.inl create mode 100644 SIBR_viewers/src/core/graphics/Texture.cpp create mode 100644 SIBR_viewers/src/core/graphics/Texture.hpp create mode 100644 SIBR_viewers/src/core/graphics/Types.hpp create mode 100644 SIBR_viewers/src/core/graphics/Utils.cpp create mode 100644 SIBR_viewers/src/core/graphics/Utils.hpp create mode 100644 SIBR_viewers/src/core/graphics/Viewport.cpp create mode 100644 SIBR_viewers/src/core/graphics/Viewport.hpp create mode 100755 SIBR_viewers/src/core/graphics/Window.cpp create mode 100644 SIBR_viewers/src/core/graphics/Window.hpp create mode 100644 SIBR_viewers/src/core/graphics/resources/imgui_default.ini create mode 100644 SIBR_viewers/src/core/graphics/sibr_graphics.dox create mode 100644 SIBR_viewers/src/core/imgproc/CMakeLists.txt create mode 100644 SIBR_viewers/src/core/imgproc/Config.hpp create mode 100644 SIBR_viewers/src/core/imgproc/CropScaleImageUtility.cpp create mode 100644 SIBR_viewers/src/core/imgproc/CropScaleImageUtility.hpp create mode 100644 SIBR_viewers/src/core/imgproc/DistordCropUtility.cpp create mode 100644 SIBR_viewers/src/core/imgproc/DistordCropUtility.hpp create mode 100644 SIBR_viewers/src/core/imgproc/MRFSolver.cpp create mode 100644 SIBR_viewers/src/core/imgproc/MRFSolver.h create mode 100644 SIBR_viewers/src/core/imgproc/MeshTexturing.cpp create mode 100644 SIBR_viewers/src/core/imgproc/MeshTexturing.hpp create mode 100644 SIBR_viewers/src/core/imgproc/PoissonReconstruction.cpp create mode 100644 SIBR_viewers/src/core/imgproc/PoissonReconstruction.hpp create mode 100644 SIBR_viewers/src/core/imgproc/sibr_imgproc.dox create mode 100644 SIBR_viewers/src/core/raycaster/CMakeLists.txt create mode 100644 SIBR_viewers/src/core/raycaster/CameraRaycaster.cpp create mode 100644 SIBR_viewers/src/core/raycaster/CameraRaycaster.hpp create mode 100644 SIBR_viewers/src/core/raycaster/Config.hpp create mode 100644 SIBR_viewers/src/core/raycaster/Intersector2D.cpp create mode 100644 SIBR_viewers/src/core/raycaster/Intersector2D.h create mode 100644 SIBR_viewers/src/core/raycaster/KdTree.hpp create mode 100644 SIBR_viewers/src/core/raycaster/PlaneEstimator.cpp create mode 100644 SIBR_viewers/src/core/raycaster/PlaneEstimator.hpp create mode 100644 SIBR_viewers/src/core/raycaster/Ray.cpp create mode 100644 SIBR_viewers/src/core/raycaster/Ray.hpp create mode 100644 SIBR_viewers/src/core/raycaster/Raycaster.cpp create mode 100644 SIBR_viewers/src/core/raycaster/Raycaster.hpp create mode 100644 SIBR_viewers/src/core/raycaster/VoxelGrid.cpp create mode 100644 SIBR_viewers/src/core/raycaster/VoxelGrid.hpp create mode 100644 SIBR_viewers/src/core/raycaster/sibr_raycaster.dox create mode 100644 SIBR_viewers/src/core/renderer/AddShadowRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/AddShadowRenderer.hpp create mode 100644 SIBR_viewers/src/core/renderer/BinaryMeshRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/BinaryMeshRenderer.hpp create mode 100644 SIBR_viewers/src/core/renderer/BlurRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/BlurRenderer.hpp create mode 100644 SIBR_viewers/src/core/renderer/CMakeLists.txt create mode 100644 SIBR_viewers/src/core/renderer/ColoredMeshRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/ColoredMeshRenderer.hpp create mode 100644 SIBR_viewers/src/core/renderer/Config.hpp create mode 100644 SIBR_viewers/src/core/renderer/CopyRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/CopyRenderer.hpp create mode 100644 SIBR_viewers/src/core/renderer/DepthRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/DepthRenderer.hpp create mode 100755 SIBR_viewers/src/core/renderer/NormalRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/NormalRenderer.hpp create mode 100644 SIBR_viewers/src/core/renderer/PointBasedRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/PointBasedRenderer.hpp create mode 100644 SIBR_viewers/src/core/renderer/PoissonRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/PoissonRenderer.hpp create mode 100644 SIBR_viewers/src/core/renderer/PositionRender.cpp create mode 100644 SIBR_viewers/src/core/renderer/PositionRender.hpp create mode 100644 SIBR_viewers/src/core/renderer/RenderMaskHolder.cpp create mode 100644 SIBR_viewers/src/core/renderer/RenderMaskHolder.hpp create mode 100644 SIBR_viewers/src/core/renderer/ShadowMapRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/ShadowMapRenderer.hpp create mode 100644 SIBR_viewers/src/core/renderer/TexturedMeshRenderer.cpp create mode 100644 SIBR_viewers/src/core/renderer/TexturedMeshRenderer.hpp create mode 100644 SIBR_viewers/src/core/renderer/shaders/addshadow.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/blur.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/colored_mesh.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/colored_mesh.vert create mode 100644 SIBR_viewers/src/core/renderer/shaders/copy.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/copy_depth.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/depthRenderer.fp create mode 100644 SIBR_viewers/src/core/renderer/shaders/depthRenderer.vp create mode 100644 SIBR_viewers/src/core/renderer/shaders/emotive_relight.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/emotive_relight.vert create mode 100644 SIBR_viewers/src/core/renderer/shaders/hdrEnvMap.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/hdrEnvMap.vert create mode 100755 SIBR_viewers/src/core/renderer/shaders/longlat.gp create mode 100755 SIBR_viewers/src/core/renderer/shaders/longlat.tcs create mode 100755 SIBR_viewers/src/core/renderer/shaders/longlat.tes create mode 100755 SIBR_viewers/src/core/renderer/shaders/longlat.vp create mode 100755 SIBR_viewers/src/core/renderer/shaders/longlatColor.fp create mode 100755 SIBR_viewers/src/core/renderer/shaders/longlatDepth.fp create mode 100644 SIBR_viewers/src/core/renderer/shaders/noproj.vert create mode 100644 SIBR_viewers/src/core/renderer/shaders/normalRenderer.fp create mode 100644 SIBR_viewers/src/core/renderer/shaders/normalRenderer.vp create mode 100644 SIBR_viewers/src/core/renderer/shaders/normalRendererGen.gp create mode 100644 SIBR_viewers/src/core/renderer/shaders/normalRendererGen.vp create mode 100644 SIBR_viewers/src/core/renderer/shaders/poisson_diverg.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/poisson_interp.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/poisson_jacobi.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/poisson_restrict.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/positionReflectedDirRenderer.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/positionReflectedDirRenderer.vert create mode 100644 SIBR_viewers/src/core/renderer/shaders/positionRenderer.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/positionRenderer.vert create mode 100644 SIBR_viewers/src/core/renderer/shaders/shadowMapRenderer.fp create mode 100644 SIBR_viewers/src/core/renderer/shaders/shadowMapRenderer.vp create mode 100644 SIBR_viewers/src/core/renderer/shaders/texture-invert.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/texture.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/texture.vert create mode 100644 SIBR_viewers/src/core/renderer/shaders/textured_mesh.frag create mode 100644 SIBR_viewers/src/core/renderer/shaders/textured_mesh.vert create mode 100755 SIBR_viewers/src/core/renderer/shaders/textured_mesh_flipY.vert create mode 100644 SIBR_viewers/src/core/renderer/sibr_renderer.dox create mode 100644 SIBR_viewers/src/core/scene/BasicIBRScene.cpp create mode 100644 SIBR_viewers/src/core/scene/BasicIBRScene.hpp create mode 100644 SIBR_viewers/src/core/scene/CMakeLists.txt create mode 100644 SIBR_viewers/src/core/scene/CalibratedCameras.cpp create mode 100644 SIBR_viewers/src/core/scene/CalibratedCameras.hpp create mode 100644 SIBR_viewers/src/core/scene/Config.hpp create mode 100644 SIBR_viewers/src/core/scene/ICalibratedCameras.hpp create mode 100644 SIBR_viewers/src/core/scene/IIBRScene.hpp create mode 100644 SIBR_viewers/src/core/scene/IInputImages.hpp create mode 100644 SIBR_viewers/src/core/scene/IParseData.hpp create mode 100644 SIBR_viewers/src/core/scene/IProxyMesh.hpp create mode 100644 SIBR_viewers/src/core/scene/InputImages.cpp create mode 100644 SIBR_viewers/src/core/scene/InputImages.hpp create mode 100755 SIBR_viewers/src/core/scene/ParseData.cpp create mode 100644 SIBR_viewers/src/core/scene/ParseData.hpp create mode 100644 SIBR_viewers/src/core/scene/ProxyMesh.cpp create mode 100644 SIBR_viewers/src/core/scene/ProxyMesh.hpp create mode 100644 SIBR_viewers/src/core/scene/RenderTargetTextures.cpp create mode 100644 SIBR_viewers/src/core/scene/RenderTargetTextures.hpp create mode 100644 SIBR_viewers/src/core/scene/sibr_scene.dox create mode 100644 SIBR_viewers/src/core/system/Array2d.hpp create mode 100644 SIBR_viewers/src/core/system/ByteStream.cpp create mode 100644 SIBR_viewers/src/core/system/ByteStream.hpp create mode 100644 SIBR_viewers/src/core/system/CMakeLists.txt create mode 100644 SIBR_viewers/src/core/system/CommandLineArgs.cpp create mode 100644 SIBR_viewers/src/core/system/CommandLineArgs.hpp create mode 100644 SIBR_viewers/src/core/system/Config.cpp create mode 100644 SIBR_viewers/src/core/system/Config.hpp create mode 100644 SIBR_viewers/src/core/system/LoadingProgress.cpp create mode 100644 SIBR_viewers/src/core/system/LoadingProgress.hpp create mode 100644 SIBR_viewers/src/core/system/MD5.h create mode 100644 SIBR_viewers/src/core/system/Matrix.cpp create mode 100644 SIBR_viewers/src/core/system/Matrix.hpp create mode 100644 SIBR_viewers/src/core/system/MatrixBasePlugin.hpp create mode 100644 SIBR_viewers/src/core/system/MatrixPlugin.hpp create mode 100644 SIBR_viewers/src/core/system/Quaternion.cpp create mode 100644 SIBR_viewers/src/core/system/Quaternion.hpp create mode 100644 SIBR_viewers/src/core/system/Rect.hpp create mode 100644 SIBR_viewers/src/core/system/SimpleTimer.hpp create mode 100644 SIBR_viewers/src/core/system/String.cpp create mode 100644 SIBR_viewers/src/core/system/String.hpp create mode 100644 SIBR_viewers/src/core/system/ThreadIdWorker.cpp create mode 100644 SIBR_viewers/src/core/system/ThreadIdWorker.hpp create mode 100644 SIBR_viewers/src/core/system/Transform3.hpp create mode 100755 SIBR_viewers/src/core/system/Utils.cpp create mode 100644 SIBR_viewers/src/core/system/Utils.hpp create mode 100644 SIBR_viewers/src/core/system/Vector.cpp create mode 100644 SIBR_viewers/src/core/system/Vector.hpp create mode 100644 SIBR_viewers/src/core/system/VectorUtils.cpp create mode 100644 SIBR_viewers/src/core/system/VectorUtils.hpp create mode 100644 SIBR_viewers/src/core/system/XMLTree.cpp create mode 100644 SIBR_viewers/src/core/system/XMLTree.h create mode 100644 SIBR_viewers/src/core/system/sibr_system.dox create mode 100644 SIBR_viewers/src/core/video/CMakeLists.txt create mode 100644 SIBR_viewers/src/core/video/Config.hpp create mode 100644 SIBR_viewers/src/core/video/FFmpegVideoEncoder.cpp create mode 100644 SIBR_viewers/src/core/video/FFmpegVideoEncoder.hpp create mode 100644 SIBR_viewers/src/core/video/MultipleVideoDecoder.hpp create mode 100644 SIBR_viewers/src/core/video/Video.cpp create mode 100644 SIBR_viewers/src/core/video/Video.hpp create mode 100644 SIBR_viewers/src/core/video/VideoUtils.cpp create mode 100644 SIBR_viewers/src/core/video/VideoUtils.hpp create mode 100644 SIBR_viewers/src/core/video/sibr_video.dox create mode 100644 SIBR_viewers/src/core/view/CMakeLists.txt create mode 100644 SIBR_viewers/src/core/view/Config.hpp create mode 100644 SIBR_viewers/src/core/view/DatasetView.cpp create mode 100644 SIBR_viewers/src/core/view/DatasetView.hpp create mode 100644 SIBR_viewers/src/core/view/FPSCamera.cpp create mode 100644 SIBR_viewers/src/core/view/FPSCamera.hpp create mode 100644 SIBR_viewers/src/core/view/FPSCounter.cpp create mode 100644 SIBR_viewers/src/core/view/FPSCounter.hpp create mode 100644 SIBR_viewers/src/core/view/IBRBasicUtils.cpp create mode 100644 SIBR_viewers/src/core/view/IBRBasicUtils.hpp create mode 100644 SIBR_viewers/src/core/view/ICameraHandler.cpp create mode 100644 SIBR_viewers/src/core/view/ICameraHandler.hpp create mode 100644 SIBR_viewers/src/core/view/ImageView.cpp create mode 100644 SIBR_viewers/src/core/view/ImageView.hpp create mode 100644 SIBR_viewers/src/core/view/ImagesGrid.cpp create mode 100644 SIBR_viewers/src/core/view/ImagesGrid.hpp create mode 100755 SIBR_viewers/src/core/view/InteractiveCameraHandler.cpp create mode 100644 SIBR_viewers/src/core/view/InteractiveCameraHandler.hpp create mode 100644 SIBR_viewers/src/core/view/MultiMeshManager.cpp create mode 100644 SIBR_viewers/src/core/view/MultiMeshManager.hpp create mode 100755 SIBR_viewers/src/core/view/MultiViewManager.cpp create mode 100644 SIBR_viewers/src/core/view/MultiViewManager.hpp create mode 100644 SIBR_viewers/src/core/view/Orbit.cpp create mode 100644 SIBR_viewers/src/core/view/Orbit.hpp create mode 100644 SIBR_viewers/src/core/view/RenderingMode.cpp create mode 100644 SIBR_viewers/src/core/view/RenderingMode.hpp create mode 100755 SIBR_viewers/src/core/view/SceneDebugView.cpp create mode 100755 SIBR_viewers/src/core/view/SceneDebugView.hpp create mode 100644 SIBR_viewers/src/core/view/Skybox.cpp create mode 100644 SIBR_viewers/src/core/view/Skybox.hpp create mode 100644 SIBR_viewers/src/core/view/TrackBall.cpp create mode 100644 SIBR_viewers/src/core/view/TrackBall.h create mode 100644 SIBR_viewers/src/core/view/UIShortcuts.cpp create mode 100644 SIBR_viewers/src/core/view/UIShortcuts.hpp create mode 100644 SIBR_viewers/src/core/view/ViewBase.cpp create mode 100644 SIBR_viewers/src/core/view/ViewBase.hpp create mode 100644 SIBR_viewers/src/core/view/interface/Interface.cpp create mode 100644 SIBR_viewers/src/core/view/interface/Interface.h create mode 100644 SIBR_viewers/src/core/view/interface/InterfaceUtils.cpp create mode 100644 SIBR_viewers/src/core/view/interface/InterfaceUtils.h create mode 100755 SIBR_viewers/src/core/view/interface/MeshViewer.cpp create mode 100755 SIBR_viewers/src/core/view/interface/MeshViewer.h create mode 100644 SIBR_viewers/src/core/view/shaders/alpha_colored_mesh.frag create mode 100644 SIBR_viewers/src/core/view/shaders/alpha_colored_mesh.vert create mode 100644 SIBR_viewers/src/core/view/shaders/alpha_colored_per_triangle_normals.geom create mode 100644 SIBR_viewers/src/core/view/shaders/alpha_colored_per_triangle_normals.vert create mode 100644 SIBR_viewers/src/core/view/shaders/alpha_colored_per_vertex_normals.geom create mode 100644 SIBR_viewers/src/core/view/shaders/alpha_colored_per_vertex_normals.vert create mode 100644 SIBR_viewers/src/core/view/shaders/alpha_points.frag create mode 100644 SIBR_viewers/src/core/view/shaders/alpha_points.vert create mode 100644 SIBR_viewers/src/core/view/shaders/alpha_uv_tex.frag create mode 100644 SIBR_viewers/src/core/view/shaders/alpha_uv_tex_array.frag create mode 100644 SIBR_viewers/src/core/view/shaders/alphaimgview.fp create mode 100644 SIBR_viewers/src/core/view/shaders/alphaimgview.vp create mode 100644 SIBR_viewers/src/core/view/shaders/anaglyph.fp create mode 100644 SIBR_viewers/src/core/view/shaders/anaglyph.vp create mode 100644 SIBR_viewers/src/core/view/shaders/axisgizmo.fp create mode 100644 SIBR_viewers/src/core/view/shaders/axisgizmo.vp create mode 100644 SIBR_viewers/src/core/view/shaders/camstub.fp create mode 100644 SIBR_viewers/src/core/view/shaders/camstub.vp create mode 100644 SIBR_viewers/src/core/view/shaders/depth.fp create mode 100644 SIBR_viewers/src/core/view/shaders/depth.vp create mode 100644 SIBR_viewers/src/core/view/shaders/depthonly.fp create mode 100644 SIBR_viewers/src/core/view/shaders/depthonly.vp create mode 100644 SIBR_viewers/src/core/view/shaders/image_viewer.frag create mode 100644 SIBR_viewers/src/core/view/shaders/image_viewer.vert create mode 100644 SIBR_viewers/src/core/view/shaders/mesh_color.fp create mode 100644 SIBR_viewers/src/core/view/shaders/mesh_color.vp create mode 100644 SIBR_viewers/src/core/view/shaders/mesh_debugview.fp create mode 100644 SIBR_viewers/src/core/view/shaders/mesh_debugview.vp create mode 100644 SIBR_viewers/src/core/view/shaders/mesh_normal.fp create mode 100644 SIBR_viewers/src/core/view/shaders/mesh_normal.vp create mode 100644 SIBR_viewers/src/core/view/shaders/number.fp create mode 100644 SIBR_viewers/src/core/view/shaders/number.vp create mode 100644 SIBR_viewers/src/core/view/shaders/skybox.fp create mode 100644 SIBR_viewers/src/core/view/shaders/skybox.vp create mode 100644 SIBR_viewers/src/core/view/shaders/text-imgui.fp create mode 100644 SIBR_viewers/src/core/view/shaders/text-imgui.vp create mode 100644 SIBR_viewers/src/core/view/shaders/texture.fp create mode 100644 SIBR_viewers/src/core/view/shaders/texture.vp create mode 100644 SIBR_viewers/src/core/view/shaders/topview.fp create mode 100644 SIBR_viewers/src/core/view/shaders/topview.vp create mode 100644 SIBR_viewers/src/core/view/shaders/uv_mesh.vert create mode 100644 SIBR_viewers/src/core/view/sibr_view.dox create mode 100644 SIBR_viewers/src/projects/dataset_tools/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/documentation/dataset_tools.dox create mode 100644 SIBR_viewers/src/projects/dataset_tools/documentation/dataset_tools_doc.cmake create mode 100644 SIBR_viewers/src/projects/dataset_tools/documentation/fullColmapProcess.dox create mode 100644 SIBR_viewers/src/projects/dataset_tools/documentation/img/colmapfullpipeline.png create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/CMakeLists.txt create mode 100755 SIBR_viewers/src/projects/dataset_tools/preprocess/alignMeshes/CMakeLists.txt create mode 100755 SIBR_viewers/src/projects/dataset_tools/preprocess/alignMeshes/main.cpp create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/cameraConverter/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/cameraConverter/main.cpp create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/clippingPlanes/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/clippingPlanes/main.cpp create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/bundle.py create mode 100755 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/colmap2sibr.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/generate_list_images.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/get_image_size.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/ibr_convert_old_to_new.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/ibr_preprocess_rc_to_sibr.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify.mlx create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify200.mlx create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify250.mlx create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify300.mlx create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify350.mlx create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/wedge_to_vertex_uvs.mlx create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/simplify_mesh.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/converters/wedge_to_vertex_uvs.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/cropFromCenter/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/cropFromCenter/main.cpp create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/distordCrop/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/distordCrop/main.cpp create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/ColmapProcessSteps.json create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/ColmapQualityParameters.json create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/SelectiveColmapProcessSteps.json create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/colmap2nerf.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/fullColmapProcess.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/read_write_model.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/selectiveColmapProcess.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/selective_colmap_process.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/textureOnly.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/meshroomPythonScripts/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/meshroomPythonScripts/ULR.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/nvmToSIBR/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/nvmToSIBR/main.cpp create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/prepareColmap4Sibr/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/prepareColmap4Sibr/main.cpp create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/SetVariables.bat create mode 100755 SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/exportModel.xml create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/fixup.bat create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/processRCSteps.json create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/rc_tools.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/registrationConfig.xml create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/runRC.bat create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/textureMesh/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/textureMesh/main.cpp create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/tonemapper/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/tonemapper/main.cpp create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/unwrapMesh/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/unwrapMesh/main.cpp create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/utils/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/utils/TaskPipeline.py create mode 100755 SIBR_viewers/src/projects/dataset_tools/preprocess/utils/color.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/utils/commands.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/utils/convert.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/utils/datasets.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/preprocess/utils/paths.py create mode 100644 SIBR_viewers/src/projects/dataset_tools/scripts/processRC.py create mode 100644 SIBR_viewers/src/projects/ulr/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/ulr/apps/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/ulr/apps/ulr/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/ulr/apps/ulr/main.cpp create mode 100644 SIBR_viewers/src/projects/ulr/apps/ulr/resources/sibr_ulr_app.ini create mode 100644 SIBR_viewers/src/projects/ulr/apps/ulrv2/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/ulr/apps/ulrv2/main.cpp create mode 100644 SIBR_viewers/src/projects/ulr/apps/ulrv2/resources/sibr_ulrv2_app.ini create mode 100644 SIBR_viewers/src/projects/ulr/documentation/IBR_ULR.dox create mode 100644 SIBR_viewers/src/projects/ulr/documentation/ulr_doc.cmake create mode 100644 SIBR_viewers/src/projects/ulr/renderer/CMakeLists.txt create mode 100644 SIBR_viewers/src/projects/ulr/renderer/Config.hpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRRenderer.cpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRRenderer.hpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRV2Renderer.cpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRV2Renderer.hpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRV2View.cpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRV2View.hpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRV3Renderer.cpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRV3Renderer.hpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRV3View.cpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRV3View.hpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRView.cpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/ULRView.hpp create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr.vert create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr1.frag create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr2.frag create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_intersect.frag create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_intersect.vert create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v2.frag create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v2.vert create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v2_alt.frag create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3.frag create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3.vert create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3_alt.frag create mode 100644 SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3_fast.frag diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000000..e69de29bb2 diff --git a/SIBR_viewers b/SIBR_viewers deleted file mode 160000 index d8856f60c5..0000000000 --- a/SIBR_viewers +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d8856f60c5384cc1975439193bb627d77d917d77 diff --git a/SIBR_viewers/.gitignore b/SIBR_viewers/.gitignore new file mode 100644 index 0000000000..3ffaa95079 --- /dev/null +++ b/SIBR_viewers/.gitignore @@ -0,0 +1,45 @@ +extlibs/ +build/ +install/ +src/projects/* +cmake-gui.exe.stackdump +__pycache__/ + +# emacs garbage +\#* +.\#* + +# vim garbage +*.swp +*.swo +*.idea/ +*.log +*.sh +*.tmp + +hs_err_* + +# re include common public projects +!src/projects/ulr/ +!src/projects/dataset_tools/ + +# more vim garbage +# Swap +[._]*.s[a-v][a-z] +!*.svg # comment out if you don't need vector files +[._]*.sw[a-p] +[._]s[a-rt-v][a-z] +[._]ss[a-gi-z] +[._]sw[a-p] + +# Session +Session.vim +Sessionx.vim + +# Temporary +.netrwhist +*~ +# Auto-generated tag files +tags +# Persistent undo +[._]*.un~ \ No newline at end of file diff --git a/SIBR_viewers/CMakeLists.txt b/SIBR_viewers/CMakeLists.txt new file mode 100644 index 0000000000..21a3fc85dd --- /dev/null +++ b/SIBR_viewers/CMakeLists.txt @@ -0,0 +1,213 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + +CMAKE_MINIMUM_REQUIRED(VERSION 3.22) + +set (CMAKE_SYSTEM_VERSION 10.0.15063.0 CACHE INTERNAL "Cmake system version" FORCE) +PROJECT(sibr_projects) + +set(REQUIRED_VERSION "3.22.0") +set(CHECKED_VERSION "3.27.0") + +if (CMAKE_VERSION VERSION_LESS REQUIRED_VERSION) + message(WARNING "Deprecated version of cmake. Please update to at least ${REQUIRED_VERSION} (${CHECKED_VERSION} recommended).") +elseif (CMAKE_VERSION VERSION_GREATER CHECKED_VERSION) + message(WARNING "Untested version of cmake. If you checked everything is working properly, please update ${CHECKED_VERSION} in the main CmakeLists.txt with the version you tested.") +endif() + +## Include cmake stuff (functions/macros) : Modules files +if(WIN32) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/windows) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/windows/Modules) +else() +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/linux) +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/linux/Modules) +endif() +set_property(GLOBAL PROPERTY USE_FOLDERS ON) + +## To maintain cmake versions compatibilities +include(cmake_policies) +setPolicies() + +include(git_describe) +git_describe(GIT_BRANCH SIBR_CORE_BRANCH GIT_COMMIT_HASH SIBR_CORE_COMMIT_HASH GIT_TAG SIBR_CORE_TAG GIT_VERSION SIBR_CORE_VERSION) + +message(STATUS "SIBR version :\n BRANCH ${SIBR_CORE_BRANCH}\n COMMIT_HASH ${SIBR_CORE_COMMIT_HASH}\n TAG ${SIBR_CORE_TAG}\n VERSION ${SIBR_CORE_VERSION}") + +if(NOT WIN32) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +endif() + + +if (WIN32) + ## Allow C++11 + other flags + include(CheckCXXCompilerFlag) + get_filename_component(currentBuildTool ${CMAKE_BUILD_TOOL} NAME_WE) # tool that can launch the native build system. returned value may be the full path + if(${currentBuildTool} MATCHES "(msdev|devenv|nmake|MSBuild)") + + add_compile_options("$<$:/W3;/DNOMINMAX;/MP;-D_USE_MATH_DEFINES>") + #add_definitions(/W3 /DNOMINMAX /MP -D_USE_MATH_DEFINES)# /D_ITERATOR_DEBUG_LEVEL=1 because you need all external DLl to compile with this flag too + set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING "" FORCE) + set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + elseif(${currentBuildTool} MATCHES "(make|gmake)") + add_definitions("-Wall -Wno-unknown-pragmas -Wno-sign-compare -g -std=c++14 -D__forceinline=\"inline\ __attribute__((always_inline))\"") + # CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_CXX11) + # CHECK_CXX_COMPILER_FLAG("-std=gnu++0x" COMPILER_SUPPORTS_CXX0X) + # if(COMPILER_SUPPORTS_CXX11) + # add_definitions(-std=gnu++11) + # elseif(COMPILER_SUPPORTS_CXX0X) + # add_definitions(-std=gnu++0x) + # else() + # message(SEND_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++14 support. Please use a different C++ compiler.") + # endif() + elseif(APPLE) ## \todo TODO: do a better test and send error on unsupported c++14 compiler + add_definitions(-std=c++14 -stdlib=libc++) + endif() +else() + ## Allow C++11 + other flags + include(CheckCXXCompilerFlag) + get_filename_component(currentBuildTool ${CMAKE_BUILD_TOOL} NAME_WE) # tool that can launch the native build system. returned value may be the full path + if(${currentBuildTool} MATCHES "(msdev|devenv|nmake|MSBuild)") + + add_compile_options("$<$:/W3;/DNOMINMAX;/MP;-D_USE_MATH_DEFINES>") + #add_definitions(/W3 /DNOMINMAX /MP -D_USE_MATH_DEFINES)# /D_ITERATOR_DEBUG_LEVEL=1 because you need all external DLl to compile with this flag too + set(CMAKE_CONFIGURATION_TYPES "RelWithDebInfo;Release;Debug" CACHE STRING "" FORCE) + set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD_REQUIRED ON) + set(CMAKE_CXX_EXTENSIONS OFF) + elseif(${currentBuildTool} MATCHES "(make|gmake|ninja)") + add_definitions("-fpermissive -fPIC -Wall -Wno-unknown-pragmas -Wno-sign-compare -g -std=c++17 -D__forceinline=\"inline\ __attribute__((always_inline))\"") + elseif(APPLE) ## \todo TODO: do a better test and send error on unsupported c++14 compiler + add_definitions(-std=c++17 -stdlib=libc++) + endif() +endif() + +set(INSTALL_STANDALONE ON) + +## Set default build output binaries (used also in sub CMakeLists.txt) : +set(BIN_BUILT_DIR "bin") +if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(ARCHI_BUILT_DIR "x64") + set(LIB_BUILT_DIR "lib64") +else() + set(ARCHI_BUILT_DIR "x86") + set(LIB_BUILT_DIR "lib") +endif() + +option(SEPARATE_CONFIGURATIONS "Clearer separation between configurations" OFF) +SET(CMAKE_INSTALL_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/install) +SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_ROOT}) + +if(DEFINED CMAKE_BUILD_TYPE) ## for mono config type (make/nmake/ninja based) + if(${CMAKE_BUILD_TYPE} MATCHES "Debug") + set(CMAKE_DEBUG_POSTFIX "_d") + elseif(${CMAKE_BUILD_TYPE} MATCHES "RelWithDebInfo") + set(CMAKE_RELWITHDEBINFO_POSTFIX "_rwdi") + elseif(${CMAKE_BUILD_TYPE} MATCHES "MinSizeRel") + set(CMAKE_MINSIZEREL_POSTFIX "_msr") + elseif(${CMAKE_BUILD_TYPE} MATCHES "Release") + set(CMAKE_RELEASE_POSTFIX "") + endif() + + if(SEPARATE_CONFIGURATIONS) + SET(CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE} ${CMAKE_INSTALL_ROOT}/${CMAKE_BUILD_TYPE}) + else() + SET(CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE} ${CMAKE_INSTALL_ROOT}) + endif() + + MESSAGE(STATUS "Install path set to ${CMAKE_INSTALL_PREFIX}.") + SET(CMAKE_OUTPUT_LIB_${CMAKE_BUILD_TYPE} ${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/lib) + SET(CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE} ${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/bin) + + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} ${CMAKE_OUTPUT_LIB_${CMAKE_BUILD_TYPE}}) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} ${CMAKE_OUTPUT_LIB_${CMAKE_BUILD_TYPE}}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}}) + set(CMAKE_PDB_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE} ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}}) +endif() +foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + if(${CONFIG_TYPES} MATCHES "Debug") + set(CMAKE_DEBUG_POSTFIX "_d") + elseif(${CONFIG_TYPES} MATCHES "RelWithDebInfo") + set(CMAKE_RELWITHDEBINFO_POSTFIX "_rwdi") + elseif(${CONFIG_TYPES} MATCHES "MinSizeRel") + set(CMAKE_MINSIZEREL_POSTFIX "_msr") + elseif(${CMAKE_BUILD_TYPE} MATCHES "Release") + set(CMAKE_RELEASE_POSTFIX "") + endif() + + if(SEPARATE_CONFIGURATIONS) + SET(CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC} ${CMAKE_INSTALL_ROOT}/${CONFIG_TYPES}) + else() + SET(CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC} ${CMAKE_INSTALL_ROOT}) + endif() + + MESSAGE(STATUS "Install path for ${CONFIG_TYPES} set to ${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}.") + SET(CMAKE_OUTPUT_LIB_${CONFIG_TYPES_UC} ${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/lib) + SET(CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC} ${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/bin) + + set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC} ${CMAKE_OUTPUT_LIB_${CONFIG_TYPES_UC}}) + set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC} ${CMAKE_OUTPUT_LIB_${CONFIG_TYPES_UC}}) + set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC} ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}}) + set(CMAKE_PDB_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC} ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}}) +endforeach() + + +# Settings for RPATH +if (NOT WIN32) + # Default config of Fedora at INRIA has no LD_LIBRARY_PATH (for security reasons I guess) + # So at least I had "./" in RPATH and found link paths + #set(CMAKE_SKIP_RPATH TRUE) + #SET(CMAKE_SKIP_BUILD_RPATH FALSE) + SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) + + SET(CMAKE_INSTALL_RPATH "$ORIGIN") + #SET(CMAKE_INSTALL_RPATH "./") + #SET(CMAKE_INSTALL_RPATH "./:/usr/lib64/:/usr/lib/:/usr/local/lib64/:/usr/local/lib/") # This one causes be a problem -> a "default" version of libGL (swrast) is located in /usr/lib64 and was selected instead of nvidia one (in /usr/lib64/nividia) + + SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) +endif() + + +set(SIBR_PROGRAMARGS "" CACHE STRING "Default program arguments used in Visual Studio target properties") +if ("${SIBR_PROGRAMARGS}" STREQUAL "") + if (DEFINED ENV{SIBR_PROGRAMARGS}) + set(SIBR_PROGRAMARGS "$ENV{SIBR_PROGRAMARGS}" CACHE STRING "Default program arguments used in Visual Studio target properties" FORCE) + message( STATUS "Using program options found in environment variable 'SIBR_PROGRAMARGS' => '${SIBR_PROGRAMARGS}'") + else() + message( + "Note you can provide default program options for Visual Studio target properties by either setting" + " a value for the cmake cached variable 'SIBR_PROGRAMARGS' or by setting a new environment " + "variable 'SIBR_PROGRAMARGS'") + endif() +endif() + +add_custom_target(PREBUILD ALL) + +## Include all projects +set(SIBR_PROJECTS_SAMPLES_SUBPAGE_REF "") +set(SIBR_PROJECTS_OURS_SUBPAGE_REF "") +set(SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF "") +set(SIBR_PROJECTS_OTHERS_SUBPAGE_REF "") +set(SIBR_PROJECTS_SAMPLES_REF_REF "") +set(SIBR_PROJECTS_OURS_REF_REF "") +set(SIBR_PROJECTS_TOOLBOX_REF_REF "") +set(SIBR_PROJECTS_OTHERS_REF_REF "") +set(DOXY_APP_SPECIFIC_IMG_PATH "") +set(DOXY_DOC_EXCLUDE_PATTERNS_DIRS "") +ADD_SUBDIRECTORY(src) + + +## handle documentation +if (WIN32) +ADD_SUBDIRECTORY(docs) +endif() diff --git a/SIBR_viewers/LICENSE.md b/SIBR_viewers/LICENSE.md new file mode 100644 index 0000000000..0ae59dae71 --- /dev/null +++ b/SIBR_viewers/LICENSE.md @@ -0,0 +1,204 @@ +SIBR License +============ + +The sibr system is licensed under the Apache 2.0 license, except for some projects in specific branches (in src/projects) that have separate licenses in those directories. + +Please verify the LICENSE.md file for those directories. + +-------------- + + + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + + Copyright 2024 Inria / Universite Cote d'Azur + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + diff --git a/SIBR_viewers/README.md b/SIBR_viewers/README.md new file mode 100644 index 0000000000..381d6b036a --- /dev/null +++ b/SIBR_viewers/README.md @@ -0,0 +1,142 @@ +# SIBR Core + +**SIBR** is a System for Image-Based Rendering. +It is built around the *sibr-core* in this repo and several *Projects* implementing published research papers. +For more complete documentation, see here: [SIBR Documentation](https://sibr.gitlabpages.inria.fr) + +This **SIBR core** repository provides : +- a basic Image-Based Renderer +- a per-pixel implementation of Unstructured Lumigraph (ULR) +- several dataset tools & pipelines do process input images + +Details on how to run in the documentation and in the section below. +If you use this code in a publication, please cite the system as follows: + +``` +@misc{sibr2020, + author = "Bonopera, Sebastien and Esnault, Jerome and Prakash, Siddhant and Rodriguez, Simon and Thonat, Theo and Benadel, Mehdi and Chaurasia, Gaurav and Philip, Julien and Drettakis, George", + title = "sibr: A System for Image Based Rendering", + year = "2020", + url = "https://gitlab.inria.fr/sibr/sibr_core" +} +``` + +## Setup + +**Note**: The current release is for *Windows 10* only. We are planning a Linux release soon. + +#### Binary distribution + +The easiest way to use SIBR is to download the binary distribution. All steps described below, including all preprocessing for your datasets will work using this code. + +Download the distribution from the page: https://sibr.gitlabpages.inria.fr/download.html (Core, 57Mb); unzip the file and rename the directory "install". + +#### Install requirements + +- [**Visual Studio 2019**](https://visualstudio.microsoft.com/fr/downloads/) +- [**Cmake 3.16+**](https://cmake.org/download) +- [**7zip**](https://www.7-zip.org) +- [**Python 3.8+**](https://www.python.org/downloads/) for shaders installation scripts and dataset preprocess scripts +- [**Doxygen 1.8.17+**](https://www.doxygen.nl/download.html#srcbin) for documentation +- [**CUDA 10.1+**](https://developer.nvidia.com/cuda-downloads) and [**CUDnn**](https://developer.nvidia.com/cudnn) if projects requires it + +Make sure Python, CUDA and Doxygen are in the PATH + +If you have Chocolatey, you can grab most of these with this command: + +```sh +choco install cmake 7zip python3 doxygen.install cuda + +## Visual Studio is available on Chocolatey, +## though we do advise to set it from Visual Studio Installer and to choose your licensing accordingly +choco install visualstudio2019community +``` + +#### Generation of the solution + +- Checkout this repository's master branch: + + ```sh + ## through HTTPS + git clone https://gitlab.inria.fr/sibr/sibr_core.git -b master + ## through SSH + git clone git@gitlab.inria.fr:sibr/sibr_core.git -b master + ``` +- Run Cmake-gui once, select the repo root as a source directory, `build/` as the build directory. Configure, select the Visual Studio C++ Win64 compiler +- Select the projects you want to generate among the BUILD elements in the list (you can group Cmake flags by categories to access those faster) +- Generate + +#### Compilation + +- Open the generated Visual Studio solution (`build/sibr_projects.sln`) +- Build the `ALL_BUILD` target, and then the `INSTALL` target +- The compiled executables will be put in `install/bin` +- TODO: are the DLLs properly installed? + +#### Compilation of the documentation + +- Open the generated Visual Studio solution (`build/sibr_projects.sln`) +- Build the `DOCUMENTATION` target +- Run `install/docs/index.html` in a browser + + +## Scripts + +Some scripts will require you to install `PIL`, and `convert` from `ImageMagick`. + +```sh +## To install pillow +python -m pip install pillow + +## If you have Chocolatey, you can install imagemagick from this command +choco install imagemagick +``` + +## Troubleshooting + +#### Bugs and Issues + +We will track bugs and issues through the Issues interface on gitlab. Inria gitlab does not allow creation of external accounts, so if you have an issue/bug please email sibr@inria.fr and we will either create a guest account or create the issue on our side. + +#### Cmake complaining about the version + +if you are the first to use a very recent Cmake version, you will have to update `CHECKED_VERSION` in the root `CmakeLists.txt`. + +#### Weird OpenCV error + +you probably selected the 32-bits compiler in Cmake-gui. + +#### `Cmd.exe failed with error 009` or similar + +make sure Python is installed and in the path. + +#### `BUILD_ALL` or `INSTALL` fail because of a project you don't really need + +build and install each project separately by selecting the proper targets. + +#### Error in CUDA headers under Visual Studio 2019 + +make sure CUDA >= 10.1 (first version to support VS2019) is installed. + +## To run an example + +For more details, please see the documentation: http://sibr.gitlabpages.inria.fr + +Download a dataset from: https://repo-sam.inria.fr/fungraph/sibr-datasets/ + +e.g., the *sibr-museum-front* dataset in the *DATASETS_PATH* directory. + +``` +wget https://repo-sam.inria.fr/fungraph/sibr-datasets/museum_front27_ulr.zip +``` + +Once you have built the system or downloaded the binaries (see above), go to *install/bin* and you can run: +``` + sibr_ulrv2_app.exe --path DATASETS_PATH/sibr-museum-front +``` + +You will have an interactive viewer and you can navigate freely in the captured scene. +Our default interactive viewer has a main view running the algorithm and a top view to visualize the position of the calibrated cameras. By default you are in WASD mode, and can toggle to trackball using the "y" key. Please see the page [Interface](https://sibr.gitlabpages.inria.fr/docs/nightly/howto_sibr_useful_objects.html) for more details on the interface. + +Please see the documentation on how to create a dataset from your own scene, and the various other IBR algorithms available. + diff --git a/SIBR_viewers/cmake/linux/MSVCsetUserCommand.cmake b/SIBR_viewers/cmake/linux/MSVCsetUserCommand.cmake new file mode 100644 index 0000000000..bc49770d64 --- /dev/null +++ b/SIBR_viewers/cmake/linux/MSVCsetUserCommand.cmake @@ -0,0 +1,149 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +if(__MSVCsetUserCommand_cmake_INCLUDED__) + return() +else() + set(__MSVCsetUserCommand_cmake_INCLUDED__ ON) +endif() + +## Allow to configure the Debugger settings of visual studio +## Note: Using this command under linux doesn't affect anything +## On run Debug Windows local : visual will try to load a specific COMMAND with ARGS in the provided WORKING_DIR +## +## usage: +## MSVCsetUserCommand( +## [COMMAND | [ PATH [FILE ] ] ] +## ARGS +## WORKING_DIR +## ) +## +## Warning 1 : All arugments () must be passed under quotes +## Warning 2 : WORKING_DIR path arg have to finish with remain slah '/' +## Warning 3 : use COMMAND for external app OR PATH (optionaly with FILE) option(s) to set your built/installed/moved target +## +## Example 1: +## include(MSVCsetUserCommand) +## MSVCsetUserCommand( UnityRenderingPlugin +## COMMAND "C:/Program Files (x86)/Unity/Editor/Unity.exe" +## ARGS "-force-opengl -projectPath \"${CMAKE_HOME_DIRECTORY}/UnityPlugins/RenderingPluginExample/UnityProject\"" +## WORKING_DIR "${CMAKE_HOME_DIRECTORY}/UnityPlugins/RenderingPluginExample/UnityProject" +## VERBOSE +## ) +## +## Example 2: +## include(MSVCsetUserCommand) +## MSVCsetUserCommand( ibrApp +## PATH "C:/Program Files (x86)/workspace/IBR/install" +## FILE "ibrApp${CMAKE_EXECUTABLE_SUFFIX}" ## this option line is optional since the target name didn't change between build and install step +## ARGS "-path \"${CMAKE_HOME_DIRECTORY}/dataset\"" +## WORKING_DIR "${CMAKE_HOME_DIRECTORY}" +## VERBOSE +## ) +## +function(MSVCsetUserCommand targetName) + cmake_parse_arguments(MSVCsuc "VERBOSE" "PATH;FILE;COMMAND;ARGS;WORKING_DIR" "" ${ARGN} ) + + ## If no arguments are given, do not create an unecessary .vcxproj.user file + set(MSVCsuc_DEFAULT OFF) + + if(MSVCsuc_PATH AND MSVCsuc_DEFAULT) + set(MSVCsuc_DEFAULT OFF) + endif() + + if(MSVCsuc_FILE AND MSVCsuc_DEFAULT) + set(MSVCsuc_DEFAULT OFF) + endif() + + if(NOT MSVCsuc_COMMAND) + if(MSVCsuc_PATH AND MSVCsuc_FILE) + set(MSVCsuc_COMMAND "${MSVCsuc_PATH}\\${MSVCsuc_FILE}") + elseif(MSVCsuc_PATH) + set(MSVCsuc_COMMAND "${MSVCsuc_PATH}\\$(TargetFileName)") + else() + set(MSVCsuc_COMMAND "$(TargetPath)") ## => $(TargetDir)\$(TargetName)$(TargetExt) + endif() + elseif(MSVCsuc_DEFAULT) + set(MSVCsuc_DEFAULT OFF) + endif() + + # NOTE: there was a typo here. there is an else if written after else statement + # changing the order of the else if statement + if(MSVCsuc_WORKING_DIR) + file(TO_NATIVE_PATH ${MSVCsuc_WORKING_DIR} MSVCsuc_WORKING_DIR) + elseif(MSVCsuc_DEFAULT) + set(MSVCsuc_DEFAULT OFF) + else() + set(MSVCsuc_WORKING_DIR "$(ProjectDir)") + endif() + + if(NOT MSVCsuc_ARGS) + set(MSVCsuc_ARGS "") + elseif(MSVCsuc_DEFAULT) + set(MSVCsuc_DEFAULT OFF) + endif() + + if(MSVC10 OR (MSVC AND MSVC_VERSION GREATER 1600)) # 2010 or newer + + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(PLATEFORM_BITS x64) + else() + set(PLATEFORM_BITS Win32) + endif() + + if(NOT MSVCsuc_DEFAULT AND PLATEFORM_BITS) + + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${targetName}.vcxproj.user" + " + + + ${MSVCsuc_COMMAND} + ${MSVCsuc_ARGS} + WindowsLocalDebugger + ${MSVCsuc_WORKING_DIR} + + + ${MSVCsuc_COMMAND} + ${MSVCsuc_ARGS} + WindowsLocalDebugger + ${MSVCsuc_WORKING_DIR} + + + ${MSVCsuc_COMMAND} + ${MSVCsuc_ARGS} + WindowsLocalDebugger + ${MSVCsuc_WORKING_DIR} + + + ${MSVCsuc_COMMAND} + ${MSVCsuc_ARGS} + WindowsLocalDebugger + ${MSVCsuc_WORKING_DIR} + +" + ) + if(MSVCsuc_VERBOSE) + message(STATUS "[MSVCsetUserCommand] Write ${CMAKE_CURRENT_BINARY_DIR}/${targetName}.vcxproj.user file") + message(STATUS " to execute ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS}") + message(STATUS " from derectory ${MSVCsuc_WORKING_DIR}") + message(STATUS " on visual studio run debugger button") + endif() + + else() + message(WARNING "PLATEFORM_BITS is undefined...") + endif() + + else() + if(MSVCsuc_VERBOSE) + message(WARNING "MSVCsetUserCommand is disable because too old MSVC is used (need MSVC10 2010 or newer)") + endif() + endif() + +endfunction() diff --git a/SIBR_viewers/cmake/linux/Modules/FindASSIMP.cmake b/SIBR_viewers/cmake/linux/Modules/FindASSIMP.cmake new file mode 100644 index 0000000000..edfbb33b78 --- /dev/null +++ b/SIBR_viewers/cmake/linux/Modules/FindASSIMP.cmake @@ -0,0 +1,114 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## Try to find the ASSIMP library +## Once done this will define +## +## ASSIMP_FOUND - system has ASSIMP +## ASSIMP_INCLUDE_DIR - The ASSIMP include directory +## ASSIMP_LIBRARIES - The libraries needed to use ASSIMP +## ASSIMP_CMD - the full path of ASSIMP executable +## ASSIMP_DYNAMIC_LIB - the Assimp dynamic lib (available only on windows as .dll file for the moment) +## +## Edited for using a bugfixed version of Assimp + +if(NOT ASSIMP_DIR) + set(ASSIMP_DIR "$ENV{ASSIMP_DIR}" CACHE PATH "ASSIMP root directory") + message("NO ASSIMP DIR " ASSIMP_DIR ) + file(TO_CMAKE_PATH "/data/graphdeco/share/usr/local" ASSIMP_DIR) + set(ASSIMP_DIR "/data/graphdeco/share/usr/local" ) + message("SETTING ASSIMP DIR " ASSIMP_DIR ) +endif() +if(ASSIMP_DIR) + file(TO_CMAKE_PATH ${ASSIMP_DIR} ASSIMP_DIR) + file(TO_CMAKE_PATH "/data/graphdeco/share/usr/local" ASSIMP_DIR) + message("ASSIMP DIR " ASSIMP_DIR ) +endif() + + +## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits) +if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(ASSIMP_SEARCH_LIB "lib64") + set(ASSIMP_SEARCH_BIN "bin64") + set(ASSIMP_SEARCH_LIB_PATHSUFFIXE "x64") +else() + set(ASSIMP_SEARCH_LIB "lib32") + set(ASSIMP_SEARCH_BIN "bin32") + set(ASSIMP_SEARCH_LIB_PATHSUFFIXE "x86") +endif() + +set(PROGRAMFILESx86 "PROGRAMFILES(x86)") + + +FIND_PATH(ASSIMP_INCLUDE_DIR + NAMES assimp/config.h + PATHS + ${ASSIMP_DIR} + ## linux + /usr + /usr/include + /usr/local + /opt/local + ## windows + "$ENV{PROGRAMFILES}/Assimp" + "$ENV{${PROGRAMFILESx86}}/Assimp" + "$ENV{ProgramW6432}/Assimp" + PATH_SUFFIXES include +) + + +FIND_LIBRARY(ASSIMP_LIBRARY + NAMES assimp-vc140-mt assimp + PATHS + ${ASSIMP_DIR}/${ASSIMP_SEARCH_LIB} + ${ASSIMP_DIR}/lib + ${ASSIMP_DIR}/lib64 + ## linux + /usr/${ASSIMP_SEARCH_LIB} + /usr/local/${ASSIMP_SEARCH_LIB} + /opt/local/${ASSIMP_SEARCH_LIB} + /usr/lib + /usr/lib64 + /usr/local/lib + /opt/local/lib + ## windows + "$ENV{PROGRAMFILES}/Assimp/${ASSIMP_SEARCH_LIB}" + "$ENV{${PROGRAMFILESx86}}/Assimp/${ASSIMP_SEARCH_LIB}" + "$ENV{ProgramW6432}/Assimp/${ASSIMP_SEARCH_LIB}" + "$ENV{PROGRAMFILES}/Assimp/lib" + "$ENV{${PROGRAMFILESx86}}/Assimp/lib" + "$ENV{ProgramW6432}/Assimp/lib" + PATH_SUFFIXES ${ASSIMP_SEARCH_LIB_PATHSUFFIXE} +) +set(ASSIMP_LIBRARIES ${ASSIMP_LIBRARY}) + + +if(ASSIMP_LIBRARY) + get_filename_component(ASSIMP_LIBRARY_DIR ${ASSIMP_LIBRARY} PATH) + if(WIN32) + file(GLOB ASSIMP_DYNAMIC_LIB "${ASSIMP_LIBRARY_DIR}/assimp*.dll") + if(NOT ASSIMP_DYNAMIC_LIB) + message("ASSIMP_DYNAMIC_LIB is missing... at ${ASSIMP_LIBRARY_DIR}") + endif() + endif() + set(ASSIMP_DYNAMIC_LIB ${ASSIMP_DYNAMIC_LIB} CACHE PATH "Windows dll location") +endif() + +MARK_AS_ADVANCED(ASSIMP_DYNAMIC_LIB ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(ASSIMP + REQUIRED_VARS ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES + FAIL_MESSAGE "ASSIMP wasn't found correctly. Set ASSIMP_DIR to the root SDK installation directory." +) + +if(NOT ASSIMP_FOUND) + set(ASSIMP_DIR "" CACHE STRING "Path to ASSIMP install directory") +endif() diff --git a/SIBR_viewers/cmake/linux/Modules/FindEGL.cmake b/SIBR_viewers/cmake/linux/Modules/FindEGL.cmake new file mode 100644 index 0000000000..41d45cb08d --- /dev/null +++ b/SIBR_viewers/cmake/linux/Modules/FindEGL.cmake @@ -0,0 +1,161 @@ +#.rst: +# FindEGL +# ------- +# +# Try to find EGL. +# +# This will define the following variables: +# +# ``EGL_FOUND`` +# True if (the requested version of) EGL is available +# ``EGL_VERSION`` +# The version of EGL; note that this is the API version defined in the +# headers, rather than the version of the implementation (eg: Mesa) +# ``EGL_LIBRARIES`` +# This can be passed to target_link_libraries() instead of the ``EGL::EGL`` +# target +# ``EGL_INCLUDE_DIRS`` +# This should be passed to target_include_directories() if the target is not +# used for linking +# ``EGL_DEFINITIONS`` +# This should be passed to target_compile_options() if the target is not +# used for linking +# +# If ``EGL_FOUND`` is TRUE, it will also define the following imported target: +# +# ``EGL::EGL`` +# The EGL library +# +# In general we recommend using the imported target, as it is easier to use. +# Bear in mind, however, that if the target is in the link interface of an +# exported library, it must be made available by the package config file. +# +# Since pre-1.0.0. + +#============================================================================= +# Copyright 2014 Alex Merry +# Copyright 2014 Martin Gräßlin +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#============================================================================= + +include(CheckCXXSourceCompiles) +include(CMakePushCheckState) + +# Use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls +find_package(PkgConfig) +pkg_check_modules(PKG_EGL QUIET egl) + +set(EGL_DEFINITIONS ${PKG_EGL_CFLAGS_OTHER}) + +find_path(EGL_INCLUDE_DIR + NAMES + EGL/egl.h + HINTS + ${PKG_EGL_INCLUDE_DIRS} +) +find_library(EGL_LIBRARY + NAMES + EGL + HINTS + ${PKG_EGL_LIBRARY_DIRS} +) + +# NB: We do *not* use the version information from pkg-config, as that +# is the implementation version (eg: the Mesa version) +if(EGL_INCLUDE_DIR) + # egl.h has defines of the form EGL_VERSION_x_y for each supported + # version; so the header for EGL 1.1 will define EGL_VERSION_1_0 and + # EGL_VERSION_1_1. Finding the highest supported version involves + # finding all these defines and selecting the highest numbered. + file(READ "${EGL_INCLUDE_DIR}/EGL/egl.h" _EGL_header_contents) + string(REGEX MATCHALL + "[ \t]EGL_VERSION_[0-9_]+" + _EGL_version_lines + "${_EGL_header_contents}" + ) + unset(_EGL_header_contents) + foreach(_EGL_version_line ${_EGL_version_lines}) + string(REGEX REPLACE + "[ \t]EGL_VERSION_([0-9_]+)" + "\\1" + _version_candidate + "${_EGL_version_line}" + ) + string(REPLACE "_" "." _version_candidate "${_version_candidate}") + if(NOT DEFINED EGL_VERSION OR EGL_VERSION VERSION_LESS _version_candidate) + set(EGL_VERSION "${_version_candidate}") + endif() + endforeach() + unset(_EGL_version_lines) +endif() + +cmake_push_check_state(RESET) +list(APPEND CMAKE_REQUIRED_LIBRARIES "${EGL_LIBRARY}") +list(APPEND CMAKE_REQUIRED_INCLUDES "${EGL_INCLUDE_DIR}") + +check_cxx_source_compiles(" +#include + +int main(int argc, char *argv[]) { + EGLint x = 0; EGLDisplay dpy = 0; EGLContext ctx = 0; + eglDestroyContext(dpy, ctx); +}" HAVE_EGL) + +cmake_pop_check_state() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(EGL + FOUND_VAR + EGL_FOUND + REQUIRED_VARS + EGL_LIBRARY + EGL_INCLUDE_DIR + HAVE_EGL + VERSION_VAR + EGL_VERSION +) + +if(EGL_FOUND AND NOT TARGET EGL::EGL) + add_library(EGL::EGL UNKNOWN IMPORTED) + set_target_properties(EGL::EGL PROPERTIES + IMPORTED_LOCATION "${EGL_LIBRARY}" + INTERFACE_COMPILE_OPTIONS "${EGL_DEFINITIONS}" + INTERFACE_INCLUDE_DIRECTORIES "${EGL_INCLUDE_DIR}" + ) +endif() + +mark_as_advanced(EGL_LIBRARY EGL_INCLUDE_DIR HAVE_EGL) + +# compatibility variables +set(EGL_LIBRARIES ${EGL_LIBRARY}) +set(EGL_INCLUDE_DIRS ${EGL_INCLUDE_DIR}) +set(EGL_VERSION_STRING ${EGL_VERSION}) + +include(FeatureSummary) +set_package_properties(EGL PROPERTIES + URL "https://www.khronos.org/egl/" + DESCRIPTION "A platform-agnostic mechanism for creating rendering surfaces for use with other graphics libraries, such as OpenGL|ES and OpenVG." +) diff --git a/SIBR_viewers/cmake/linux/Modules/FindEmbree.cmake b/SIBR_viewers/cmake/linux/Modules/FindEmbree.cmake new file mode 100644 index 0000000000..0d07237f66 --- /dev/null +++ b/SIBR_viewers/cmake/linux/Modules/FindEmbree.cmake @@ -0,0 +1,94 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + +## Important Note: +## This is not an official Find*cmake. It has been written for searching through +## a custom path (EMBREE_DIR) before checking elsewhere. +## +## FindEMBREE.cmake +## Find EMBREE's includes and library +## +## This module defines : +## [in] EMBREE_DIR, The base directory to search for EMBREE (as cmake var or env var) +## [out] EMBREE_INCLUDE_DIR where to find EMBREE.h +## [out] EMBREE_LIBRARIES, EMBREE_LIBRARY, libraries to link against to use EMBREE +## [out] EMBREE_FOUND, If false, do not try to use EMBREE. +## + + +if(NOT EMBREE_DIR) + set(EMBREE_DIR "$ENV{EMBREE_DIR}" CACHE PATH "EMBREE root directory") +endif() +if(EMBREE_DIR) + file(TO_CMAKE_PATH ${EMBREE_DIR} EMBREE_DIR) +endif() + + +## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits) +if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(EMBREE_SEARCH_LIB "lib64") + set(EMBREE_SEARCH_BIN "bin64") + set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x64") +else() + set(EMBREE_SEARCH_LIB "lib32") + set(EMBREE_SEARCH_BIN "bin32") + set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x86") +endif() + +set(PROGRAMFILESx86 "PROGRAMFILES(x86)") + +FIND_PATH(EMBREE_INCLUDE_DIR + NAMES embree3/rtcore_geometry.h + PATHS + ${EMBREE_DIR} + ## linux + /usr + /usr/local + /opt/local + ## windows + "$ENV{PROGRAMFILES}/EMBREE" + "$ENV{${PROGRAMFILESx86}}/EMBREE" + "$ENV{ProgramW6432}/EMBREE" + PATH_SUFFIXES include +) + +FIND_LIBRARY(EMBREE_LIBRARY + NAMES embree3 + PATHS + ${EMBREE_DIR}/${EMBREE_SEARCH_LIB} + ${EMBREE_DIR}/lib + ## linux + /usr/${EMBREE_SEARCH_LIB} + /usr/local/${EMBREE_SEARCH_LIB} + /opt/local/${EMBREE_SEARCH_LIB} + /usr/lib + /usr/local/lib + /opt/local/lib + ## windows + "$ENV{PROGRAMFILES}/EMBREE/${EMBREE_SEARCH_LIB}" + "$ENV{${PROGRAMFILESx86}}/EMBREE/${EMBREE_SEARCH_LIB}" + "$ENV{ProgramW6432}/EMBREE/${EMBREE_SEARCH_LIB}" + "$ENV{PROGRAMFILES}/EMBREE/lib" + "$ENV{${PROGRAMFILESx86}}/EMBREE/lib" + "$ENV{ProgramW6432}/EMBREE/lib" + PATH_SUFFIXES ${EMBREE_SEARCH_LIB_PATHSUFFIXE} +) +set(EMBREE_LIBRARIES ${EMBREE_LIBRARY}) + +MARK_AS_ADVANCED(EMBREE_INCLUDE_DIR EMBREE_LIBRARIES) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(EMBREE + REQUIRED_VARS EMBREE_INCLUDE_DIR EMBREE_LIBRARIES + FAIL_MESSAGE "EMBREE wasn't found correctly. Set EMBREE_DIR to the root SDK installation directory." +) + +if(NOT EMBREE_FOUND) + set(EMBREE_DIR "" CACHE STRING "Path to EMBREE install directory") +endif() diff --git a/SIBR_viewers/cmake/linux/Modules/FindFFMPEG.cmake b/SIBR_viewers/cmake/linux/Modules/FindFFMPEG.cmake new file mode 100644 index 0000000000..e60cee8d81 --- /dev/null +++ b/SIBR_viewers/cmake/linux/Modules/FindFFMPEG.cmake @@ -0,0 +1,110 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## Try to find the FFMPEG library +## Once done this will define +## +## FFMPEG_FOUND - system has FFmpeg +## FFMPEG_INCLUDE_DIR - The FFmpeg include directory +## FFMPEG_LIBRARIES - The libraries needed to use FFmpeg +## FFMPEG_DYNAMIC_LIBS - DLLs for windows + + +if(NOT FFMPEG_DIR) + set(FFMPEG_DIR "$ENV{FFMPEG_DIR}" CACHE PATH "FFMPEG_DIR root directory") +endif() + +if(FFMPEG_DIR) + file(TO_CMAKE_PATH ${FFMPEG_DIR} FFMPEG_DIR) +endif() + +MACRO(FFMPEG_FIND varname shortname headername) + + # Path to include dirs + FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS + NAMES "lib${shortname}/${headername}" + PATHS + "${FFMPEG_DIR}/include" # modify this to adapt according to OS/compiler + "/usr/include" + "/usr/include/ffmpeg" + ) + + #Add libraries + IF(${FFMPEG_${varname}_INCLUDE_DIRS} STREQUAL "FFMPEG_${varname}_INCLUDE_DIR-NOTFOUND") + MESSAGE(STATUS "Can't find includes for ${shortname}...") + ELSE() + FIND_LIBRARY(FFMPEG_${varname}_LIBRARIES + NAMES ${shortname} + PATHS + ${FFMPEG_DIR}/lib + "/usr/lib" + "/usr/lib64" + "/usr/local/lib" + "/usr/local/lib64" + ) + + # set libraries and other variables + SET(FFMPEG_${varname}_FOUND 1) + SET(FFMPEG_${varname}_INCLUDE_DIRS ${FFMPEG_${varname}_INCLUDE_DIR}) + SET(FFMPEG_${varname}_LIBS ${FFMPEG_${varname}_LIBRARIES}) + ENDIF() + ENDMACRO(FFMPEG_FIND) + +#Calls to ffmpeg_find to get librarires ------------------------------ +FFMPEG_FIND(LIBAVFORMAT avformat avformat.h) +FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h) +FFMPEG_FIND(LIBAVCODEC avcodec avcodec.h) +FFMPEG_FIND(LIBAVUTIL avutil avutil.h) +FFMPEG_FIND(LIBSWSCALE swscale swscale.h) + +# check if libs are found and set FFMPEG related variables +#SET(FFMPEG_FOUND "NO") +IF(FFMPEG_LIBAVFORMAT_FOUND + AND FFMPEG_LIBAVDEVICE_FOUND + AND FFMPEG_LIBAVCODEC_FOUND + AND FFMPEG_LIBAVUTIL_FOUND + AND FFMPEG_LIBSWSCALE_FOUND) + + # All ffmpeg libs are here + SET(FFMPEG_FOUND "YES") + SET(FFMPEG_INCLUDE_DIR ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}) + SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS}) + SET(FFMPEG_LIBRARIES + ${FFMPEG_LIBAVFORMAT_LIBS} + ${FFMPEG_LIBAVDEVICE_LIBS} + ${FFMPEG_LIBAVCODEC_LIBS} + ${FFMPEG_LIBAVUTIL_LIBS} + ${FFMPEG_LIBSWSCALE_LIBS} ) + + # add dynamic libraries + if(WIN32) + file(GLOB FFMPEG_DYNAMIC_LIBS "${FFMPEG_DIR}/bin/*.dll") + if(NOT FFMPEG_DYNAMIC_LIBS) + message("FFMPEG_DYNAMIC_LIBS is missing...") + endif() + set(FFMPEG_DYNAMIC_LIBS ${FFMPEG_DYNAMIC_LIBS} CACHE PATH "Windows dll location") +endif() + + mark_as_advanced(FFMPEG_INCLUDE_DIR FFMPEG_LIBRARY_DIRS FFMPEG_LIBRARIES FFMPEG_DYNAMIC_LIBS) +ELSE () + MESSAGE(STATUS "Could not find FFMPEG") +ENDIF() + + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(FFMPEG + REQUIRED_VARS FFMPEG_INCLUDE_DIR FFMPEG_LIBRARIES + FAIL_MESSAGE "FFmpeg wasn't found correctly. Set FFMPEG_DIR to the root SDK installation directory." +) + +if(NOT FFMPEG_FOUND) + set(FFMPEG_DIR "" CACHE STRING "Path to FFmpeg install directory") +endif() + diff --git a/SIBR_viewers/cmake/linux/Modules/FindGLFW.cmake b/SIBR_viewers/cmake/linux/Modules/FindGLFW.cmake new file mode 100644 index 0000000000..14263de436 --- /dev/null +++ b/SIBR_viewers/cmake/linux/Modules/FindGLFW.cmake @@ -0,0 +1,109 @@ +##============================================================================= +## +## Copyright (c) Kitware, Inc. +## All rights reserved. +## See LICENSE.txt for details. +## +## This software is distributed WITHOUT ANY WARRANTY; without even +## the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +## PURPOSE. See the above copyright notice for more information. +## +## Copyright 2016 Sandia Corporation. +## Copyright 2016 UT-Battelle, LLC. +## Copyright 2016 Los Alamos National Security. +## +## Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation, +## the U.S. Government retains certain rights in this software. +## Under the terms of Contract DE-AC52-06NA25396 with Los Alamos National +## Laboratory (LANL), the U.S. Government retains certain rights in +## this software. +## +##============================================================================= +# Try to find EGL library and include dir. +# Once done this will define +# +# GLFW_FOUND +# GLFW_INCLUDE_DIR +# GLFW_LIBRARY +# + +include(FindPackageHandleStandardArgs) + +if (WIN32) + find_path( GLFW_INCLUDE_DIR + NAMES + GLFW/glfw3.h + PATHS + ${PROJECT_SOURCE_DIR}/shared_external/glfw/include + ${PROJECT_SOURCE_DIR}/../shared_external/glfw/include + ${GLFW_LOCATION}/include + $ENV{GLFW_LOCATION}/include + $ENV{PROGRAMFILES}/GLFW/include + ${GLFW_LOCATION} + $ENV{GLFW_LOCATION} + DOC "The directory where GLFW/glfw3.h resides" ) + if(ARCH STREQUAL "x86") + find_library( GLFW_LIBRARY + NAMES + glfw3 + PATHS + ${GLFW_LOCATION}/lib + $ENV{GLFW_LOCATION}/lib + $ENV{PROGRAMFILES}/GLFW/lib + DOC "The GLFW library") + else() + find_library( GLFW_LIBRARY + NAMES + glfw3 + PATHS + ${GLFW_LOCATION}/lib + $ENV{GLFW_LOCATION}/lib + $ENV{PROGRAMFILES}/GLFW/lib + DOC "The GLFW library") + endif() +endif () + +if (${CMAKE_HOST_UNIX}) + message("GFLW LOCATION " $ENV{GLFW_LOCATION} ) + find_path( GLFW_INCLUDE_DIR + NAMES + GLFW/glfw3.h + PATHS +# ${GLFW_LOCATION}/include + $ENV{GLFW_LOCATION}/include +# /usr/include +# /usr/local/include +# /sw/include +# /opt/local/include +# NO_DEFAULT_PATH + DOC "The directory where GLFW/glfw3.h resides" + ) + find_library( GLFW_LIBRARY + NAMES + glfw3 glfw + PATHS +# ${GLFW_LOCATION}/lib + $ENV{GLFW_LOCATION}/lib + $ENV{GLFW_LOCATION}/lib64 +# /usr/lib64 +# /usr/lib +# /usr/local/lib64 +# /usr/local/lib +# /sw/lib +# /opt/local/lib +# /usr/lib/x86_64-linux-gnu +# NO_DEFAULT_PATH + DOC "The GLFW library") + + set( GLFW_INCLUDE_DIR $ENV{GLFW_LOCATION}/include ) + set( GLFW_LIBRARY $ENV{GLFW_LOCATION}/lib64/libglfw3.a ) + message("*************==========> FindGLFW .cmake " ${GLFW_INCLUDE_DIR} " LIB " ${GLFW_LIBRARY} ) +endif () + +find_package_handle_standard_args(GLFW DEFAULT_MSG + GLFW_INCLUDE_DIR + GLFW_LIBRARY +) + +mark_as_advanced( GLFW_FOUND ) + diff --git a/SIBR_viewers/cmake/linux/Win3rdParty.cmake b/SIBR_viewers/cmake/linux/Win3rdParty.cmake new file mode 100644 index 0000000000..7e42fbb9f4 --- /dev/null +++ b/SIBR_viewers/cmake/linux/Win3rdParty.cmake @@ -0,0 +1,337 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## This file should be include and use only on WIN32 OS and once +## It allow to auto check/download and use a preconfigured 3rdParty binaries for cmake usage +## It use the downloadAndExtractZipFile cmake module to work. +## +if(__Win3rdParty_cmake_INCLUDED__) + return() +else() + set(__Win3rdParty_cmake_INCLUDED__ ON) +endif() + + +## +## To be sure to reset an empty cached variable but keep any other kind of variables +## +## Usage: +## check_cached_var( [FORCE]) +## +## is the cached cmake variable you need to reset +## is the new default value of the reseted cached cmake variable +## is the kind of GUI cache input can be : FILEPATH; PATH; STRING or BOOL +## is the associated GUI cache input documentation display in the GUI +## FORCE option could be use to reset a cached variable even if it is not empty. +## +macro(check_cached_var var resetedCachedValue cacheType cacheDoc) + # message(STATUS "inside check_cached_var macro. argn=${ARGN}") + cmake_parse_arguments(ccv "FORCE" "" "" ${ARGN}) + + if(ccv_FORCE) + set(FORCE FORCE) + else() + set(FORCE ) + endif() + + if(NOT ${var} OR ccv_FORCE) + unset(${var} CACHE) + # message(STATUS "setting new cache value. var ${var} = ${resetedCachedValue}") + set(${var} "${resetedCachedValue}" CACHE ${cacheType} "${cacheDoc}" ${FORCE}) + endif() +endmacro() + + +## +## Win3rdParty function allow to specify a directory which contain all necessary windows dependenties. +## By uploading 3rdParty directory (which contain dependencies, *.lib, *.dll... for a specific version of compiler) onto Gforge file tab, +## you get back an URL of download you can give to this function with a directory name. So you can provide multiple 3rdParty version of same dependencies (MSVC11, MSVC12...). +## By providing a prefix to this function, you allow to use different kind of 3rdParty which can be handled by CMAKE OPTIONS depending on what your framework need for example. +## +## Usage 1: +## Win3rdParty( MSVC +## [MSVC ] [...] +## [VCID] [DEFAULT_USE] [VERBOSE] ) +## +## * allow to identify which 3rdParty you process (prefix name) +## * MSVC flag could be MSVC11 or MSVC12 (any element of the MSVC_VERSIONS_LIST) and refer to a 3rdParty compiler with : +## * which will be the local pathName of the downloaded 3rdParty : relative to CMAKE_BINARY_DIR +## * which is the link location of the 3rdParty zip +## * VCID flag will make available a cache variable ${prefix}_WIN3RDPARTY_VCID +## * DEFAULT_USE flag [ON|OFF] may be used to set default value of cmake cached variable : _WIN3RDPARTY_USE [default to ON] +## +## WARNING: +## This function define CACHE variables you can use after : +## * ${prefix}_WIN3RDPARTY_USE : allow to check/downloaded win3rdParty dir (it will force the cached variables for this dependency folder generally _DIR>) +## * ${prefix}_WIN3RDPARTY_DIR : where is your local win3rdParty dir (the PATH) +## * ${prefix}_WIN3RDPARTY_VCID : [if VCID flag is used] the MSVC id (commonly used to prefix/suffix library name, see boost or CGAL) +## +## If you want to add a win3rdParty version, please: +## 1- build dependencies on your local side with the compiler you want +## 2- build your own zip with your built dependencies +## 3- upload it (onto the forge where the project is stored) and copy the link location in order to use it for this function +## 4- if you just introduced a new MSVC version, add it to the MSVC_VERSIONS_LIST bellow +## +## In a second pass, you can also use this function to set necessary cmake cached variables in order to let cmake find packages of these 3rdParty. +## +## Usage 2: +## win3rdParty( [VERBOSE] MULTI_SET|SET +## CHECK_CACHED_VAR [LIST] [DOC ] +## [ CHECK_CACHED_VAR [LIST] [DOC ] ] [...] +## +## * MULTI_SET or SET flags are used to tell cmake that all next arguments will use repeated flags with differents entries (SET mean we will provide only one set of arguments, without repetition) +## * CHECK_CACHED_VAR are the repeated flag which contain differents entries +## * is the cmake variable you want to be cached for the project +## * is the kind of cmake variable (couble be: FILEPATH; PATH; STRING or BOOL) => see check_cached_var. +## * LIST optional flag could be used with CHECK_CACHED_VAR when = STRING. It allow to handle multiple STRINGS value list. +## * is the value of the variable (if FILEPATH, PATH or STRING: use quotes, if BOOL : use ON/OFF) +## * DOC optional flag is used to have a tooltips info about this new cmake variable entry into the GUI (use quotes). +## +## Full example 1 : +## win3rdParty(COMMON MSVC11 "win3rdParty-MSVC11" "https://path.to/an.archive.7z" +## SET CHECK_CACHED_VAR SuiteSparse_DIR PATH "SuiteSparse-4.2.1" DOC "default empty doc" +## ) +## +## WARNING: +## For the 2nd usage (with MULTI_SET), if you planned to set some CACHED_VAR using/composed by ${prefix}_WIN3RDPARTY_* just set in this macro (usage 1), +## then (due to the not yet existing var) you will need to call this function 2 times : +## One for the 1st usage (downloading of the current compiler 3rdParty). +## One for the MLUTI_SET flag which will use existsing ${prefix}_WIN3RDPARTY_* cached var. +## +## Full example 2 : +## win3rdParty(COMMON MSVC11 "win3rdParty-MSVC11" "https://path.to/an.archive.7z") +## win3rdParty(COMMON MULTI_SET +## CHECK_CACHED_VAR CGAL_INCLUDE_DIR PATH "CGAL-4.3/include" DOC "default empty doc" +## CHECK_CACHED_VAR CGAL_LIBRARIES STRING LIST "debug;CGAL-4.3/lib${LIB_POSTFIX}/CGAL-${WIN3RDPARTY_COMMON_VCID}-mt-gd-4.3.lib;optimized;CGAL-4.3/lib${LIB_POSTFIX}/CGAL-${WIN3RDPARTY_COMMON_VCID}-mt-4.3.lib" +## +## +## WARNING: This function use internaly : +## * downloadAndExtractZipFile.cmake +## * parse_arguments_multi.cmake +## * check_cached_var macro +## +function(win3rdParty prefix ) + + # ARGV: list of all arguments given to the macro/function + # ARGN: list of remaining arguments + + if(NOT WIN32) + return() + endif() + + ## set the handled version of MSVC + ## if you plan to add a win3rdParty dir to download with a new MSVC version: build the win3rdParty dir and add the MSCV entry here. + set(MSVC_VERSIONS_LIST "MSVC17;MSVC11;MSVC12;MSVC14") + + #include(CMakeParseArguments) # CMakeParseArguments is obsolete since cmake 3.5 + # cmake_parse_arguments ( args) + # : options (flags) pass to the macro + # : options that neeed a value + # : options that neeed more than one value + cmake_parse_arguments(w3p "VCID" "VERBOSE;TIMEOUT;DEFAULT_USE" "${MSVC_VERSIONS_LIST};MULTI_SET;SET" ${ARGN}) + + # message(STATUS "value of w3p_VCID = ${w3p_VCID}") + # message(STATUS "value of w3p_VERBOSE = ${w3p_VERBOSE}") + # message(STATUS "value of w3p_TIMEOUT = ${w3p_TIMEOUT}") + # message(STATUS "value of w3p_DEFAULT_USE = ${w3p_DEFAULT_USE}") + + # foreach (loop_var ${MSVC_VERSIONS_LIST}) + # message(STATUS "value of w3p_${loop_var} = ${w3p_${loop_var}}") + # endforeach(loop_var) + + # message(STATUS "value of w3p_MULTI_SET = ${w3p_MULTI_SET}") + # message(STATUS "value of w3p_SET = ${w3p_SET}") + + # message("values for MSVC = ${w3p_MSVC14}") + + if(NOT w3p_TIMEOUT) + set(w3p_TIMEOUT 300) + endif() + + if(NOT DEFINED w3p_DEFAULT_USE) + set(w3p_DEFAULT_USE ON) + endif() + + + ## 1st use (check/update|download) : + set(${prefix}_WIN3RDPARTY_USE ${w3p_DEFAULT_USE} CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist") + + + ## We want to test if each version of MSVC was filled by the function (see associated parameters) + ## As CMake is running only for one version of MSVC, if that MSVC version was filled, we get back associated parameters, + ## otherwise we can't use the downloadAndExtractZipFile with win3rdParty. + set(enableWin3rdParty OFF) + + foreach(MSVC_VER ${MSVC_VERSIONS_LIST}) + if(${MSVC_VER} AND w3p_${MSVC_VER} OR ${MSVC_TOOLSET_VERSION} EQUAL 143 AND ${MSVC_VER} STREQUAL "MSVC17") + list(LENGTH w3p_${MSVC_VER} count) + if("${count}" LESS "2") + #message(WARNING "You are using ${MSVC_VER} with ${prefix}_WIN3RDPARTY_USE=${${prefix}_WIN3RDPARTY_USE}, but win3rdParty function isn't filled for ${MSVC_VER}!") + else() + list(GET w3p_${MSVC_VER} 0 Win3rdPartyName) + list(GET w3p_${MSVC_VER} 1 Win3rdPartyUrl) + if(w3p_VCID) + ## try to get the VcId of MSVC. See also MSVC_VERSION cmake var in the doc. + string(REGEX REPLACE "MS([A-Za-z_0-9-]+)" "\\1" vcId ${MSVC_VER}) + string(TOLOWER ${vcId} vcId) + set(${prefix}_WIN3RDPARTY_VCID "${vcId}0" CACHE STRING "the MSVC id (commonly used to prefix/suffix library name, see boost or CGAL)") + mark_as_advanced(${prefix}_WIN3RDPARTY_VCID) + endif() + set(enableWin3rdParty ON) + set(suffixCompilerID ${MSVC_VER}) + break() + endif() + endif() + endforeach() + ## If previous step succeed to get MSVC dirname and URL of the current MSVC version, use it to auto download/update the win3rdParty dir + if(enableWin3rdParty AND ${prefix}_WIN3RDPARTY_USE) + + if(IS_ABSOLUTE "${Win3rdPartyName}") + else() + set(Win3rdPartyName "${CMAKE_BINARY_DIR}/${Win3rdPartyName}") + endif() + + if(NOT EXISTS "${Win3rdPartyName}") + file(MAKE_DIRECTORY ${Win3rdPartyName}) + endif() + + include(downloadAndExtractZipFile) + downloadAndExtractZipFile( "${Win3rdPartyUrl}" ## URL link location + "Win3rdParty-${prefix}-${suffixCompilerID}.7z" ## where download it: relative path, so default to CMAKE_BINARY_DIR + "${Win3rdPartyName}" ## where extract it : fullPath (default relative to CMAKE_BINARY_DIR) + CHECK_DIRTY_URL "${Win3rdPartyName}/Win3rdPartyUrl" ## last downloaded url file : fullPath (default relative to CMAKE_BINARY_DIR) + TIMEOUT ${w3p_TIMEOUT} + VERBOSE ${w3p_VERBOSE} + ) + file(GLOB checkDl "${Win3rdPartyName}/*") + list(LENGTH checkDl checkDlCount) + if("${checkDlCount}" GREATER "1") + else() + message("The downloadAndExtractZipFile didn't work...?") + set(enableWin3rdParty OFF) + endif() + endif() + + ## Try to auto set ${prefix}_WIN3RDPARTY_DIR or let user set it manually + set(${prefix}_WIN3RDPARTY_DIR "" CACHE PATH "windows ${Win3rdPartyName} dir to ${prefix} dependencies of the project") + + if(NOT ${prefix}_WIN3RDPARTY_DIR AND ${prefix}_WIN3RDPARTY_USE) + if(EXISTS "${Win3rdPartyName}") + unset(${prefix}_WIN3RDPARTY_DIR CACHE) + set(${prefix}_WIN3RDPARTY_DIR "${Win3rdPartyName}" CACHE PATH "dir to ${prefix} dependencies of the project") + endif() + endif() + + if(EXISTS ${${prefix}_WIN3RDPARTY_DIR}) + message(STATUS "Found a 3rdParty ${prefix} dir : ${${prefix}_WIN3RDPARTY_DIR}.") + set(enableWin3rdParty ON) + elseif(${prefix}_WIN3RDPARTY_USE) + message(WARNING "${prefix}_WIN3RDPARTY_USE=${${prefix}_WIN3RDPARTY_USE} but ${prefix}_WIN3RDPARTY_DIR=${${prefix}_WIN3RDPARTY_DIR}.") + set(enableWin3rdParty OFF) + endif() + + ## Final check + if(NOT enableWin3rdParty) + message("Disable ${prefix}_WIN3RDPARTY_USE (cmake cached var will be not set), due to a win3rdParty problem.") + message("You still can set ${prefix}_WIN3RDPARTY_DIR to an already downloaded Win3rdParty directory location.") + set(${prefix}_WIN3RDPARTY_USE OFF CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist" FORCE) + endif() + + ## 2nd use : handle multi values args to set cached cmake variables in order to ease the next find_package call + if(${prefix}_WIN3RDPARTY_USE AND ${prefix}_WIN3RDPARTY_DIR) + if(w3p_VERBOSE) + message(STATUS "Try to set cmake cached variables for ${prefix} required libraries directly from : ${${prefix}_WIN3RDPARTY_DIR}.") + endif() + + include(parse_arguments_multi) + # message (STATUS "before defining an override of parse_arguments_multi_function") + function(parse_arguments_multi_function ) ## overloaded function to handle all CHECK_CACHED_VAR values list (see: parse_arguments_multi) + # message(STATUS "inside overloaded parse_arguments_multi_function defined in Win3rdParty.cmake") + # message(STATUS ${ARGN}) + ## we know the function take 3 args : var cacheType resetedCachedValue (see check_cached_var) + cmake_parse_arguments(pamf "" "DOC" "LIST" ${ARGN}) + + ## var and cacheType are mandatory (with the resetedCachedValue) + set(var ${ARGV0}) + set(cacheType ${ARGV1}) + # message(STATUS "var=${var} and cacheType=${cacheType} list=${pamf_LIST}") + if(pamf_DOC) + set(cacheDoc ${pamf_DOC}) + else() + set(cacheDoc "") + endif() + if(pamf_LIST) + set(value ${pamf_LIST}) + else() + # message("USING ARGV2 with value ${ARGV2}") + set(value ${ARGV2}) + endif() + # message("inside override function in Win3rdparty.cmake value+ ${value}") + if("${cacheType}" MATCHES "PATH" AND EXISTS "${${prefix}_WIN3RDPARTY_DIR}/${value}") + # message("math with path") + set(resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}/${value}") ## path relative to ${prefix}_WIN3RDPARTY_DIR + elseif ("${cacheType}" MATCHES "PATH" AND EXISTS "${${prefix}_WIN3RDPARTY_DIR}") + set(resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}") ## path relative to ${prefix}_WIN3RDPARTY_DIR + elseif("${cacheType}" MATCHES "STRING") + foreach(var IN LISTS value) + if(EXISTS "${${prefix}_WIN3RDPARTY_DIR}/${var}") + list(APPEND resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}/${var}") ## string item of the string list is a path => make relative to ${prefix}_WIN3RDPARTY_DIR + else() + list(APPEND resetedCachedValue ${var}) ## string item of the string list is not an existing path => simply use the item + endif() + endforeach() + else() + set(resetedCachedValue "${value}") ## could be a BOOL or a STRING + endif() + + ## call our macro to reset cmake cache variable if empty + check_cached_var(${var} "${resetedCachedValue}" ${cacheType} "${cacheDoc}" FORCE) + + endfunction() + # message (STATUS "after defining an override of parse_arguments_multi_function") + + if(w3p_MULTI_SET) + parse_arguments_multi(CHECK_CACHED_VAR w3p_MULTI_SET ${w3p_MULTI_SET}) ## internaly will call our overloaded parse_arguments_multi_function + elseif(w3p_SET) + # message("calling set version of parse_arguments_multi with w3p_set = ${w3p_SET}") + parse_arguments_multi(CHECK_CACHED_VAR w3p_SET ${w3p_SET}) + endif() + + endif() + +endfunction() + +## cmake variables introspection to globally activate/deactivate ${prefix}_WIN3RDPARTY_USE +## This "one shot" call (only one for the next cmake configure) will automatically then reset the global variable WIN3RDPARTY_USE to UserDefined (do nothing). +## use (call it) before and after the call of all your win3rdParty functions +function(Win3rdPartyGlobalCacheAction ) + set(WIN3RDPARTY_USE "UserDefined" CACHE STRING "Choose how to handle all cmake cached *_WIN3RDPARTY_USE for the next configure.\nCould be:\nUserDefined [default]\nActivateAll\nDesactivateAll" ) + set_property(CACHE WIN3RDPARTY_USE PROPERTY STRINGS "UserDefined;ActivateAll;DesactivateAll" ) + if(${WIN3RDPARTY_USE} MATCHES "UserDefined") + else() + if(${WIN3RDPARTY_USE} MATCHES "ActivateAll") + set(win3rdPvalue ON) + elseif(${WIN3RDPARTY_USE} MATCHES "DesactivateAll") + set(win3rdPvalue OFF) + endif() + get_cmake_property(_variableNames CACHE_VARIABLES) + foreach (_variableName ${_variableNames}) + string(REGEX MATCH "[A-Za-z_0-9-]+_WIN3RDPARTY_USE" win3rdpartyUseCacheVar ${_variableName}) + if(win3rdpartyUseCacheVar) + string(REGEX REPLACE "([A-Za-z_0-9-]+_WIN3RDPARTY_USE)" "\\1" win3rdpartyUseCacheVar ${_variableName}) + set(${win3rdpartyUseCacheVar} ${win3rdPvalue} CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist" FORCE) + message(STATUS "${win3rdpartyUseCacheVar} cached variable set to ${win3rdPvalue}.") + endif() + endforeach() + set(WIN3RDPARTY_USE "UserDefined" CACHE STRING "Choose how to handle all cmake cached *_WIN3RDPARTY_USE for the next configure.\nCould be:\nUserDefined [default]\nActivateAll\nDesactivateAll" FORCE) + message(STATUS "reset WIN3RDPARTY_USE to UserDefined.") + endif() + mark_as_advanced(WIN3RDPARTY_USE) +endfunction() diff --git a/SIBR_viewers/cmake/linux/cmake_policies.cmake b/SIBR_viewers/cmake/linux/cmake_policies.cmake new file mode 100644 index 0000000000..679fd8427d --- /dev/null +++ b/SIBR_viewers/cmake/linux/cmake_policies.cmake @@ -0,0 +1,19 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +if(__set_policies_INCLUDED__) + return() +else() + set(__set_policies_INCLUDED__ ON) +endif() + +macro(setPolicies) + # No more policies to enforce +endmacro() diff --git a/SIBR_viewers/cmake/linux/dependencies.cmake b/SIBR_viewers/cmake/linux/dependencies.cmake new file mode 100644 index 0000000000..28eb3ba31d --- /dev/null +++ b/SIBR_viewers/cmake/linux/dependencies.cmake @@ -0,0 +1,324 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## Included once for all sub project. +## It contain the whole cmake instructions to find necessary common dependencies. +## 3rdParty (provided by sibr_addlibrary win3rdParty or from external packages) are then available in cmake sub projects. +## +## Do not include this file more than once but you can modify it to fit to your own project. +## So please, read it carefully because you can use on of these dependencies for your project or appen new one. +## +## As it is included after camke options, you can use conditional if()/endif() to encapsulate your 3rdParty. +## + +## win3rdParty function allowing to auto check/download/update binaries dependencies for current windows compiler +## Please open this file in order to get more documentation and usage examples. +include(Win3rdParty) + +include(sibr_library) + +Win3rdPartyGlobalCacheAction() + +find_package(OpenGL REQUIRED) + +set(OpenGL_GL_PREFERENCE "GLVND") + +############ +## Find GLEW +############ +##for headless rendering +find_package(EGL QUIET) + +if(EGL_FOUND) + add_definitions(-DGLEW_EGL) + message("Activating EGL support for headless GLFW/GLEW") +else() + message("EGL not found : EGL support for headless GLFW/GLEW is disabled") +endif() + +if (MSVC11 OR MSVC12) + set(glew_multiset_arguments + 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 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" + CHECK_CACHED_VAR GLEW_STATIC_LIBRARY_RELEASE PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32s.lib" + CHECK_CACHED_VAR GLEW_SHARED_LIBRARY_DEBUG PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32d.lib" + CHECK_CACHED_VAR GLEW_STATIC_LIBRARY_DEBUG PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32sd.lib" + ) +else () + message("There is no provided GLEW library for your compiler, relying on find_package to find it") +endif() +sibr_addlibrary(NAME GLEW #VERBOSE ON + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/glew-1.10.0.7z" + MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/glew-1.10.0.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glew-2.0.0.7z" # using recompiled version of glew + MULTI_SET ${glew_multiset_arguments} +) +set(GLEW_VERBOSE ON) +FIND_PACKAGE(GLEW REQUIRED) +IF(GLEW_FOUND) + INCLUDE_DIRECTORIES(${GLEW_INCLUDE_DIR}) +ELSE(GLEW_FOUND) + MESSAGE("GLEW not found. Set GLEW_DIR to base directory of GLEW.") +ENDIF(GLEW_FOUND) + + +############## +## Find ASSIMP +############## +if (MSVC11 OR MSVC12) + set(assimp_set_arguments + CHECK_CACHED_VAR ASSIMP_DIR PATH "Assimp_3.1_fix" + ) +elseif (MSVC14 OR MSVC17) + set(assimp_set_arguments + CHECK_CACHED_VAR ASSIMP_DIR PATH "Assimp-4.1.0" + ) +else () + message("There is no provided ASSIMP library for your compiler, relying on find_package to find it") +endif() + +sibr_addlibrary(NAME ASSIMP #VERBOSE ON + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/Assimp_3.1_fix.7z" + MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/Assimp_3.1_fix.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/Assimp-4.1.0.7z" + MULTI_SET + ${assimp_set_arguments} +) + +find_package(ASSIMP REQUIRED) +include_directories(${ASSIMP_INCLUDE_DIR}) + +################ +## Find FFMPEG +################ +sibr_addlibrary(NAME FFMPEG + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/ffmpeg.zip" + MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/ffmpeg.zip" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/ffmpeg-4.0.2-win64-win3rdParty.7z" + SET CHECK_CACHED_VAR FFMPEG_DIR PATH ${FFMPEG_WIN3RDPARTY_DIR} +) +find_package(FFMPEG) +include_directories(${FFMPEG_INCLUDE_DIR}) +## COMMENT OUT ALL FFMPEG FOR CLUSTER + +################### +## Find embree3 +################### +sibr_addlibrary( + NAME embree3 + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/embree2.7.0.x64.windows.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/embree-3.6.1.x64.vc14.windows.7z" # TODO SV: provide a valid version if required +) + +# CLUSTER +#find_package(embree 3.0 REQUIRED PATHS "/data/graphdeco/share/embree/usr/local/lib64/cmake/" ) +find_package(embree 3.0 ) + +################### +## Find eigen3 +################### +sibr_addlibrary( + NAME eigen3 + #MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/eigen-eigen-dc6cfdf9bcec.7z" + #MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/eigen-eigen-dc6cfdf9bcec.7z" # TODO SV: provide a valid version if required + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/eigen3.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/eigen3.7z" + SET CHECK_CACHED_VAR eigen3_DIR PATH "eigen/share/eigen3/cmake" +) +include_directories(/usr/include/eigen3) +add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_ZERO) + +############# +## Find Boost +############# +set(Boost_REQUIRED_COMPONENTS "system;chrono;filesystem;date_time" CACHE INTERNAL "Boost Required Components") + +if (WIN32) + # boost multiset arguments + if (MSVC11 OR MSVC12) + set(boost_multiset_arguments + CHECK_CACHED_VAR BOOST_ROOT PATH "boost_1_55_0" + CHECK_CACHED_VAR BOOST_INCLUDEDIR PATH "boost_1_55_0" + CHECK_CACHED_VAR BOOST_LIBRARYDIR PATH "boost_1_55_0/${LIB_BUILT_DIR}" + #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 OR MSVC17) + set(boost_multiset_arguments + CHECK_CACHED_VAR BOOST_ROOT PATH "boost-1.71" + CHECK_CACHED_VAR BOOST_INCLUDEDIR PATH "boost-1.71" + CHECK_CACHED_VAR BOOST_LIBRARYDIR PATH "boost-1.71/${LIB_BUILT_DIR}" + CHECK_CACHED_VAR Boost_COMPILER STRING "-vc141" DOC "vcid (eg: -vc110 for MSVC11)" # NOTE: if it doesnt work, uncomment this option and set the right value for VisualC id + ) + + option(BOOST_MINIMAL_VERSION "Only get minimal Boost dependencies" ON) + + if(${BOOST_MINIMAL_VERSION}) + set(BOOST_MSVC14_ZIP "boost-1.71-ibr-minimal.7z") + else() + set(BOOST_MSVC14_ZIP "boost-1.71.7z") + endif() + else () + message("There is no provided Boost library for your compiler, relying on find_package to find it") + endif() + + sibr_addlibrary(NAME Boost VCID TIMEOUT 600 #VERBOSE ON + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/boost_1_55_0.7z" + MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/boost_1_55_0.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/${BOOST_MSVC14_ZIP}" # boost compatible with msvc14 + MULTI_SET ${boost_multiset_arguments} + CHECK_CACHED_VAR Boost_NO_SYSTEM_PATHS BOOL ON DOC "Set to ON to disable searching in locations not specified by these boost cached hint variables" + CHECK_CACHED_VAR Boost_NO_BOOST_CMAKE BOOL ON DOC "Set to ON to disable the search for boost-cmake (package cmake config file if boost was built with cmake)" + ) + if(NOT Boost_COMPILER AND Boost_WIN3RDPARTY_USE) + message(WARNING "Boost_COMPILER is not set and it's needed.") + endif() +endif() + +find_package(Boost 1.65.0 REQUIRED COMPONENTS ${Boost_REQUIRED_COMPONENTS}) +# for CLUSTER +##find_package(Boost 1.58.0 REQUIRED COMPONENTS ${Boost_REQUIRED_COMPONENTS}) + + +if(WIN32) + add_compile_options("$<$:/EHsc>") + #add_definitions(/EHsc) +endif() + +if(Boost_LIB_DIAGNOSTIC_DEFINITIONS) + add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS}) +endif() + +#if(WIN32) + add_definitions(-DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB) +#endif() + +include_directories(${BOOST_INCLUDEDIR} ${Boost_INCLUDE_DIRS}) +link_directories(${BOOST_LIBRARYDIR} ${Boost_LIBRARY_DIRS}) + + +############## +## Find OpenMP +############## +find_package(OpenMP) + +############## +## Find OpenCV +############## +if (WIN32) + if (${MSVC_TOOLSET_VERSION} EQUAL 143) + MESSAGE("SPECIAL OPENCV HANDLING") + set(opencv_set_arguments + CHECK_CACHED_VAR OpenCV_DIR PATH "install" ## see OpenCVConfig.cmake + ) + elseif (MSVC11 OR MSVC12) + set(opencv_set_arguments + CHECK_CACHED_VAR OpenCV_DIR PATH "opencv/build" ## see OpenCVConfig.cmake + ) + elseif (MSVC14) + set(opencv_set_arguments + CHECK_CACHED_VAR OpenCV_DIR PATH "opencv-4.5.0/build" ## see OpenCVConfig.cmake + ) + else () + message("There is no provided OpenCV library for your compiler, relying on find_package to find it") + endif() +else() + message("There is no provided OpenCV library for your compiler, relying on find_package to find it") +endif() + +sibr_addlibrary(NAME OpenCV #VERBOSE ON + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv.7z" + MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv-4.5.0.7z" # opencv compatible with msvc14 and with contribs + MSVC17 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv4-8.7z" + SET ${opencv_set_arguments} + ) +find_package(OpenCV 4.5 REQUIRED) ## Use directly the OpenCVConfig.cmake provided +## FOR CLUSTER +###find_package(OpenCV 4.5 REQUIRED PATHS "/data/graphdeco/share/opencv/usr/local/lib64/cmake/opencv4/" ) ## Use directly the OpenCVConfig.cmake provided + + ##https://stackoverflow.com/questions/24262081/cmake-relwithdebinfo-links-to-debug-libs +set_target_properties(${OpenCV_LIBS} PROPERTIES MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE) + +add_definitions(-DOPENCV_TRAITS_ENABLE_DEPRECATED) + +if(OpenCV_INCLUDE_DIRS) + foreach(inc ${OpenCV_INCLUDE_DIRS}) + if(NOT EXISTS ${inc}) + set(OpenCV_INCLUDE_DIR "" CACHE PATH "additional custom include DIR (in case of trouble to find it (fedora 17 opencv package))") + endif() + endforeach() + if(OpenCV_INCLUDE_DIR) + list(APPEND OpenCV_INCLUDE_DIRS ${OpenCV_INCLUDE_DIR}) + include_directories(${OpenCV_INCLUDE_DIRS}) + endif() +endif() + +################### +## Find GLFW +################### +sibr_addlibrary( + NAME glfw3 + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glfw-3.2.1.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glfw-3.2.1.7z" # TODO SV: provide a valid version if required + SET CHECK_CACHED_VAR glfw3_DIR PATH "glfw-3.2.1" +) + +### FOR CLUSTER COMMENT OUT lines above, uncomment lines below +##find_package(GLFW REQUIRED 3.3 ) +##message("***********=============> GLFW IS " ${GLFW_LIBRARY}) +##message("***********=============> GLFW IS " ${GLFW_LIBRARIES}) + +find_package(glfw3 REQUIRED) + +sibr_gitlibrary(TARGET imgui + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/imgui.git" + GIT_TAG "741fb3ab6c7e1f7cef23ad0501a06b7c2b354944" +) + +## FOR CLUSTER COMMENT OUT nativefiledialog +sibr_gitlibrary(TARGET nativefiledialog + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/nativefiledialog.git" + GIT_TAG "ae2fab73cf44bebdc08d997e307c8df30bb9acec" +) + + +sibr_gitlibrary(TARGET mrf + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/mrf.git" + GIT_TAG "30c3c9494a00b6346d72a9e37761824c6f2b7207" +) + +sibr_gitlibrary(TARGET nanoflann + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/nanoflann.git" + GIT_TAG "7a20a9ac0a1d34850fc3a9e398fc4a7618e8a69a" +) + +sibr_gitlibrary(TARGET picojson + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/picojson.git" + GIT_TAG "7cf8feee93c8383dddbcb6b64cf40b04e007c49f" +) + +sibr_gitlibrary(TARGET rapidxml + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/rapidxml.git" + GIT_TAG "069e87f5ec5ce1745253bd64d89644d6b894e516" +) + +sibr_gitlibrary(TARGET xatlas + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/xatlas.git" + GIT_TAG "0fbe06a5368da13fcdc3ee48d4bdb2919ed2a249" + INCLUDE_DIRS "source/xatlas" +) + +Win3rdPartyGlobalCacheAction() diff --git a/SIBR_viewers/cmake/linux/downloadAndExtractZipFile.cmake b/SIBR_viewers/cmake/linux/downloadAndExtractZipFile.cmake new file mode 100644 index 0000000000..7f5fc2bb08 --- /dev/null +++ b/SIBR_viewers/cmake/linux/downloadAndExtractZipFile.cmake @@ -0,0 +1,243 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## downloadAndExtractZipFile cmake function +## Provide a way to download zip file from public internet ZIP_URL host +## and to extract it in a specific EXCTRATED_ZIP_PATH destination. +## This function use 7-Zip external tool to maximize the compatibles formats. +## This will be not download again if the EXCTRATED_ZIP_PATH already exist and DL_FORCE is set to OFF. +## This will try to unzip file if already exist in the ZIP_DL_PATH. +## +## If EXCTRATED_ZIP_PATH and/or ZIP_DL_PATH are not full path, +## it will be interpreted relative to CMAKE_BINARY_DIR +## +## Usage example : +## include(downloadAndExtractZipFile) +## downloadAndExtractZipFile( +## http://www.cs.cornell.edu/~snavely/bundler/distr/bundler-v0.4-source.zip +## ${CMAKE_BINARY_DIR}/Bundler/bundler-v0.4-source.zip +## ${CMAKE_BINARY_DIR}/Bundler +## [DL_FORCE ON|OFF] +## [TIMEOUT] +## [CHECK_DIRTY_URL] +## ) +## +## option DL_FORCE will redownload the zip file [deafult to OFF] +## option TIMEOUT will end the unzip process after this period of time [default to 600s] +## option CHECK_DIRTY_URL will write into the given file the downloaded URL and then, +## next time, if the URL was updated, it detect it with this file +## and will download the last version. This prevent to alway set manually DL_FORCE to ON... +## +if(__downloadAndExtractZipFile_cmake_INCLUDED__) + return() +else() + set(__downloadAndExtractZipFile_cmake_INCLUDED__ ON) +endif() + +function(downloadAndExtractZipFile ZIP_URL ZIP_DL_PATH EXCTRATED_ZIP_PATH) + + # message(STATUS "zipUrl=${ZIP_URL} zipDlPath=${ZIP_DL_PATH} extractedZipPath=${EXCTRATED_ZIP_PATH}") + cmake_parse_arguments(dwnlezf "" "VERBOSE;DL_FORCE;TIMEOUT;CHECK_DIRTY_URL" "" ${ARGN}) + + set(PROGRAMFILESx86 "PROGRAMFILES(x86)") + + ## Check entries mandatory args + if(IS_ABSOLUTE "${ZIP_DL_PATH}") + else() + set(ZIP_DL_PATH "${CMAKE_BINARY_DIR}/${ZIP_DL_PATH}") + endif() + if(IS_ABSOLUTE "${EXCTRATED_ZIP_PATH}") + else() + set(EXCTRATED_ZIP_PATH "${CMAKE_BINARY_DIR}/${EXCTRATED_ZIP_PATH}") + endif() + if(NOT EXISTS "${EXCTRATED_ZIP_PATH}") + file(MAKE_DIRECTORY ${EXCTRATED_ZIP_PATH}) + endif() + + # SB: Once, one of downloaded zip was corrupted by an error message coming from the server. + if(EXISTS "${ZIP_DL_PATH}") + # So I check for removing such corrupted files + message("Removing previous ${ZIP_DL_PATH} (might be corrupted)") + file(REMOVE "${ZIP_DL_PATH}") + if(EXISTS "${dwnlezf_CHECK_DIRTY_URL}") + # and remove the previous (corrupted) made 'Win3rdPartyUrl' file + file(REMOVE "${dwnlezf_CHECK_DIRTY_URL}") + endif() + endif() + + ## Check entries optional args + macro(readDirtyUrl ) + if(dwnlezf_CHECK_DIRTY_URL) + if(IS_ABSOLUTE "${dwnlezf_CHECK_DIRTY_URL}") + else() + set(dwnlezf_CHECK_DIRTY_URL "${CMAKE_BINARY_DIR}/${dwnlezf_CHECK_DIRTY_URL}") + endif() + get_filename_component(unzipDir ${EXCTRATED_ZIP_PATH} NAME) + get_filename_component(unzipPath ${EXCTRATED_ZIP_PATH} PATH) + message(STATUS "Checking ${unzipDir} [from ${unzipPath}]...") + if(EXISTS "${dwnlezf_CHECK_DIRTY_URL}") + get_filename_component(CHECK_DIRTY_URL_FILENAME ${dwnlezf_CHECK_DIRTY_URL} NAME) + file(STRINGS "${dwnlezf_CHECK_DIRTY_URL}" contents) + list(GET contents 0 downloadURL) + list(REMOVE_AT contents 0) + if("${downloadURL}" MATCHES "${ZIP_URL}") + if(dwnlezf_VERBOSE) + message(STATUS "Your downloaded version (URL) seems to be up to date. Let me check if nothing is missing... (see ${dwnlezf_CHECK_DIRTY_URL}).") + endif() + file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? + unset(NAME_PATTERN_LIST) + foreach(realPathPattern ${PATHNAME_PATTERN_LIST}) + get_filename_component(itemName ${realPathPattern} NAME) + list(APPEND NAME_PATTERN_LIST ${itemName}) + endforeach() + if(NAME_PATTERN_LIST) + foreach(item ${contents}) + list(FIND NAME_PATTERN_LIST ${item} id) + if(${id} MATCHES "-1") + message(STATUS "${item} is missing, your downloaded version content changed, need to redownload it.") + set(ZIP_DL_FORCE ON) + break() + else() + list(REMOVE_AT NAME_PATTERN_LIST ${id}) + set(ZIP_DL_FORCE OFF) + endif() + endforeach() + if(NOT ZIP_DL_FORCE AND NAME_PATTERN_LIST) + message("Yours seems to be up to date (regarding to ${CHECK_DIRTY_URL_FILENAME})!\nBut there are additional files/folders into your downloaded destination (feel free to clean it if you want).") + foreach(item ${NAME_PATTERN_LIST}) + if(item) + message("${item}") + endif() + endforeach() + endif() + endif() + else() + set(ZIP_DL_FORCE ON) + message(STATUS "Your downloaded version is dirty (too old).") + endif() + else() + file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? + if(NOT PATHNAME_PATTERN_LIST) + message("We found nothing into ${EXCTRATED_ZIP_PATH}, we will try to download it for you now.") + endif() + set(ZIP_DL_FORCE ON) + endif() + endif() + endmacro() + readDirtyUrl() + if(NOT ZIP_DL_FORCE) + return() ## do not need to further (as we are up to date, just exit the function + endif() + + macro(writeDirtyUrl ) + if(dwnlezf_CHECK_DIRTY_URL) + file(WRITE "${dwnlezf_CHECK_DIRTY_URL}" "${ZIP_URL}\n") + file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? + unset(NAME_PATTERN_LIST) + foreach(realPathPattern ${PATHNAME_PATTERN_LIST}) + get_filename_component(itemName ${realPathPattern} NAME) + list(APPEND NAME_PATTERN_LIST ${itemName}) + endforeach() + if(NAME_PATTERN_LIST) + foreach(item ${NAME_PATTERN_LIST}) + file(APPEND "${dwnlezf_CHECK_DIRTY_URL}" "${item}\n") + endforeach() + endif() + endif() + endmacro() + + if(dwnlezf_DL_FORCE) + set(ZIP_DL_FORCE ON) + endif() + + if(NOT dwnlezf_TIMEOUT) + set(dwnlezf_TIMEOUT 600) + endif() + math(EXPR dwnlezf_TIMEOUT_MIN "${dwnlezf_TIMEOUT}/60") + + macro(unzip whichZipFile) + if(NOT SEVEN_ZIP_CMD) + find_program(SEVEN_ZIP_CMD NAMES 7z 7za p7zip DOC "7-zip executable" PATHS "$ENV{PROGRAMFILES}/7-Zip" "$ENV{${PROGRAMFILESx86}}/7-Zip" "$ENV{ProgramW6432}/7-Zip") + endif() + if(SEVEN_ZIP_CMD) + if(dwnlezf_VERBOSE) + message(STATUS "UNZIP: please, WAIT UNTIL ${SEVEN_ZIP_CMD} finished...\n(no more than ${dwnlezf_TIMEOUT_MIN} min)") + else() + message(STATUS "UNZIP...wait...") + endif() + execute_process( COMMAND ${SEVEN_ZIP_CMD} x ${whichZipFile} -y + WORKING_DIRECTORY ${EXCTRATED_ZIP_PATH} TIMEOUT ${dwnlezf_TIMEOUT} + RESULT_VARIABLE resVar OUTPUT_VARIABLE outVar ERROR_VARIABLE errVar + ) + if(${resVar} MATCHES "0") + if(dwnlezf_VERBOSE) + message(STATUS "SUCESS to unzip in ${EXCTRATED_ZIP_PATH}. Now we can remove the downloaded zip file.") + endif() + execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${whichZipFile}) + mark_as_advanced(SEVEN_ZIP_CMD) + else() + message(WARNING "something wrong in ${EXCTRATED_ZIP_PATH}\n with \"${SEVEN_ZIP_CMD} x ${whichZipFile} -y\", redo or try to unzip by yourself...") + message("unzip: resVar=${resVar}") + message("unzip: outVar=${outVar}") + message("unzip: errVar=${errVar}") + message("unzip: failed or canceled or timeout") + endif() + else() + message(WARNING "You need 7zip (http://www.7-zip.org/download.html) to unzip the downloaded dir.") + set(SEVEN_ZIP_CMD "" CACHE FILEPATH "7-zip executable") + mark_as_advanced(CLEAR SEVEN_ZIP_CMD) + endif() + endmacro() + + if(dwnlezf_VERBOSE) + message(STATUS "Trying to look ${ZIP_DL_PATH} if a zip file exist...") + endif() + if(EXISTS "${ZIP_DL_PATH}") + + ## already downloaded, so just unzip it + unzip(${ZIP_DL_PATH}) + writeDirtyUrl() + + elseif(ZIP_DL_FORCE) + + ## the download part (+ unzip) + message(STATUS "Let me try to download package for you : ${ZIP_URL}") + if(dwnlezf_VERBOSE) + message(STATUS "Downloading...\n SRC=${ZIP_URL}\n DEST=${ZIP_DL_PATH}.tmp\n INACTIVITY_TIMEOUT=180s") + endif() + file(DOWNLOAD ${ZIP_URL} ${ZIP_DL_PATH}.tmp INACTIVITY_TIMEOUT 360 STATUS status SHOW_PROGRESS) + + list(GET status 0 numResult) + if(${numResult} MATCHES "0") + + if(dwnlezf_VERBOSE) + message(STATUS "Download succeed, so let me rename the tmp file to unzip it") + endif() + execute_process(COMMAND ${CMAKE_COMMAND} -E rename ${ZIP_DL_PATH}.tmp ${ZIP_DL_PATH}) + unzip(${ZIP_DL_PATH}) + writeDirtyUrl() + + else() + + list(GET status 1 errMsg) + message(WARNING "DOWNLOAD ${ZIP_URL} to ${ZIP_DL_PATH} failed\n:${errMsg}") + message(WARNING "OK, you need to download the ${ZIP_URL} manually and put it into ${ZIP_DL_PATH}") + message("Take a look at the project website page to check available URL.") + + endif() + + endif() + + ## clean up the tmp downloaded file + if(EXISTS "${ZIP_DL_PATH}.tmp") + execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${ZIP_DL_PATH}.tmp) + endif() + +endfunction() diff --git a/SIBR_viewers/cmake/linux/git_describe.cmake b/SIBR_viewers/cmake/linux/git_describe.cmake new file mode 100644 index 0000000000..638d70bd94 --- /dev/null +++ b/SIBR_viewers/cmake/linux/git_describe.cmake @@ -0,0 +1,114 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +if(__git_describe_INCLUDED__) + return() +else() + set(__git_describe_INCLUDED__ ON) +endif() + +find_package(Git) +if(Git_FOUND) + message(STATUS "Git found: ${GIT_EXECUTABLE}") +else() + message(FATAL_ERROR "Git not found. Aborting") +endif() + +macro(git_describe) + cmake_parse_arguments(GIT_DESCRIBE "" "GIT_URL;GIT_BRANCH;GIT_COMMIT_HASH;GIT_TAG;GIT_VERSION;PATH" "" ${ARGN}) + + if(NOT GIT_DESCRIBE_PATH) + set(GIT_DESCRIBE_PATH ${CMAKE_SOURCE_DIR}) + endif() + + if(GIT_DESCRIBE_GIT_URL) + # Get the current remote + execute_process( + COMMAND git remote + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE GIT_DESCRIBE_GIT_REMOTE + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + + # Get the current remote + execute_process( + COMMAND git remote get-url ${GIT_DESCRIBE_GIT_REMOTE} + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_URL} + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + endif() + + if(GIT_DESCRIBE_GIT_BRANCH) + # Get the current working branch + execute_process( + COMMAND git rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_BRANCH} + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + endif() + + if(GIT_DESCRIBE_GIT_COMMIT_HASH) + # Get the latest abbreviated commit hash of the working branch + execute_process( + COMMAND git rev-parse HEAD + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_COMMIT_HASH} + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + endif() + + if(GIT_DESCRIBE_GIT_TAG) + # Get the tag + execute_process( + COMMAND git describe --tags --exact-match + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_TAG} + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + endif() + + if(GIT_DESCRIBE_GIT_VERSION) + # Get the version from git describe + execute_process( + COMMAND git describe + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_VERSION} + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + + if(${GIT_DESCRIBE_GIT_VERSION} STREQUAL "") + execute_process( + COMMAND git rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE GIT_DESCRIBE_GIT_VERSION_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + execute_process( + COMMAND git log -1 --format=%h + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE GIT_DESCRIBE_GIT_VERSION_COMMIT + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + + set(${GIT_DESCRIBE_GIT_VERSION} "${GIT_DESCRIBE_GIT_VERSION_BRANCH}-${GIT_DESCRIBE_GIT_VERSION_COMMIT}") + endif() + endif() + +endmacro() \ No newline at end of file diff --git a/SIBR_viewers/cmake/linux/include_once.cmake b/SIBR_viewers/cmake/linux/include_once.cmake new file mode 100644 index 0000000000..d28b39cfeb --- /dev/null +++ b/SIBR_viewers/cmake/linux/include_once.cmake @@ -0,0 +1,22 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +macro(include_once file) + get_filename_component(INCLUDE_ONCE_FILEPATH ${file} REALPATH) + string(REGEX REPLACE "(\\.|\\/+|\\:|\\\\+)" "_" INCLUDE_ONCE_FILEPATH ${INCLUDE_ONCE_FILEPATH}) + get_property(INCLUDED_${INCLUDE_ONCE_FILEPATH}_LOCAL GLOBAL PROPERTY INCLUDED_${INCLUDE_ONCE_FILEPATH}) + if (INCLUDED_${INCLUDE_ONCE_FILEPATH}_LOCAL) + return() + else() + set_property(GLOBAL PROPERTY INCLUDED_${INCLUDE_ONCE_FILEPATH} true) + + include(${file}) + endif() +endmacro() \ No newline at end of file diff --git a/SIBR_viewers/cmake/linux/install_runtime.cmake b/SIBR_viewers/cmake/linux/install_runtime.cmake new file mode 100644 index 0000000000..695c4b3309 --- /dev/null +++ b/SIBR_viewers/cmake/linux/install_runtime.cmake @@ -0,0 +1,887 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## This file is mainly used to allow runtime installation +## There are some utilities cmake functions to ease the generic deployement (abstract common usage of cmake)... +## +## You cannot run your programm automaticaly from your CNAKE_BINARY_DIR when you build +## as it will miss all dependencies and ressources files... +## You have to run install target in order to test your programm. +## +## The only one function/macros you may use inside your sub-CMakeLists.txt (sub-project) is : +## ****************** +## ibr_install_target macro => see documentation at the end of this file +## ****************** +## It use these utilities cmake functions to abstract the installation in an uniform way for all sub-projects. +## +if(__install_runtime_cmake_INCLUDED__) + return() +else() + set(__install_runtime_cmake_INCLUDED__ ON) +endif() + + +## +## Allow to write a resource config file which contain additional ressource paths +## (used by IBR_Common Resource system to load shaders and potentialy images, plugins and so on) +## +## ADD option list all the paths to add in the file (relative paths are interpreted relative to working dir of the executable) +## INSTALL option to specify where we want to install this file +## +## Example usage: +## resourceFile(ADD "shaders" "${PROJECT_NAME}_rsc" INSTALL bin) +## +macro(resourceFile) + cmake_parse_arguments(rsc "" "INSTALL;FILE_PATH;CONFIG_TYPE" "ADD" ${ARGN}) ## both args are directory path + + if(rsc_ADD) + unset(IBR_RSC_FILE_CONTENT_LIST) + if(EXISTS "${rsc_FILE_PATH}") + file(READ "${rsc_FILE_PATH}" IBR_RSC_FILE_CONTENT) + string(REGEX REPLACE "\n" ";" IBR_RSC_FILE_CONTENT_LIST "${IBR_RSC_FILE_CONTENT}") + endif() + list(APPEND IBR_RSC_FILE_CONTENT_LIST "${rsc_ADD}") + list(REMOVE_DUPLICATES IBR_RSC_FILE_CONTENT_LIST) + file(WRITE "${rsc_FILE_PATH}" "") + foreach(rscDir ${IBR_RSC_FILE_CONTENT_LIST}) + file(APPEND "${rsc_FILE_PATH}" "${rscDir}\n") + endforeach() + unset(rsc_ADD) + endif() + + if(rsc_INSTALL) + install(FILES ${rsc_FILE_PATH} CONFIGURATIONS ${rsc_CONFIG_TYPE} DESTINATION ${rsc_INSTALL}) + unset(rsc_INSTALL) + endif() +endmacro() + + +## +## Install *.pdb generated file for the current cmake project +## assuming the output target name is the cmake project name. +## This macro is useful for crossplateform multi config mode. +## +## Usage Example: +## +## if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based +## installPDB(${PROJECT_NAME} ${CMAKE_BUILD_TYPE} RUNTIME_DEST bin ARCHIVE_DEST lib LIBRARY_DEST lib) +## endif() +## foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) +## installPDB(${PROJECT_NAME} ${CONFIG_TYPES} RUNTIME_DEST bin ARCHIVE_DEST lib LIBRARY_DEST lib) +## endforeach() +## +macro(installPDB targetName configType) + cmake_parse_arguments(instpdb "" "COMPONENT" "ARCHIVE_DEST;LIBRARY_DEST;RUNTIME_DEST" ${ARGN}) ## both args are directory path + + if(NOT MSVC) + return() + endif() + + ## Check if DESTINATION are provided according to the TYPE of the given target (see install command doc to see correspodances) + get_target_property(type ${targetName} TYPE) + if(${type} MATCHES "EXECUTABLE" AND instpdb_RUNTIME_DEST) + set(pdb_DESTINATION ${instpdb_RUNTIME_DEST}) + elseif(${type} MATCHES "STATIC_LIBRARY" AND instpdb_ARCHIVE_DEST) + set(pdb_DESTINATION ${instpdb_ARCHIVE_DEST}) + elseif(${type} MATCHES "MODULE_LIBRARY" AND instpdb_LIBRARY_DEST) + set(pdb_DESTINATION ${instpdb_LIBRARY_DEST}) + elseif(${type} MATCHES "SHARED_LIBRARY") + if(WIN32 AND instpdb_RUNTIME_DEST) + set(pdb_DESTINATION ${instpdb_RUNTIME_DEST}) + else() + set(pdb_DESTINATION ${instpdb_LIBRARY_DEST}) + endif() + endif() + + if(NOT pdb_DESTINATION) + set(pdb_DESTINATION bin) ## default destination of the pdb file + endif() + + if(NOT instpdb_COMPONENT) + set(instpdb_COMPONENT ) + else() + set(instpdb_COMPONENT COMPONENT ${instpdb_COMPONENT}) + endif() + + string(TOUPPER ${configType} CONFIG_TYPES_UC) + get_target_property(PDB_PATH ${targetName} PDB_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}) + + get_target_property(confModePostfix ${targetName} ${CONFIG_TYPES_UC}_POSTFIX) + if(NOT confModePostfix) + set(confModePostfix "") + endif() + set_target_properties(${targetName} PROPERTIES PDB_NAME_${CONFIG_TYPES_UC} ${targetName}${confModePostfix}) + get_target_property(PDB_NAME ${targetName} PDB_NAME_${CONFIG_TYPES_UC})# if not set, this is empty + + if(EXISTS "${PDB_PATH}/${PDB_NAME}.pdb") + install(FILES "${PDB_PATH}/${PDB_NAME}.pdb" CONFIGURATIONS ${configType} DESTINATION ${pdb_DESTINATION} ${instpdb_COMPONENT} OPTIONAL) + endif() +endmacro() + + +## +## Add additional target to install a project independently and based on its component +## configMode is used to prevent default Release installation (we want also to install in other build/config type) +## +macro(installTargetProject targetOfProject targetOfInstallProject) + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + set(configMode ${CMAKE_BUILD_TYPE}) + elseif(MSVC) + ## $(Configuration) will be one of the following : Debug, Release, MinSizeRel, RelWithDebInfo + set(configMode $(Configuration)) + endif() + if(configMode) + get_target_property(srcFiles ${targetOfProject} SOURCES) + add_custom_target( ${targetOfInstallProject} #ALL + ${CMAKE_COMMAND} -DBUILD_TYPE=${configMode} -DCOMPONENT=${targetOfInstallProject} -P ${CMAKE_BINARY_DIR}/cmake_install.cmake + DEPENDS ${srcFiles} + COMMENT "run the installation only for ${targetOfProject}" VERBATIM + ) + add_dependencies(${targetOfInstallProject} ${targetOfProject}) + + get_target_property(INSTALL_BUILD_FOLDER ${targetOfProject} FOLDER) + set_target_properties(${targetOfInstallProject} PROPERTIES FOLDER ${INSTALL_BUILD_FOLDER}) + endif() +endmacro() + +# Collect all currently added targets in all subdirectories +# +# Parameters: +# - _result the list containing all found targets +# - _dir root directory to start looking from +function(get_all_targets _result _dir) + get_property(_subdirs DIRECTORY "${_dir}" PROPERTY SUBDIRECTORIES) + foreach(_subdir IN LISTS _subdirs) + get_all_targets(${_result} "${_subdir}") + endforeach() + + get_directory_property(_sub_targets DIRECTORY "${_dir}" BUILDSYSTEM_TARGETS) + set(${_result} ${${_result}} ${_sub_targets} PARENT_SCOPE) +endfunction() + +## +## Add targets for building and installing subdirectories +macro(subdirectory_target target directory build_folder) + add_custom_target(${target} + COMMENT "run build for all projects in this directory" VERBATIM + ) + get_all_targets(ALL_TARGETS ${directory}) + add_dependencies(${target} ${ALL_TARGETS}) + add_custom_target(${target}_install + ${CMAKE_COMMAND} -DBUILD_TYPE=$ -DCOMPONENT=${target}_install -P ${CMAKE_BINARY_DIR}/cmake_install.cmake + COMMENT "run install for all projects in this directory" VERBATIM + ) + add_dependencies(${target}_install ${target}) + + set_target_properties(${target} PROPERTIES FOLDER ${build_folder}) + set_target_properties(${target}_install PROPERTIES FOLDER ${build_folder}) +endmacro() + + +## CMAKE install all required dependencies for an application (included system OS files like msvc*.dll for example) +## +## install_runtime( +## [TARGET name] +## [PLUGINS name [nameN ...] [PLUGIN_PATH_NAME currentPathName [FROM_REL_PATH matchDirFromCurrentPathName] [PLUGIN_PATH_DEST installDir] ] +## [PLUGINS ...] +## [DIRS path [pathN ...] ] +## [TARGET_LIBRARIES filePath [filePathN ...] ] +## [TARGET_PACKAGES packageName [packageNameN ...] ] +## [COMPONENT installComponentName] +## [PLAUSIBLES_POSTFIX Debug_postfix [MinSizeRel_postfix relWithDebInfo_postfix ...] ] +## [VERBOSE] +## ) +## +## installedFilePathTargetAppToResolve : the final installed targetApp absolute full file path name you want to resolve +## +## TARGET : The target app we want to install. If given, it's used to look for link libraries paths (best choice to use, strongly advised to use it) +## +## PLUGINS : Some application built use/load some plugins which can't be detect inside its binary, +## so, here you can specify which plugins the application use/load in order to install them +## and resolve also there dependencies. +## With PLUGINS multi FLAGS : +## PLUGIN_PATH_NAME : The current plugin full file path we want to install +## FROM_REL_PATH : [optional: default only the file is kept] From which matching dir of the plugin path we want to install (keep the directories structure) +## PLUGIN_PATH_DEST : [optional: default relative to executable directory] Where (full path to the install directory) we will install the plugin file (or file path) +## +## DIRS : A list of directories to looking for dependencies +## TARGET_LIBRARIES : DEPRECATED (use TARGET flag instead) : The cmake content variables used for the target_link_libraries( ...) +## TARGET_PACKAGES : DEPRECATED (use TARGET flag instead) : The cmake package names used for the findPackage(...) for your targetApp +## ADVICE: This flag add entries in cache (like: _DIR), it could be useful to fill these variable! +## COMPONENT : (default to runtime) Is the component name associated to the installation +## It is used when you want to install separatly some part of your projets (see install cmake doc) +## VERBOSE : For debug or to get more informations in the output console +## +## Usage: +## install_runtime(${CMAKE_INSTALL_PREFIX}/${EXECUTABLE_NAME}${CMAKE_EXECUTABLE_SUFFIX} +## VERBOSE +## TARGET ${PROJECT_NAME} +## PLAUSIBLES_POSTFIX _d +## PLUGINS +## PLUGIN_PATH_NAME ${PLUGIN_PATH_NAME}${CMAKE_SHARED_MODULE_SUFFIX} ## will be installed (default exec path if no PLUGINS_DEST) and then will be resolved +## FROM_REL_PATH plugins ## optional, used especially for keeping qt plugins tree structure +## PLUGIN_PATH_DEST ${CMAKE_INSTALL_PREFIX}/plugins ## (or relative path 'plugins' will be interpreted relative to installed executable) +## DIRS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} +## TARGET_LIBRARIES ${OPENGL_LIBRARIES} ## DEPRECATED (use TARGET flag instead) +## ${GLEW_LIBRARIES} +## ${GLUT_LIBRARIES} +## ${Boost_LIBRARIES} +## ${SuiteSparse_LIBRARIES} +## ${CGAL_LIBRARIES} +## TARGET_PACKAGES OPENGL ## DEPRECATED (use TARGET flag instead) +## GLEW +## GLUT +## CGAL +## Boost +## SuiteSparse +## ) +## +## For plugins part, it use our internal parse_arguments_multi.cmake +## +function(install_runtime installedFilePathTargetAppToResolve) + set(optionsArgs "VERBOSE") + set(oneValueArgs "COMPONENT;INSTALL_FOLDER;CONFIG_TYPE") + set(multiValueArgs "DIRS;PLUGINS;TARGET_LIBRARIES;TARGET_PACKAGES;TARGET;PLAUSIBLES_POSTFIX") + cmake_parse_arguments(inst_run "${optionsArgs}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) + + if(IS_ABSOLUTE ${installedFilePathTargetAppToResolve}) + else() + set(installedFilePathTargetAppToResolve ${inst_run_INSTALL_FOLDER}/${installedFilePathTargetAppToResolve}) + endif() + + get_filename_component(EXEC_NAME ${installedFilePathTargetAppToResolve} NAME_WE) + get_filename_component(EXEC_PATH ${installedFilePathTargetAppToResolve} PATH) + + if(NOT inst_run_COMPONENT) + set(inst_run_COMPONENT runtime) + endif() + + + ## Try to append as more possible as possible paths to find dependencies (deprecated since we can use target_properties to get back paths) + set(libPaths ) + foreach(libraryFileName ${inst_run_TARGET_LIBRARIES}) + if(IS_DIRECTORY "${libraryFileName}") + list(APPEND libPaths "${libraryFileName}") + else() + get_filename_component(libpath "${libraryFileName}" PATH) + if(EXISTS "${libpath}") + list(APPEND libPaths "${libpath}") + endif() + endif() + endforeach() + + ## This macro is used internaly here to recursilvely get path of LINK_LIBRARIES of each non imported target + ## Typically if you have 2 internal dependencies between cmake targets, we want cmake to be able to get back path where are these dependencies + macro(recurseDepList target) + get_target_property(linkLibs ${target} LINK_LIBRARIES) + foreach(lib ${linkLibs}) + string(FIND ${lib} ">" strId) ## cmake is using generator-expression? + if(TARGET ${lib}) + ## Skipping interface libraries as they're system ones + get_target_property(type ${lib} TYPE) + get_target_property(imported ${lib} IMPORTED) + if(type STREQUAL "INTERFACE_LIBRARY") + get_target_property(imp_loc ${lib} INTERFACE_IMPORTED_LOCATION) + if(imp_loc) + get_filename_component(imp_loc ${imp_loc} PATH) + list(APPEND targetLibPath ${imp_loc}) + endif() + get_target_property(loc ${lib} INTERFACE_LOCATION) + if(loc) + get_filename_component(loc ${loc} PATH) + list(APPEND targetLibPath ${loc}) + endif() + ## it's not a path but a single target name + ## for build-target which are part of the current cmake configuration : nothing to do as cmake already know the output path + ## for imported target, we need to look for theire imported location + elseif(imported) + get_target_property(imp_loc ${lib} IMPORTED_LOCATION) + if(imp_loc) + get_filename_component(imp_loc ${imp_loc} PATH) + list(APPEND targetLibPath ${imp_loc}) + endif() + get_target_property(loc ${lib} LOCATION) + if(loc) + get_filename_component(loc ${loc} PATH) + list(APPEND targetLibPath ${loc}) + endif() + else() + recurseDepList(${lib}) + endif() + elseif(NOT ${strId} MATCHES -1) ## mean cmake use generator-expression (CMAKE VERSION > 3.0) + string(REGEX MATCH ">:[@A-Za-z_:/.0-9-]+" targetLibPath ${lib}) + string(REGEX REPLACE ">:([@A-Za-z_:/.0-9-]+)" "\\1" targetLibPath ${targetLibPath}) + get_filename_component(targetLibPath ${targetLibPath} PATH) + elseif(EXISTS ${lib}) + set(targetLibPath ${lib}) + get_filename_component(targetLibPath ${targetLibPath} PATH) + else() + #message(STATUS "[install_runtime] skip link library : ${lib} , of target ${target}") + endif() + if(targetLibPath) + list(APPEND targetLinkLibsPathList ${targetLibPath}) + endif() + endforeach() + if(targetLinkLibsPathList) + list(REMOVE_DUPLICATES targetLinkLibsPathList) + endif() + endmacro() + if(inst_run_TARGET) + recurseDepList(${inst_run_TARGET}) + if(targetLinkLibsPathList) + list(APPEND libPaths ${targetLinkLibsPathList}) + endif() + endif() + + if(libPaths) + list(REMOVE_DUPLICATES libPaths) + foreach(libPath ${libPaths}) + get_filename_component(path ${libPath} PATH) + list(APPEND libPaths ${path}) + endforeach() + endif() + + + ## possible speciale dir(s) according to the build system and OS + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(BUILD_TYPES_FOR_DLL "x64") + if(WIN32) + list(APPEND BUILD_TYPES_FOR_DLL "Win64") + endif() + else() + set(BUILD_TYPES_FOR_DLL "x86") + if(WIN32) + list(APPEND BUILD_TYPES_FOR_DLL "Win32") + endif() + endif() + + + ## Try to append as more as possible paths to find dependencies (here, mainly for *.dll) + foreach(dir ${inst_run_DIRS} ${libPaths}) + if(EXISTS "${dir}/bin") + list(APPEND inst_run_DIRS "${dir}/bin") + elseif(EXISTS "${dir}") + list(APPEND inst_run_DIRS "${dir}") + endif() + endforeach() + list(REMOVE_DUPLICATES inst_run_DIRS) + foreach(dir ${inst_run_DIRS}) + if(EXISTS "${dir}") + list(APPEND argDirs ${dir}) + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}") + list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}") + endif() + foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) + if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") + list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") + endif() + endforeach() + if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) + if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") + list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") + endif() + endif() + endforeach() + foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) + if(EXISTS "${dir}/${OUTPUTCONFIG}") + list(APPEND argDirs "${dir}/${OUTPUTCONFIG}") + endif() + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${dir}/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") + list(APPEND argDirs "${dir}/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") + endif() + endforeach() + endforeach() + if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) + if(EXISTS "${dir}/${CMAKE_BUILD_TYPE}") + list(APPEND argDirs "${dir}/${CMAKE_BUILD_TYPE}") + endif() + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${dir}/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") + list(APPEND argDirs "${dir}/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") + endif() + endforeach() + endif() + endif() + endforeach() + if(argDirs) + list(REMOVE_DUPLICATES argDirs) + endif() + + + ## Try to append as more possible paths to find dependencies (here, mainly for *.dll) + foreach(packageName ${inst_run_TARGET_PACKAGES}) + if(EXISTS "${${packageName}_DIR}") + list(APPEND packageDirs ${${packageName}_DIR}) + list(APPEND packageDirs ${${packageName}_DIR}/bin) + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}") + endif() + foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) + if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") + endif() + endforeach() + if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) + if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") + endif() + endif() + endforeach() + foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) + if(EXISTS "${${packageName}_DIR}/bin/${OUTPUTCONFIG}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${OUTPUTCONFIG}") + endif() + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${${packageName}_DIR}/bin/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") + endif() + endforeach() + endforeach() + if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) + if(EXISTS "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}") + endif() + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") + endif() + endforeach() + endif() + else() + set(${packageName}_DIR "$ENV{${packageName}_DIR}" CACHE PATH "${packageName}_DIR root directory for looking for dirs containning *.dll") + endif() + endforeach() + if(packageDirs) + list(REMOVE_DUPLICATES packageDirs) + endif() + + + set(dirsToLookFor "${EXEC_PATH}") + if(packageDirs) + list(APPEND dirsToLookFor ${packageDirs}) + endif() + if(argDirs) + list(APPEND dirsToLookFor ${argDirs}) + endif() + get_property(used_LINK_DIRECTORIES DIRECTORY PROPERTY LINK_DIRECTORIES) + if (used_LINK_DIRECTORIES) + list(APPEND dirsToLookFor ${used_LINK_DIRECTORIES}) + list(REMOVE_DUPLICATES dirsToLookFor) + endif() + + + ## handle plugins + set(pluginsList "") + include(parse_arguments_multi) ## this function will process recursively items of the sub-list [default print messages] + function(parse_arguments_multi_function results) + cmake_parse_arguments(pamf "VERBOSE" "PLUGIN_PATH_DEST;FROM_REL_PATH;EXEC_PATH;COMPONENT" "" ${ARGN}) ## EXEC_PATH and COMPONENT are for exclusive internal use + list(REMOVE_DUPLICATES pamf_UNPARSED_ARGUMENTS) + foreach(PLUGIN_PATH_NAME ${pamf_UNPARSED_ARGUMENTS}) + if(EXISTS ${PLUGIN_PATH_NAME}) + if(IS_DIRECTORY ${PLUGIN_PATH_NAME}) + if(pamf_VERBOSE) + message(WARNING "${PLUGIN_PATH_NAME} IS_DIRECTORY, cannot installed a directory, please give a path filename") + endif() + else() + if(NOT pamf_PLUGIN_PATH_DEST) + set(PLUGIN_PATH_DEST ${pamf_EXEC_PATH}) ## the default dest value + else() + set(PLUGIN_PATH_DEST ${pamf_PLUGIN_PATH_DEST}) + endif() + + if(pamf_FROM_REL_PATH) + file(TO_CMAKE_PATH ${PLUGIN_PATH_NAME} PLUGIN_PATH_NAME) + get_filename_component(PLUGIN_PATH ${PLUGIN_PATH_NAME} PATH) + unset(PLUGIN_PATH_LIST) + unset(PLUGIN_PATH_LIST_COUNT) + unset(PLUGIN_REL_PATH_LIST) + unset(PLUGIN_REL_PATH) + string(REPLACE "/" ";" PLUGIN_PATH_LIST ${PLUGIN_PATH}) ## create a list of dir + list(FIND PLUGIN_PATH_LIST ${pamf_FROM_REL_PATH} id) + list(LENGTH PLUGIN_PATH_LIST PLUGIN_PATH_LIST_COUNT) + if(${id} GREATER 0) + math(EXPR id "${id}+1") ## matches relative path not include + math(EXPR PLUGIN_PATH_LIST_COUNT "${PLUGIN_PATH_LIST_COUNT}-1") ## the end of the list + foreach(i RANGE ${id} ${PLUGIN_PATH_LIST_COUNT}) + list(GET PLUGIN_PATH_LIST ${i} out) + list(APPEND PLUGIN_REL_PATH_LIST ${out}) + endforeach() + foreach(dir ${PLUGIN_REL_PATH_LIST}) + set(PLUGIN_REL_PATH "${PLUGIN_REL_PATH}/${dir}") + endforeach() + endif() + set(PLUGIN_PATH_DEST ${PLUGIN_PATH_DEST}${PLUGIN_REL_PATH}) + endif() + + install(FILES ${PLUGIN_PATH_NAME} CONFIGURATIONS ${inst_run_CONFIG_TYPE} DESTINATION ${PLUGIN_PATH_DEST} COMPONENT ${pamf_COMPONENT}) + get_filename_component(pluginName ${PLUGIN_PATH_NAME} NAME) + if(IS_ABSOLUTE ${PLUGIN_PATH_DEST}) + else() + set(PLUGIN_PATH_DEST ${inst_run_INSTALL_FOLDER}/${PLUGIN_PATH_DEST}) + endif() + list(APPEND pluginsList ${PLUGIN_PATH_DEST}/${pluginName}) + endif() + else() + message(WARNING "You need to provide a valid PLUGIN_PATH_NAME") + set(pluginsList ) + endif() + endforeach() + set(${results} ${pluginsList} PARENT_SCOPE) + endfunction() + + if(inst_run_VERBOSE) + list(APPEND extra_flags_to_add VERBOSE) + endif() + list(APPEND extra_flags_to_add EXEC_PATH ${EXEC_PATH} COMPONENT ${inst_run_COMPONENT}) ## for internal use inside overloaded function + list(LENGTH inst_run_PLUGINS inst_run_PLUGINS_count) + if(${inst_run_PLUGINS_count} GREATER 0) + parse_arguments_multi(PLUGIN_PATH_NAME inst_run_PLUGINS ${inst_run_PLUGINS} ## see internal overload parse_arguments_multi_function for processing each sub-list + NEED_RESULTS ${inst_run_PLUGINS_count} ## this is used to check when we are in the first loop (in order to reset parse_arguments_multi_results) + EXTRAS_FLAGS ${extra_flags_to_add} ## this is used to allow catching additional internal flags of our overloaded function + ) + endif() + + #message(parse_arguments_multi_results = ${parse_arguments_multi_results}) + list(APPEND pluginsList ${parse_arguments_multi_results}) + + + + ## Install rules for required system runtimes such as MSVCRxx.dll + set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP ON) + include(InstallRequiredSystemLibraries) + if(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS) + install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} + CONFIGURATIONS ${inst_run_CONFIG_TYPE} + DESTINATION ${EXEC_PATH} + COMPONENT ${inst_run_COMPONENT} + ) + endif() + + ## print what we are doing to do + if(inst_run_VERBOSE) + message(STATUS "[install_runtime] On install target call, cmake will try to resolve dependencies for given app:\n ${installedFilePathTargetAppToResolve} (with plausible postfix: ${inst_run_PLAUSIBLES_POSTFIX})") + if(pluginsList) + message(STATUS " and also for plugins :") + foreach(plugin ${pluginsList}) + message(STATUS " ${plugin}") + endforeach() + endif() + message(STATUS " Looking for dependencies into:") + foreach(dir ${dirsToLookFor}) + message(STATUS " ${dir}") + endforeach() + endif() + + ## Install rules for required dependencies libs/plugins for the target app + ## will resolve all installed target files with config modes postfixes + string(TOUPPER ${inst_run_CONFIG_TYPE} inst_run_CONFIG_TYPE_UC) + get_target_property(postfix ${inst_run_TARGET} "${inst_run_CONFIG_TYPE_UC}_POSTFIX") + install(CODE "set(target \"${inst_run_TARGET}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) + install(CODE "set(inst_run_CONFIG_TYPE \"${inst_run_CONFIG_TYPE}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) + install(CODE "set(inst_run_INSTALL_FOLDER \"${inst_run_INSTALL_FOLDER}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) + install(CODE "set(app \"${EXEC_PATH}/${EXEC_NAME}${postfix}${CMAKE_EXECUTABLE_SUFFIX}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) + install(CODE "set(dirsToLookFor \"${dirsToLookFor}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) + install(CODE + [[ + if("${CMAKE_INSTALL_CONFIG_NAME}" STREQUAL "${inst_run_CONFIG_TYPE}") + message(STATUS "Installing ${target} dependencies...") + + file(GET_RUNTIME_DEPENDENCIES + EXECUTABLES ${app} + RESOLVED_DEPENDENCIES_VAR _r_deps + UNRESOLVED_DEPENDENCIES_VAR _u_deps + CONFLICTING_DEPENDENCIES_PREFIX _c_deps + DIRECTORIES ${dirsToLookFor} + PRE_EXCLUDE_REGEXES "api-ms-*" + POST_EXCLUDE_REGEXES ".*system32/.*\\.dll" ".*SysWOW64/.*\\.dll" + ) + + if(_u_deps) + message(WARNING "There were unresolved dependencies for executable ${EXEC_FILE}: \"${_u_deps}\"!") + endif() + if(_c_deps_FILENAMES) + message(WARNING "There were conflicting dependencies for executable ${EXEC_FILE}: \"${_c_deps_FILENAMES}\"!") + endif() + + foreach(_file ${_r_deps}) + file(INSTALL + DESTINATION "${inst_run_INSTALL_FOLDER}/bin" + TYPE SHARED_LIBRARY + FOLLOW_SYMLINK_CHAIN + FILES "${_file}" + ) + endforeach() + endif() + ]] + COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE} + ) + +endfunction() + +## High level macro to install resources in the correct folder +## +## EXECUTABLE: [opt] option to copy files as programs +## RELATIVE : [opt] copy files relatively to current folder +## TYPE : [opt] type and folder where to store the files +## FOLDER : [opt] subfolder to use +## FILES : [opt] contains a list of resources files to copy to install folder +macro(ibr_install_rsc target) + cmake_parse_arguments(install_rsc_${target} "EXECUTABLE;RELATIVE" "TYPE;FOLDER" "FILES" ${ARGN}) + set(rsc_target "${target}_${install_rsc_${target}_TYPE}") + + if(install_rsc_${target}_FOLDER) + set(rsc_folder "${install_rsc_${target}_TYPE}/${install_rsc_${target}_FOLDER}") + else() + set(rsc_folder "${install_rsc_${target}_TYPE}") + endif() + + add_custom_target(${rsc_target} + COMMENT "run the ${install_rsc_${target}_TYPE} installation only for ${target} (component ${rsc_target})" + VERBATIM) + foreach(scriptFile ${install_rsc_${target}_FILES}) + if(install_rsc_${target}_RELATIVE) + file(RELATIVE_PATH relativeFilename ${CMAKE_CURRENT_SOURCE_DIR} ${scriptFile}) + else() + get_filename_component(relativeFilename ${scriptFile} NAME) + endif() + + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + add_custom_command(TARGET ${rsc_target} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E + copy_if_different ${scriptFile} ${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}/${relativeFilename}) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + add_custom_command(TARGET ${rsc_target} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E + copy_if_different ${scriptFile} ${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}/${relativeFilename}) + endforeach() + endforeach() + + get_target_property(INSTALL_RSC_BUILD_FOLDER ${target} FOLDER) + set_target_properties(${rsc_target} PROPERTIES FOLDER ${INSTALL_RSC_BUILD_FOLDER}) + + add_dependencies(${target} ${rsc_target}) + add_dependencies(PREBUILD ${rsc_target}) + + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + resourceFile(ADD ${rsc_folder} CONFIG_TYPE ${CMAKE_BUILD_TYPE} FILE_PATH "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/ibr_resources.ini") + + if(install_rsc_${target}_EXECUTABLE) + install( + PROGRAMS ${install_rsc_${target}_FILES} + CONFIGURATIONS ${CMAKE_BUILD_TYPE} + DESTINATION "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}" + ) + else() + install( + FILES ${install_rsc_${target}_FILES} + CONFIGURATIONS ${CMAKE_BUILD_TYPE} + DESTINATION "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}" + ) + endif() + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + resourceFile(ADD ${rsc_folder} CONFIG_TYPE ${CONFIG_TYPES} FILE_PATH "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/ibr_resources.ini") + + if(install_rsc_${target}_EXECUTABLE) + install( + PROGRAMS ${install_rsc_${target}_FILES} + CONFIGURATIONS ${CONFIG_TYPES} + DESTINATION "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}" + ) + else() + install( + FILES ${install_rsc_${target}_FILES} + CONFIGURATIONS ${CONFIG_TYPES} + DESTINATION "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}" + ) + endif() + endforeach() +endmacro() + + +## High level macro to install in an homogen way all our ibr targets (it use some functions inside this file) +## +## RSC_FILE_ADD : [opt] is used to auto write/append relative paths of target resources into a common file +## INSTALL_PDB : [opt] is used to auto install PDB file (when using MSVC according to the target type) +## STANDALONE : [opt] bool ON/OFF var to call install_runtime or not (for bundle resolution) +## DIRS : [opt] used if STANDALONE set to ON, see install_runtime doc +## PLUGINS: [opt] used if STANDALONE set to ON, see install_runtime doc +## MSVC_CMD : [opt] used to specify an absolute filePathName application to launch with the MSVC IDE Debugger associated to this target (project file) +## MSVC_ARGS : [opt] load the MSVC debugger with correct settings (app path, args, working dir) +## +macro(ibr_install_target target) + cmake_parse_arguments(ibrInst${target} "VERBOSE;INSTALL_PDB" "COMPONENT;MSVC_ARGS;STANDALONE;RSC_FOLDER" "SHADERS;RESOURCES;SCRIPTS;DIRS;PLUGINS" ${ARGN}) + + if(ibrInst${target}_RSC_FOLDER) + set(rsc_folder "${ibrInst${target}_RSC_FOLDER}") + else() + set(rsc_folder "${target}") + endif() + + if(ibrInst${target}_SHADERS) + ibr_install_rsc(${target} EXECUTABLE TYPE "shaders" FOLDER ${rsc_folder} FILES "${ibrInst${target}_SHADERS}") + endif() + + if(ibrInst${target}_RESOURCES) + ibr_install_rsc(${target} TYPE "resources" FOLDER ${rsc_folder} FILES "${ibrInst${target}_RESOURCES}") + endif() + + if(ibrInst${target}_SCRIPTS) + ibr_install_rsc(${target} EXECUTABLE TYPE "scripts" FOLDER ${rsc_folder} FILES "${ibrInst${target}_SCRIPTS}") + endif() + + if(ibrInst${target}_COMPONENT) + set(installCompArg COMPONENT ${ibrInst${target}_COMPONENT}) + ## Create a custom install target based on COMPONENT + installTargetProject(${target} ${ibrInst${target}_COMPONENT}) + endif() + + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + set_target_properties(${target} PROPERTIES ${CMAKE_BUILD_TYPE}_POSTFIX "${CMAKE_${CMAKE_BUILD_TYPE}_POSTFIX}") + get_target_property(CURRENT_TARGET_BUILD_TYPE_POSTFIX ${target} ${CMAKE_BUILD_TYPE}_POSTFIX) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + set_target_properties(${target} PROPERTIES ${CONFIG_TYPES_UC}_POSTFIX "${CMAKE_${CONFIG_TYPES_UC}_POSTFIX}") + get_target_property(CURRENT_TARGET_BUILD_TYPE_POSTFIX ${target} ${CONFIG_TYPES_UC}_POSTFIX) + endforeach() + + ## Specify default installation rules + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + install(TARGETS ${target} + CONFIGURATIONS ${CMAKE_BUILD_TYPE} + LIBRARY DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} + ARCHIVE DESTINATION ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} + RUNTIME DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} + ) + install(TARGETS ${target} + CONFIGURATIONS ${CMAKE_BUILD_TYPE} + LIBRARY DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} + ARCHIVE DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} + ) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + install(TARGETS ${target} + CONFIGURATIONS ${CONFIG_TYPES} + LIBRARY DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} + ARCHIVE DESTINATION ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} + RUNTIME DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} + ) + install(TARGETS ${target} + CONFIGURATIONS ${CONFIG_TYPES} + LIBRARY DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} + ARCHIVE DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} + ) + endforeach() + + if(ibrInst${target}_INSTALL_PDB) + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + installPDB(${target} ${CMAKE_BUILD_TYPE} + LIBRARY_DEST ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} + ARCHIVE_DEST ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} + RUNTIME_DEST ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} + ) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + installPDB(${target} ${CONFIG_TYPES} + LIBRARY_DEST ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} + ARCHIVE_DEST ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} + RUNTIME_DEST ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} + ) + endforeach() + endif() + + ## install dynamic necessary dependencies + if(ibrInst${target}_STANDALONE) + get_target_property(type ${target} TYPE) + if(${type} MATCHES "EXECUTABLE") + + if(ibrInst${target}_VERBOSE) + set(VERBOSE VERBOSE) + else() + set(VERBOSE ) + endif() + + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + install_runtime(bin/${target}${CMAKE_EXECUTABLE_SUFFIX} ## default relative to CMAKE_INSTALL_PREFIX + INSTALL_FOLDER "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}" + CONFIG_TYPE ${CMAKE_BUILD_TYPE} + ${VERBOSE} + TARGET ${target} + ${installCompArg} + PLUGINS ## will be installed + ${ibrInst${target}_PLUGINS} + DIRS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} + ${ibrInst${target}_DIRS} + ) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + install_runtime(bin/${target}${CMAKE_EXECUTABLE_SUFFIX} ## default relative to CMAKE_INSTALL_PREFIX + INSTALL_FOLDER "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}" + CONFIG_TYPE ${CONFIG_TYPES} + ${VERBOSE} + TARGET ${target} + ${installCompArg} + PLUGINS ## will be installed + ${ibrInst${target}_PLUGINS} + DIRS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} + ${ibrInst${target}_DIRS} + ) + endforeach() + else() + message(WARNING "STANDALONE option is only compatible with EXECUTABLES target type. Skip the STANDALONE installation process.") + endif() + endif() + + ## Provide a way to directly load the MSVC debugger with correct settings + if(MSVC) + if(ibrInst${target}_MSVC_CMD) ## command absolute filePathName is optional as the default is to use the installed target file application + set(msvcCmdArg COMMAND ${ibrInst${target}_MSVC_CMD}) ## flag following by the value (both to pass to the MSVCsetUserCommand function) + endif() + if(ibrInst${target}_MSVC_ARGS) ## args (between quotes) are optional + set(msvcArgsArg ARGS ${ibrInst${target}_MSVC_ARGS}) ## flag following by the value (both to pass to the MSVCsetUserCommand function) + endif() + get_target_property(type ${target} TYPE) + if( (ibrInst${target}_MSVC_CMD OR ibrInst${target}_MSVC_ARGS) OR (${type} MATCHES "EXECUTABLE") ) + include(MSVCsetUserCommand) + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + MSVCsetUserCommand( ${target} + PATH ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}} ##FILE option not necessary since it deduced from targetName + ARGS "${SIBR_PROGRAMARGS}" + ${msvcCmdArg} + #${msvcArgsArg} + WORKING_DIR ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}} + ) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + MSVCsetUserCommand( ${target} + PATH ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}} ##FILE option not necessary since it deduced from targetName + ARGS "${SIBR_PROGRAMARGS}" + ${msvcCmdArg} + #${msvcArgsArg} + WORKING_DIR ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}} + ) + endforeach() + elseif(NOT ${type} MATCHES "EXECUTABLE") + #message("Cannot set MSVCsetUserCommand with target ${target} without COMMAND parameter as it is not an executable (skip it)") + endif() + endif() + +endmacro() diff --git a/SIBR_viewers/cmake/linux/parse_arguments_multi.cmake b/SIBR_viewers/cmake/linux/parse_arguments_multi.cmake new file mode 100644 index 0000000000..4f19e414fd --- /dev/null +++ b/SIBR_viewers/cmake/linux/parse_arguments_multi.cmake @@ -0,0 +1,304 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +if(NOT WIN32 OR __parse_arguments_multi_cmake_INCLUDED__) + return() +else() + set(__parse_arguments_multi_cmake_INCLUDED__ ON) +endif() + +## This macro allow to process repeating multi value args from a given function which use cmake_parse_arguments module. +## +## cmake_parse_arguments multi args standard behavior: +## function(foo) +## cmake_parse_arguments(arg "" "" "MULTI" ${ARGN}) +## foreach(item IN LISTS arg_MULTI) +## message(STATUS "${item}") +## endforeach() +## endfunction() +## foo(MULTI x y MULTI z w) +## The above code outputs 'z' and 'w'. It originally expected it to output all of 'x' 'y' 'z' 'w'. +## +## Using this macro inside a function which want to handle repeating multi args values +## will recursively iterate onto the multi tags list to process each sub list. +## It take as 1st argument the subTag flag to separate sub list from the main multi list. +## It take as 2nd argument the nameList of the main multi list (the multiValuesArgs from cmake_parse_arguments: here it is MULTI in the example) +## and that's why it is important that it should be a macro and not a function (to get access to external variable). +## Then you give the content of this list allowing to be processed by the macro. +## +## parse_arguments_multi macro call a parse_arguments_multi_function which do actually the process from the given sub-list. +## By default this function only print infos about what variables you are trying to pass/process (only verbose messages), +## but, by overloading this cmake function, you will be able to externalize the process of your multi argument list. +## +## Usage (into a function) : +## parse_arguments_multi( +## [NEED_RESULTS ] [EXTRAS_FLAGS <...> <...> ...] +## ) +## +## Simple usage example [user point of view]: +## foo(MULTI +## SUB_MULTI x y +## SUB_MULTI z w +## ) +## +## Simple usage example [inside a function]: +## function(foo) +## cmake_parse_arguments(arg "" "" "MULTI" ${ARGN}) +## include(parse_arguments_multi) +## function(parse_arguments_multi_function ) +## #message("I'm an overloaded cmake function used by parse_arguments_multi") +## #message("I'm processing first part of my sub list: ${ARGN}") +## message("ARGV0=${ARGV0}") +## message("ARGV1=${ARGV1}") +## endfunction() +## parse_arguments_multi(SUB_MULTI arg_MULTI ${arg_MULTI}) ## this function will process recusively items of the sub-list [default print messages] +## endfunction() +## +## Will print: +## ARGV0=z +## ARGV1=w +## ARGV0=x +## ARGV1=y +## +## WARNING : DO NEVER ADD EXTRA THINGS TO parse_arguments_multi MACRO : +## parse_arguments_multi(SUB_MULTI arg_MULTI ${arg_MULTI} EXTRAS foo bar SOMTHING) => will failed !! +## use EXTRAS_FLAGS instead !! +## +## Advanced usage example [user point of view]: +## bar(C:/prout/test.exe VERBOSE +## PLUGINS +## PLUGIN_PATH_NAME x PLUGIN_PATH_DEST w +## PLUGIN_PATH_NAME a b PLUGIN_PATH_DEST y +## PLUGIN_PATH_NAME c +## ) +## +## Advanced usage example [inside a function]: +## function(bar execFilePathName) +## cmake_parse_arguments(arg "VERBOSE" "" "PLUGINS" ${ARGN}) +## +## include(parse_arguments_multi) +## function(parse_arguments_multi_function results) +## cmake_parse_arguments(pamf "VERBOSE" "PLUGIN_PATH_DEST;EXEC_PATH" "" ${ARGN}) ## EXEC_PATH is for internal use +## message("") +## message("I'm an overloaded cmake function used by parse_arguments_multi from install_runtime function") +## message("I'm processing first part of my sub list: ${ARGN}") +## message("PLUGIN_PATH_NAME = ${pamf_UNPARSED_ARGUMENTS}") +## message(pamf_VERBOSE = ${pamf_VERBOSE}) +## message("pamf_PLUGIN_PATH_DEST = ${pamf_PLUGIN_PATH_DEST}") +## message(pamf_EXEC_PATH = ${pamf_EXEC_PATH}) +## if(NOT ${pamf_PLUGIN_PATH_DEST}) +## set(pamf_PLUGIN_PATH_DEST ${pamf_EXEC_PATH}) +## endif() +## foreach(plugin ${pamf_UNPARSED_ARGUMENTS}) +## get_filename_component(pluginName ${plugin} NAME) +## list(APPEND pluginsList ${pamf_PLUGIN_PATH_DEST}/${pluginName}) +## endforeach() +## set(${results} ${pluginsList} PARENT_SCOPE) +## endfunction() +## +## if(arg_VERBOSE) +## list(APPEND extra_flags_to_add VERBOSE) ## here we transmit the VERNOSE flag +## endif() +## get_filename_component(EXEC_PATH ${execFilePathName} PATH) ## will be the default value if PLUGIN_PATH_DEST option is not provided +## list(APPEND extra_flags_to_add EXEC_PATH ${EXEC_PATH}) +## list(LENGTH arg_PLUGINS arg_PLUGINS_count) +## parse_arguments_multi(PLUGIN_PATH_NAME arg_PLUGINS ${arg_PLUGINS} +## NEED_RESULTS ${arg_PLUGINS_count} ## this is used to check when we are in the first loop (in order to reset parse_arguments_multi_results) +## EXTRAS_FLAGS ${extra_flags_to_add} ## this is used to allow catching VERBOSE and PLUGIN_PATH_DEST flags of our overloaded function +## ) +## endfunction() +## message(parse_arguments_multi_results = ${parse_arguments_multi_results}) ## list of the whole pluginsList +## #Will print w/x;a/y;b/y;C:/prout/c +## +## NOTE that here, since our overloaded function need to provide a result list, we use the other parse_arguments_multi_function signature (the which one with a results arg) +## + +function(parse_arguments_multi_function_default) ## used in case of you want to reset the default behavior of this function process + message("[default function] parse_arguments_multi_function(ARGC=${ARGC} ARGV=${ARGV} ARGN=${ARGN})") + message("This function is used by parse_arguments_multi and have to be overloaded to process sub list of multi values args") +endfunction() + +function(parse_arguments_multi_function ) ## => the function to overload + parse_arguments_multi_function_default(${ARGN}) +endfunction() + +## first default signature above +##------------------------------ +## second results signature behind + +function(parse_arguments_multi_function_default result) ## used in case of you want to reset the default behavior of this function process + message("[default function] parse_arguments_multi_function(ARGC=${ARGC} ARGV=${ARGV} ARGN=${ARGN})") + message("This function is used by parse_arguments_multi and have to be overloaded to process sub list of muluti values args") +endfunction() + +function(parse_arguments_multi_function result) ## => the function to overload + parse_arguments_multi_function_default(result ${ARGN}) +endfunction() + +## => the macro to use inside your function which use cmake_parse_arguments +# NOTE: entry point of parse_arguments_multi, which is called from win3rdPart) +macro(parse_arguments_multi multiArgsSubTag multiArgsList #<${multiArgsList}> the content of the list +) + # message (STATUS "") + # message(STATUS "calling parse_arguemnts_multi defined in parse_arguments_multi.cmake:141") + # message(STATUS "multiArgsSubTag = ${multiArgsSubTag}") # CHECK_CACHED_VAR + # message(STATUS "multiArgsList = ${multiArgsList}") # it contains the name of the variable which is holding the list i.e w3p_MULTI_SET + # message(STATUS "value of ${multiArgsList} = ${${multiArgsList}}") # a semicolon separated list of values passed to SET or MULTISET keyword in win3rdParty + # message(STATUS "actual values ARGN = ${ARGN}") # the same as ${${multiArgsList}} + + ## INFO + ## starting from CMake 3.5 cmake_parse_arguments is not a module anymore and now is a native CMake command. + ## the behaviour is different though + ## In CMake 3.4, if you pass multiple times a multi_value_keyword, CMake returns the values of the LAST match + ## In CMake 3.5 and above, CMake returns the whole list of values that were following that multi_value_keyword + ## example: + ## cmake_parse_arguments( + ## + ## "" # options + ## "" # one value keywords + ## "MY_MULTI_VALUE_TAG" + ## MY_MULTI_VALUE_TAG value1 value2 + ## MY_MULTI_VALUE_TAG value3 value4 + ## MY_MULTI_VALUE_TAG value5 value6 + ## ) + ## result in CMake 3.4 + ## _MY_MULTI_VALUE_TAG = "value5;value6" + ## + ## result in CMake 3.8 + ## _MY_MULTI_VALUE_TAG = "value5;value6" + + #include(CMakeParseArguments) #module CMakeParseArguments is obsolete since cmake 3.5 + # cmake_parse_arguments ( args) + # : options (flags) pass to the macro + # : options that neeed a value + # : options that neeed more than one value + cmake_parse_arguments(_pam "" "NEED_RESULTS" "${multiArgsSubTag};EXTRAS_FLAGS" ${ARGN}) + + ## multiArgsList is the name of the list used by the multiValuesOption flag from the cmake_parse_arguments of the user function + ## that's why we absolutly need to use MACRO here (and also for passing parse_arguments_multi_results when NEED_RESULTS flag is set) + + ## for debugging + #message("") + #message("[parse_arguments_multi] => ARGN = ${ARGN}") + #message("_pam_NEED_RESULTS=${_pam_NEED_RESULTS}") + #message("_pam_EXTRAS_FLAGS=${_pam_EXTRAS_FLAGS}") + # foreach(var ${_pam_${multiArgsSubTag}}) + # message("arg=${var}") + # endforeach() + + if (${CMAKE_VERSION} VERSION_GREATER "3.5") + # lets make ${_pam_${multiArgsSubTag}} behave as it is in version 3.4 + # that means, cmake_parse_arguments should have only the last values of a multi set for a given keyword + + # message("") + # message("values in multiArgsList") + # foreach(val ${${multiArgsList}}) + # message(STATUS ${val}) + # endforeach() + # message("end values in multiArgsList") + + + set(lastIndexFound OFF) + list(LENGTH ${multiArgsList} argnLength) + # message(${argnLength}) + math(EXPR argnLength "${argnLength}-1") # make last index a valid one + set(recordIndex 0) + set(records "") # clear records list + set(record0 "") # clear first record list + foreach(iter RANGE ${argnLength}) + list(GET ${multiArgsList} ${iter} value) + # message(STATUS "index=${iter} value=${value}") + if (${value} STREQUAL ${multiArgsSubTag}) + if (lastIndexFound) + list(APPEND records ${recordIndex}) # records store the list NAMES + math(EXPR recordIndex "${recordIndex}+1") + set(record${recordIndex} "") # clear record list + else () + set(lastIndexFound ON) + endif() + + set(lastIndex ${iter}) + else () + if (lastIndexFound) + # message(${value}) + list(APPEND record${recordIndex} ${value}) + endif() + endif() + endforeach() + + # save the last list of values + if (lastIndexFound) + list(APPEND records ${recordIndex}) # records store the list NAMES + endif() + + # set multiArgsList to make it behave like CMake 3.4 + # message("") + # message("using my records") + foreach(recordName ${records}) + # message(${recordName}) + # foreach(value ${record${recordName}}) + # message(${value}) + # endforeach() + # message("") + set(_pam_${multiArgsSubTag} ${record${recordName}}) + endforeach() + # message(${_pam_${multiArgsSubTag}}) + + # message("") + # message("using argn") + # foreach(value ${ARGN}) + # message(${value}) + # endforeach() + endif() # end if cmake > 3.5 + + # message("values with pam ${_pam_${multiArgsSubTag}}") + + ## check and init + list(LENGTH ${multiArgsList} globalListCount) # GLUT_TRACE: globalListCound=16 in CMake3.4 and CMake3.8 + # message(STATUS "nr items in multiArgsList: ${globalListCount}") + math(EXPR globalListCount "${globalListCount}-1") ## because it will contain [multiArgsSubTag + ${multiArgsList}] + if(_pam_NEED_RESULTS) + if(${globalListCount} EQUAL ${_pam_NEED_RESULTS}) + ## first time we enter into this macro (because we call it recursively) + unset(parse_arguments_multi_results) + endif() + endif() + + ## process the part of the multi agrs list + ## ${ARGN} shouldn't be passed to the function in order to avoid missmatch size list ${multiArgsList} and _pam_${multiArgsSubTag} + ## if you want to pass extra internal flags from your function to this callback, use EXTRAS_FLAGS + if(_pam_NEED_RESULTS) + parse_arguments_multi_function(parse_arguments_multi_function_result ${_pam_${multiArgsSubTag}} ${_pam_EXTRAS_FLAGS}) + list(APPEND parse_arguments_multi_results ${parse_arguments_multi_function_result}) + else() + # message(STATUS "about to call parse_arguments_multi_function in parse_arguments_multi.cmake:177 ${_pam_${multiArgsSubTag}} and extra flags ${_pam_EXTRAS_FLAGS}") + parse_arguments_multi_function(${_pam_${multiArgsSubTag}} ${_pam_EXTRAS_FLAGS}) + endif() + + ## remove just processed items from the main list to process (multiArgsList) + list(REVERSE ${multiArgsList}) + list(LENGTH _pam_${multiArgsSubTag} subTagListCount) + unset(ids) + foreach(id RANGE ${subTagListCount}) + list(APPEND ids ${id}) + endforeach() + list(REMOVE_AT ${multiArgsList} ${ids}) + list(REVERSE ${multiArgsList}) + + ## test if remain sub multi list to process (recursive call) or finish the process + list(LENGTH ${multiArgsList} mainTagListCount) + if(${mainTagListCount} GREATER 1) + ## do not pass ${ARGN} just because it will re pass the initial 2 inputs args and we wont as they was consumed (in order to avoir conflicts) + # message(STATUS "about to call a parse_arguments_multi but without knowing where the definition is going to be taken from") + parse_arguments_multi(${multiArgsSubTag} ${multiArgsList} ${${multiArgsList}} + NEED_RESULTS ${_pam_NEED_RESULTS} EXTRAS_FLAGS ${_pam_EXTRAS_FLAGS} + ) + endif() +endmacro() diff --git a/SIBR_viewers/cmake/linux/sibr_library.cmake b/SIBR_viewers/cmake/linux/sibr_library.cmake new file mode 100644 index 0000000000..08a30ad940 --- /dev/null +++ b/SIBR_viewers/cmake/linux/sibr_library.cmake @@ -0,0 +1,174 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +# NOTE +# This feature is used to easily download, store and link external dependencies. This +# requires to prepare pre-compiled libraries (to download). For now, packages have +# only be prepare for Windows 64-bit with Visual Studio 2012. (You should re-build +# everything if you want to use another version of Visual Studio/ another compiler). + +# NOTE ABOUT UNIX SYSTEMS +# There is no need for "searching mechanism". This function is discard and your +# libraries should be installed is the standard folders that are: +# +# /usr/include/ +# /usr/lib/ +# /usr/lib64/ +# for packages downloaded using apt-get/yum +# +# /usr/local/include/ +# /usr/local/lib/ +# /usr/local/lib64/ +# for packages manually installed ("make install") +# +# if you encounter problems when linking (e.g. lib not found even if it is installed), +# please check these folders are in your search PATH environment variables. + +set(EXTLIBS_PACKAGE_FOLDER "${CMAKE_SOURCE_DIR}/extlibs") + +function(sibr_addlibrary) + if(NOT WIN32) + return() + endif() + + file(MAKE_DIRECTORY ${EXTLIBS_PACKAGE_FOLDER}) + cmake_parse_arguments(args "VCID" "VERBOSE;TIMEOUT;DEFAULT_USE;NAME;VERSION;MSVC11;MSVC12;MSVC14;MSVC17" "MULTI_SET;SET" ${ARGN}) + + + if (NOT "${args_VERSION}" MATCHES "") + message(WARNING "VERSION is not implemented yet") + endif() + + set(lcname "") + set(ucname "") + string(TOLOWER "${args_NAME}" lcname) + string(TOUPPER "${args_NAME}" ucname) + + set(LIB_PACKAGE_FOLDER "${EXTLIBS_PACKAGE_FOLDER}/${lcname}") + win3rdParty(${ucname} + $ + VERBOSE ${args_VERBOSE} + TIMEOUT ${args_TIMEOUT} + DEFAULT_USE ${args_DEFAULT_USE} + MSVC11 "${LIB_PACKAGE_FOLDER}" "${args_MSVC11}" + MSVC12 "${LIB_PACKAGE_FOLDER}" "${args_MSVC12}" + MSVC14 "${LIB_PACKAGE_FOLDER}" "${args_MSVC14}" # TODO SV: make sure to build this library if required + MSVC17 "${LIB_PACKAGE_FOLDER}" "${args_MSVC17}" + SET ${args_SET} + MULTI_SET ${args_MULTI_SET} + ) + + # Add include/ directory + # and lib/ directories + + # TODO SV: paths not matching with current hierarchy. example: libraw/libraw-0.17.1/include + # SR: The link directories will also be used to lookup for dependency DLLs to copy in the install directory. + # Some libraries put the DLLs in the bin/ directory, so we include those. + file(GLOB subdirs RELATIVE ${LIB_PACKAGE_FOLDER} ${LIB_PACKAGE_FOLDER}/*) + set(dirlist "") + foreach(dir ${subdirs}) + if(IS_DIRECTORY ${LIB_PACKAGE_FOLDER}/${dir}) + # message("adding ${LIB_PACKAGE_FOLDER}/${dir}/include/ to the include directories") + include_directories("${LIB_PACKAGE_FOLDER}/${dir}/include/") + # message("adding ${LIB_PACKAGE_FOLDER}/${dir}/lib[64] to the link directories") + link_directories("${LIB_PACKAGE_FOLDER}/${dir}/") + link_directories("${LIB_PACKAGE_FOLDER}/${dir}/lib/") + link_directories("${LIB_PACKAGE_FOLDER}/${dir}/lib64/") + link_directories("${LIB_PACKAGE_FOLDER}/${dir}/bin/") + endif() + endforeach() + +endfunction() + +include(FetchContent) +include(git_describe) +include(install_runtime) + +function(sibr_gitlibrary) + cmake_parse_arguments(args "" "TARGET;GIT_REPOSITORY;GIT_TAG;ROOT_DIR;SOURCE_DIR" "INCLUDE_DIRS" ${ARGN}) + if(NOT args_TARGET) + message(FATAL "Error on sibr_gitlibrary : please define your target name.") + return() + endif() + + if(NOT args_ROOT_DIR) + set(args_ROOT_DIR ${args_TARGET}) + endif() + + if(NOT args_SOURCE_DIR) + set(args_SOURCE_DIR ${args_TARGET}) + endif() + + if(args_GIT_REPOSITORY AND args_GIT_TAG) + if(EXISTS ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR}/.git) + git_describe( + PATH ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} + GIT_URL SIBR_GITLIBRARY_URL + GIT_BRANCH SIBR_GITLIBRARY_BRANCH + GIT_COMMIT_HASH SIBR_GITLIBRARY_COMMIT_HASH + GIT_TAG SIBR_GITLIBRARY_TAG + ) + + if((SIBR_GITLIBRARY_URL STREQUAL args_GIT_REPOSITORY) AND + ((SIBR_GITLIBRARY_BRANCH STREQUAL args_GIT_TAG) OR + (SIBR_GITLIBRARY_TAG STREQUAL args_GIT_TAG) OR + (SIBR_GITLIBRARY_COMMIT_HASH STREQUAL args_GIT_TAG))) + message(STATUS "Library ${args_TARGET} already available, skipping.") + set(SIBR_GITLIBRARY_DECLARED ON) + else() + message(STATUS "Adding library ${args_TARGET} from git...") + endif() + endif() + + FetchContent_Declare(${args_TARGET} + GIT_REPOSITORY ${args_GIT_REPOSITORY} + GIT_TAG ${args_GIT_TAG} + GIT_SHALLOW ON + SOURCE_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} + SUBBUILD_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/subbuild + BINARY_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build + ) + FetchContent_GetProperties(${args_TARGET}) + string(TOLOWER "" lcTargetName) + + if((NOT SIBR_GITLIBRARY_DECLARED) AND (NOT ${lcTargetName}_POPULATED)) + message(STATUS "Populating library ${args_TARGET}...") + FetchContent_Populate(${args_TARGET} QUIET + GIT_REPOSITORY ${args_GIT_REPOSITORY} + GIT_TAG ${args_GIT_TAG} + SOURCE_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} + SUBBUILD_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/subbuild + BINARY_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build + ) + endif() + + add_subdirectory(${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build) + + get_target_property(type ${args_TARGET} TYPE) + if(NOT (type STREQUAL "INTERFACE_LIBRARY")) + set_target_properties(${args_TARGET} PROPERTIES FOLDER "extlibs") + + ibr_install_target(${args_TARGET} + COMPONENT ${args_TARGET}_install ## will create custom target to install only this project + ) + endif() + + list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}) + list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}/${args_SOURCE_DIR}) + + foreach(args_INCLUDE_DIR ${args_INCLUDE_DIRS}) + list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}/${args_SOURCE_DIR}/${args_INCLUDE_DIR}) + endforeach() + + include_directories(${${args_TARGET}_INCLUDE_DIRS}) + else() + message(FATAL "Error on sibr_gitlibrary for target ${args_TARGET}: missing git tag or git url.") + endif() +endfunction() \ No newline at end of file diff --git a/SIBR_viewers/cmake/windows/MSVCsetUserCommand.cmake b/SIBR_viewers/cmake/windows/MSVCsetUserCommand.cmake new file mode 100644 index 0000000000..bc49770d64 --- /dev/null +++ b/SIBR_viewers/cmake/windows/MSVCsetUserCommand.cmake @@ -0,0 +1,149 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +if(__MSVCsetUserCommand_cmake_INCLUDED__) + return() +else() + set(__MSVCsetUserCommand_cmake_INCLUDED__ ON) +endif() + +## Allow to configure the Debugger settings of visual studio +## Note: Using this command under linux doesn't affect anything +## On run Debug Windows local : visual will try to load a specific COMMAND with ARGS in the provided WORKING_DIR +## +## usage: +## MSVCsetUserCommand( +## [COMMAND | [ PATH [FILE ] ] ] +## ARGS +## WORKING_DIR +## ) +## +## Warning 1 : All arugments () must be passed under quotes +## Warning 2 : WORKING_DIR path arg have to finish with remain slah '/' +## Warning 3 : use COMMAND for external app OR PATH (optionaly with FILE) option(s) to set your built/installed/moved target +## +## Example 1: +## include(MSVCsetUserCommand) +## MSVCsetUserCommand( UnityRenderingPlugin +## COMMAND "C:/Program Files (x86)/Unity/Editor/Unity.exe" +## ARGS "-force-opengl -projectPath \"${CMAKE_HOME_DIRECTORY}/UnityPlugins/RenderingPluginExample/UnityProject\"" +## WORKING_DIR "${CMAKE_HOME_DIRECTORY}/UnityPlugins/RenderingPluginExample/UnityProject" +## VERBOSE +## ) +## +## Example 2: +## include(MSVCsetUserCommand) +## MSVCsetUserCommand( ibrApp +## PATH "C:/Program Files (x86)/workspace/IBR/install" +## FILE "ibrApp${CMAKE_EXECUTABLE_SUFFIX}" ## this option line is optional since the target name didn't change between build and install step +## ARGS "-path \"${CMAKE_HOME_DIRECTORY}/dataset\"" +## WORKING_DIR "${CMAKE_HOME_DIRECTORY}" +## VERBOSE +## ) +## +function(MSVCsetUserCommand targetName) + cmake_parse_arguments(MSVCsuc "VERBOSE" "PATH;FILE;COMMAND;ARGS;WORKING_DIR" "" ${ARGN} ) + + ## If no arguments are given, do not create an unecessary .vcxproj.user file + set(MSVCsuc_DEFAULT OFF) + + if(MSVCsuc_PATH AND MSVCsuc_DEFAULT) + set(MSVCsuc_DEFAULT OFF) + endif() + + if(MSVCsuc_FILE AND MSVCsuc_DEFAULT) + set(MSVCsuc_DEFAULT OFF) + endif() + + if(NOT MSVCsuc_COMMAND) + if(MSVCsuc_PATH AND MSVCsuc_FILE) + set(MSVCsuc_COMMAND "${MSVCsuc_PATH}\\${MSVCsuc_FILE}") + elseif(MSVCsuc_PATH) + set(MSVCsuc_COMMAND "${MSVCsuc_PATH}\\$(TargetFileName)") + else() + set(MSVCsuc_COMMAND "$(TargetPath)") ## => $(TargetDir)\$(TargetName)$(TargetExt) + endif() + elseif(MSVCsuc_DEFAULT) + set(MSVCsuc_DEFAULT OFF) + endif() + + # NOTE: there was a typo here. there is an else if written after else statement + # changing the order of the else if statement + if(MSVCsuc_WORKING_DIR) + file(TO_NATIVE_PATH ${MSVCsuc_WORKING_DIR} MSVCsuc_WORKING_DIR) + elseif(MSVCsuc_DEFAULT) + set(MSVCsuc_DEFAULT OFF) + else() + set(MSVCsuc_WORKING_DIR "$(ProjectDir)") + endif() + + if(NOT MSVCsuc_ARGS) + set(MSVCsuc_ARGS "") + elseif(MSVCsuc_DEFAULT) + set(MSVCsuc_DEFAULT OFF) + endif() + + if(MSVC10 OR (MSVC AND MSVC_VERSION GREATER 1600)) # 2010 or newer + + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(PLATEFORM_BITS x64) + else() + set(PLATEFORM_BITS Win32) + endif() + + if(NOT MSVCsuc_DEFAULT AND PLATEFORM_BITS) + + file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${targetName}.vcxproj.user" + " + + + ${MSVCsuc_COMMAND} + ${MSVCsuc_ARGS} + WindowsLocalDebugger + ${MSVCsuc_WORKING_DIR} + + + ${MSVCsuc_COMMAND} + ${MSVCsuc_ARGS} + WindowsLocalDebugger + ${MSVCsuc_WORKING_DIR} + + + ${MSVCsuc_COMMAND} + ${MSVCsuc_ARGS} + WindowsLocalDebugger + ${MSVCsuc_WORKING_DIR} + + + ${MSVCsuc_COMMAND} + ${MSVCsuc_ARGS} + WindowsLocalDebugger + ${MSVCsuc_WORKING_DIR} + +" + ) + if(MSVCsuc_VERBOSE) + message(STATUS "[MSVCsetUserCommand] Write ${CMAKE_CURRENT_BINARY_DIR}/${targetName}.vcxproj.user file") + message(STATUS " to execute ${MSVCsuc_COMMAND} ${MSVCsuc_ARGS}") + message(STATUS " from derectory ${MSVCsuc_WORKING_DIR}") + message(STATUS " on visual studio run debugger button") + endif() + + else() + message(WARNING "PLATEFORM_BITS is undefined...") + endif() + + else() + if(MSVCsuc_VERBOSE) + message(WARNING "MSVCsetUserCommand is disable because too old MSVC is used (need MSVC10 2010 or newer)") + endif() + endif() + +endfunction() diff --git a/SIBR_viewers/cmake/windows/Modules/FindASSIMP.cmake b/SIBR_viewers/cmake/windows/Modules/FindASSIMP.cmake new file mode 100644 index 0000000000..f92c8c003c --- /dev/null +++ b/SIBR_viewers/cmake/windows/Modules/FindASSIMP.cmake @@ -0,0 +1,104 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## Try to find the ASSIMP library +## Once done this will define +## +## ASSIMP_FOUND - system has ASSIMP +## ASSIMP_INCLUDE_DIR - The ASSIMP include directory +## ASSIMP_LIBRARIES - The libraries needed to use ASSIMP +## ASSIMP_CMD - the full path of ASSIMP executable +## ASSIMP_DYNAMIC_LIB - the Assimp dynamic lib (available only on windows as .dll file for the moment) +## +## Edited for using a bugfixed version of Assimp + +if(NOT ASSIMP_DIR) + set(ASSIMP_DIR "$ENV{ASSIMP_DIR}" CACHE PATH "ASSIMP root directory") +endif() +if(ASSIMP_DIR) + file(TO_CMAKE_PATH ${ASSIMP_DIR} ASSIMP_DIR) +endif() + + +## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits) +if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(ASSIMP_SEARCH_LIB "lib64") + set(ASSIMP_SEARCH_BIN "bin64") + set(ASSIMP_SEARCH_LIB_PATHSUFFIXE "x64") +else() + set(ASSIMP_SEARCH_LIB "lib32") + set(ASSIMP_SEARCH_BIN "bin32") + set(ASSIMP_SEARCH_LIB_PATHSUFFIXE "x86") +endif() + +set(PROGRAMFILESx86 "PROGRAMFILES(x86)") + + +FIND_PATH(ASSIMP_INCLUDE_DIR + NAMES assimp/config.h + PATHS + ${ASSIMP_DIR} + ## linux + /usr + /usr/local + /opt/local + ## windows + "$ENV{PROGRAMFILES}/Assimp" + "$ENV{${PROGRAMFILESx86}}/Assimp" + "$ENV{ProgramW6432}/Assimp" + PATH_SUFFIXES include +) + + +FIND_LIBRARY(ASSIMP_LIBRARY + NAMES assimp-vc140-mt + PATHS + ${ASSIMP_DIR}/${ASSIMP_SEARCH_LIB} + ${ASSIMP_DIR}/lib + ${ASSIMP_DIR}/lib64 + ## linux + /usr/${ASSIMP_SEARCH_LIB} + /usr/local/${ASSIMP_SEARCH_LIB} + /opt/local/${ASSIMP_SEARCH_LIB} + /usr/lib + /usr/local/lib + /opt/local/lib + ## windows + "$ENV{PROGRAMFILES}/Assimp/${ASSIMP_SEARCH_LIB}" + "$ENV{${PROGRAMFILESx86}}/Assimp/${ASSIMP_SEARCH_LIB}" + "$ENV{ProgramW6432}/Assimp/${ASSIMP_SEARCH_LIB}" + "$ENV{PROGRAMFILES}/Assimp/lib" + "$ENV{${PROGRAMFILESx86}}/Assimp/lib" + "$ENV{ProgramW6432}/Assimp/lib" + PATH_SUFFIXES ${ASSIMP_SEARCH_LIB_PATHSUFFIXE} +) +set(ASSIMP_LIBRARIES ${ASSIMP_LIBRARY}) + + +if(ASSIMP_LIBRARY) + get_filename_component(ASSIMP_LIBRARY_DIR ${ASSIMP_LIBRARY} PATH) + file(GLOB ASSIMP_DYNAMIC_LIB "${ASSIMP_LIBRARY_DIR}/assimp*.dll") + if(NOT ASSIMP_DYNAMIC_LIB) + message("ASSIMP_DYNAMIC_LIB is missing... at ${ASSIMP_LIBRARY_DIR}") + endif() + set(ASSIMP_DYNAMIC_LIB ${ASSIMP_DYNAMIC_LIB} CACHE PATH "Windows dll location") +endif() + +MARK_AS_ADVANCED(ASSIMP_DYNAMIC_LIB ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(ASSIMP + REQUIRED_VARS ASSIMP_INCLUDE_DIR ASSIMP_LIBRARIES + FAIL_MESSAGE "ASSIMP wasn't found correctly. Set ASSIMP_DIR to the root SDK installation directory." +) + +if(NOT ASSIMP_FOUND) + set(ASSIMP_DIR "" CACHE STRING "Path to ASSIMP install directory") +endif() diff --git a/SIBR_viewers/cmake/windows/Modules/FindEmbree.cmake b/SIBR_viewers/cmake/windows/Modules/FindEmbree.cmake new file mode 100644 index 0000000000..27908b5824 --- /dev/null +++ b/SIBR_viewers/cmake/windows/Modules/FindEmbree.cmake @@ -0,0 +1,95 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## Important Note: +## This is not an official Find*cmake. It has been written for searching through +## a custom path (EMBREE_DIR) before checking elsewhere. +## +## FindEMBREE.cmake +## Find EMBREE's includes and library +## +## This module defines : +## [in] EMBREE_DIR, The base directory to search for EMBREE (as cmake var or env var) +## [out] EMBREE_INCLUDE_DIR where to find EMBREE.h +## [out] EMBREE_LIBRARIES, EMBREE_LIBRARY, libraries to link against to use EMBREE +## [out] EMBREE_FOUND, If false, do not try to use EMBREE. +## + + +if(NOT EMBREE_DIR) + set(EMBREE_DIR "$ENV{EMBREE_DIR}" CACHE PATH "EMBREE root directory") +endif() +if(EMBREE_DIR) + file(TO_CMAKE_PATH ${EMBREE_DIR} EMBREE_DIR) +endif() + + +## set the LIB POSTFIX to find in a right directory according to what kind of compiler we use (32/64bits) +if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(EMBREE_SEARCH_LIB "lib64") + set(EMBREE_SEARCH_BIN "bin64") + set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x64") +else() + set(EMBREE_SEARCH_LIB "lib32") + set(EMBREE_SEARCH_BIN "bin32") + set(EMBREE_SEARCH_LIB_PATHSUFFIXE "x86") +endif() + +set(PROGRAMFILESx86 "PROGRAMFILES(x86)") + +FIND_PATH(EMBREE_INCLUDE_DIR + NAMES embree3/rtcore_geometry.h + PATHS + ${EMBREE_DIR} + ## linux + /usr + /usr/local + /opt/local + ## windows + "$ENV{PROGRAMFILES}/EMBREE" + "$ENV{${PROGRAMFILESx86}}/EMBREE" + "$ENV{ProgramW6432}/EMBREE" + PATH_SUFFIXES include +) + +FIND_LIBRARY(EMBREE_LIBRARY + NAMES embree3 + PATHS + ${EMBREE_DIR}/${EMBREE_SEARCH_LIB} + ${EMBREE_DIR}/lib + ## linux + /usr/${EMBREE_SEARCH_LIB} + /usr/local/${EMBREE_SEARCH_LIB} + /opt/local/${EMBREE_SEARCH_LIB} + /usr/lib + /usr/local/lib + /opt/local/lib + ## windows + "$ENV{PROGRAMFILES}/EMBREE/${EMBREE_SEARCH_LIB}" + "$ENV{${PROGRAMFILESx86}}/EMBREE/${EMBREE_SEARCH_LIB}" + "$ENV{ProgramW6432}/EMBREE/${EMBREE_SEARCH_LIB}" + "$ENV{PROGRAMFILES}/EMBREE/lib" + "$ENV{${PROGRAMFILESx86}}/EMBREE/lib" + "$ENV{ProgramW6432}/EMBREE/lib" + PATH_SUFFIXES ${EMBREE_SEARCH_LIB_PATHSUFFIXE} +) +set(EMBREE_LIBRARIES ${EMBREE_LIBRARY}) + +MARK_AS_ADVANCED(EMBREE_INCLUDE_DIR EMBREE_LIBRARIES) + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(EMBREE + REQUIRED_VARS EMBREE_INCLUDE_DIR EMBREE_LIBRARIES + FAIL_MESSAGE "EMBREE wasn't found correctly. Set EMBREE_DIR to the root SDK installation directory." +) + +if(NOT EMBREE_FOUND) + set(EMBREE_DIR "" CACHE STRING "Path to EMBREE install directory") +endif() diff --git a/SIBR_viewers/cmake/windows/Modules/FindFFmpeg.cmake b/SIBR_viewers/cmake/windows/Modules/FindFFmpeg.cmake new file mode 100644 index 0000000000..5b208b64e1 --- /dev/null +++ b/SIBR_viewers/cmake/windows/Modules/FindFFmpeg.cmake @@ -0,0 +1,104 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## Try to find the FFMPEG library +## Once done this will define +## +## FFMPEG_FOUND - system has FFmpeg +## FFMPEG_INCLUDE_DIR - The FFmpeg include directory +## FFMPEG_LIBRARIES - The libraries needed to use FFmpeg +## FFMPEG_DYNAMIC_LIBS - DLLs for windows + + +if(NOT FFMPEG_DIR) + set(FFMPEG_DIR "$ENV{FFMPEG_DIR}" CACHE PATH "FFMPEG_DIR root directory") +endif() + +if(FFMPEG_DIR) + file(TO_CMAKE_PATH ${FFMPEG_DIR} FFMPEG_DIR) +endif() + +MACRO(FFMPEG_FIND varname shortname headername) + + # Path to include dirs + FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS + NAMES "lib${shortname}/${headername}" + PATHS + "${FFMPEG_DIR}/include" # modify this to adapt according to OS/compiler + ) + + #Add libraries + IF(${FFMPEG_${varname}_INCLUDE_DIRS} STREQUAL "FFMPEG_${varname}_INCLUDE_DIR-NOTFOUND") + MESSAGE(STATUS "Can't find includes for ${shortname}...") + ELSE() + FIND_LIBRARY(FFMPEG_${varname}_LIBRARIES + NAMES ${shortname} + PATHS + ${FFMPEG_DIR}/lib + ) + + # set libraries and other variables + SET(FFMPEG_${varname}_FOUND 1) + SET(FFMPEG_${varname}_INCLUDE_DIRS ${FFMPEG_${varname}_INCLUDE_DIR}) + SET(FFMPEG_${varname}_LIBS ${FFMPEG_${varname}_LIBRARIES}) + ENDIF() + ENDMACRO(FFMPEG_FIND) + +#Calls to ffmpeg_find to get librarires ------------------------------ +FFMPEG_FIND(LIBAVFORMAT avformat avformat.h) +FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h) +FFMPEG_FIND(LIBAVCODEC avcodec avcodec.h) +FFMPEG_FIND(LIBAVUTIL avutil avutil.h) +FFMPEG_FIND(LIBSWSCALE swscale swscale.h) + +# check if libs are found and set FFMPEG related variables +#SET(FFMPEG_FOUND "NO") +IF(FFMPEG_LIBAVFORMAT_FOUND + AND FFMPEG_LIBAVDEVICE_FOUND + AND FFMPEG_LIBAVCODEC_FOUND + AND FFMPEG_LIBAVUTIL_FOUND + AND FFMPEG_LIBSWSCALE_FOUND) + + # All ffmpeg libs are here + SET(FFMPEG_FOUND "YES") + SET(FFMPEG_INCLUDE_DIR ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}) + SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS}) + SET(FFMPEG_LIBRARIES + ${FFMPEG_LIBAVFORMAT_LIBS} + ${FFMPEG_LIBAVDEVICE_LIBS} + ${FFMPEG_LIBAVCODEC_LIBS} + ${FFMPEG_LIBAVUTIL_LIBS} + ${FFMPEG_LIBSWSCALE_LIBS} ) + + # add dynamic libraries + if(WIN32) + file(GLOB FFMPEG_DYNAMIC_LIBS "${FFMPEG_DIR}/bin/*.dll") + if(NOT FFMPEG_DYNAMIC_LIBS) + message("FFMPEG_DYNAMIC_LIBS is missing...") + endif() + set(FFMPEG_DYNAMIC_LIBS ${FFMPEG_DYNAMIC_LIBS} CACHE PATH "Windows dll location") +endif() + + mark_as_advanced(FFMPEG_INCLUDE_DIR FFMPEG_LIBRARY_DIRS FFMPEG_LIBRARIES FFMPEG_DYNAMIC_LIBS) +ELSE () + MESSAGE(STATUS "Could not find FFMPEG") +ENDIF() + + +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(FFMPEG + REQUIRED_VARS FFMPEG_INCLUDE_DIR FFMPEG_LIBRARIES + FAIL_MESSAGE "FFmpeg wasn't found correctly. Set FFMPEG_DIR to the root SDK installation directory." +) + +if(NOT FFMPEG_FOUND) + set(FFMPEG_DIR "" CACHE STRING "Path to FFmpeg install directory") +endif() + diff --git a/SIBR_viewers/cmake/windows/Win3rdParty.cmake b/SIBR_viewers/cmake/windows/Win3rdParty.cmake new file mode 100644 index 0000000000..7e42fbb9f4 --- /dev/null +++ b/SIBR_viewers/cmake/windows/Win3rdParty.cmake @@ -0,0 +1,337 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## This file should be include and use only on WIN32 OS and once +## It allow to auto check/download and use a preconfigured 3rdParty binaries for cmake usage +## It use the downloadAndExtractZipFile cmake module to work. +## +if(__Win3rdParty_cmake_INCLUDED__) + return() +else() + set(__Win3rdParty_cmake_INCLUDED__ ON) +endif() + + +## +## To be sure to reset an empty cached variable but keep any other kind of variables +## +## Usage: +## check_cached_var( [FORCE]) +## +## is the cached cmake variable you need to reset +## is the new default value of the reseted cached cmake variable +## is the kind of GUI cache input can be : FILEPATH; PATH; STRING or BOOL +## is the associated GUI cache input documentation display in the GUI +## FORCE option could be use to reset a cached variable even if it is not empty. +## +macro(check_cached_var var resetedCachedValue cacheType cacheDoc) + # message(STATUS "inside check_cached_var macro. argn=${ARGN}") + cmake_parse_arguments(ccv "FORCE" "" "" ${ARGN}) + + if(ccv_FORCE) + set(FORCE FORCE) + else() + set(FORCE ) + endif() + + if(NOT ${var} OR ccv_FORCE) + unset(${var} CACHE) + # message(STATUS "setting new cache value. var ${var} = ${resetedCachedValue}") + set(${var} "${resetedCachedValue}" CACHE ${cacheType} "${cacheDoc}" ${FORCE}) + endif() +endmacro() + + +## +## Win3rdParty function allow to specify a directory which contain all necessary windows dependenties. +## By uploading 3rdParty directory (which contain dependencies, *.lib, *.dll... for a specific version of compiler) onto Gforge file tab, +## you get back an URL of download you can give to this function with a directory name. So you can provide multiple 3rdParty version of same dependencies (MSVC11, MSVC12...). +## By providing a prefix to this function, you allow to use different kind of 3rdParty which can be handled by CMAKE OPTIONS depending on what your framework need for example. +## +## Usage 1: +## Win3rdParty( MSVC +## [MSVC ] [...] +## [VCID] [DEFAULT_USE] [VERBOSE] ) +## +## * allow to identify which 3rdParty you process (prefix name) +## * MSVC flag could be MSVC11 or MSVC12 (any element of the MSVC_VERSIONS_LIST) and refer to a 3rdParty compiler with : +## * which will be the local pathName of the downloaded 3rdParty : relative to CMAKE_BINARY_DIR +## * which is the link location of the 3rdParty zip +## * VCID flag will make available a cache variable ${prefix}_WIN3RDPARTY_VCID +## * DEFAULT_USE flag [ON|OFF] may be used to set default value of cmake cached variable : _WIN3RDPARTY_USE [default to ON] +## +## WARNING: +## This function define CACHE variables you can use after : +## * ${prefix}_WIN3RDPARTY_USE : allow to check/downloaded win3rdParty dir (it will force the cached variables for this dependency folder generally _DIR>) +## * ${prefix}_WIN3RDPARTY_DIR : where is your local win3rdParty dir (the PATH) +## * ${prefix}_WIN3RDPARTY_VCID : [if VCID flag is used] the MSVC id (commonly used to prefix/suffix library name, see boost or CGAL) +## +## If you want to add a win3rdParty version, please: +## 1- build dependencies on your local side with the compiler you want +## 2- build your own zip with your built dependencies +## 3- upload it (onto the forge where the project is stored) and copy the link location in order to use it for this function +## 4- if you just introduced a new MSVC version, add it to the MSVC_VERSIONS_LIST bellow +## +## In a second pass, you can also use this function to set necessary cmake cached variables in order to let cmake find packages of these 3rdParty. +## +## Usage 2: +## win3rdParty( [VERBOSE] MULTI_SET|SET +## CHECK_CACHED_VAR [LIST] [DOC ] +## [ CHECK_CACHED_VAR [LIST] [DOC ] ] [...] +## +## * MULTI_SET or SET flags are used to tell cmake that all next arguments will use repeated flags with differents entries (SET mean we will provide only one set of arguments, without repetition) +## * CHECK_CACHED_VAR are the repeated flag which contain differents entries +## * is the cmake variable you want to be cached for the project +## * is the kind of cmake variable (couble be: FILEPATH; PATH; STRING or BOOL) => see check_cached_var. +## * LIST optional flag could be used with CHECK_CACHED_VAR when = STRING. It allow to handle multiple STRINGS value list. +## * is the value of the variable (if FILEPATH, PATH or STRING: use quotes, if BOOL : use ON/OFF) +## * DOC optional flag is used to have a tooltips info about this new cmake variable entry into the GUI (use quotes). +## +## Full example 1 : +## win3rdParty(COMMON MSVC11 "win3rdParty-MSVC11" "https://path.to/an.archive.7z" +## SET CHECK_CACHED_VAR SuiteSparse_DIR PATH "SuiteSparse-4.2.1" DOC "default empty doc" +## ) +## +## WARNING: +## For the 2nd usage (with MULTI_SET), if you planned to set some CACHED_VAR using/composed by ${prefix}_WIN3RDPARTY_* just set in this macro (usage 1), +## then (due to the not yet existing var) you will need to call this function 2 times : +## One for the 1st usage (downloading of the current compiler 3rdParty). +## One for the MLUTI_SET flag which will use existsing ${prefix}_WIN3RDPARTY_* cached var. +## +## Full example 2 : +## win3rdParty(COMMON MSVC11 "win3rdParty-MSVC11" "https://path.to/an.archive.7z") +## win3rdParty(COMMON MULTI_SET +## CHECK_CACHED_VAR CGAL_INCLUDE_DIR PATH "CGAL-4.3/include" DOC "default empty doc" +## CHECK_CACHED_VAR CGAL_LIBRARIES STRING LIST "debug;CGAL-4.3/lib${LIB_POSTFIX}/CGAL-${WIN3RDPARTY_COMMON_VCID}-mt-gd-4.3.lib;optimized;CGAL-4.3/lib${LIB_POSTFIX}/CGAL-${WIN3RDPARTY_COMMON_VCID}-mt-4.3.lib" +## +## +## WARNING: This function use internaly : +## * downloadAndExtractZipFile.cmake +## * parse_arguments_multi.cmake +## * check_cached_var macro +## +function(win3rdParty prefix ) + + # ARGV: list of all arguments given to the macro/function + # ARGN: list of remaining arguments + + if(NOT WIN32) + return() + endif() + + ## set the handled version of MSVC + ## if you plan to add a win3rdParty dir to download with a new MSVC version: build the win3rdParty dir and add the MSCV entry here. + set(MSVC_VERSIONS_LIST "MSVC17;MSVC11;MSVC12;MSVC14") + + #include(CMakeParseArguments) # CMakeParseArguments is obsolete since cmake 3.5 + # cmake_parse_arguments ( args) + # : options (flags) pass to the macro + # : options that neeed a value + # : options that neeed more than one value + cmake_parse_arguments(w3p "VCID" "VERBOSE;TIMEOUT;DEFAULT_USE" "${MSVC_VERSIONS_LIST};MULTI_SET;SET" ${ARGN}) + + # message(STATUS "value of w3p_VCID = ${w3p_VCID}") + # message(STATUS "value of w3p_VERBOSE = ${w3p_VERBOSE}") + # message(STATUS "value of w3p_TIMEOUT = ${w3p_TIMEOUT}") + # message(STATUS "value of w3p_DEFAULT_USE = ${w3p_DEFAULT_USE}") + + # foreach (loop_var ${MSVC_VERSIONS_LIST}) + # message(STATUS "value of w3p_${loop_var} = ${w3p_${loop_var}}") + # endforeach(loop_var) + + # message(STATUS "value of w3p_MULTI_SET = ${w3p_MULTI_SET}") + # message(STATUS "value of w3p_SET = ${w3p_SET}") + + # message("values for MSVC = ${w3p_MSVC14}") + + if(NOT w3p_TIMEOUT) + set(w3p_TIMEOUT 300) + endif() + + if(NOT DEFINED w3p_DEFAULT_USE) + set(w3p_DEFAULT_USE ON) + endif() + + + ## 1st use (check/update|download) : + set(${prefix}_WIN3RDPARTY_USE ${w3p_DEFAULT_USE} CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist") + + + ## We want to test if each version of MSVC was filled by the function (see associated parameters) + ## As CMake is running only for one version of MSVC, if that MSVC version was filled, we get back associated parameters, + ## otherwise we can't use the downloadAndExtractZipFile with win3rdParty. + set(enableWin3rdParty OFF) + + foreach(MSVC_VER ${MSVC_VERSIONS_LIST}) + if(${MSVC_VER} AND w3p_${MSVC_VER} OR ${MSVC_TOOLSET_VERSION} EQUAL 143 AND ${MSVC_VER} STREQUAL "MSVC17") + list(LENGTH w3p_${MSVC_VER} count) + if("${count}" LESS "2") + #message(WARNING "You are using ${MSVC_VER} with ${prefix}_WIN3RDPARTY_USE=${${prefix}_WIN3RDPARTY_USE}, but win3rdParty function isn't filled for ${MSVC_VER}!") + else() + list(GET w3p_${MSVC_VER} 0 Win3rdPartyName) + list(GET w3p_${MSVC_VER} 1 Win3rdPartyUrl) + if(w3p_VCID) + ## try to get the VcId of MSVC. See also MSVC_VERSION cmake var in the doc. + string(REGEX REPLACE "MS([A-Za-z_0-9-]+)" "\\1" vcId ${MSVC_VER}) + string(TOLOWER ${vcId} vcId) + set(${prefix}_WIN3RDPARTY_VCID "${vcId}0" CACHE STRING "the MSVC id (commonly used to prefix/suffix library name, see boost or CGAL)") + mark_as_advanced(${prefix}_WIN3RDPARTY_VCID) + endif() + set(enableWin3rdParty ON) + set(suffixCompilerID ${MSVC_VER}) + break() + endif() + endif() + endforeach() + ## If previous step succeed to get MSVC dirname and URL of the current MSVC version, use it to auto download/update the win3rdParty dir + if(enableWin3rdParty AND ${prefix}_WIN3RDPARTY_USE) + + if(IS_ABSOLUTE "${Win3rdPartyName}") + else() + set(Win3rdPartyName "${CMAKE_BINARY_DIR}/${Win3rdPartyName}") + endif() + + if(NOT EXISTS "${Win3rdPartyName}") + file(MAKE_DIRECTORY ${Win3rdPartyName}) + endif() + + include(downloadAndExtractZipFile) + downloadAndExtractZipFile( "${Win3rdPartyUrl}" ## URL link location + "Win3rdParty-${prefix}-${suffixCompilerID}.7z" ## where download it: relative path, so default to CMAKE_BINARY_DIR + "${Win3rdPartyName}" ## where extract it : fullPath (default relative to CMAKE_BINARY_DIR) + CHECK_DIRTY_URL "${Win3rdPartyName}/Win3rdPartyUrl" ## last downloaded url file : fullPath (default relative to CMAKE_BINARY_DIR) + TIMEOUT ${w3p_TIMEOUT} + VERBOSE ${w3p_VERBOSE} + ) + file(GLOB checkDl "${Win3rdPartyName}/*") + list(LENGTH checkDl checkDlCount) + if("${checkDlCount}" GREATER "1") + else() + message("The downloadAndExtractZipFile didn't work...?") + set(enableWin3rdParty OFF) + endif() + endif() + + ## Try to auto set ${prefix}_WIN3RDPARTY_DIR or let user set it manually + set(${prefix}_WIN3RDPARTY_DIR "" CACHE PATH "windows ${Win3rdPartyName} dir to ${prefix} dependencies of the project") + + if(NOT ${prefix}_WIN3RDPARTY_DIR AND ${prefix}_WIN3RDPARTY_USE) + if(EXISTS "${Win3rdPartyName}") + unset(${prefix}_WIN3RDPARTY_DIR CACHE) + set(${prefix}_WIN3RDPARTY_DIR "${Win3rdPartyName}" CACHE PATH "dir to ${prefix} dependencies of the project") + endif() + endif() + + if(EXISTS ${${prefix}_WIN3RDPARTY_DIR}) + message(STATUS "Found a 3rdParty ${prefix} dir : ${${prefix}_WIN3RDPARTY_DIR}.") + set(enableWin3rdParty ON) + elseif(${prefix}_WIN3RDPARTY_USE) + message(WARNING "${prefix}_WIN3RDPARTY_USE=${${prefix}_WIN3RDPARTY_USE} but ${prefix}_WIN3RDPARTY_DIR=${${prefix}_WIN3RDPARTY_DIR}.") + set(enableWin3rdParty OFF) + endif() + + ## Final check + if(NOT enableWin3rdParty) + message("Disable ${prefix}_WIN3RDPARTY_USE (cmake cached var will be not set), due to a win3rdParty problem.") + message("You still can set ${prefix}_WIN3RDPARTY_DIR to an already downloaded Win3rdParty directory location.") + set(${prefix}_WIN3RDPARTY_USE OFF CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist" FORCE) + endif() + + ## 2nd use : handle multi values args to set cached cmake variables in order to ease the next find_package call + if(${prefix}_WIN3RDPARTY_USE AND ${prefix}_WIN3RDPARTY_DIR) + if(w3p_VERBOSE) + message(STATUS "Try to set cmake cached variables for ${prefix} required libraries directly from : ${${prefix}_WIN3RDPARTY_DIR}.") + endif() + + include(parse_arguments_multi) + # message (STATUS "before defining an override of parse_arguments_multi_function") + function(parse_arguments_multi_function ) ## overloaded function to handle all CHECK_CACHED_VAR values list (see: parse_arguments_multi) + # message(STATUS "inside overloaded parse_arguments_multi_function defined in Win3rdParty.cmake") + # message(STATUS ${ARGN}) + ## we know the function take 3 args : var cacheType resetedCachedValue (see check_cached_var) + cmake_parse_arguments(pamf "" "DOC" "LIST" ${ARGN}) + + ## var and cacheType are mandatory (with the resetedCachedValue) + set(var ${ARGV0}) + set(cacheType ${ARGV1}) + # message(STATUS "var=${var} and cacheType=${cacheType} list=${pamf_LIST}") + if(pamf_DOC) + set(cacheDoc ${pamf_DOC}) + else() + set(cacheDoc "") + endif() + if(pamf_LIST) + set(value ${pamf_LIST}) + else() + # message("USING ARGV2 with value ${ARGV2}") + set(value ${ARGV2}) + endif() + # message("inside override function in Win3rdparty.cmake value+ ${value}") + if("${cacheType}" MATCHES "PATH" AND EXISTS "${${prefix}_WIN3RDPARTY_DIR}/${value}") + # message("math with path") + set(resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}/${value}") ## path relative to ${prefix}_WIN3RDPARTY_DIR + elseif ("${cacheType}" MATCHES "PATH" AND EXISTS "${${prefix}_WIN3RDPARTY_DIR}") + set(resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}") ## path relative to ${prefix}_WIN3RDPARTY_DIR + elseif("${cacheType}" MATCHES "STRING") + foreach(var IN LISTS value) + if(EXISTS "${${prefix}_WIN3RDPARTY_DIR}/${var}") + list(APPEND resetedCachedValue "${${prefix}_WIN3RDPARTY_DIR}/${var}") ## string item of the string list is a path => make relative to ${prefix}_WIN3RDPARTY_DIR + else() + list(APPEND resetedCachedValue ${var}) ## string item of the string list is not an existing path => simply use the item + endif() + endforeach() + else() + set(resetedCachedValue "${value}") ## could be a BOOL or a STRING + endif() + + ## call our macro to reset cmake cache variable if empty + check_cached_var(${var} "${resetedCachedValue}" ${cacheType} "${cacheDoc}" FORCE) + + endfunction() + # message (STATUS "after defining an override of parse_arguments_multi_function") + + if(w3p_MULTI_SET) + parse_arguments_multi(CHECK_CACHED_VAR w3p_MULTI_SET ${w3p_MULTI_SET}) ## internaly will call our overloaded parse_arguments_multi_function + elseif(w3p_SET) + # message("calling set version of parse_arguments_multi with w3p_set = ${w3p_SET}") + parse_arguments_multi(CHECK_CACHED_VAR w3p_SET ${w3p_SET}) + endif() + + endif() + +endfunction() + +## cmake variables introspection to globally activate/deactivate ${prefix}_WIN3RDPARTY_USE +## This "one shot" call (only one for the next cmake configure) will automatically then reset the global variable WIN3RDPARTY_USE to UserDefined (do nothing). +## use (call it) before and after the call of all your win3rdParty functions +function(Win3rdPartyGlobalCacheAction ) + set(WIN3RDPARTY_USE "UserDefined" CACHE STRING "Choose how to handle all cmake cached *_WIN3RDPARTY_USE for the next configure.\nCould be:\nUserDefined [default]\nActivateAll\nDesactivateAll" ) + set_property(CACHE WIN3RDPARTY_USE PROPERTY STRINGS "UserDefined;ActivateAll;DesactivateAll" ) + if(${WIN3RDPARTY_USE} MATCHES "UserDefined") + else() + if(${WIN3RDPARTY_USE} MATCHES "ActivateAll") + set(win3rdPvalue ON) + elseif(${WIN3RDPARTY_USE} MATCHES "DesactivateAll") + set(win3rdPvalue OFF) + endif() + get_cmake_property(_variableNames CACHE_VARIABLES) + foreach (_variableName ${_variableNames}) + string(REGEX MATCH "[A-Za-z_0-9-]+_WIN3RDPARTY_USE" win3rdpartyUseCacheVar ${_variableName}) + if(win3rdpartyUseCacheVar) + string(REGEX REPLACE "([A-Za-z_0-9-]+_WIN3RDPARTY_USE)" "\\1" win3rdpartyUseCacheVar ${_variableName}) + set(${win3rdpartyUseCacheVar} ${win3rdPvalue} CACHE BOOL "Use required 3rdParty binaries from ${prefix}_WIN3RDPARTY_DIR or download it if not exist" FORCE) + message(STATUS "${win3rdpartyUseCacheVar} cached variable set to ${win3rdPvalue}.") + endif() + endforeach() + set(WIN3RDPARTY_USE "UserDefined" CACHE STRING "Choose how to handle all cmake cached *_WIN3RDPARTY_USE for the next configure.\nCould be:\nUserDefined [default]\nActivateAll\nDesactivateAll" FORCE) + message(STATUS "reset WIN3RDPARTY_USE to UserDefined.") + endif() + mark_as_advanced(WIN3RDPARTY_USE) +endfunction() diff --git a/SIBR_viewers/cmake/windows/cmake_policies.cmake b/SIBR_viewers/cmake/windows/cmake_policies.cmake new file mode 100644 index 0000000000..679fd8427d --- /dev/null +++ b/SIBR_viewers/cmake/windows/cmake_policies.cmake @@ -0,0 +1,19 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +if(__set_policies_INCLUDED__) + return() +else() + set(__set_policies_INCLUDED__ ON) +endif() + +macro(setPolicies) + # No more policies to enforce +endmacro() diff --git a/SIBR_viewers/cmake/windows/dependencies.cmake b/SIBR_viewers/cmake/windows/dependencies.cmake new file mode 100644 index 0000000000..947f88fb75 --- /dev/null +++ b/SIBR_viewers/cmake/windows/dependencies.cmake @@ -0,0 +1,292 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## Included once for all sub project. +## It contain the whole cmake instructions to find necessary common dependencies. +## 3rdParty (provided by sibr_addlibrary win3rdParty or from external packages) are then available in cmake sub projects. +## +## Do not include this file more than once but you can modify it to fit to your own project. +## So please, read it carefully because you can use on of these dependencies for your project or appen new one. +## +## As it is included after camke options, you can use conditional if()/endif() to encapsulate your 3rdParty. +## + +## win3rdParty function allowing to auto check/download/update binaries dependencies for current windows compiler +## Please open this file in order to get more documentation and usage examples. +include(Win3rdParty) + +include(sibr_library) + +Win3rdPartyGlobalCacheAction() + +find_package(OpenGL REQUIRED) + +############ +## Find GLEW +############ +if (MSVC11 OR MSVC12) + set(glew_multiset_arguments + 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 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" + CHECK_CACHED_VAR GLEW_STATIC_LIBRARY_RELEASE PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32s.lib" + CHECK_CACHED_VAR GLEW_SHARED_LIBRARY_DEBUG PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32d.lib" + CHECK_CACHED_VAR GLEW_STATIC_LIBRARY_DEBUG PATH "glew-2.0.0/${LIB_BUILT_DIR}/glew32sd.lib" + ) +else () + message("There is no provided GLEW library for your version of MSVC") +endif() +sibr_addlibrary(NAME GLEW #VERBOSE ON + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/glew-1.10.0.7z" + MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/glew-1.10.0.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glew-2.0.0.7z" # using recompiled version of glew + MULTI_SET ${glew_multiset_arguments} +) +set(GLEW_VERBOSE ON) +FIND_PACKAGE(GLEW REQUIRED) +IF(GLEW_FOUND) + INCLUDE_DIRECTORIES(${GLEW_INCLUDE_DIR}) +ELSE(GLEW_FOUND) + MESSAGE("GLEW not found. Set GLEW_DIR to base directory of GLEW.") +ENDIF(GLEW_FOUND) + + +############## +## Find ASSIMP +############## +if (MSVC11 OR MSVC12) + set(assimp_set_arguments + CHECK_CACHED_VAR ASSIMP_DIR PATH "Assimp_3.1_fix" + ) +elseif (MSVC14 OR MSVC17) + set(assimp_set_arguments + CHECK_CACHED_VAR ASSIMP_DIR PATH "Assimp-4.1.0" + ) +else () + message("There is no provided ASSIMP library for your version of MSVC") +endif() + +sibr_addlibrary(NAME ASSIMP #VERBOSE ON + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/Assimp_3.1_fix.7z" + MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/Assimp_3.1_fix.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/Assimp-4.1.0.7z" + MULTI_SET + ${assimp_set_arguments} +) + +find_package(ASSIMP REQUIRED) +include_directories(${ASSIMP_INCLUDE_DIR}) + +################ +## Find FFMPEG +################ +sibr_addlibrary(NAME FFMPEG + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/ffmpeg.zip" + MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/ffmpeg.zip" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/ffmpeg-4.0.2-win64-win3rdParty.7z" + SET CHECK_CACHED_VAR FFMPEG_DIR PATH ${FFMPEG_WIN3RDPARTY_DIR} +) +find_package(FFMPEG QUIET) +include_directories(${FFMPEG_INCLUDE_DIR}) + +################### +## Find embree3 +################### +sibr_addlibrary( + NAME embree3 + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/embree2.7.0.x64.windows.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/embree-3.6.1.x64.vc14.windows.7z" # TODO SV: provide a valid version if required +) + +################### +## Find eigen3 +################### +sibr_addlibrary( + NAME eigen3 + #MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/eigen-eigen-dc6cfdf9bcec.7z" + #MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/eigen-eigen-dc6cfdf9bcec.7z" # TODO SV: provide a valid version if required + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/eigen3.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/eigen3.7z" + SET CHECK_CACHED_VAR eigen3_DIR PATH "eigen/share/eigen3/cmake" +) +include_directories(/usr/include/eigen3) +add_definitions(-DEIGEN_INITIALIZE_MATRICES_BY_ZERO) + +############# +## Find Boost +############# +set(Boost_REQUIRED_COMPONENTS "system;chrono;filesystem;date_time" CACHE INTERNAL "Boost Required Components") + +if (WIN32) + # boost multiset arguments + if (MSVC11 OR MSVC12) + set(boost_multiset_arguments + CHECK_CACHED_VAR BOOST_ROOT PATH "boost_1_55_0" + CHECK_CACHED_VAR BOOST_INCLUDEDIR PATH "boost_1_55_0" + CHECK_CACHED_VAR BOOST_LIBRARYDIR PATH "boost_1_55_0/${LIB_BUILT_DIR}" + #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 OR MSVC17) + set(boost_multiset_arguments + CHECK_CACHED_VAR BOOST_ROOT PATH "boost-1.71" + CHECK_CACHED_VAR BOOST_INCLUDEDIR PATH "boost-1.71" + CHECK_CACHED_VAR BOOST_LIBRARYDIR PATH "boost-1.71/${LIB_BUILT_DIR}" + CHECK_CACHED_VAR Boost_COMPILER STRING "-vc141" DOC "vcid (eg: -vc110 for MSVC11)" # NOTE: if it doesnt work, uncomment this option and set the right value for VisualC id + ) + + option(BOOST_MINIMAL_VERSION "Only get minimal Boost dependencies" ON) + + if(${BOOST_MINIMAL_VERSION}) + set(BOOST_MSVC14_ZIP "boost-1.71-ibr-minimal.7z") + else() + set(BOOST_MSVC14_ZIP "boost-1.71.7z") + endif() + else () + message("There is no provided Boost library for your version of MSVC") + endif() + + sibr_addlibrary(NAME Boost VCID TIMEOUT 600 #VERBOSE ON + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/boost_1_55_0.7z" + MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC11-splitted%20version/boost_1_55_0.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/${BOOST_MSVC14_ZIP}" # boost compatible with msvc14 + MULTI_SET ${boost_multiset_arguments} + CHECK_CACHED_VAR Boost_NO_SYSTEM_PATHS BOOL ON DOC "Set to ON to disable searching in locations not specified by these boost cached hint variables" + CHECK_CACHED_VAR Boost_NO_BOOST_CMAKE BOOL ON DOC "Set to ON to disable the search for boost-cmake (package cmake config file if boost was built with cmake)" + ) + if(NOT Boost_COMPILER AND Boost_WIN3RDPARTY_USE) + message(WARNING "Boost_COMPILER is not set and it's needed.") + endif() +endif() + +find_package(Boost 1.71.0 REQUIRED COMPONENTS ${Boost_REQUIRED_COMPONENTS}) + +if(WIN32) + add_compile_options("$<$:/EHsc>") + #add_definitions(/EHsc) +endif() + +if(Boost_LIB_DIAGNOSTIC_DEFINITIONS) + add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS}) +endif() + +#if(WIN32) + add_definitions(-DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB) +#endif() + +include_directories(${BOOST_INCLUDEDIR} ${Boost_INCLUDE_DIRS}) +link_directories(${BOOST_LIBRARYDIR} ${Boost_LIBRARY_DIRS}) + + +############## +## Find OpenMP +############## +find_package(OpenMP) + +sibr_addlibrary( + NAME NativeFileDialog + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/nfd.7z" +) + +############## +## Find OpenCV +############## +if (WIN32) + if (${MSVC_TOOLSET_VERSION} EQUAL 143) + MESSAGE("SPECIAL OPENCV HANDLING") + set(opencv_set_arguments + CHECK_CACHED_VAR OpenCV_DIR PATH "install" ## see OpenCVConfig.cmake + ) + elseif (MSVC11 OR MSVC12) + set(opencv_set_arguments + CHECK_CACHED_VAR OpenCV_DIR PATH "opencv/build" ## see OpenCVConfig.cmake + ) + elseif (MSVC14) + set(opencv_set_arguments + CHECK_CACHED_VAR OpenCV_DIR PATH "opencv-4.5.0/build" ## see OpenCVConfig.cmake + ) + else () + message("There is no provided OpenCV library for your compiler, relying on find_package to find it") + endif() +else() + message("There is no provided OpenCV library for your compiler, relying on find_package to find it") +endif() + +sibr_addlibrary(NAME OpenCV #VERBOSE ON + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv.7z" + MSVC12 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv-4.5.0.7z" # opencv compatible with msvc14 and with contribs + MSVC17 "https://repo-sam.inria.fr/fungraph/dependencies/sibr/~0.9/opencv4-8.7z" + SET ${opencv_set_arguments} + ) +find_package(OpenCV REQUIRED) ## Use directly the OpenCVConfig.cmake provided + + ##https://stackoverflow.com/questions/24262081/cmake-relwithdebinfo-links-to-debug-libs +set_target_properties(${OpenCV_LIBS} PROPERTIES MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE) + +add_definitions(-DOPENCV_TRAITS_ENABLE_DEPRECATED) + +if(OpenCV_INCLUDE_DIRS) + foreach(inc ${OpenCV_INCLUDE_DIRS}) + if(NOT EXISTS ${inc}) + set(OpenCV_INCLUDE_DIR "" CACHE PATH "additional custom include DIR (in case of trouble to find it (fedora 17 opencv package))") + endif() + endforeach() + if(OpenCV_INCLUDE_DIR) + list(APPEND OpenCV_INCLUDE_DIRS ${OpenCV_INCLUDE_DIR}) + include_directories(${OpenCV_INCLUDE_DIRS}) + endif() +endif() + +################### +## Find GLFW +################### +sibr_addlibrary( + NAME GLFW + MSVC11 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glfw-3.2.1.7z" + MSVC14 "https://repo-sam.inria.fr/fungraph/dependencies/ibr-common/win3rdParty-MSVC15-splitted%20version/glfw-3.2.1.7z" # TODO SV: provide a valid version if required +) + +sibr_gitlibrary(TARGET imgui + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/imgui.git" + GIT_TAG "e7f0fa31b9fa3ee4ecd2620b9951f131b4e377c6" +) + +sibr_gitlibrary(TARGET mrf + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/mrf.git" + GIT_TAG "564e5e0b395c788d2f8b2cf4f879fed2493faea7" +) + +sibr_gitlibrary(TARGET nanoflann + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/nanoflann.git" + GIT_TAG "7a20a9ac0a1d34850fc3a9e398fc4a7618e8a69a" +) + +sibr_gitlibrary(TARGET picojson + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/picojson.git" + GIT_TAG "7cf8feee93c8383dddbcb6b64cf40b04e007c49f" +) + +sibr_gitlibrary(TARGET rapidxml + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/rapidxml.git" + GIT_TAG "069e87f5ec5ce1745253bd64d89644d6b894e516" +) + +sibr_gitlibrary(TARGET xatlas + GIT_REPOSITORY "https://gitlab.inria.fr/sibr/libs/xatlas.git" + GIT_TAG "0fbe06a5368da13fcdc3ee48d4bdb2919ed2a249" + INCLUDE_DIRS "source/xatlas" +) + +Win3rdPartyGlobalCacheAction() diff --git a/SIBR_viewers/cmake/windows/downloadAndExtractZipFile.cmake b/SIBR_viewers/cmake/windows/downloadAndExtractZipFile.cmake new file mode 100644 index 0000000000..7f5fc2bb08 --- /dev/null +++ b/SIBR_viewers/cmake/windows/downloadAndExtractZipFile.cmake @@ -0,0 +1,243 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## downloadAndExtractZipFile cmake function +## Provide a way to download zip file from public internet ZIP_URL host +## and to extract it in a specific EXCTRATED_ZIP_PATH destination. +## This function use 7-Zip external tool to maximize the compatibles formats. +## This will be not download again if the EXCTRATED_ZIP_PATH already exist and DL_FORCE is set to OFF. +## This will try to unzip file if already exist in the ZIP_DL_PATH. +## +## If EXCTRATED_ZIP_PATH and/or ZIP_DL_PATH are not full path, +## it will be interpreted relative to CMAKE_BINARY_DIR +## +## Usage example : +## include(downloadAndExtractZipFile) +## downloadAndExtractZipFile( +## http://www.cs.cornell.edu/~snavely/bundler/distr/bundler-v0.4-source.zip +## ${CMAKE_BINARY_DIR}/Bundler/bundler-v0.4-source.zip +## ${CMAKE_BINARY_DIR}/Bundler +## [DL_FORCE ON|OFF] +## [TIMEOUT] +## [CHECK_DIRTY_URL] +## ) +## +## option DL_FORCE will redownload the zip file [deafult to OFF] +## option TIMEOUT will end the unzip process after this period of time [default to 600s] +## option CHECK_DIRTY_URL will write into the given file the downloaded URL and then, +## next time, if the URL was updated, it detect it with this file +## and will download the last version. This prevent to alway set manually DL_FORCE to ON... +## +if(__downloadAndExtractZipFile_cmake_INCLUDED__) + return() +else() + set(__downloadAndExtractZipFile_cmake_INCLUDED__ ON) +endif() + +function(downloadAndExtractZipFile ZIP_URL ZIP_DL_PATH EXCTRATED_ZIP_PATH) + + # message(STATUS "zipUrl=${ZIP_URL} zipDlPath=${ZIP_DL_PATH} extractedZipPath=${EXCTRATED_ZIP_PATH}") + cmake_parse_arguments(dwnlezf "" "VERBOSE;DL_FORCE;TIMEOUT;CHECK_DIRTY_URL" "" ${ARGN}) + + set(PROGRAMFILESx86 "PROGRAMFILES(x86)") + + ## Check entries mandatory args + if(IS_ABSOLUTE "${ZIP_DL_PATH}") + else() + set(ZIP_DL_PATH "${CMAKE_BINARY_DIR}/${ZIP_DL_PATH}") + endif() + if(IS_ABSOLUTE "${EXCTRATED_ZIP_PATH}") + else() + set(EXCTRATED_ZIP_PATH "${CMAKE_BINARY_DIR}/${EXCTRATED_ZIP_PATH}") + endif() + if(NOT EXISTS "${EXCTRATED_ZIP_PATH}") + file(MAKE_DIRECTORY ${EXCTRATED_ZIP_PATH}) + endif() + + # SB: Once, one of downloaded zip was corrupted by an error message coming from the server. + if(EXISTS "${ZIP_DL_PATH}") + # So I check for removing such corrupted files + message("Removing previous ${ZIP_DL_PATH} (might be corrupted)") + file(REMOVE "${ZIP_DL_PATH}") + if(EXISTS "${dwnlezf_CHECK_DIRTY_URL}") + # and remove the previous (corrupted) made 'Win3rdPartyUrl' file + file(REMOVE "${dwnlezf_CHECK_DIRTY_URL}") + endif() + endif() + + ## Check entries optional args + macro(readDirtyUrl ) + if(dwnlezf_CHECK_DIRTY_URL) + if(IS_ABSOLUTE "${dwnlezf_CHECK_DIRTY_URL}") + else() + set(dwnlezf_CHECK_DIRTY_URL "${CMAKE_BINARY_DIR}/${dwnlezf_CHECK_DIRTY_URL}") + endif() + get_filename_component(unzipDir ${EXCTRATED_ZIP_PATH} NAME) + get_filename_component(unzipPath ${EXCTRATED_ZIP_PATH} PATH) + message(STATUS "Checking ${unzipDir} [from ${unzipPath}]...") + if(EXISTS "${dwnlezf_CHECK_DIRTY_URL}") + get_filename_component(CHECK_DIRTY_URL_FILENAME ${dwnlezf_CHECK_DIRTY_URL} NAME) + file(STRINGS "${dwnlezf_CHECK_DIRTY_URL}" contents) + list(GET contents 0 downloadURL) + list(REMOVE_AT contents 0) + if("${downloadURL}" MATCHES "${ZIP_URL}") + if(dwnlezf_VERBOSE) + message(STATUS "Your downloaded version (URL) seems to be up to date. Let me check if nothing is missing... (see ${dwnlezf_CHECK_DIRTY_URL}).") + endif() + file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? + unset(NAME_PATTERN_LIST) + foreach(realPathPattern ${PATHNAME_PATTERN_LIST}) + get_filename_component(itemName ${realPathPattern} NAME) + list(APPEND NAME_PATTERN_LIST ${itemName}) + endforeach() + if(NAME_PATTERN_LIST) + foreach(item ${contents}) + list(FIND NAME_PATTERN_LIST ${item} id) + if(${id} MATCHES "-1") + message(STATUS "${item} is missing, your downloaded version content changed, need to redownload it.") + set(ZIP_DL_FORCE ON) + break() + else() + list(REMOVE_AT NAME_PATTERN_LIST ${id}) + set(ZIP_DL_FORCE OFF) + endif() + endforeach() + if(NOT ZIP_DL_FORCE AND NAME_PATTERN_LIST) + message("Yours seems to be up to date (regarding to ${CHECK_DIRTY_URL_FILENAME})!\nBut there are additional files/folders into your downloaded destination (feel free to clean it if you want).") + foreach(item ${NAME_PATTERN_LIST}) + if(item) + message("${item}") + endif() + endforeach() + endif() + endif() + else() + set(ZIP_DL_FORCE ON) + message(STATUS "Your downloaded version is dirty (too old).") + endif() + else() + file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? + if(NOT PATHNAME_PATTERN_LIST) + message("We found nothing into ${EXCTRATED_ZIP_PATH}, we will try to download it for you now.") + endif() + set(ZIP_DL_FORCE ON) + endif() + endif() + endmacro() + readDirtyUrl() + if(NOT ZIP_DL_FORCE) + return() ## do not need to further (as we are up to date, just exit the function + endif() + + macro(writeDirtyUrl ) + if(dwnlezf_CHECK_DIRTY_URL) + file(WRITE "${dwnlezf_CHECK_DIRTY_URL}" "${ZIP_URL}\n") + file(GLOB PATHNAME_PATTERN_LIST "${EXCTRATED_ZIP_PATH}/*") ## is there something inside the downloaded destination ? + unset(NAME_PATTERN_LIST) + foreach(realPathPattern ${PATHNAME_PATTERN_LIST}) + get_filename_component(itemName ${realPathPattern} NAME) + list(APPEND NAME_PATTERN_LIST ${itemName}) + endforeach() + if(NAME_PATTERN_LIST) + foreach(item ${NAME_PATTERN_LIST}) + file(APPEND "${dwnlezf_CHECK_DIRTY_URL}" "${item}\n") + endforeach() + endif() + endif() + endmacro() + + if(dwnlezf_DL_FORCE) + set(ZIP_DL_FORCE ON) + endif() + + if(NOT dwnlezf_TIMEOUT) + set(dwnlezf_TIMEOUT 600) + endif() + math(EXPR dwnlezf_TIMEOUT_MIN "${dwnlezf_TIMEOUT}/60") + + macro(unzip whichZipFile) + if(NOT SEVEN_ZIP_CMD) + find_program(SEVEN_ZIP_CMD NAMES 7z 7za p7zip DOC "7-zip executable" PATHS "$ENV{PROGRAMFILES}/7-Zip" "$ENV{${PROGRAMFILESx86}}/7-Zip" "$ENV{ProgramW6432}/7-Zip") + endif() + if(SEVEN_ZIP_CMD) + if(dwnlezf_VERBOSE) + message(STATUS "UNZIP: please, WAIT UNTIL ${SEVEN_ZIP_CMD} finished...\n(no more than ${dwnlezf_TIMEOUT_MIN} min)") + else() + message(STATUS "UNZIP...wait...") + endif() + execute_process( COMMAND ${SEVEN_ZIP_CMD} x ${whichZipFile} -y + WORKING_DIRECTORY ${EXCTRATED_ZIP_PATH} TIMEOUT ${dwnlezf_TIMEOUT} + RESULT_VARIABLE resVar OUTPUT_VARIABLE outVar ERROR_VARIABLE errVar + ) + if(${resVar} MATCHES "0") + if(dwnlezf_VERBOSE) + message(STATUS "SUCESS to unzip in ${EXCTRATED_ZIP_PATH}. Now we can remove the downloaded zip file.") + endif() + execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${whichZipFile}) + mark_as_advanced(SEVEN_ZIP_CMD) + else() + message(WARNING "something wrong in ${EXCTRATED_ZIP_PATH}\n with \"${SEVEN_ZIP_CMD} x ${whichZipFile} -y\", redo or try to unzip by yourself...") + message("unzip: resVar=${resVar}") + message("unzip: outVar=${outVar}") + message("unzip: errVar=${errVar}") + message("unzip: failed or canceled or timeout") + endif() + else() + message(WARNING "You need 7zip (http://www.7-zip.org/download.html) to unzip the downloaded dir.") + set(SEVEN_ZIP_CMD "" CACHE FILEPATH "7-zip executable") + mark_as_advanced(CLEAR SEVEN_ZIP_CMD) + endif() + endmacro() + + if(dwnlezf_VERBOSE) + message(STATUS "Trying to look ${ZIP_DL_PATH} if a zip file exist...") + endif() + if(EXISTS "${ZIP_DL_PATH}") + + ## already downloaded, so just unzip it + unzip(${ZIP_DL_PATH}) + writeDirtyUrl() + + elseif(ZIP_DL_FORCE) + + ## the download part (+ unzip) + message(STATUS "Let me try to download package for you : ${ZIP_URL}") + if(dwnlezf_VERBOSE) + message(STATUS "Downloading...\n SRC=${ZIP_URL}\n DEST=${ZIP_DL_PATH}.tmp\n INACTIVITY_TIMEOUT=180s") + endif() + file(DOWNLOAD ${ZIP_URL} ${ZIP_DL_PATH}.tmp INACTIVITY_TIMEOUT 360 STATUS status SHOW_PROGRESS) + + list(GET status 0 numResult) + if(${numResult} MATCHES "0") + + if(dwnlezf_VERBOSE) + message(STATUS "Download succeed, so let me rename the tmp file to unzip it") + endif() + execute_process(COMMAND ${CMAKE_COMMAND} -E rename ${ZIP_DL_PATH}.tmp ${ZIP_DL_PATH}) + unzip(${ZIP_DL_PATH}) + writeDirtyUrl() + + else() + + list(GET status 1 errMsg) + message(WARNING "DOWNLOAD ${ZIP_URL} to ${ZIP_DL_PATH} failed\n:${errMsg}") + message(WARNING "OK, you need to download the ${ZIP_URL} manually and put it into ${ZIP_DL_PATH}") + message("Take a look at the project website page to check available URL.") + + endif() + + endif() + + ## clean up the tmp downloaded file + if(EXISTS "${ZIP_DL_PATH}.tmp") + execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${ZIP_DL_PATH}.tmp) + endif() + +endfunction() diff --git a/SIBR_viewers/cmake/windows/git_describe.cmake b/SIBR_viewers/cmake/windows/git_describe.cmake new file mode 100644 index 0000000000..638d70bd94 --- /dev/null +++ b/SIBR_viewers/cmake/windows/git_describe.cmake @@ -0,0 +1,114 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +if(__git_describe_INCLUDED__) + return() +else() + set(__git_describe_INCLUDED__ ON) +endif() + +find_package(Git) +if(Git_FOUND) + message(STATUS "Git found: ${GIT_EXECUTABLE}") +else() + message(FATAL_ERROR "Git not found. Aborting") +endif() + +macro(git_describe) + cmake_parse_arguments(GIT_DESCRIBE "" "GIT_URL;GIT_BRANCH;GIT_COMMIT_HASH;GIT_TAG;GIT_VERSION;PATH" "" ${ARGN}) + + if(NOT GIT_DESCRIBE_PATH) + set(GIT_DESCRIBE_PATH ${CMAKE_SOURCE_DIR}) + endif() + + if(GIT_DESCRIBE_GIT_URL) + # Get the current remote + execute_process( + COMMAND git remote + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE GIT_DESCRIBE_GIT_REMOTE + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + + # Get the current remote + execute_process( + COMMAND git remote get-url ${GIT_DESCRIBE_GIT_REMOTE} + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_URL} + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + endif() + + if(GIT_DESCRIBE_GIT_BRANCH) + # Get the current working branch + execute_process( + COMMAND git rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_BRANCH} + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + endif() + + if(GIT_DESCRIBE_GIT_COMMIT_HASH) + # Get the latest abbreviated commit hash of the working branch + execute_process( + COMMAND git rev-parse HEAD + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_COMMIT_HASH} + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + endif() + + if(GIT_DESCRIBE_GIT_TAG) + # Get the tag + execute_process( + COMMAND git describe --tags --exact-match + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_TAG} + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + endif() + + if(GIT_DESCRIBE_GIT_VERSION) + # Get the version from git describe + execute_process( + COMMAND git describe + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE ${GIT_DESCRIBE_GIT_VERSION} + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + + if(${GIT_DESCRIBE_GIT_VERSION} STREQUAL "") + execute_process( + COMMAND git rev-parse --abbrev-ref HEAD + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE GIT_DESCRIBE_GIT_VERSION_BRANCH + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + execute_process( + COMMAND git log -1 --format=%h + WORKING_DIRECTORY ${GIT_DESCRIBE_PATH} + OUTPUT_VARIABLE GIT_DESCRIBE_GIT_VERSION_COMMIT + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + + set(${GIT_DESCRIBE_GIT_VERSION} "${GIT_DESCRIBE_GIT_VERSION_BRANCH}-${GIT_DESCRIBE_GIT_VERSION_COMMIT}") + endif() + endif() + +endmacro() \ No newline at end of file diff --git a/SIBR_viewers/cmake/windows/include_once.cmake b/SIBR_viewers/cmake/windows/include_once.cmake new file mode 100644 index 0000000000..d28b39cfeb --- /dev/null +++ b/SIBR_viewers/cmake/windows/include_once.cmake @@ -0,0 +1,22 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +macro(include_once file) + get_filename_component(INCLUDE_ONCE_FILEPATH ${file} REALPATH) + string(REGEX REPLACE "(\\.|\\/+|\\:|\\\\+)" "_" INCLUDE_ONCE_FILEPATH ${INCLUDE_ONCE_FILEPATH}) + get_property(INCLUDED_${INCLUDE_ONCE_FILEPATH}_LOCAL GLOBAL PROPERTY INCLUDED_${INCLUDE_ONCE_FILEPATH}) + if (INCLUDED_${INCLUDE_ONCE_FILEPATH}_LOCAL) + return() + else() + set_property(GLOBAL PROPERTY INCLUDED_${INCLUDE_ONCE_FILEPATH} true) + + include(${file}) + endif() +endmacro() \ No newline at end of file diff --git a/SIBR_viewers/cmake/windows/install_runtime.cmake b/SIBR_viewers/cmake/windows/install_runtime.cmake new file mode 100644 index 0000000000..3d4b74e695 --- /dev/null +++ b/SIBR_viewers/cmake/windows/install_runtime.cmake @@ -0,0 +1,880 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +## This file is mainly used to allow runtime installation +## There are some utilities cmake functions to ease the generic deployement (abstract common usage of cmake)... +## +## You cannot run your programm automaticaly from your CNAKE_BINARY_DIR when you build +## as it will miss all dependencies and ressources files... +## You have to run install target in order to test your programm. +## +## The only one function/macros you may use inside your sub-CMakeLists.txt (sub-project) is : +## ****************** +## ibr_install_target macro => see documentation at the end of this file +## ****************** +## It use these utilities cmake functions to abstract the installation in an uniform way for all sub-projects. +## +if(__install_runtime_cmake_INCLUDED__) + return() +else() + set(__install_runtime_cmake_INCLUDED__ ON) +endif() + + +## +## Allow to write a resource config file which contain additional ressource paths +## (used by IBR_Common Resource system to load shaders and potentialy images, plugins and so on) +## +## ADD option list all the paths to add in the file (relative paths are interpreted relative to working dir of the executable) +## INSTALL option to specify where we want to install this file +## +## Example usage: +## resourceFile(ADD "shaders" "${PROJECT_NAME}_rsc" INSTALL bin) +## +macro(resourceFile) + cmake_parse_arguments(rsc "" "INSTALL;FILE_PATH;CONFIG_TYPE" "ADD" ${ARGN}) ## both args are directory path + + if(rsc_ADD) + unset(IBR_RSC_FILE_CONTENT_LIST) + if(EXISTS "${rsc_FILE_PATH}") + file(READ "${rsc_FILE_PATH}" IBR_RSC_FILE_CONTENT) + string(REGEX REPLACE "\n" ";" IBR_RSC_FILE_CONTENT_LIST "${IBR_RSC_FILE_CONTENT}") + endif() + list(APPEND IBR_RSC_FILE_CONTENT_LIST "${rsc_ADD}") + list(REMOVE_DUPLICATES IBR_RSC_FILE_CONTENT_LIST) + file(WRITE "${rsc_FILE_PATH}" "") + foreach(rscDir ${IBR_RSC_FILE_CONTENT_LIST}) + file(APPEND "${rsc_FILE_PATH}" "${rscDir}\n") + endforeach() + unset(rsc_ADD) + endif() + + if(rsc_INSTALL) + install(FILES ${rsc_FILE_PATH} CONFIGURATIONS ${rsc_CONFIG_TYPE} DESTINATION ${rsc_INSTALL}) + unset(rsc_INSTALL) + endif() +endmacro() + + +## +## Install *.pdb generated file for the current cmake project +## assuming the output target name is the cmake project name. +## This macro is useful for crossplateform multi config mode. +## +## Usage Example: +## +## if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based +## installPDB(${PROJECT_NAME} ${CMAKE_BUILD_TYPE} RUNTIME_DEST bin ARCHIVE_DEST lib LIBRARY_DEST lib) +## endif() +## foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) +## installPDB(${PROJECT_NAME} ${CONFIG_TYPES} RUNTIME_DEST bin ARCHIVE_DEST lib LIBRARY_DEST lib) +## endforeach() +## +macro(installPDB targetName configType) + cmake_parse_arguments(instpdb "" "COMPONENT" "ARCHIVE_DEST;LIBRARY_DEST;RUNTIME_DEST" ${ARGN}) ## both args are directory path + + if(NOT MSVC) + return() + endif() + + ## Check if DESTINATION are provided according to the TYPE of the given target (see install command doc to see correspodances) + get_target_property(type ${targetName} TYPE) + if(${type} MATCHES "EXECUTABLE" AND instpdb_RUNTIME_DEST) + set(pdb_DESTINATION ${instpdb_RUNTIME_DEST}) + elseif(${type} MATCHES "STATIC_LIBRARY" AND instpdb_ARCHIVE_DEST) + set(pdb_DESTINATION ${instpdb_ARCHIVE_DEST}) + elseif(${type} MATCHES "MODULE_LIBRARY" AND instpdb_LIBRARY_DEST) + set(pdb_DESTINATION ${instpdb_LIBRARY_DEST}) + elseif(${type} MATCHES "SHARED_LIBRARY") + if(WIN32 AND instpdb_RUNTIME_DEST) + set(pdb_DESTINATION ${instpdb_RUNTIME_DEST}) + else() + set(pdb_DESTINATION ${instpdb_LIBRARY_DEST}) + endif() + endif() + + if(NOT pdb_DESTINATION) + set(pdb_DESTINATION bin) ## default destination of the pdb file + endif() + + if(NOT instpdb_COMPONENT) + set(instpdb_COMPONENT ) + else() + set(instpdb_COMPONENT COMPONENT ${instpdb_COMPONENT}) + endif() + + string(TOUPPER ${configType} CONFIG_TYPES_UC) + get_target_property(PDB_PATH ${targetName} PDB_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}) + + get_target_property(confModePostfix ${targetName} ${CONFIG_TYPES_UC}_POSTFIX) + if(NOT confModePostfix) + set(confModePostfix "") + endif() + set_target_properties(${targetName} PROPERTIES PDB_NAME_${CONFIG_TYPES_UC} ${targetName}${confModePostfix}) + get_target_property(PDB_NAME ${targetName} PDB_NAME_${CONFIG_TYPES_UC})# if not set, this is empty + + if(EXISTS "${PDB_PATH}/${PDB_NAME}.pdb") + install(FILES "${PDB_PATH}/${PDB_NAME}.pdb" CONFIGURATIONS ${configType} DESTINATION ${pdb_DESTINATION} ${instpdb_COMPONENT} OPTIONAL) + endif() +endmacro() + + +## +## Add additional target to install a project independently and based on its component +## configMode is used to prevent default Release installation (we want also to install in other build/config type) +## +macro(installTargetProject targetOfProject targetOfInstallProject) + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + set(configMode ${CMAKE_BUILD_TYPE}) + elseif(MSVC) + ## $(Configuration) will be one of the following : Debug, Release, MinSizeRel, RelWithDebInfo + set(configMode $(Configuration)) + endif() + if(configMode) + get_target_property(srcFiles ${targetOfProject} SOURCES) + add_custom_target( ${targetOfInstallProject} #ALL + ${CMAKE_COMMAND} -DBUILD_TYPE=${configMode} -DCOMPONENT=${targetOfInstallProject} -P ${CMAKE_BINARY_DIR}/cmake_install.cmake + DEPENDS ${srcFiles} + COMMENT "run the installation only for ${targetOfProject}" VERBATIM + ) + add_dependencies(${targetOfInstallProject} ${targetOfProject}) + + get_target_property(INSTALL_BUILD_FOLDER ${targetOfProject} FOLDER) + set_target_properties(${targetOfInstallProject} PROPERTIES FOLDER ${INSTALL_BUILD_FOLDER}) + endif() +endmacro() + +# Collect all currently added targets in all subdirectories +# +# Parameters: +# - _result the list containing all found targets +# - _dir root directory to start looking from +function(get_all_targets _result _dir) + get_property(_subdirs DIRECTORY "${_dir}" PROPERTY SUBDIRECTORIES) + foreach(_subdir IN LISTS _subdirs) + get_all_targets(${_result} "${_subdir}") + endforeach() + + get_directory_property(_sub_targets DIRECTORY "${_dir}" BUILDSYSTEM_TARGETS) + set(${_result} ${${_result}} ${_sub_targets} PARENT_SCOPE) +endfunction() + +## +## Add targets for building and installing subdirectories +macro(subdirectory_target target directory build_folder) + add_custom_target(${target} + COMMENT "run build for all projects in this directory" VERBATIM + ) + get_all_targets(ALL_TARGETS ${directory}) + add_dependencies(${target} ${ALL_TARGETS}) + add_custom_target(${target}_install + ${CMAKE_COMMAND} -DBUILD_TYPE=$ -DCOMPONENT=${target}_install -P ${CMAKE_BINARY_DIR}/cmake_install.cmake + COMMENT "run install for all projects in this directory" VERBATIM + ) + add_dependencies(${target}_install ${target}) + + set_target_properties(${target} PROPERTIES FOLDER ${build_folder}) + set_target_properties(${target}_install PROPERTIES FOLDER ${build_folder}) +endmacro() + + +## CMAKE install all required dependencies for an application (included system OS files like msvc*.dll for example) +## +## install_runtime( +## [TARGET name] +## [PLUGINS name [nameN ...] [PLUGIN_PATH_NAME currentPathName [FROM_REL_PATH matchDirFromCurrentPathName] [PLUGIN_PATH_DEST installDir] ] +## [PLUGINS ...] +## [DIRS path [pathN ...] ] +## [TARGET_LIBRARIES filePath [filePathN ...] ] +## [TARGET_PACKAGES packageName [packageNameN ...] ] +## [COMPONENT installComponentName] +## [PLAUSIBLES_POSTFIX Debug_postfix [MinSizeRel_postfix relWithDebInfo_postfix ...] ] +## [VERBOSE] +## ) +## +## installedFilePathTargetAppToResolve : the final installed targetApp absolute full file path name you want to resolve +## +## TARGET : The target app we want to install. If given, it's used to look for link libraries paths (best choice to use, strongly advised to use it) +## +## PLUGINS : Some application built use/load some plugins which can't be detect inside its binary, +## so, here you can specify which plugins the application use/load in order to install them +## and resolve also there dependencies. +## With PLUGINS multi FLAGS : +## PLUGIN_PATH_NAME : The current plugin full file path we want to install +## FROM_REL_PATH : [optional: default only the file is kept] From which matching dir of the plugin path we want to install (keep the directories structure) +## PLUGIN_PATH_DEST : [optional: default relative to executable directory] Where (full path to the install directory) we will install the plugin file (or file path) +## +## DIRS : A list of directories to looking for dependencies +## TARGET_LIBRARIES : DEPRECATED (use TARGET flag instead) : The cmake content variables used for the target_link_libraries( ...) +## TARGET_PACKAGES : DEPRECATED (use TARGET flag instead) : The cmake package names used for the findPackage(...) for your targetApp +## ADVICE: This flag add entries in cache (like: _DIR), it could be useful to fill these variable! +## COMPONENT : (default to runtime) Is the component name associated to the installation +## It is used when you want to install separatly some part of your projets (see install cmake doc) +## VERBOSE : For debug or to get more informations in the output console +## +## Usage: +## install_runtime(${CMAKE_INSTALL_PREFIX}/${EXECUTABLE_NAME}${CMAKE_EXECUTABLE_SUFFIX} +## VERBOSE +## TARGET ${PROJECT_NAME} +## PLAUSIBLES_POSTFIX _d +## PLUGINS +## PLUGIN_PATH_NAME ${PLUGIN_PATH_NAME}${CMAKE_SHARED_MODULE_SUFFIX} ## will be installed (default exec path if no PLUGINS_DEST) and then will be resolved +## FROM_REL_PATH plugins ## optional, used especially for keeping qt plugins tree structure +## PLUGIN_PATH_DEST ${CMAKE_INSTALL_PREFIX}/plugins ## (or relative path 'plugins' will be interpreted relative to installed executable) +## DIRS ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR} +## TARGET_LIBRARIES ${OPENGL_LIBRARIES} ## DEPRECATED (use TARGET flag instead) +## ${GLEW_LIBRARIES} +## ${GLUT_LIBRARIES} +## ${Boost_LIBRARIES} +## ${SuiteSparse_LIBRARIES} +## ${CGAL_LIBRARIES} +## TARGET_PACKAGES OPENGL ## DEPRECATED (use TARGET flag instead) +## GLEW +## GLUT +## CGAL +## Boost +## SuiteSparse +## ) +## +## For plugins part, it use our internal parse_arguments_multi.cmake +## +function(install_runtime installedFilePathTargetAppToResolve) + set(optionsArgs "VERBOSE") + set(oneValueArgs "COMPONENT;INSTALL_FOLDER;CONFIG_TYPE") + set(multiValueArgs "DIRS;PLUGINS;TARGET_LIBRARIES;TARGET_PACKAGES;TARGET;PLAUSIBLES_POSTFIX") + cmake_parse_arguments(inst_run "${optionsArgs}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} ) + + if(IS_ABSOLUTE ${installedFilePathTargetAppToResolve}) + else() + set(installedFilePathTargetAppToResolve ${inst_run_INSTALL_FOLDER}/${installedFilePathTargetAppToResolve}) + endif() + + get_filename_component(EXEC_NAME ${installedFilePathTargetAppToResolve} NAME_WE) + get_filename_component(EXEC_PATH ${installedFilePathTargetAppToResolve} PATH) + + if(NOT inst_run_COMPONENT) + set(inst_run_COMPONENT runtime) + endif() + + + ## Try to append as more possible as possible paths to find dependencies (deprecated since we can use target_properties to get back paths) + set(libPaths ) + foreach(libraryFileName ${inst_run_TARGET_LIBRARIES}) + if(IS_DIRECTORY "${libraryFileName}") + list(APPEND libPaths "${libraryFileName}") + else() + get_filename_component(libpath "${libraryFileName}" PATH) + if(EXISTS "${libpath}") + list(APPEND libPaths "${libpath}") + endif() + endif() + endforeach() + + ## This macro is used internaly here to recursilvely get path of LINK_LIBRARIES of each non imported target + ## Typically if you have 2 internal dependencies between cmake targets, we want cmake to be able to get back path where are these dependencies + macro(recurseDepList target) + get_target_property(linkLibs ${target} LINK_LIBRARIES) + foreach(lib ${linkLibs}) + string(FIND ${lib} ">" strId) ## cmake is using generator-expression? + if(TARGET ${lib}) + ## Skipping interface libraries as they're system ones + get_target_property(type ${lib} TYPE) + get_target_property(imported ${lib} IMPORTED) + if(type STREQUAL "INTERFACE_LIBRARY") + get_target_property(imp_loc ${lib} INTERFACE_IMPORTED_LOCATION) + if(imp_loc) + get_filename_component(imp_loc ${imp_loc} PATH) + list(APPEND targetLibPath ${imp_loc}) + endif() + get_target_property(loc ${lib} INTERFACE_LOCATION) + if(loc) + get_filename_component(loc ${loc} PATH) + list(APPEND targetLibPath ${loc}) + endif() + ## it's not a path but a single target name + ## for build-target which are part of the current cmake configuration : nothing to do as cmake already know the output path + ## for imported target, we need to look for theire imported location + elseif(imported) + get_target_property(imp_loc ${lib} IMPORTED_LOCATION) + if(imp_loc) + get_filename_component(imp_loc ${imp_loc} PATH) + list(APPEND targetLibPath ${imp_loc}) + endif() + get_target_property(loc ${lib} LOCATION) + if(loc) + get_filename_component(loc ${loc} PATH) + list(APPEND targetLibPath ${loc}) + endif() + else() + recurseDepList(${lib}) + endif() + elseif(NOT ${strId} MATCHES -1) ## mean cmake use generator-expression (CMAKE VERSION > 3.0) + string(REGEX MATCH ">:[@A-Za-z_:/.0-9-]+" targetLibPath ${lib}) + string(REGEX REPLACE ">:([@A-Za-z_:/.0-9-]+)" "\\1" targetLibPath ${targetLibPath}) + get_filename_component(targetLibPath ${targetLibPath} PATH) + elseif(EXISTS ${lib}) + set(targetLibPath ${lib}) + get_filename_component(targetLibPath ${targetLibPath} PATH) + else() + #message(STATUS "[install_runtime] skip link library : ${lib} , of target ${target}") + endif() + if(targetLibPath) + list(APPEND targetLinkLibsPathList ${targetLibPath}) + endif() + endforeach() + if(targetLinkLibsPathList) + list(REMOVE_DUPLICATES targetLinkLibsPathList) + endif() + endmacro() + if(inst_run_TARGET) + recurseDepList(${inst_run_TARGET}) + if(targetLinkLibsPathList) + list(APPEND libPaths ${targetLinkLibsPathList}) + endif() + endif() + + if(libPaths) + list(REMOVE_DUPLICATES libPaths) + foreach(libPath ${libPaths}) + get_filename_component(path ${libPath} PATH) + list(APPEND libPaths ${path}) + endforeach() + endif() + + + ## possible speciale dir(s) according to the build system and OS + if(CMAKE_SIZEOF_VOID_P EQUAL 8) + set(BUILD_TYPES_FOR_DLL "x64") + if(WIN32) + list(APPEND BUILD_TYPES_FOR_DLL "Win64") + endif() + else() + set(BUILD_TYPES_FOR_DLL "x86") + if(WIN32) + list(APPEND BUILD_TYPES_FOR_DLL "Win32") + endif() + endif() + + + ## Try to append as more as possible paths to find dependencies (here, mainly for *.dll) + foreach(dir ${inst_run_DIRS} ${libPaths}) + if(EXISTS "${dir}/bin") + list(APPEND inst_run_DIRS "${dir}/bin") + elseif(EXISTS "${dir}") + list(APPEND inst_run_DIRS "${dir}") + endif() + endforeach() + list(REMOVE_DUPLICATES inst_run_DIRS) + foreach(dir ${inst_run_DIRS}) + if(EXISTS "${dir}") + list(APPEND argDirs ${dir}) + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}") + list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}") + endif() + foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) + if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") + list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") + endif() + endforeach() + if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) + if(EXISTS "${dir}/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") + list(APPEND argDirs "${dir}/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") + endif() + endif() + endforeach() + foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) + if(EXISTS "${dir}/${OUTPUTCONFIG}") + list(APPEND argDirs "${dir}/${OUTPUTCONFIG}") + endif() + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${dir}/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") + list(APPEND argDirs "${dir}/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") + endif() + endforeach() + endforeach() + if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) + if(EXISTS "${dir}/${CMAKE_BUILD_TYPE}") + list(APPEND argDirs "${dir}/${CMAKE_BUILD_TYPE}") + endif() + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${dir}/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") + list(APPEND argDirs "${dir}/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") + endif() + endforeach() + endif() + endif() + endforeach() + if(argDirs) + list(REMOVE_DUPLICATES argDirs) + endif() + + + ## Try to append as more possible paths to find dependencies (here, mainly for *.dll) + foreach(packageName ${inst_run_TARGET_PACKAGES}) + if(EXISTS "${${packageName}_DIR}") + list(APPEND packageDirs ${${packageName}_DIR}) + list(APPEND packageDirs ${${packageName}_DIR}/bin) + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}") + endif() + foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) + if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${OUTPUTCONFIG}") + endif() + endforeach() + if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) + if(EXISTS "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${BUILD_TYPE_FOR_DLL}/${CMAKE_BUILD_TYPE}") + endif() + endif() + endforeach() + foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) ## for windows multi-generator (MSVC) + if(EXISTS "${${packageName}_DIR}/bin/${OUTPUTCONFIG}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${OUTPUTCONFIG}") + endif() + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${${packageName}_DIR}/bin/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${OUTPUTCONFIG}/${BUILD_TYPE_FOR_DLL}") + endif() + endforeach() + endforeach() + if(CMAKE_BUILD_TYPE) ## for single generator (makefiles) + if(EXISTS "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}") + endif() + foreach(BUILD_TYPE_FOR_DLL ${BUILD_TYPES_FOR_DLL}) + if(EXISTS "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") + list(APPEND packageDirs "${${packageName}_DIR}/bin/${CMAKE_BUILD_TYPE}/${BUILD_TYPE_FOR_DLL}") + endif() + endforeach() + endif() + else() + set(${packageName}_DIR "$ENV{${packageName}_DIR}" CACHE PATH "${packageName}_DIR root directory for looking for dirs containning *.dll") + endif() + endforeach() + if(packageDirs) + list(REMOVE_DUPLICATES packageDirs) + endif() + + + set(dirsToLookFor "${EXEC_PATH}") + if(packageDirs) + list(APPEND dirsToLookFor ${packageDirs}) + endif() + if(argDirs) + list(APPEND dirsToLookFor ${argDirs}) + endif() + get_property(used_LINK_DIRECTORIES DIRECTORY PROPERTY LINK_DIRECTORIES) + if (used_LINK_DIRECTORIES) + list(APPEND dirsToLookFor ${used_LINK_DIRECTORIES}) + list(REMOVE_DUPLICATES dirsToLookFor) + endif() + + + ## handle plugins + set(pluginsList "") + include(parse_arguments_multi) ## this function will process recursively items of the sub-list [default print messages] + function(parse_arguments_multi_function results) + cmake_parse_arguments(pamf "VERBOSE" "PLUGIN_PATH_DEST;FROM_REL_PATH;EXEC_PATH;COMPONENT" "" ${ARGN}) ## EXEC_PATH and COMPONENT are for exclusive internal use + list(REMOVE_DUPLICATES pamf_UNPARSED_ARGUMENTS) + foreach(PLUGIN_PATH_NAME ${pamf_UNPARSED_ARGUMENTS}) + if(EXISTS ${PLUGIN_PATH_NAME}) + if(IS_DIRECTORY ${PLUGIN_PATH_NAME}) + if(pamf_VERBOSE) + message(WARNING "${PLUGIN_PATH_NAME} IS_DIRECTORY, cannot installed a directory, please give a path filename") + endif() + else() + if(NOT pamf_PLUGIN_PATH_DEST) + set(PLUGIN_PATH_DEST ${pamf_EXEC_PATH}) ## the default dest value + else() + set(PLUGIN_PATH_DEST ${pamf_PLUGIN_PATH_DEST}) + endif() + + if(pamf_FROM_REL_PATH) + file(TO_CMAKE_PATH ${PLUGIN_PATH_NAME} PLUGIN_PATH_NAME) + get_filename_component(PLUGIN_PATH ${PLUGIN_PATH_NAME} PATH) + unset(PLUGIN_PATH_LIST) + unset(PLUGIN_PATH_LIST_COUNT) + unset(PLUGIN_REL_PATH_LIST) + unset(PLUGIN_REL_PATH) + string(REPLACE "/" ";" PLUGIN_PATH_LIST ${PLUGIN_PATH}) ## create a list of dir + list(FIND PLUGIN_PATH_LIST ${pamf_FROM_REL_PATH} id) + list(LENGTH PLUGIN_PATH_LIST PLUGIN_PATH_LIST_COUNT) + if(${id} GREATER 0) + math(EXPR id "${id}+1") ## matches relative path not include + math(EXPR PLUGIN_PATH_LIST_COUNT "${PLUGIN_PATH_LIST_COUNT}-1") ## the end of the list + foreach(i RANGE ${id} ${PLUGIN_PATH_LIST_COUNT}) + list(GET PLUGIN_PATH_LIST ${i} out) + list(APPEND PLUGIN_REL_PATH_LIST ${out}) + endforeach() + foreach(dir ${PLUGIN_REL_PATH_LIST}) + set(PLUGIN_REL_PATH "${PLUGIN_REL_PATH}/${dir}") + endforeach() + endif() + set(PLUGIN_PATH_DEST ${PLUGIN_PATH_DEST}${PLUGIN_REL_PATH}) + endif() + + install(FILES ${PLUGIN_PATH_NAME} CONFIGURATIONS ${inst_run_CONFIG_TYPE} DESTINATION ${PLUGIN_PATH_DEST} COMPONENT ${pamf_COMPONENT}) + get_filename_component(pluginName ${PLUGIN_PATH_NAME} NAME) + if(IS_ABSOLUTE ${PLUGIN_PATH_DEST}) + else() + set(PLUGIN_PATH_DEST ${inst_run_INSTALL_FOLDER}/${PLUGIN_PATH_DEST}) + endif() + list(APPEND pluginsList ${PLUGIN_PATH_DEST}/${pluginName}) + endif() + else() + message(WARNING "You need to provide a valid PLUGIN_PATH_NAME") + set(pluginsList ) + endif() + endforeach() + set(${results} ${pluginsList} PARENT_SCOPE) + endfunction() + + if(inst_run_VERBOSE) + list(APPEND extra_flags_to_add VERBOSE) + endif() + list(APPEND extra_flags_to_add EXEC_PATH ${EXEC_PATH} COMPONENT ${inst_run_COMPONENT}) ## for internal use inside overloaded function + list(LENGTH inst_run_PLUGINS inst_run_PLUGINS_count) + if(${inst_run_PLUGINS_count} GREATER 0) + parse_arguments_multi(PLUGIN_PATH_NAME inst_run_PLUGINS ${inst_run_PLUGINS} ## see internal overload parse_arguments_multi_function for processing each sub-list + NEED_RESULTS ${inst_run_PLUGINS_count} ## this is used to check when we are in the first loop (in order to reset parse_arguments_multi_results) + EXTRAS_FLAGS ${extra_flags_to_add} ## this is used to allow catching additional internal flags of our overloaded function + ) + endif() + + #message(parse_arguments_multi_results = ${parse_arguments_multi_results}) + list(APPEND pluginsList ${parse_arguments_multi_results}) + + + + ## Install rules for required system runtimes such as MSVCRxx.dll + set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP ON) + include(InstallRequiredSystemLibraries) + if(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS) + install(FILES ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} + CONFIGURATIONS ${inst_run_CONFIG_TYPE} + DESTINATION ${EXEC_PATH} + COMPONENT ${inst_run_COMPONENT} + ) + endif() + + ## print what we are doing to do + if(inst_run_VERBOSE) + message(STATUS "[install_runtime] On install target call, cmake will try to resolve dependencies for given app:\n ${installedFilePathTargetAppToResolve} (with plausible postfix: ${inst_run_PLAUSIBLES_POSTFIX})") + if(pluginsList) + message(STATUS " and also for plugins :") + foreach(plugin ${pluginsList}) + message(STATUS " ${plugin}") + endforeach() + endif() + message(STATUS " Looking for dependencies into:") + foreach(dir ${dirsToLookFor}) + message(STATUS " ${dir}") + endforeach() + endif() + + ## Install rules for required dependencies libs/plugins for the target app + ## will resolve all installed target files with config modes postfixes + string(TOUPPER ${inst_run_CONFIG_TYPE} inst_run_CONFIG_TYPE_UC) + get_target_property(postfix ${inst_run_TARGET} "${inst_run_CONFIG_TYPE_UC}_POSTFIX") + install(CODE "set(target \"${inst_run_TARGET}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) + install(CODE "set(inst_run_CONFIG_TYPE \"${inst_run_CONFIG_TYPE}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) + install(CODE "set(inst_run_INSTALL_FOLDER \"${inst_run_INSTALL_FOLDER}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) + install(CODE "set(app \"${EXEC_PATH}/${EXEC_NAME}${postfix}${CMAKE_EXECUTABLE_SUFFIX}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) + install(CODE "set(dirsToLookFor \"${dirsToLookFor}\")" COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE}) + install(CODE + [[ + if("${CMAKE_INSTALL_CONFIG_NAME}" STREQUAL "${inst_run_CONFIG_TYPE}") + message(STATUS "Installing ${target} dependencies...") + + file(GET_RUNTIME_DEPENDENCIES + EXECUTABLES ${app} + RESOLVED_DEPENDENCIES_VAR _r_deps + UNRESOLVED_DEPENDENCIES_VAR _u_deps + CONFLICTING_DEPENDENCIES_PREFIX _c_deps + DIRECTORIES ${dirsToLookFor} + PRE_EXCLUDE_REGEXES "api-ms-*" + POST_EXCLUDE_REGEXES ".*system32/.*\\.dll" ".*SysWOW64/.*\\.dll" + ) + + if(_u_deps) + message(WARNING "There were unresolved dependencies for executable ${EXEC_FILE}: \"${_u_deps}\"!") + endif() + if(_c_deps_FILENAMES) + message(WARNING "There were conflicting dependencies for executable ${EXEC_FILE}: \"${_c_deps_FILENAMES}\"!") + endif() + + foreach(_file ${_r_deps}) + file(INSTALL + DESTINATION "${inst_run_INSTALL_FOLDER}/bin" + TYPE SHARED_LIBRARY + FOLLOW_SYMLINK_CHAIN + FILES "${_file}" + ) + endforeach() + endif() + ]] + COMPONENT ${inst_run_COMPONENT} CONFIGURATIONS ${CONFIG_TYPE} + ) + + +endfunction() + +## High level macro to install resources in the correct folder +## +## EXECUTABLE: [opt] option to copy files as programs +## RELATIVE : [opt] copy files relatively to current folder +## TYPE : [opt] type and folder where to store the files +## FOLDER : [opt] subfolder to use +## FILES : [opt] contains a list of resources files to copy to install folder +macro(ibr_install_rsc target) + cmake_parse_arguments(install_rsc_${target} "EXECUTABLE;RELATIVE" "TYPE;FOLDER" "FILES" ${ARGN}) + set(rsc_target "${target}_${install_rsc_${target}_TYPE}") + + if(install_rsc_${target}_FOLDER) + set(rsc_folder "${install_rsc_${target}_TYPE}/${install_rsc_${target}_FOLDER}") + else() + set(rsc_folder "${install_rsc_${target}_TYPE}") + endif() + + add_custom_target(${rsc_target} + COMMENT "run the ${install_rsc_${target}_TYPE} installation only for ${target} (component ${rsc_target})" + VERBATIM) + foreach(scriptFile ${install_rsc_${target}_FILES}) + if(install_rsc_${target}_RELATIVE) + file(RELATIVE_PATH relativeFilename ${CMAKE_CURRENT_SOURCE_DIR} ${scriptFile}) + else() + get_filename_component(relativeFilename ${scriptFile} NAME) + endif() + + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + add_custom_command(TARGET ${rsc_target} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E + copy_if_different ${scriptFile} ${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}/${relativeFilename}) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + add_custom_command(TARGET ${rsc_target} POST_BUILD + COMMAND ${CMAKE_COMMAND} -E + copy_if_different ${scriptFile} ${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}/${relativeFilename}) + endforeach() + endforeach() + + get_target_property(INSTALL_RSC_BUILD_FOLDER ${target} FOLDER) + set_target_properties(${rsc_target} PROPERTIES FOLDER ${INSTALL_RSC_BUILD_FOLDER}) + + add_dependencies(${target} ${rsc_target}) + add_dependencies(PREBUILD ${rsc_target}) + + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + resourceFile(ADD ${rsc_folder} CONFIG_TYPE ${CMAKE_BUILD_TYPE} FILE_PATH "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/ibr_resources.ini") + + if(install_rsc_${target}_EXECUTABLE) + install( + PROGRAMS ${install_rsc_${target}_FILES} + CONFIGURATIONS ${CMAKE_BUILD_TYPE} + DESTINATION "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}" + ) + else() + install( + FILES ${install_rsc_${target}_FILES} + CONFIGURATIONS ${CMAKE_BUILD_TYPE} + DESTINATION "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}/${rsc_folder}" + ) + endif() + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + resourceFile(ADD ${rsc_folder} CONFIG_TYPE ${CONFIG_TYPES} FILE_PATH "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/ibr_resources.ini") + + if(install_rsc_${target}_EXECUTABLE) + install( + PROGRAMS ${install_rsc_${target}_FILES} + CONFIGURATIONS ${CONFIG_TYPES} + DESTINATION "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}" + ) + else() + install( + FILES ${install_rsc_${target}_FILES} + CONFIGURATIONS ${CONFIG_TYPES} + DESTINATION "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}/${rsc_folder}" + ) + endif() + endforeach() +endmacro() + + +## High level macro to install in an homogen way all our ibr targets (it use some functions inside this file) +## +## RSC_FILE_ADD : [opt] is used to auto write/append relative paths of target resources into a common file +## INSTALL_PDB : [opt] is used to auto install PDB file (when using MSVC according to the target type) +## STANDALONE : [opt] bool ON/OFF var to call install_runtime or not (for bundle resolution) +## DIRS : [opt] used if STANDALONE set to ON, see install_runtime doc +## PLUGINS: [opt] used if STANDALONE set to ON, see install_runtime doc +## MSVC_CMD : [opt] used to specify an absolute filePathName application to launch with the MSVC IDE Debugger associated to this target (project file) +## MSVC_ARGS : [opt] load the MSVC debugger with correct settings (app path, args, working dir) +## +macro(ibr_install_target target) + cmake_parse_arguments(ibrInst${target} "VERBOSE;INSTALL_PDB" "COMPONENT;MSVC_ARGS;STANDALONE;RSC_FOLDER" "SHADERS;RESOURCES;SCRIPTS;DIRS;PLUGINS" ${ARGN}) + + if(ibrInst${target}_RSC_FOLDER) + set(rsc_folder "${ibrInst${target}_RSC_FOLDER}") + else() + set(rsc_folder "${target}") + endif() + + if(ibrInst${target}_SHADERS) + ibr_install_rsc(${target} EXECUTABLE TYPE "shaders" FOLDER ${rsc_folder} FILES "${ibrInst${target}_SHADERS}") + endif() + + if(ibrInst${target}_RESOURCES) + ibr_install_rsc(${target} TYPE "resources" FOLDER ${rsc_folder} FILES "${ibrInst${target}_RESOURCES}") + endif() + + if(ibrInst${target}_SCRIPTS) + ibr_install_rsc(${target} EXECUTABLE TYPE "scripts" FOLDER ${rsc_folder} FILES "${ibrInst${target}_SCRIPTS}") + endif() + + if(ibrInst${target}_COMPONENT) + set(installCompArg COMPONENT ${ibrInst${target}_COMPONENT}) + ## Create a custom install target based on COMPONENT + installTargetProject(${target} ${ibrInst${target}_COMPONENT}) + endif() + + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + string(TOUPPER ${CMAKE_BUILD_TYPE} CONFIG_TYPES_UC) + set_target_properties(${target} PROPERTIES ${CONFIG_TYPES_UC}_POSTFIX "${CMAKE_${CONFIG_TYPES_UC}_POSTFIX}") + get_target_property(CURRENT_TARGET_BUILD_TYPE_POSTFIX ${target} ${CONFIG_TYPES_UC}_POSTFIX) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + set_target_properties(${target} PROPERTIES ${CONFIG_TYPES_UC}_POSTFIX "${CMAKE_${CONFIG_TYPES_UC}_POSTFIX}") + get_target_property(CURRENT_TARGET_BUILD_TYPE_POSTFIX ${target} ${CONFIG_TYPES_UC}_POSTFIX) + endforeach() + + ## Specify default installation rules + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + string(TOUPPER ${CMAKE_BUILD_TYPE} CONFIG_TYPES_UC) + install(TARGETS ${target} + CONFIGURATIONS ${CMAKE_BUILD_TYPE} + LIBRARY DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} + ARCHIVE DESTINATION ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} + RUNTIME DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} ${installCompArg} + ) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + install(TARGETS ${target} + CONFIGURATIONS ${CONFIG_TYPES} + LIBRARY DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} + ARCHIVE DESTINATION ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} + RUNTIME DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} ${installCompArg} + ) + endforeach() + + if(ibrInst${target}_INSTALL_PDB) + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + installPDB(${target} ${CMAKE_BUILD_TYPE} + LIBRARY_DEST ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} + ARCHIVE_DEST ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} + RUNTIME_DEST ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}} + ) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + installPDB(${target} ${CONFIG_TYPES} + LIBRARY_DEST ${CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} + ARCHIVE_DEST ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} + RUNTIME_DEST ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} + ) + endforeach() + endif() + + ## install dynamic necessary dependencies + if(ibrInst${target}_STANDALONE) + get_target_property(type ${target} TYPE) + if(${type} MATCHES "EXECUTABLE") + + if(ibrInst${target}_VERBOSE) + set(VERBOSE VERBOSE) + else() + set(VERBOSE ) + endif() + + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + install_runtime(bin/${target}${CMAKE_EXECUTABLE_SUFFIX} ## default relative to CMAKE_INSTALL_PREFIX + INSTALL_FOLDER "${CMAKE_INSTALL_PREFIX_${CMAKE_BUILD_TYPE}}" + CONFIG_TYPE ${CMAKE_BUILD_TYPE} + ${VERBOSE} + TARGET ${target} + ${installCompArg} + PLUGINS ## will be installed + ${ibrInst${target}_PLUGINS} + DIRS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} + ${ibrInst${target}_DIRS} + ) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + install_runtime(bin/${target}${CMAKE_EXECUTABLE_SUFFIX} ## default relative to CMAKE_INSTALL_PREFIX + INSTALL_FOLDER "${CMAKE_INSTALL_PREFIX_${CONFIG_TYPES_UC}}" + CONFIG_TYPE ${CONFIG_TYPES} + ${VERBOSE} + TARGET ${target} + ${installCompArg} + PLUGINS ## will be installed + ${ibrInst${target}_PLUGINS} + DIRS ${CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG_TYPES_UC}} + ${ibrInst${target}_DIRS} + ) + endforeach() + else() + message(WARNING "STANDALONE option is only compatible with EXECUTABLES target type. Skip the STANDALONE installation process.") + endif() + endif() + + ## Provide a way to directly load the MSVC debugger with correct settings + if(MSVC) + if(ibrInst${target}_MSVC_CMD) ## command absolute filePathName is optional as the default is to use the installed target file application + set(msvcCmdArg COMMAND ${ibrInst${target}_MSVC_CMD}) ## flag following by the value (both to pass to the MSVCsetUserCommand function) + endif() + if(ibrInst${target}_MSVC_ARGS) ## args (between quotes) are optional + set(msvcArgsArg ARGS ${ibrInst${target}_MSVC_ARGS}) ## flag following by the value (both to pass to the MSVCsetUserCommand function) + endif() + get_target_property(type ${target} TYPE) + if( (ibrInst${target}_MSVC_CMD OR ibrInst${target}_MSVC_ARGS) OR (${type} MATCHES "EXECUTABLE") ) + include(MSVCsetUserCommand) + if(DEFINED CMAKE_BUILD_TYPE) ## for make/nmake based + MSVCsetUserCommand( ${target} + PATH ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}} ##FILE option not necessary since it deduced from targetName + ARGS "${SIBR_PROGRAMARGS}" + ${msvcCmdArg} + #${msvcArgsArg} + WORKING_DIR ${CMAKE_OUTPUT_BIN_${CMAKE_BUILD_TYPE}} + ) + endif() + foreach(CONFIG_TYPES ${CMAKE_CONFIGURATION_TYPES}) ## for multi config types (MSVC based) + string(TOUPPER ${CONFIG_TYPES} CONFIG_TYPES_UC) + MSVCsetUserCommand( ${target} + PATH ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}} ##FILE option not necessary since it deduced from targetName + ARGS "${SIBR_PROGRAMARGS}" + ${msvcCmdArg} + #${msvcArgsArg} + WORKING_DIR ${CMAKE_OUTPUT_BIN_${CONFIG_TYPES_UC}} + ) + endforeach() + elseif(NOT ${type} MATCHES "EXECUTABLE") + #message("Cannot set MSVCsetUserCommand with target ${target} without COMMAND parameter as it is not an executable (skip it)") + endif() + endif() + +endmacro() diff --git a/SIBR_viewers/cmake/windows/parse_arguments_multi.cmake b/SIBR_viewers/cmake/windows/parse_arguments_multi.cmake new file mode 100644 index 0000000000..4f19e414fd --- /dev/null +++ b/SIBR_viewers/cmake/windows/parse_arguments_multi.cmake @@ -0,0 +1,304 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +if(NOT WIN32 OR __parse_arguments_multi_cmake_INCLUDED__) + return() +else() + set(__parse_arguments_multi_cmake_INCLUDED__ ON) +endif() + +## This macro allow to process repeating multi value args from a given function which use cmake_parse_arguments module. +## +## cmake_parse_arguments multi args standard behavior: +## function(foo) +## cmake_parse_arguments(arg "" "" "MULTI" ${ARGN}) +## foreach(item IN LISTS arg_MULTI) +## message(STATUS "${item}") +## endforeach() +## endfunction() +## foo(MULTI x y MULTI z w) +## The above code outputs 'z' and 'w'. It originally expected it to output all of 'x' 'y' 'z' 'w'. +## +## Using this macro inside a function which want to handle repeating multi args values +## will recursively iterate onto the multi tags list to process each sub list. +## It take as 1st argument the subTag flag to separate sub list from the main multi list. +## It take as 2nd argument the nameList of the main multi list (the multiValuesArgs from cmake_parse_arguments: here it is MULTI in the example) +## and that's why it is important that it should be a macro and not a function (to get access to external variable). +## Then you give the content of this list allowing to be processed by the macro. +## +## parse_arguments_multi macro call a parse_arguments_multi_function which do actually the process from the given sub-list. +## By default this function only print infos about what variables you are trying to pass/process (only verbose messages), +## but, by overloading this cmake function, you will be able to externalize the process of your multi argument list. +## +## Usage (into a function) : +## parse_arguments_multi( +## [NEED_RESULTS ] [EXTRAS_FLAGS <...> <...> ...] +## ) +## +## Simple usage example [user point of view]: +## foo(MULTI +## SUB_MULTI x y +## SUB_MULTI z w +## ) +## +## Simple usage example [inside a function]: +## function(foo) +## cmake_parse_arguments(arg "" "" "MULTI" ${ARGN}) +## include(parse_arguments_multi) +## function(parse_arguments_multi_function ) +## #message("I'm an overloaded cmake function used by parse_arguments_multi") +## #message("I'm processing first part of my sub list: ${ARGN}") +## message("ARGV0=${ARGV0}") +## message("ARGV1=${ARGV1}") +## endfunction() +## parse_arguments_multi(SUB_MULTI arg_MULTI ${arg_MULTI}) ## this function will process recusively items of the sub-list [default print messages] +## endfunction() +## +## Will print: +## ARGV0=z +## ARGV1=w +## ARGV0=x +## ARGV1=y +## +## WARNING : DO NEVER ADD EXTRA THINGS TO parse_arguments_multi MACRO : +## parse_arguments_multi(SUB_MULTI arg_MULTI ${arg_MULTI} EXTRAS foo bar SOMTHING) => will failed !! +## use EXTRAS_FLAGS instead !! +## +## Advanced usage example [user point of view]: +## bar(C:/prout/test.exe VERBOSE +## PLUGINS +## PLUGIN_PATH_NAME x PLUGIN_PATH_DEST w +## PLUGIN_PATH_NAME a b PLUGIN_PATH_DEST y +## PLUGIN_PATH_NAME c +## ) +## +## Advanced usage example [inside a function]: +## function(bar execFilePathName) +## cmake_parse_arguments(arg "VERBOSE" "" "PLUGINS" ${ARGN}) +## +## include(parse_arguments_multi) +## function(parse_arguments_multi_function results) +## cmake_parse_arguments(pamf "VERBOSE" "PLUGIN_PATH_DEST;EXEC_PATH" "" ${ARGN}) ## EXEC_PATH is for internal use +## message("") +## message("I'm an overloaded cmake function used by parse_arguments_multi from install_runtime function") +## message("I'm processing first part of my sub list: ${ARGN}") +## message("PLUGIN_PATH_NAME = ${pamf_UNPARSED_ARGUMENTS}") +## message(pamf_VERBOSE = ${pamf_VERBOSE}) +## message("pamf_PLUGIN_PATH_DEST = ${pamf_PLUGIN_PATH_DEST}") +## message(pamf_EXEC_PATH = ${pamf_EXEC_PATH}) +## if(NOT ${pamf_PLUGIN_PATH_DEST}) +## set(pamf_PLUGIN_PATH_DEST ${pamf_EXEC_PATH}) +## endif() +## foreach(plugin ${pamf_UNPARSED_ARGUMENTS}) +## get_filename_component(pluginName ${plugin} NAME) +## list(APPEND pluginsList ${pamf_PLUGIN_PATH_DEST}/${pluginName}) +## endforeach() +## set(${results} ${pluginsList} PARENT_SCOPE) +## endfunction() +## +## if(arg_VERBOSE) +## list(APPEND extra_flags_to_add VERBOSE) ## here we transmit the VERNOSE flag +## endif() +## get_filename_component(EXEC_PATH ${execFilePathName} PATH) ## will be the default value if PLUGIN_PATH_DEST option is not provided +## list(APPEND extra_flags_to_add EXEC_PATH ${EXEC_PATH}) +## list(LENGTH arg_PLUGINS arg_PLUGINS_count) +## parse_arguments_multi(PLUGIN_PATH_NAME arg_PLUGINS ${arg_PLUGINS} +## NEED_RESULTS ${arg_PLUGINS_count} ## this is used to check when we are in the first loop (in order to reset parse_arguments_multi_results) +## EXTRAS_FLAGS ${extra_flags_to_add} ## this is used to allow catching VERBOSE and PLUGIN_PATH_DEST flags of our overloaded function +## ) +## endfunction() +## message(parse_arguments_multi_results = ${parse_arguments_multi_results}) ## list of the whole pluginsList +## #Will print w/x;a/y;b/y;C:/prout/c +## +## NOTE that here, since our overloaded function need to provide a result list, we use the other parse_arguments_multi_function signature (the which one with a results arg) +## + +function(parse_arguments_multi_function_default) ## used in case of you want to reset the default behavior of this function process + message("[default function] parse_arguments_multi_function(ARGC=${ARGC} ARGV=${ARGV} ARGN=${ARGN})") + message("This function is used by parse_arguments_multi and have to be overloaded to process sub list of multi values args") +endfunction() + +function(parse_arguments_multi_function ) ## => the function to overload + parse_arguments_multi_function_default(${ARGN}) +endfunction() + +## first default signature above +##------------------------------ +## second results signature behind + +function(parse_arguments_multi_function_default result) ## used in case of you want to reset the default behavior of this function process + message("[default function] parse_arguments_multi_function(ARGC=${ARGC} ARGV=${ARGV} ARGN=${ARGN})") + message("This function is used by parse_arguments_multi and have to be overloaded to process sub list of muluti values args") +endfunction() + +function(parse_arguments_multi_function result) ## => the function to overload + parse_arguments_multi_function_default(result ${ARGN}) +endfunction() + +## => the macro to use inside your function which use cmake_parse_arguments +# NOTE: entry point of parse_arguments_multi, which is called from win3rdPart) +macro(parse_arguments_multi multiArgsSubTag multiArgsList #<${multiArgsList}> the content of the list +) + # message (STATUS "") + # message(STATUS "calling parse_arguemnts_multi defined in parse_arguments_multi.cmake:141") + # message(STATUS "multiArgsSubTag = ${multiArgsSubTag}") # CHECK_CACHED_VAR + # message(STATUS "multiArgsList = ${multiArgsList}") # it contains the name of the variable which is holding the list i.e w3p_MULTI_SET + # message(STATUS "value of ${multiArgsList} = ${${multiArgsList}}") # a semicolon separated list of values passed to SET or MULTISET keyword in win3rdParty + # message(STATUS "actual values ARGN = ${ARGN}") # the same as ${${multiArgsList}} + + ## INFO + ## starting from CMake 3.5 cmake_parse_arguments is not a module anymore and now is a native CMake command. + ## the behaviour is different though + ## In CMake 3.4, if you pass multiple times a multi_value_keyword, CMake returns the values of the LAST match + ## In CMake 3.5 and above, CMake returns the whole list of values that were following that multi_value_keyword + ## example: + ## cmake_parse_arguments( + ## + ## "" # options + ## "" # one value keywords + ## "MY_MULTI_VALUE_TAG" + ## MY_MULTI_VALUE_TAG value1 value2 + ## MY_MULTI_VALUE_TAG value3 value4 + ## MY_MULTI_VALUE_TAG value5 value6 + ## ) + ## result in CMake 3.4 + ## _MY_MULTI_VALUE_TAG = "value5;value6" + ## + ## result in CMake 3.8 + ## _MY_MULTI_VALUE_TAG = "value5;value6" + + #include(CMakeParseArguments) #module CMakeParseArguments is obsolete since cmake 3.5 + # cmake_parse_arguments ( args) + # : options (flags) pass to the macro + # : options that neeed a value + # : options that neeed more than one value + cmake_parse_arguments(_pam "" "NEED_RESULTS" "${multiArgsSubTag};EXTRAS_FLAGS" ${ARGN}) + + ## multiArgsList is the name of the list used by the multiValuesOption flag from the cmake_parse_arguments of the user function + ## that's why we absolutly need to use MACRO here (and also for passing parse_arguments_multi_results when NEED_RESULTS flag is set) + + ## for debugging + #message("") + #message("[parse_arguments_multi] => ARGN = ${ARGN}") + #message("_pam_NEED_RESULTS=${_pam_NEED_RESULTS}") + #message("_pam_EXTRAS_FLAGS=${_pam_EXTRAS_FLAGS}") + # foreach(var ${_pam_${multiArgsSubTag}}) + # message("arg=${var}") + # endforeach() + + if (${CMAKE_VERSION} VERSION_GREATER "3.5") + # lets make ${_pam_${multiArgsSubTag}} behave as it is in version 3.4 + # that means, cmake_parse_arguments should have only the last values of a multi set for a given keyword + + # message("") + # message("values in multiArgsList") + # foreach(val ${${multiArgsList}}) + # message(STATUS ${val}) + # endforeach() + # message("end values in multiArgsList") + + + set(lastIndexFound OFF) + list(LENGTH ${multiArgsList} argnLength) + # message(${argnLength}) + math(EXPR argnLength "${argnLength}-1") # make last index a valid one + set(recordIndex 0) + set(records "") # clear records list + set(record0 "") # clear first record list + foreach(iter RANGE ${argnLength}) + list(GET ${multiArgsList} ${iter} value) + # message(STATUS "index=${iter} value=${value}") + if (${value} STREQUAL ${multiArgsSubTag}) + if (lastIndexFound) + list(APPEND records ${recordIndex}) # records store the list NAMES + math(EXPR recordIndex "${recordIndex}+1") + set(record${recordIndex} "") # clear record list + else () + set(lastIndexFound ON) + endif() + + set(lastIndex ${iter}) + else () + if (lastIndexFound) + # message(${value}) + list(APPEND record${recordIndex} ${value}) + endif() + endif() + endforeach() + + # save the last list of values + if (lastIndexFound) + list(APPEND records ${recordIndex}) # records store the list NAMES + endif() + + # set multiArgsList to make it behave like CMake 3.4 + # message("") + # message("using my records") + foreach(recordName ${records}) + # message(${recordName}) + # foreach(value ${record${recordName}}) + # message(${value}) + # endforeach() + # message("") + set(_pam_${multiArgsSubTag} ${record${recordName}}) + endforeach() + # message(${_pam_${multiArgsSubTag}}) + + # message("") + # message("using argn") + # foreach(value ${ARGN}) + # message(${value}) + # endforeach() + endif() # end if cmake > 3.5 + + # message("values with pam ${_pam_${multiArgsSubTag}}") + + ## check and init + list(LENGTH ${multiArgsList} globalListCount) # GLUT_TRACE: globalListCound=16 in CMake3.4 and CMake3.8 + # message(STATUS "nr items in multiArgsList: ${globalListCount}") + math(EXPR globalListCount "${globalListCount}-1") ## because it will contain [multiArgsSubTag + ${multiArgsList}] + if(_pam_NEED_RESULTS) + if(${globalListCount} EQUAL ${_pam_NEED_RESULTS}) + ## first time we enter into this macro (because we call it recursively) + unset(parse_arguments_multi_results) + endif() + endif() + + ## process the part of the multi agrs list + ## ${ARGN} shouldn't be passed to the function in order to avoid missmatch size list ${multiArgsList} and _pam_${multiArgsSubTag} + ## if you want to pass extra internal flags from your function to this callback, use EXTRAS_FLAGS + if(_pam_NEED_RESULTS) + parse_arguments_multi_function(parse_arguments_multi_function_result ${_pam_${multiArgsSubTag}} ${_pam_EXTRAS_FLAGS}) + list(APPEND parse_arguments_multi_results ${parse_arguments_multi_function_result}) + else() + # message(STATUS "about to call parse_arguments_multi_function in parse_arguments_multi.cmake:177 ${_pam_${multiArgsSubTag}} and extra flags ${_pam_EXTRAS_FLAGS}") + parse_arguments_multi_function(${_pam_${multiArgsSubTag}} ${_pam_EXTRAS_FLAGS}) + endif() + + ## remove just processed items from the main list to process (multiArgsList) + list(REVERSE ${multiArgsList}) + list(LENGTH _pam_${multiArgsSubTag} subTagListCount) + unset(ids) + foreach(id RANGE ${subTagListCount}) + list(APPEND ids ${id}) + endforeach() + list(REMOVE_AT ${multiArgsList} ${ids}) + list(REVERSE ${multiArgsList}) + + ## test if remain sub multi list to process (recursive call) or finish the process + list(LENGTH ${multiArgsList} mainTagListCount) + if(${mainTagListCount} GREATER 1) + ## do not pass ${ARGN} just because it will re pass the initial 2 inputs args and we wont as they was consumed (in order to avoir conflicts) + # message(STATUS "about to call a parse_arguments_multi but without knowing where the definition is going to be taken from") + parse_arguments_multi(${multiArgsSubTag} ${multiArgsList} ${${multiArgsList}} + NEED_RESULTS ${_pam_NEED_RESULTS} EXTRAS_FLAGS ${_pam_EXTRAS_FLAGS} + ) + endif() +endmacro() diff --git a/SIBR_viewers/cmake/windows/sibr_library.cmake b/SIBR_viewers/cmake/windows/sibr_library.cmake new file mode 100644 index 0000000000..61f4219241 --- /dev/null +++ b/SIBR_viewers/cmake/windows/sibr_library.cmake @@ -0,0 +1,169 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +# NOTE +# This feature is used to easily download, store and link external dependencies. This +# requires to prepare pre-compiled libraries (to download). For now, packages have +# only be prepare for Windows 64-bit with Visual Studio 2012. (You should re-build +# everything if you want to use another version of Visual Studio/ another compiler). + +# NOTE ABOUT UNIX SYSTEMS +# There is no need for "searching mechanism". This function is discard and your +# libraries should be installed is the standard folders that are: +# +# /usr/include/ +# /usr/lib/ +# /usr/lib64/ +# for packages downloaded using apt-get/yum +# +# /usr/local/include/ +# /usr/local/lib/ +# /usr/local/lib64/ +# for packages manually installed ("make install") +# +# if you encounter problems when linking (e.g. lib not found even if it is installed), +# please check these folders are in your search PATH environment variables. + +set(EXTLIBS_PACKAGE_FOLDER "${CMAKE_SOURCE_DIR}/extlibs") + +function(sibr_addlibrary) + if(NOT WIN32) + return() + endif() + + file(MAKE_DIRECTORY ${EXTLIBS_PACKAGE_FOLDER}) + cmake_parse_arguments(args "VCID" "VERBOSE;TIMEOUT;DEFAULT_USE;NAME;VERSION;MSVC11;MSVC12;MSVC14;MSVC17" "MULTI_SET;SET" ${ARGN}) + + + if (NOT "${args_VERSION}" MATCHES "") + message(WARNING "VERSION is not implemented yet") + endif() + + set(lcname "") + set(ucname "") + string(TOLOWER "${args_NAME}" lcname) + string(TOUPPER "${args_NAME}" ucname) + + set(LIB_PACKAGE_FOLDER "${EXTLIBS_PACKAGE_FOLDER}/${lcname}") + win3rdParty(${ucname} + $ + VERBOSE ${args_VERBOSE} + TIMEOUT ${args_TIMEOUT} + DEFAULT_USE ${args_DEFAULT_USE} + MSVC11 "${LIB_PACKAGE_FOLDER}" "${args_MSVC11}" + MSVC12 "${LIB_PACKAGE_FOLDER}" "${args_MSVC12}" + MSVC14 "${LIB_PACKAGE_FOLDER}" "${args_MSVC14}" # TODO SV: make sure to build this library if required + MSVC17 "${LIB_PACKAGE_FOLDER}" "${args_MSVC17}" + SET ${args_SET} + MULTI_SET ${args_MULTI_SET} + ) + + # Add include/ directory + # and lib/ directories + + # TODO SV: paths not matching with current hierarchy. example: libraw/libraw-0.17.1/include + # SR: The link directories will also be used to lookup for dependency DLLs to copy in the install directory. + # Some libraries put the DLLs in the bin/ directory, so we include those. + file(GLOB subdirs RELATIVE ${LIB_PACKAGE_FOLDER} ${LIB_PACKAGE_FOLDER}/*) + set(dirlist "") + foreach(dir ${subdirs}) + if(IS_DIRECTORY ${LIB_PACKAGE_FOLDER}/${dir}) + # message("adding ${LIB_PACKAGE_FOLDER}/${dir}/include/ to the include directories") + include_directories("${LIB_PACKAGE_FOLDER}/${dir}/include/") + # message("adding ${LIB_PACKAGE_FOLDER}/${dir}/lib[64] to the link directories") + link_directories("${LIB_PACKAGE_FOLDER}/${dir}/") + link_directories("${LIB_PACKAGE_FOLDER}/${dir}/lib/") + link_directories("${LIB_PACKAGE_FOLDER}/${dir}/lib64/") + link_directories("${LIB_PACKAGE_FOLDER}/${dir}/bin/") + endif() + endforeach() + +endfunction() + +include(FetchContent) +include(git_describe) + +function(sibr_gitlibrary) + cmake_parse_arguments(args "" "TARGET;GIT_REPOSITORY;GIT_TAG;ROOT_DIR;SOURCE_DIR" "INCLUDE_DIRS" ${ARGN}) + if(NOT args_TARGET) + message(FATAL "Error on sibr_gitlibrary : please define your target name.") + return() + endif() + + if(NOT args_ROOT_DIR) + set(args_ROOT_DIR ${args_TARGET}) + endif() + + if(NOT args_SOURCE_DIR) + set(args_SOURCE_DIR ${args_TARGET}) + endif() + + if(args_GIT_REPOSITORY AND args_GIT_TAG) + if(EXISTS ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR}/.git) + git_describe( + PATH ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} + GIT_URL SIBR_GITLIBRARY_URL + GIT_BRANCH SIBR_GITLIBRARY_BRANCH + GIT_COMMIT_HASH SIBR_GITLIBRARY_COMMIT_HASH + GIT_TAG SIBR_GITLIBRARY_TAG + ) + + if((SIBR_GITLIBRARY_URL STREQUAL args_GIT_REPOSITORY) AND + ((SIBR_GITLIBRARY_BRANCH STREQUAL args_GIT_TAG) OR + (SIBR_GITLIBRARY_TAG STREQUAL args_GIT_TAG) OR + (SIBR_GITLIBRARY_COMMIT_HASH STREQUAL args_GIT_TAG))) + message(STATUS "Library ${args_TARGET} already available, skipping.") + set(SIBR_GITLIBRARY_DECLARED ON) + else() + message(STATUS "Adding library ${args_TARGET} from git...") + endif() + endif() + + FetchContent_Declare(${args_TARGET} + GIT_REPOSITORY ${args_GIT_REPOSITORY} + GIT_TAG ${args_GIT_TAG} + GIT_SHALLOW ON + SOURCE_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} + SUBBUILD_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/subbuild + BINARY_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build + ) + FetchContent_GetProperties(${args_TARGET}) + string(TOLOWER "" lcTargetName) + + if((NOT SIBR_GITLIBRARY_DECLARED) AND (NOT ${lcTargetName}_POPULATED)) + message(STATUS "Populating library ${args_TARGET}...") + FetchContent_Populate(${args_TARGET} QUIET + GIT_REPOSITORY ${args_GIT_REPOSITORY} + GIT_TAG ${args_GIT_TAG} + SOURCE_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} + SUBBUILD_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/subbuild + BINARY_DIR ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build + ) + endif() + + add_subdirectory(${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/${args_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/extlibs/${args_ROOT_DIR}/build) + + get_target_property(type ${args_TARGET} TYPE) + if(NOT (type STREQUAL "INTERFACE_LIBRARY")) + set_target_properties(${args_TARGET} PROPERTIES FOLDER "extlibs") + endif() + + list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}) + list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}/${args_SOURCE_DIR}) + + foreach(args_INCLUDE_DIR ${args_INCLUDE_DIRS}) + list(APPEND ${args_TARGET}_INCLUDE_DIRS ${EXTLIBS_PACKAGE_FOLDER}/${args_ROOT_DIR}/${args_SOURCE_DIR}/${args_INCLUDE_DIR}) + endforeach() + + include_directories(${${args_TARGET}_INCLUDE_DIRS}) + else() + message(FATAL "Error on sibr_gitlibrary for target ${args_TARGET}: missing git tag or git url.") + endif() +endfunction() \ No newline at end of file diff --git a/SIBR_viewers/docs/CMakeLists.txt b/SIBR_viewers/docs/CMakeLists.txt new file mode 100644 index 0000000000..25180dc122 --- /dev/null +++ b/SIBR_viewers/docs/CMakeLists.txt @@ -0,0 +1,63 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +######################################################### +# Include doxygen documentation target +######################################################### +option(BUILD_DOCUMENTATION "build doxygen documentation ('Build' DOCUMENTATION target, and find the compiled docs in install/docs/index.html)" OFF) +if(BUILD_DOCUMENTATION) + set(DOXYGEN_REQUIRED_VERSION "1.8.17") + find_package(Doxygen) + if(NOT DOXYGEN_FOUND) + message(FATAL_ERROR "Doxygen not found, unable to generate documentation.") + elseif(DOXYGEN_VERSION VERSION_LESS DOXYGEN_REQUIRED_VERSION) + message(FATAL_ERROR "Doxygen version is less than ${DOXYGEN_REQUIRED_VERSION} (Current version is ${DOXYGEN_VERSION}).") + else() + set(DOXY_DOC_DEST_DIR ${CMAKE_INSTALL_ROOT}/docs) ## used in the doxyfile.in + + set(DOXY_DOC_INPUT_ROOT_DIRS "${CMAKE_HOME_DIRECTORY}/src ${CMAKE_HOME_DIRECTORY}/docs ${CMAKE_CURRENT_BINARY_DIR}/generated") ## used in the doxyfile.in + set(DOXY_DOC_EXCLUDE_PATTERNS_DIRS "${DOXY_DOC_EXCLUDE_PATTERNS_DIRS}") ## used in the doxyfile.in + set(DOXY_DOC_COMMON_IMG_PATH "${CMAKE_CURRENT_SOURCE_DIR}/img ${CMAKE_HOME_DIRECTORY}/src/projects") + set(DOXY_DOC_PAGES_DIR "${CMAKE_CURRENT_SOURCE_DIR}/pages") + set(DOXY_DOC_GENERATED_DOC_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated") + + string(REPLACE "\\" "\\\\" SIBR_PROJECTS_SAMPLES_SUBPAGE_REF "${SIBR_PROJECTS_SAMPLES_SUBPAGE_REF}") + string(REPLACE "\\" "\\\\" SIBR_PROJECTS_OURS_SUBPAGE_REF "${SIBR_PROJECTS_OURS_SUBPAGE_REF}") + string(REPLACE "\\" "\\\\" SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF "${SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF}") + string(REPLACE "\\" "\\\\" SIBR_PROJECTS_OTHERS_SUBPAGE_REF "${SIBR_PROJECTS_OTHERS_SUBPAGE_REF}") + string(REPLACE "\\" "\\\\" SIBR_PROJECTS_SAMPLES_REF_REF "${SIBR_PROJECTS_SAMPLES_REF_REF}") + string(REPLACE "\\" "\\\\" SIBR_PROJECTS_OURS_REF_REF "${SIBR_PROJECTS_OURS_REF_REF}") + string(REPLACE "\\" "\\\\" SIBR_PROJECTS_TOOLBOX_REF_REF "${SIBR_PROJECTS_TOOLBOX_REF_REF}") + string(REPLACE "\\" "\\\\" SIBR_PROJECTS_OTHERS_REF_REF "${SIBR_PROJECTS_OTHERS_REF_REF}") + + string(REPLACE "\n" "\\n" SIBR_PROJECTS_SAMPLES_SUBPAGE_REF "${SIBR_PROJECTS_SAMPLES_SUBPAGE_REF}") + string(REPLACE "\n" "\\n" SIBR_PROJECTS_OURS_SUBPAGE_REF "${SIBR_PROJECTS_OURS_SUBPAGE_REF}") + string(REPLACE "\n" "\\n" SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF "${SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF}") + string(REPLACE "\n" "\\n" SIBR_PROJECTS_OTHERS_SUBPAGE_REF "${SIBR_PROJECTS_OTHERS_SUBPAGE_REF}") + string(REPLACE "\n" "\\n" SIBR_PROJECTS_SAMPLES_REF_REF "${SIBR_PROJECTS_SAMPLES_REF_REF}") + string(REPLACE "\n" "\\n" SIBR_PROJECTS_OURS_REF_REF "${SIBR_PROJECTS_OURS_REF_REF}") + string(REPLACE "\n" "\\n" SIBR_PROJECTS_TOOLBOX_REF_REF "${SIBR_PROJECTS_TOOLBOX_REF_REF}") + string(REPLACE "\n" "\\n" SIBR_PROJECTS_OTHERS_REF_REF "${SIBR_PROJECTS_OTHERS_REF_REF}") + + file(GLOB doxygen_config_files "*.in") + foreach(filename ${doxygen_config_files}) + message(STATUS "Generating ${filename}...") + get_filename_component(output_filename ${filename} NAME_WLE) + message(STATUS "Output in ${CMAKE_CURRENT_BINARY_DIR}/${output_filename}...") + configure_file(${filename} ${CMAKE_CURRENT_BINARY_DIR}/${output_filename} @ONLY) + endforeach() + + add_custom_target(DOCUMENTATION ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/doxygen_prebuild.cmake + COMMAND ${DOXYGEN_EXECUTABLE} "${CMAKE_CURRENT_BINARY_DIR}/doxyfile" + WORKING_DIRECTORY ${CMAKE_HOME_DIRECTORY} + COMMENT "Building user's documentation into ${DOXY_DOC_DEST_DIR} dir..." + ) + endif() +endif() diff --git a/SIBR_viewers/docs/doxyfile.in b/SIBR_viewers/docs/doxyfile.in new file mode 100644 index 0000000000..86d08abb25 --- /dev/null +++ b/SIBR_viewers/docs/doxyfile.in @@ -0,0 +1,2571 @@ +# Doxyfile 1.8.20 + +# This file describes the settings to be used by the documentation system +# doxygen (www.doxygen.org) for a project. +# +# All text after a double hash (##) is considered a comment and is placed in +# front of the TAG it is preceding. +# +# All text after a single hash (#) is considered a comment and will be ignored. +# The format is: +# TAG = value [value, ...] +# For lists, items can also be appended using: +# TAG += value [value, ...] +# Values that contain spaces should be placed between quotes (\" \"). + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- + +# This tag specifies the encoding used for all characters in the configuration +# file that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. +# The default value is: UTF-8. + +DOXYFILE_ENCODING = UTF-8 + +# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by +# double-quotes, unless you are using Doxywizard) that should identify the +# project for which the documentation is generated. This name is used in the +# title of most generated pages and in a few other places. +# The default value is: My Project. + +PROJECT_NAME = SIBR + +# The PROJECT_NUMBER tag can be used to enter a project or revision number. This +# could be handy for archiving the generated documentation or if some version +# control system is used. + +PROJECT_NUMBER = @SIBR_CORE_VERSION@ + +# Using the PROJECT_BRIEF tag one can provide an optional one line description +# for a project that appears at the top of each page and should give viewer a +# quick idea about the purpose of the project. Keep the description short. + +PROJECT_BRIEF = + +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. + +PROJECT_LOGO = + +# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path +# into which the generated documentation will be written. If a relative path is +# entered, it will be relative to the location where doxygen was started. If +# left blank the current directory will be used. + +OUTPUT_DIRECTORY = @DOXY_DOC_DEST_DIR@ + +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub- +# directories (in 2 levels) under the output directory of each output format and +# will distribute the generated files over these directories. Enabling this +# option can be useful when feeding doxygen a huge amount of source files, where +# putting all generated files in the same directory would otherwise causes +# performance problems for the file system. +# The default value is: NO. + +CREATE_SUBDIRS = NO + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + +# The OUTPUT_LANGUAGE tag is used to specify the language in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all constant output in the proper language. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, +# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), +# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, +# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), +# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, +# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, +# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, +# Ukrainian and Vietnamese. +# The default value is: English. + +OUTPUT_LANGUAGE = English + +# The OUTPUT_TEXT_DIRECTION tag is used to specify the direction in which all +# documentation generated by doxygen is written. Doxygen will use this +# information to generate all generated output in the proper direction. +# Possible values are: None, LTR, RTL and Context. +# The default value is: None. + +OUTPUT_TEXT_DIRECTION = None + +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member +# descriptions after the members that are listed in the file and class +# documentation (similar to Javadoc). Set to NO to disable this. +# The default value is: YES. + +BRIEF_MEMBER_DESC = YES + +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief +# description of a member or function before the detailed description +# +# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the +# brief descriptions will be completely suppressed. +# The default value is: YES. + +REPEAT_BRIEF = YES + +# This tag implements a quasi-intelligent brief description abbreviator that is +# used to form the text in various listings. Each string in this list, if found +# as the leading text of the brief description, will be stripped from the text +# and the result, after processing the whole list, is used as the annotated +# text. Otherwise, the brief description is used as-is. If left blank, the +# following values are used ($name is automatically replaced with the name of +# the entity):The $name class, The $name widget, The $name file, is, provides, +# specifies, contains, represents, a, an and the. + +ABBREVIATE_BRIEF = + +# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then +# doxygen will generate a detailed section even if there is only a brief +# description. +# The default value is: NO. + +ALWAYS_DETAILED_SEC = NO + +# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all +# inherited members of a class in the documentation of that class as if those +# members were ordinary class members. Constructors, destructors and assignment +# operators of the base classes will not be shown. +# The default value is: NO. + +INLINE_INHERITED_MEMB = NO + +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path +# before files name in the file list and in the header files. If set to NO the +# shortest path that makes the file name unique will be used +# The default value is: YES. + +FULL_PATH_NAMES = YES + +# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. +# Stripping is only done if one of the specified strings matches the left-hand +# part of the path. The tag can be used to show relative paths in the file list. +# If left blank the directory from which doxygen is run is used as the path to +# strip. +# +# Note that you can specify absolute paths here, but also relative paths, which +# will be relative from the directory where doxygen is started. +# This tag requires that the tag FULL_PATH_NAMES is set to YES. + +STRIP_FROM_PATH = + +# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the +# path mentioned in the documentation of a class, which tells the reader which +# header file to include in order to use a class. If left blank only the name of +# the header file containing the class definition is used. Otherwise one should +# specify the list of include paths that are normally passed to the compiler +# using the -I flag. + +STRIP_FROM_INC_PATH = + +# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but +# less readable) file names. This can be useful is your file systems doesn't +# support long names like on DOS, Mac, or CD-ROM. +# The default value is: NO. + +SHORT_NAMES = NO + +# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the +# first line (until the first dot) of a Javadoc-style comment as the brief +# description. If set to NO, the Javadoc-style will behave just like regular Qt- +# style comments (thus requiring an explicit @brief command for a brief +# description.) +# The default value is: NO. + +JAVADOC_AUTOBRIEF = YES + +# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line +# such as +# /*************** +# as being the beginning of a Javadoc-style comment "banner". If set to NO, the +# Javadoc-style will behave just like regular comments and it will not be +# interpreted by doxygen. +# The default value is: NO. + +JAVADOC_BANNER = NO + +# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first +# line (until the first dot) of a Qt-style comment as the brief description. If +# set to NO, the Qt-style will behave just like regular Qt-style comments (thus +# requiring an explicit \brief command for a brief description.) +# The default value is: NO. + +QT_AUTOBRIEF = YES + +# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a +# multi-line C++ special comment block (i.e. a block of //! or /// comments) as +# a brief description. This used to be the default behavior. The new default is +# to treat a multi-line C++ comment block as a detailed description. Set this +# tag to YES if you prefer the old behavior instead. +# +# Note that setting this tag to YES also means that rational rose comments are +# not recognized any more. +# The default value is: NO. + +MULTILINE_CPP_IS_BRIEF = NO + +# By default Python docstrings are displayed as preformatted text and doxygen's +# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the +# doxygen's special commands can be used and the contents of the docstring +# documentation blocks is shown as doxygen documentation. +# The default value is: YES. + +PYTHON_DOCSTRING = YES + +# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the +# documentation from any documented member that it re-implements. +# The default value is: YES. + +INHERIT_DOCS = YES + +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. +# The default value is: NO. + +SEPARATE_MEMBER_PAGES = NO + +# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen +# uses this value to replace tabs by spaces in code fragments. +# Minimum value: 1, maximum value: 16, default value: 4. + +TAB_SIZE = 4 + +# This tag can be used to specify a number of aliases that act as commands in +# the documentation. An alias has the form: +# name=value +# For example adding +# "sideeffect=@par Side Effects:\n" +# will allow you to put the command \sideeffect (or @sideeffect) in the +# documentation, which will result in a user-defined paragraph with heading +# "Side Effects:". You can put \n's in the value part of an alias to insert +# newlines (in the resulting output). You can put ^^ in the value part of an +# alias to insert a newline as if a physical newline was in the original file. +# When you need a literal { or } or , in the value part of an alias you have to +# escape them by means of a backslash (\), this can lead to conflicts with the +# commands \{ and \} for these it is advised to use the version @{ and @} or use +# a double escape (\\{ and \\}) + +ALIASES = + +# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources +# only. Doxygen will then generate output that is more tailored for C. For +# instance, some of the names that are used will be different. The list of all +# members will be omitted, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_FOR_C = NO + +# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or +# Python sources only. Doxygen will then generate output that is more tailored +# for that language. For instance, namespaces will be presented as packages, +# qualified scopes will look different, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_JAVA = NO + +# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran +# sources. Doxygen will then generate output that is tailored for Fortran. +# The default value is: NO. + +OPTIMIZE_FOR_FORTRAN = NO + +# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL +# sources. Doxygen will then generate output that is tailored for VHDL. +# The default value is: NO. + +OPTIMIZE_OUTPUT_VHDL = NO + +# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice +# sources only. Doxygen will then generate output that is more tailored for that +# language. For instance, namespaces will be presented as modules, types will be +# separated into more groups, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_SLICE = NO + +# Doxygen selects the parser to use depending on the extension of the files it +# parses. With this tag you can assign which parser to use for a given +# extension. Doxygen has a built-in mapping, but you can override or extend it +# using this tag. The format is ext=language, where ext is a file extension, and +# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, +# Csharp (C#), C, C++, D, PHP, md (Markdown), Objective-C, Python, Slice, VHDL, +# Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser +# tries to guess whether the code is fixed or free formatted code, this is the +# default for Fortran type files). For instance to make doxygen treat .inc files +# as Fortran files (default is PHP), and .f files as C (default is Fortran), +# use: inc=Fortran f=C. +# +# Note: For files without extension you can use no_extension as a placeholder. +# +# Note that for custom extensions you also need to set FILE_PATTERNS otherwise +# the files are not read by doxygen. + +EXTENSION_MAPPING = + +# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments +# according to the Markdown format, which allows for more readable +# documentation. See https://daringfireball.net/projects/markdown/ for details. +# The output of markdown processing is further processed by doxygen, so you can +# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in +# case of backward compatibilities issues. +# The default value is: YES. + +MARKDOWN_SUPPORT = YES + +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 5. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 0 + +# When enabled doxygen tries to link words that correspond to documented +# classes, or namespaces to their corresponding documentation. Such a link can +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. +# The default value is: YES. + +AUTOLINK_SUPPORT = YES + +# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want +# to include (a tag file for) the STL sources as input, then you should set this +# tag to YES in order to let doxygen match functions declarations and +# definitions whose arguments contain STL classes (e.g. func(std::string); +# versus func(std::string) {}). This also make the inheritance and collaboration +# diagrams that involve STL classes more complete and accurate. +# The default value is: NO. + +BUILTIN_STL_SUPPORT = YES + +# If you use Microsoft's C++/CLI language, you should set this option to YES to +# enable parsing support. +# The default value is: NO. + +CPP_CLI_SUPPORT = NO + +# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen +# will parse them like normal C++ but will assume all classes use public instead +# of private inheritance when no explicit protection keyword is present. +# The default value is: NO. + +SIP_SUPPORT = NO + +# For Microsoft's IDL there are propget and propput attributes to indicate +# getter and setter methods for a property. Setting this option to YES will make +# doxygen to replace the get and set methods by a property in the documentation. +# This will only work if the methods are indeed getting or setting a simple +# type. If this is not the case, or you want to show the methods anyway, you +# should set this option to NO. +# The default value is: YES. + +IDL_PROPERTY_SUPPORT = YES + +# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC +# tag is set to YES then doxygen will reuse the documentation of the first +# member in the group (if any) for the other members of the group. By default +# all members of a group must be documented explicitly. +# The default value is: NO. + +DISTRIBUTE_GROUP_DOC = YES + +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + +# Set the SUBGROUPING tag to YES to allow class member groups of the same type +# (for instance a group of public functions) to be put as a subgroup of that +# type (e.g. under the Public Functions section). Set it to NO to prevent +# subgrouping. Alternatively, this can be done per class using the +# \nosubgrouping command. +# The default value is: YES. + +SUBGROUPING = YES + +# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions +# are shown inside the group in which they are included (e.g. using \ingroup) +# instead of on a separate page (for HTML and Man pages) or section (for LaTeX +# and RTF). +# +# Note that this feature does not work in combination with +# SEPARATE_MEMBER_PAGES. +# The default value is: NO. + +INLINE_GROUPED_CLASSES = NO + +# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions +# with only public data fields or simple typedef fields will be shown inline in +# the documentation of the scope in which they are defined (i.e. file, +# namespace, or group documentation), provided this scope is documented. If set +# to NO, structs, classes, and unions are shown on a separate page (for HTML and +# Man pages) or section (for LaTeX and RTF). +# The default value is: NO. + +INLINE_SIMPLE_STRUCTS = NO + +# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or +# enum is documented as struct, union, or enum with the name of the typedef. So +# typedef struct TypeS {} TypeT, will appear in the documentation as a struct +# with name TypeT. When disabled the typedef will appear as a member of a file, +# namespace, or class. And the struct will be named TypeS. This can typically be +# useful for C code in case the coding convention dictates that all compound +# types are typedef'ed and only the typedef is referenced, never the tag name. +# The default value is: NO. + +TYPEDEF_HIDES_STRUCT = NO + +# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This +# cache is used to resolve symbols given their name and scope. Since this can be +# an expensive process and often the same symbol appears multiple times in the +# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small +# doxygen will become slower. If the cache is too large, memory is wasted. The +# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range +# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 +# symbols. At the end of a run doxygen will report the cache usage and suggest +# the optimal cache size from a speed point of view. +# Minimum value: 0, maximum value: 9, default value: 0. + +LOOKUP_CACHE_SIZE = 0 + +# The NUM_PROC_THREADS specifies the number threads doxygen is allowed to use +# during processing. When set to 0 doxygen will based this on the number of +# cores available in the system. You can set it explicitly to a value larger +# than 0 to get more control over the balance between CPU load and processing +# speed. At this moment only the input processing can be done using multiple +# threads. Since this is still an experimental feature the default is set to 1, +# which efficively disables parallel processing. Please report any issues you +# encounter. Generating dot graphs in parallel is controlled by the +# DOT_NUM_THREADS setting. +# Minimum value: 0, maximum value: 32, default value: 1. + +NUM_PROC_THREADS = 1 + +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- + +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in +# documentation are documented, even if no documentation was available. Private +# class members and static file members will be hidden unless the +# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. +# Note: This will also disable the warnings about undocumented members that are +# normally produced when WARNINGS is set to YES. +# The default value is: NO. + +EXTRACT_ALL = YES + +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will +# be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIVATE = YES + +# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual +# methods of a class will be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIV_VIRTUAL = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal +# scope will be included in the documentation. +# The default value is: NO. + +EXTRACT_PACKAGE = YES + +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be +# included in the documentation. +# The default value is: NO. + +EXTRACT_STATIC = YES + +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, +# only classes defined in header files are included. Does not have any effect +# for Java sources. +# The default value is: YES. + +EXTRACT_LOCAL_CLASSES = YES + +# This flag is only useful for Objective-C code. If set to YES, local methods, +# which are defined in the implementation section but not in the interface are +# included in the documentation. If set to NO, only methods in the interface are +# included. +# The default value is: NO. + +EXTRACT_LOCAL_METHODS = NO + +# If this flag is set to YES, the members of anonymous namespaces will be +# extracted and appear in the documentation as a namespace called +# 'anonymous_namespace{file}', where file will be replaced with the base name of +# the file that contains the anonymous namespace. By default anonymous namespace +# are hidden. +# The default value is: NO. + +EXTRACT_ANON_NSPACES = NO + +# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all +# undocumented members inside documented classes or files. If set to NO these +# members will be included in the various overviews, but no documentation +# section is generated. This option has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_MEMBERS = NO + +# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all +# undocumented classes that are normally visible in the class hierarchy. If set +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. +# The default value is: NO. + +HIDE_UNDOC_CLASSES = NO + +# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend +# declarations. If set to NO, these declarations will be included in the +# documentation. +# The default value is: NO. + +HIDE_FRIEND_COMPOUNDS = NO + +# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any +# documentation blocks found inside the body of a function. If set to NO, these +# blocks will be appended to the function's detailed documentation block. +# The default value is: NO. + +HIDE_IN_BODY_DOCS = YES + +# The INTERNAL_DOCS tag determines if documentation that is typed after a +# \internal command is included. If the tag is set to NO then the documentation +# will be excluded. Set it to YES to include the internal documentation. +# The default value is: NO. + +INTERNAL_DOCS = NO + +# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file +# names in lower-case letters. If set to YES, upper-case letters are also +# allowed. This is useful if you have classes or files whose names only differ +# in case and if your file system supports case sensitive file names. Windows +# (including Cygwin) and Mac users are advised to set this option to NO. +# The default value is: system dependent. + +CASE_SENSE_NAMES = YES + +# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with +# their full class and namespace scopes in the documentation. If set to YES, the +# scope will be hidden. +# The default value is: NO. + +HIDE_SCOPE_NAMES = NO + +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of +# the files that are included by a file in the documentation of that file. +# The default value is: YES. + +SHOW_INCLUDE_FILES = YES + +# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each +# grouped member an include statement to the documentation, telling the reader +# which file to include in order to use the member. +# The default value is: NO. + +SHOW_GROUPED_MEMB_INC = NO + +# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include +# files with double quotes in the documentation rather than with sharp brackets. +# The default value is: NO. + +FORCE_LOCAL_INCLUDES = NO + +# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the +# documentation for inline members. +# The default value is: YES. + +INLINE_INFO = YES + +# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the +# (detailed) documentation of file and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. +# The default value is: YES. + +SORT_MEMBER_DOCS = YES + +# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief +# descriptions of file, namespace and class members alphabetically by member +# name. If set to NO, the members will appear in declaration order. Note that +# this will also influence the order of the classes in the class list. +# The default value is: NO. + +SORT_BRIEF_DOCS = NO + +# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the +# (brief and detailed) documentation of class members so that constructors and +# destructors are listed first. If set to NO the constructors will appear in the +# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. +# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief +# member documentation. +# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting +# detailed member documentation. +# The default value is: NO. + +SORT_MEMBERS_CTORS_1ST = NO + +# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy +# of group names into alphabetical order. If set to NO the group names will +# appear in their defined order. +# The default value is: NO. + +SORT_GROUP_NAMES = NO + +# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by +# fully-qualified names, including namespaces. If set to NO, the class list will +# be sorted only by class name, not including the namespace part. +# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. +# Note: This option applies only to the class list, not to the alphabetical +# list. +# The default value is: NO. + +SORT_BY_SCOPE_NAME = YES + +# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper +# type resolution of all parameters of a function it will reject a match between +# the prototype and the implementation of a member function even if there is +# only one candidate or it is obvious which candidate to choose by doing a +# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still +# accept a match between prototype and implementation in such cases. +# The default value is: NO. + +STRICT_PROTO_MATCHING = NO + +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. +# The default value is: YES. + +GENERATE_TODOLIST = YES + +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. +# The default value is: YES. + +GENERATE_TESTLIST = YES + +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug +# list. This list is created by putting \bug commands in the documentation. +# The default value is: YES. + +GENERATE_BUGLIST = YES + +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) +# the deprecated list. This list is created by putting \deprecated commands in +# the documentation. +# The default value is: YES. + +GENERATE_DEPRECATEDLIST= YES + +# The ENABLED_SECTIONS tag can be used to enable conditional documentation +# sections, marked by \if ... \endif and \cond +# ... \endcond blocks. + +ENABLED_SECTIONS = + +# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the +# initial value of a variable or macro / define can have for it to appear in the +# documentation. If the initializer consists of more lines than specified here +# it will be hidden. Use a value of 0 to hide initializers completely. The +# appearance of the value of individual variables and macros / defines can be +# controlled using \showinitializer or \hideinitializer command in the +# documentation regardless of this setting. +# Minimum value: 0, maximum value: 10000, default value: 30. + +MAX_INITIALIZER_LINES = 30 + +# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. +# The default value is: YES. + +SHOW_USED_FILES = YES + +# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This +# will remove the Files entry from the Quick Index and from the Folder Tree View +# (if specified). +# The default value is: YES. + +SHOW_FILES = YES + +# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces +# page. This will remove the Namespaces entry from the Quick Index and from the +# Folder Tree View (if specified). +# The default value is: YES. + +SHOW_NAMESPACES = YES + +# The FILE_VERSION_FILTER tag can be used to specify a program or script that +# doxygen should invoke to get the current version for each file (typically from +# the version control system). Doxygen will invoke the program by executing (via +# popen()) the command command input-file, where command is the value of the +# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided +# by doxygen. Whatever the program writes to standard output is used as the file +# version. For an example see the documentation. + +FILE_VERSION_FILTER = + +# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed +# by doxygen. The layout file controls the global structure of the generated +# output files in an output format independent way. To create the layout file +# that represents doxygen's defaults, run doxygen with the -l option. You can +# optionally specify a file name after the option, if omitted DoxygenLayout.xml +# will be used as the name of the layout file. +# +# Note that if you run doxygen from a directory containing a file called +# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE +# tag is left empty. + +LAYOUT_FILE = @CMAKE_CURRENT_BINARY_DIR@/layout.xml + +# The CITE_BIB_FILES tag can be used to specify one or more bib files containing +# the reference definitions. This must be a list of .bib files. The .bib +# extension is automatically appended if omitted. This requires the bibtex tool +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. +# For LaTeX the style of the bibliography can be controlled using +# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the +# search path. See also \cite for info how to create references. + +CITE_BIB_FILES = + +#--------------------------------------------------------------------------- +# Configuration options related to warning and progress messages +#--------------------------------------------------------------------------- + +# The QUIET tag can be used to turn on/off the messages that are generated to +# standard output by doxygen. If QUIET is set to YES this implies that the +# messages are off. +# The default value is: NO. + +QUIET = NO + +# The WARNINGS tag can be used to turn on/off the warning messages that are +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES +# this implies that the warnings are on. +# +# Tip: Turn warnings on while writing the documentation. +# The default value is: YES. + +WARNINGS = YES + +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate +# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag +# will automatically be disabled. +# The default value is: YES. + +WARN_IF_UNDOCUMENTED = NO + +# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for +# potential errors in the documentation, such as not documenting some parameters +# in a documented function, or documenting parameters that don't exist or using +# markup commands wrongly. +# The default value is: YES. + +WARN_IF_DOC_ERROR = YES + +# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that +# are documented, but have no documentation for their parameters or return +# value. If set to NO, doxygen will only warn about wrong or incomplete +# parameter documentation, but not about the absence of documentation. If +# EXTRACT_ALL is set to YES then this flag will automatically be disabled. +# The default value is: NO. + +WARN_NO_PARAMDOC = NO + +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. +# The default value is: NO. + +WARN_AS_ERROR = NO + +# The WARN_FORMAT tag determines the format of the warning messages that doxygen +# can produce. The string should contain the $file, $line, and $text tags, which +# will be replaced by the file and line number from which the warning originated +# and the warning text. Optionally the format may contain $version, which will +# be replaced by the version of the file (if it could be obtained via +# FILE_VERSION_FILTER) +# The default value is: $file:$line: $text. + +WARN_FORMAT = "$file:$line: $text" + +# The WARN_LOGFILE tag can be used to specify a file to which warning and error +# messages should be written. If left blank the output is written to standard +# error (stderr). + +WARN_LOGFILE = + +#--------------------------------------------------------------------------- +# Configuration options related to the input files +#--------------------------------------------------------------------------- + +# The INPUT tag is used to specify the files and/or directories that contain +# documented source files. You may enter file names like myfile.cpp or +# directories like /usr/src/myproject. Separate the files or directories with +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING +# Note: If this tag is empty the current directory is searched. + +INPUT = @DOXY_DOC_INPUT_ROOT_DIRS@ + +# This tag can be used to specify the character encoding of the source files +# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses +# libiconv (or the iconv built into libc) for the transcoding. See the libiconv +# documentation (see: https://www.gnu.org/software/libiconv/) for the list of +# possible encodings. +# The default value is: UTF-8. + +INPUT_ENCODING = UTF-8 + +# If the value of the INPUT tag contains directories, you can use the +# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, +# *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C comment), +# *.doc (to be provided as doxygen C comment), *.txt (to be provided as doxygen +# C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, +# *.vhdl, *.ucf, *.qsf and *.ice. + +FILE_PATTERNS = *.h \ + *.hh \ + *.hpp \ + *.hxx \ + *.cpp \ + *.cxx \ + *.cc \ + *.fp \ + *.vp \ + *.gp \ + *.vs \ + *.fs \ + *.gs \ + *.vert \ + *.frag \ + *.geom \ + *.md \ + *.dox \ + *.py + +# The RECURSIVE tag can be used to specify whether or not subdirectories should +# be searched for input files as well. +# The default value is: NO. + +RECURSIVE = YES + +# The EXCLUDE tag can be used to specify files and/or directories that should be +# excluded from the INPUT source files. This way you can easily exclude a +# subdirectory from a directory tree whose root is specified with the INPUT tag. +# +# Note that relative paths are relative to the directory from which doxygen is +# run. + +EXCLUDE = @DOXY_DOC_EXCLUDE_PATTERNS_DIRS@ + +# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or +# directories that are symbolic links (a Unix file system feature) are excluded +# from the input. +# The default value is: NO. + +EXCLUDE_SYMLINKS = NO + +# If the value of the INPUT tag contains directories, you can use the +# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude +# certain files from those directories. +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories for example use the pattern */test/* + +EXCLUDE_PATTERNS = + +# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names +# (namespaces, classes, functions, etc.) that should be excluded from the +# output. The symbol name can be a fully qualified name, a word, or if the +# wildcard * is used, a substring. Examples: ANamespace, AClass, +# AClass::ANamespace, ANamespace::*Test +# +# Note that the wildcards are matched against the file with absolute path, so to +# exclude all test directories use the pattern */test/* + +EXCLUDE_SYMBOLS = + +# The EXAMPLE_PATH tag can be used to specify one or more files or directories +# that contain example code fragments that are included (see the \include +# command). + +EXAMPLE_PATH = + +# If the value of the EXAMPLE_PATH tag contains directories, you can use the +# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and +# *.h) to filter out the source-files in the directories. If left blank all +# files are included. + +EXAMPLE_PATTERNS = + +# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be +# searched for input files to be used with the \include or \dontinclude commands +# irrespective of the value of the RECURSIVE tag. +# The default value is: NO. + +EXAMPLE_RECURSIVE = NO + +# The IMAGE_PATH tag can be used to specify one or more files or directories +# that contain images that are to be included in the documentation (see the +# \image command). + +IMAGE_PATH = @DOXY_DOC_COMMON_IMG_PATH@ \ + @DOXY_APP_SPECIFIC_IMG_PATH@ + +# The INPUT_FILTER tag can be used to specify a program that doxygen should +# invoke to filter for each input file. Doxygen will invoke the filter program +# by executing (via popen()) the command: +# +# +# +# where is the value of the INPUT_FILTER tag, and is the +# name of an input file. Doxygen will then use the output that the filter +# program writes to standard output. If FILTER_PATTERNS is specified, this tag +# will be ignored. +# +# Note that the filter must not add or remove lines; it is applied before the +# code is scanned, but not when the output code is generated. If lines are added +# or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +INPUT_FILTER = + +# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern +# basis. Doxygen will compare the file name with each pattern and apply the +# filter if there is a match. The filters are a list of the form: pattern=filter +# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how +# filters are used. If the FILTER_PATTERNS tag is empty or if none of the +# patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. + +FILTER_PATTERNS = + +# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using +# INPUT_FILTER) will also be used to filter the input files that are used for +# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). +# The default value is: NO. + +FILTER_SOURCE_FILES = NO + +# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file +# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and +# it is also possible to disable source filtering for a specific pattern using +# *.ext= (so without naming a filter). +# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. + +FILTER_SOURCE_PATTERNS = + +# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that +# is part of the input, its contents will be placed on the main page +# (index.html). This can be useful if you have a project on for instance GitHub +# and want to reuse the introduction page also for the doxygen output. + +USE_MDFILE_AS_MAINPAGE = + +#--------------------------------------------------------------------------- +# Configuration options related to source browsing +#--------------------------------------------------------------------------- + +# If the SOURCE_BROWSER tag is set to YES then a list of source files will be +# generated. Documented entities will be cross-referenced with these sources. +# +# Note: To get rid of all source code in the generated output, make sure that +# also VERBATIM_HEADERS is set to NO. +# The default value is: NO. + +SOURCE_BROWSER = YES + +# Setting the INLINE_SOURCES tag to YES will include the body of functions, +# classes and enums directly into the documentation. +# The default value is: NO. + +INLINE_SOURCES = NO + +# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any +# special comment blocks from generated source code fragments. Normal C, C++ and +# Fortran comments will always remain visible. +# The default value is: YES. + +STRIP_CODE_COMMENTS = YES + +# If the REFERENCED_BY_RELATION tag is set to YES then for each documented +# entity all documented functions referencing it will be listed. +# The default value is: NO. + +REFERENCED_BY_RELATION = YES + +# If the REFERENCES_RELATION tag is set to YES then for each documented function +# all documented entities called/used by that function will be listed. +# The default value is: NO. + +REFERENCES_RELATION = YES + +# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set +# to YES then the hyperlinks from functions in REFERENCES_RELATION and +# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will +# link to the documentation. +# The default value is: YES. + +REFERENCES_LINK_SOURCE = YES + +# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the +# source code will show a tooltip with additional information such as prototype, +# brief description and links to the definition and documentation. Since this +# will make the HTML file larger and loading of large files a bit slower, you +# can opt to disable this feature. +# The default value is: YES. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +SOURCE_TOOLTIPS = YES + +# If the USE_HTAGS tag is set to YES then the references to source code will +# point to the HTML generated by the htags(1) tool instead of doxygen built-in +# source browser. The htags tool is part of GNU's global source tagging system +# (see https://www.gnu.org/software/global/global.html). You will need version +# 4.8.6 or higher. +# +# To use it do the following: +# - Install the latest version of global +# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file +# - Make sure the INPUT points to the root of the source tree +# - Run doxygen as normal +# +# Doxygen will invoke htags (and that will in turn invoke gtags), so these +# tools must be available from the command line (i.e. in the search path). +# +# The result: instead of the source browser generated by doxygen, the links to +# source code will now point to the output of htags. +# The default value is: NO. +# This tag requires that the tag SOURCE_BROWSER is set to YES. + +USE_HTAGS = NO + +# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a +# verbatim copy of the header file for each class for which an include is +# specified. Set to NO to disable this. +# See also: Section \class. +# The default value is: YES. + +VERBATIM_HEADERS = YES + +# If the CLANG_ASSISTED_PARSING tag is set to YES then doxygen will use the +# clang parser (see: http://clang.llvm.org/) for more accurate parsing at the +# cost of reduced performance. This can be particularly helpful with template +# rich C++ code for which doxygen's built-in parser lacks the necessary type +# information. +# Note: The availability of this option depends on whether or not doxygen was +# generated with the -Duse_libclang=ON option for CMake. +# The default value is: NO. + +CLANG_ASSISTED_PARSING = NO + +# If clang assisted parsing is enabled you can provide the compiler with command +# line options that you would normally use when invoking the compiler. Note that +# the include paths will already be set by doxygen for the files and directories +# specified with INPUT and INCLUDE_PATH. +# This tag requires that the tag CLANG_ASSISTED_PARSING is set to YES. + +CLANG_OPTIONS = + +# If clang assisted parsing is enabled you can provide the clang parser with the +# path to the directory containing a file called compile_commands.json. This +# file is the compilation database (see: +# http://clang.llvm.org/docs/HowToSetupToolingForLLVM.html) containing the +# options used when the source files were built. This is equivalent to +# specifying the "-p" option to a clang tool, such as clang-check. These options +# will then be passed to the parser. Any options specified with CLANG_OPTIONS +# will be added as well. +# Note: The availability of this option depends on whether or not doxygen was +# generated with the -Duse_libclang=ON option for CMake. + +CLANG_DATABASE_PATH = + +#--------------------------------------------------------------------------- +# Configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- + +# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all +# compounds will be generated. Enable this if the project contains a lot of +# classes, structs, unions or interfaces. +# The default value is: YES. + +ALPHABETICAL_INDEX = NO + +# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in +# which the alphabetical index list will be split. +# Minimum value: 1, maximum value: 20, default value: 5. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +COLS_IN_ALPHA_INDEX = 5 + +# In case all classes in a project start with a common prefix, all classes will +# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag +# can be used to specify a prefix (or a list of prefixes) that should be ignored +# while generating the index headers. +# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. + +IGNORE_PREFIX = + +#--------------------------------------------------------------------------- +# Configuration options related to the HTML output +#--------------------------------------------------------------------------- + +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output +# The default value is: YES. + +GENERATE_HTML = YES + +# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a +# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of +# it. +# The default directory is: html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_OUTPUT = . + +# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each +# generated HTML page (for example: .htm, .php, .asp). +# The default value is: .html. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FILE_EXTENSION = .html + +# The HTML_HEADER tag can be used to specify a user-defined HTML header file for +# each generated HTML page. If the tag is left blank doxygen will generate a +# standard header. +# +# To get valid HTML the header file that includes any scripts and style sheets +# that doxygen needs, which is dependent on the configuration options used (e.g. +# the setting GENERATE_TREEVIEW). It is highly recommended to start with a +# default header using +# doxygen -w html new_header.html new_footer.html new_stylesheet.css +# YourConfigFile +# and then modify the file new_header.html. See also section "Doxygen usage" +# for information on how to generate the default header that doxygen normally +# uses. +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. For a description +# of the possible markers and block names see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_HEADER = + +# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each +# generated HTML page. If the tag is left blank doxygen will generate a standard +# footer. See HTML_HEADER for more information on how to generate a default +# footer and what special commands can be used inside the footer. See also +# section "Doxygen usage" for information on how to generate the default footer +# that doxygen normally uses. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FOOTER = + +# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style +# sheet that is used by each HTML page. It can be used to fine-tune the look of +# the HTML output. If left blank doxygen will generate a default style sheet. +# See also section "Doxygen usage" for information on how to generate the style +# sheet that doxygen normally uses. +# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as +# it is more robust and this tag (HTML_STYLESHEET) will in the future become +# obsolete. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_STYLESHEET = + +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets +# created by doxygen. Using this option one can overrule certain style aspects. +# This is preferred over using HTML_STYLESHEET since it does not replace the +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_STYLESHEET = + +# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or +# other source files which should be copied to the HTML output directory. Note +# that these files will be copied to the base HTML output directory. Use the +# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these +# files. In the HTML_STYLESHEET file, use the file name only. Also note that the +# files will be copied as-is; there are no commands or markers available. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_EXTRA_FILES = + +# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a colorwheel, see +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value +# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 +# purple, and 360 is red again. +# Minimum value: 0, maximum value: 359, default value: 220. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_HUE = 220 + +# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors +# in the HTML output. For a value of 0 the output will use grayscales only. A +# value of 255 will produce the most vivid colors. +# Minimum value: 0, maximum value: 255, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_SAT = 100 + +# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the +# luminance component of the colors in the HTML output. Values below 100 +# gradually make the output lighter, whereas values above 100 make the output +# darker. The value divided by 100 is the actual gamma applied, so 80 represents +# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not +# change the gamma. +# Minimum value: 40, maximum value: 240, default value: 80. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_COLORSTYLE_GAMMA = 80 + +# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML +# page will contain the date and time when the page was generated. Setting this +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_TIMESTAMP = NO + +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via JavaScript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have JavaScript, +# like the Qt help browser. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_MENUS = YES + +# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML +# documentation will contain sections that can be hidden and shown after the +# page has loaded. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_SECTIONS = NO + +# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries +# shown in the various tree structured indices initially; the user can expand +# and collapse entries dynamically later on. Doxygen will expand the tree to +# such a level that at most the specified number of entries are visible (unless +# a fully collapsed tree already exceeds this amount). So setting the number of +# entries 1 will produce a full collapsed tree by default. 0 is a special value +# representing an infinite number of entries and will result in a full expanded +# tree by default. +# Minimum value: 0, maximum value: 9999, default value: 100. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_INDEX_NUM_ENTRIES = 100 + +# If the GENERATE_DOCSET tag is set to YES, additional index files will be +# generated that can be used as input for Apple's Xcode 3 integrated development +# environment (see: https://developer.apple.com/xcode/), introduced with OSX +# 10.5 (Leopard). To create a documentation set, doxygen will generate a +# Makefile in the HTML output directory. Running make will produce the docset in +# that directory and running make install will install the docset in +# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at +# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy +# genXcode/_index.html for more information. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_DOCSET = NO + +# This tag determines the name of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# The default value is: Doxygen generated docs. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDNAME = "Doxygen generated docs" + +# This tag specifies a string that should uniquely identify the documentation +# set bundle. This should be a reverse domain-name style string, e.g. +# com.mycompany.MyDocSet. Doxygen will append .docset to the name. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_BUNDLE_ID = org.doxygen.Project + +# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. +# The default value is: org.doxygen.Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_ID = org.doxygen.Publisher + +# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. +# The default value is: Publisher. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_PUBLISHER_NAME = Publisher + +# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three +# additional HTML index files: index.hhp, index.hhc, and index.hhk. The +# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop +# (see: https://www.microsoft.com/en-us/download/details.aspx?id=21138) on +# Windows. +# +# The HTML Help Workshop contains a compiler that can convert all HTML output +# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML +# files are now used as the Windows 98 help format, and will replace the old +# Windows help format (.hlp) on all Windows platforms in the future. Compressed +# HTML files also contain an index, a table of contents, and you can search for +# words in the documentation. The HTML workshop also contains a viewer for +# compressed HTML files. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_HTMLHELP = NO + +# The CHM_FILE tag can be used to specify the file name of the resulting .chm +# file. You can add a path in front of the file if the result should not be +# written to the html output directory. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_FILE = + +# The HHC_LOCATION tag can be used to specify the location (absolute path +# including file name) of the HTML help compiler (hhc.exe). If non-empty, +# doxygen will try to run the HTML help compiler on the generated index.hhp. +# The file has to be specified with full path. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +HHC_LOCATION = + +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the main .chm file (NO). +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +GENERATE_CHI = NO + +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) +# and project file content. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +CHM_INDEX_ENCODING = + +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +BINARY_TOC = NO + +# The TOC_EXPAND flag can be set to YES to add extra items for group members to +# the table of contents of the HTML help documentation and to the tree view. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTMLHELP is set to YES. + +TOC_EXPAND = NO + +# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and +# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that +# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help +# (.qch) of the generated HTML documentation. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_QHP = NO + +# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify +# the file name of the resulting .qch file. The path specified is relative to +# the HTML output folder. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QCH_FILE = + +# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help +# Project output. For more information please see Qt Help Project / Namespace +# (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_NAMESPACE = org.doxygen.Project + +# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt +# Help Project output. For more information please see Qt Help Project / Virtual +# Folders (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual- +# folders). +# The default value is: doc. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_VIRTUAL_FOLDER = doc + +# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom +# filter to add. For more information please see Qt Help Project / Custom +# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_NAME = + +# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the +# custom filter to add. For more information please see Qt Help Project / Custom +# Filters (see: https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom- +# filters). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_CUST_FILTER_ATTRS = + +# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this +# project's filter section matches. Qt Help Project / Filter Attributes (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHP_SECT_FILTER_ATTRS = + +# The QHG_LOCATION tag can be used to specify the location of Qt's +# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the +# generated .qhp file. +# This tag requires that the tag GENERATE_QHP is set to YES. + +QHG_LOCATION = + +# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be +# generated, together with the HTML files, they form an Eclipse help plugin. To +# install this plugin and make it available under the help contents menu in +# Eclipse, the contents of the directory containing the HTML and XML files needs +# to be copied into the plugins directory of eclipse. The name of the directory +# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. +# After copying Eclipse needs to be restarted before the help appears. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_ECLIPSEHELP = NO + +# A unique identifier for the Eclipse help plugin. When installing the plugin +# the directory name containing the HTML and XML files should also have this +# name. Each documentation set should have its own identifier. +# The default value is: org.doxygen.Project. +# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. + +ECLIPSE_DOC_ID = org.doxygen.Project + +# If you want full control over the layout of the generated HTML pages it might +# be necessary to disable the index and replace it with your own. The +# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top +# of each HTML page. A value of NO enables the index and the value YES disables +# it. Since the tabs in the index contain the same information as the navigation +# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +DISABLE_INDEX = YES + +# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index +# structure should be generated to display hierarchical information. If the tag +# value is set to YES, a side panel will be generated containing a tree-like +# index structure (just like the one that is generated for HTML Help). For this +# to work a browser that supports JavaScript, DHTML, CSS and frames is required +# (i.e. any modern browser). Windows users are probably better off using the +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine-tune the look of the index. As an example, the default style +# sheet generated by doxygen has an example that shows how to put an image at +# the root of the tree instead of the PROJECT_NAME. Since the tree basically has +# the same information as the tab index, you could consider setting +# DISABLE_INDEX to YES when enabling this option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +GENERATE_TREEVIEW = YES + +# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that +# doxygen will group on one line in the generated HTML documentation. +# +# Note that a value of 0 will completely suppress the enum values from appearing +# in the overview section. +# Minimum value: 0, maximum value: 20, default value: 4. +# This tag requires that the tag GENERATE_HTML is set to YES. + +ENUM_VALUES_PER_LINE = 4 + +# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used +# to set the initial width (in pixels) of the frame in which the tree is shown. +# Minimum value: 0, maximum value: 1500, default value: 250. +# This tag requires that the tag GENERATE_HTML is set to YES. + +TREEVIEW_WIDTH = 250 + +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to +# external symbols imported via tag files in a separate window. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +EXT_LINKS_IN_WINDOW = NO + +# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg +# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see +# https://inkscape.org) to generate formulas as SVG images instead of PNGs for +# the HTML output. These images will generally look nicer at scaled resolutions. +# Possible values are: png (the default) and svg (looks nicer but requires the +# pdf2svg or inkscape tool). +# The default value is: png. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FORMULA_FORMAT = png + +# Use this tag to change the font size of LaTeX formulas included as images in +# the HTML documentation. When you change the font size after a successful +# doxygen run you need to manually remove any form_*.png images from the HTML +# output directory to force them to be regenerated. +# Minimum value: 8, maximum value: 50, default value: 10. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_FONTSIZE = 10 + +# Use the FORMULA_TRANSPARENT tag to determine whether or not the images +# generated for formulas are transparent PNGs. Transparent PNGs are not +# supported properly for IE 6.0, but are supported on all modern browsers. +# +# Note that when changing this option you need to delete any form_*.png files in +# the HTML output directory before the changes have effect. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FORMULA_TRANSPARENT = YES + +# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands +# to create new LaTeX commands to be used in formulas as building blocks. See +# the section "Including formulas" for details. + +FORMULA_MACROFILE = + +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see +# https://www.mathjax.org) which uses client side JavaScript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX +# installed or if you want to formulas look prettier in the HTML output. When +# enabled you may also need to install MathJax separately and configure the path +# to it using the MATHJAX_RELPATH option. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +USE_MATHJAX = NO + +# When MathJax is enabled you can set the default output format to be used for +# the MathJax output. See the MathJax site (see: +# http://docs.mathjax.org/en/latest/output.html) for more details. +# Possible values are: HTML-CSS (which is slower, but has the best +# compatibility), NativeMML (i.e. MathML) and SVG. +# The default value is: HTML-CSS. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_FORMAT = HTML-CSS + +# When MathJax is enabled you need to specify the location relative to the HTML +# output directory using the MATHJAX_RELPATH option. The destination directory +# should contain the MathJax.js script. For instance, if the mathjax directory +# is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax +# Content Delivery Network so you can quickly see the result without installing +# MathJax. However, it is strongly recommended to install a local copy of +# MathJax from https://www.mathjax.org before deployment. +# The default value is: https://cdn.jsdelivr.net/npm/mathjax@2. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest + +# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax +# extension names that should be enabled during MathJax rendering. For example +# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_EXTENSIONS = + +# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces +# of code that will be used on startup of the MathJax code. See the MathJax site +# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# example see the documentation. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_CODEFILE = + +# When the SEARCHENGINE tag is enabled doxygen will generate a search box for +# the HTML output. The underlying search engine uses javascript and DHTML and +# should work on any modern browser. Note that when using HTML help +# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) +# there is already a search function so this one should typically be disabled. +# For large projects the javascript based search engine can be slow, then +# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to +# search using the keyboard; to jump to the search box use + S +# (what the is depends on the OS and browser, but it is typically +# , /
    >8YOg!-8EG=pX)|6#0b4>Ro?12K2ys@wzK! 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/capreal/caprealexportmodel.png b/SIBR_viewers/docs/img/capreal/caprealexportmodel.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f584079ae613104c84a556dde1964e906adba5 GIT binary patch literal 28889 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/capreal/caprealmesh.png b/SIBR_viewers/docs/img/capreal/caprealmesh.png new file mode 100644 index 0000000000000000000000000000000000000000..d3ee4af9adc0617921f9381e92c6550b5ea2a01d GIT binary patch literal 370831 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

    eEk(+BFaJyWQ)RG(R`|PJWQ48d=~dwgt|c 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

    @3Plu;&^n5u?CT0{4d1z&3ye9Yqy@- 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�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 s_DeD)oX; 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 Hn1}o?!ffZC literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/capreal/caprealpointcloud.png b/SIBR_viewers/docs/img/capreal/caprealpointcloud.png new file mode 100644 index 0000000000000000000000000000000000000000..08046c81336b6fc547e1c9a1180ecac0172162d5 GIT binary patch literal 275587 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

    l5iiju8= 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�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%0A@?5z>newNt_Nvk>g{ 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/capreal/meshlab.png b/SIBR_viewers/docs/img/capreal/meshlab.png new file mode 100644 index 0000000000000000000000000000000000000000..d8f8f30588df577dc452be254e9853ec628b1bea GIT binary patch literal 682709 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

    HD;nv&=8?I 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

    Iz6 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

    #{(@U=b5+kD9~{is$Hlt2m(`Ys3w#ml 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ÿ#@}dp}dP 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%0AfR>z*C#dX-rmN`|#+yg?MJVovWC|1wVW~_yTm5 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

    DuNBnpqhl(``m z)}e^}%4eIwsBe0E=>b7hPo_V?+j?uR$&21@KEB5gns>qlvSn{4&xT&}cZX zFEl#6Vhy1^vs}BrdNFO3fGn*5zJpjfowuU9c4LPX({3XQ0Y4DkWvo@d^_xot3=g?; zIzfb9$r`c|T(Z+Vc6Z|&d#nvzTdXOzW!T<>FOraiiw=^Z!E_jP?$_fe3&?lVwVX{% zHnlbT^Rz}vgkA#|EuR_FTMXJnY0We4WU8eI2V9u5=hH#1hmf_;bEAR=e!N-anZw|m zJWV)=l2tz8^9TyYtllv%gAshb=?Bh0bX0HEv{5h4jRYOFFYdq3JOcyYWmP;|l_2!} zU2m3}e9-QEeW}*KPmdB9P~bPSuXD~3^wXR zB|avKt_~=N7BvYmbjzQTUVdrejehXd!_)2Y&2nh=#;VzHi>*yA3{0LliUC?KI^k8r zG5&JziJLd=Ncb}wbeOlGPQ#=t$}d5E1|e34S^S1=cWbhZ{Ca<$dAr4{ z!^sRYS%0pOmBK`P4N`V;YgHTeZlE;g{&{+h{8@}Jiyoz;f5)`JhbQ3H*X{jWs%iPk zz_l4nf@WGd+>Iu7gmbYCQpnyYXxCddWwt-)Y7YY=^*mQOk8olE>!guZ&yM0UtcN~X z=8%yE?Yg=rIwt`CQXjxw;r@qMz&vitu{2XMg;Z2=7}Fhqbw{ogUErZ@PoDrY=Mg!; zM*}}uuVw6EgK1ApfmT3XWkVmGI4MYFYcmWexxF`2b~bPpW&tbixa!6WkAl3ozDXg-HgYeXTx_xH2SU3<2|TFFFlRMT z04=@lyD)ok{fICi1zb_ZKuTwKd_Y~tK<ZdoYUO4n9Z-}6Q#nL`UpgTuF1DUTjZ@)#7WWG^o&I7@}!kfgrI~UqX)Rv#B&hnBOB}2mZ`yzkR zfX9%d71j0=0gq>`_xCk~#%Pz1`oO^?bH`QwmQ+g##MngAn6c+90d2(G;y1bR-LB5b zS@x4*(9sq2j`n|L1_Xks0Nh`-1PQ`R)EkF_#iMzib9L)(*#c>+>&|Uk$&J^}_6GHl zUL$paf1;!}4Q#@B$}4}r%r-nYMKo8I3iFn;le4gTzmKF_iZ9M7q1p3DkrEYYaH|$J z3VGJ3w#ykmG6Yj3h4B`D0<{V494C)lL2CnB$QK*iI@E@%RXVw}f~omr0V5ZS#tqH8 z-a6;k{{XiHo{#M2hH^!Yt?m?kbH)m6EYU}>$N|E^382_~o)U;$n z4uaEJ^>>w1&!G5wG+0o9Tl!R!OPrZSJTHO{J8=?06UY0NgF`fA>ni9#a+}metb4_v zX7AWi@`JRosHXrH$A|J5xPWL9w(JAzrojS6GyIwOq2RUn!LjcS!jf}R1zlg-#_mAc zH;{A5vG(7Vc7WPot>UaU!NI<3wF)^+Xd6{Z(@Xq+N}uK}{!SP|2%|pBd~7Zyb)IKk zwk-{9_=_vqg5xhwaGxPKxYft&ad7I_N$8P#LxL?dIhFILNcXjil@(Jl>mV?WKkG(=Gl%4@%6F zz-29D#^jL_3m*%j@7r0TjrTw1XV|vudav^=hb%(+OFJw#KDEhnw!CwR5aZWSuOd%0 z@72E--HbB(Fe|;K@J|2D5dt&&Kg1g5i`#prY{!&^GL7?bYAuREyjP^>BJRl0Rs6L< zPogYdE)G)`P%yeC$Cudh&hR-`Qnv`+h0}ctDW*RQpDOktCV#~Op@bD(d7c$$i}(gG zKkxKET&XR!q-cJxhr;Fgd#dM65$5KxCc*l_>djO*f0~2c?*#3r8OEJ}HXyDYW!5i| z&mkP1=nr2iYPn`sdje}S0~=*&yOgP1n`GDtiYD%s^9HLc4jv0Hak4cUgYKG z?bgFGTHpVfkKv(VonKpBM{IEkE6c08zO1+erA0*=#@SR{tjCp>oQxwcy^O>oM^Ic` zh@*!NDTuAi%|&i%DzcN3k##)5D4X#T>YYd6?@oe0lnh(rVN^C8!ibFPMHL6&Y(0S{ z-wEUuz65_?GWupRP*Qym4X$JG_oTqnngFxw2o4`Qh);j|)2NpAm*nT+@PPwJId&A; z$tlRs&O&isz7bA3BMq5p$vArKB_ySM25FfGk&(;%#V;W%HUi(|(Q z;FY5Q;ntN3bJypy%Y3U`$Gr+h`7#G112oAwQ&CnR=Wr=Hq%P)p9v|(M?^Wuv*6E7^ z-R)j<%QZ;H?|_USobT=Q>$Svd%O(3}&S(N)Mid})<;xp%_wr=}Iv2a-937Brnqw4Q z?R3qL%5^c=*RC&@Fl@WCsR8ENN;wvbj73KNY@Zyjr>Rb_9gZ)$EL&ANO{(%b3=NP)Dn@o7cWu#x|#p{c+ga?2vsn`(@sxFA_0&1fx#y zH>tkfrsw=_p7e$$J;w=p`+A4b_e>~fJ?D9y42{cn6ByZny>Y-hJ~q7zeJNeO19d-4 z9|nQBoisvz|M+4P<;Ud6FxF%9*gm<6<+(8WdP15Sfg(;6^ss2URDL>3a_c=iwm`K z|MwiKOY+q1`^pQSz$-6(9ET5n3`bs+sp!bdpU^446Y5i+{5U=%I`p|u;+4;R94~z8 zV<^ax>pnkA#*u6}U)!)YKaDHfTeu{OMZ&O{icngRp)i)RR2QJUFcU?&srbw%KBlm^ zjp5FlZ1Njwgw!{jy>$E=(6_uOOY5j9&(rw|S;pMHb(IBhG|2c{Rfzh^e3=%Yt|CvT z1iy3w+v>~I0ql3zqgn1L{LQrpcr5Z;#}oukg}|K}&eXJC0+vB^mQ=X_ybBAlgAFn}uZ&bMw;8t09#|gtoD+R0XtzzXZEW@^=kI z=j&p3y1IG^R%3MX$~FYI+=dX9fS23S*}E*`IrHUm+gNupA{~jC@E_N3%By{J{}LV( zDico9DZJx8-f9dNX8S4F8;o^c zP%bt{@^DV>`%jMK>az3U0$kLP&c(PPe<$3G%HIltg`2lN`+3wtZ`;v(qXs~ymrYp5*usOrQ1Uf)74*oaND@z@F+enW#Rz&BLVP70pH(d-@j`4 zel=I4|AzWq1K($tJ@tL>K+0#giGSAVC`R>MrS_b!A6nne z`glFRiJoo49vOi3!`pB*e%_0oK<%$$bhkX08`s;@>wnv}vaXNV_Ss{Ie|~nlcbk8q z`0sZJe8V!J?rUHB+Sk7J^}Ew+%lSAtkd8jbaRt6!(;*F2c0Zbj*H?1zSb=Xg?#yT7 z_B`Fbd9tj)aQuoMF6QISwIX%&-k;CJLj}coctf`R{8m2RKADTRHgfRZnG$^dOa7D}bQGEuSS%wj$)g}!ri^~&dI0$)Pj64kwh5@`?T zi=@10tp@kMyDi)B?fhcdPU?|5??lURlYn@k95-i+75v_mdT!2^;QF)yf^S9mU`Lk8 z@+%X$8v6O%Xc{hzWn*g~&Cp;v*82#08BUMNzzQFlb*AnDUp{;_fG=IXboDaKBOmNO z{qWXs_Qb*N2jOl!v}4|$kdAS2d7*5>Iu-cJe)zz-y0T6mKG&KoU|z+Bx<;7m8Isv> z@6x$T$m@2}nM=qUfYjgb7)RakJF}MnOzQxilB)gsMb^}eN$zCZTURV z>BB(Ki>`K$hMFcIVs78QPQN;L358fcA+=BTAMhCtTLMg^9EZSpnKZyFv~vbH8(5W&2H%j0yySR zrCXRTaONi_@F(2g+lIxtFrtx3OpOi5c{MEU4@vz2OpK0WWOx*j*?DctLS!CG(Iwrk zyrc|SnORTO)7jC9#f6xb)n)%@zVv^Ku8T!u(*F^xuWevqE~@LhyL#aF`C)D_zB4+9 ztK|G=Sm?a$90kCcDapt>b{skBX(-Of&~gdKj=|fR3{NN(&7K4lRUAS}`pf7TO~vqR zCJM_BVpPU_i}x6c$_`>k#>K4smrzi405;bNv~{PTr7H#Q&Lp&i5^?0<0VE$eg8ZyZ z1;X%|D zABL&26ld0!@ZiQ}oZVc-6OA5^L{c>z+s4186&8aY#-z#0eyw(`z z+wE+WG0(1!aOS~fIj5cHgI&%Aw>rXG>98LPAw1TP4mof8x?2&H^PA_h=HhOkW1IV` zL|rvs9FXx&uBo7$!@W|D09f-&+s#;*9Yc?tUyO{FTBUIWD?;pM||+qei~o z@$u;oD8AiCf#0rRyIgN`2)D}dd1ail)N1*P{A`83aZQd6;li0MT)T8Z^Y_L>JrnpE z;hde?b_Kri{JjLedmO&;aL)W(URI;)2!x-A5k8*Ccp+@Bc3uwKeL>7neEF^zAw(39 z7NRPnq+U^ZIrA*npr*Q3#_&3n6=oqXJsCyWX~;-ouFPztBpg6W(g7Sl`Wz0w{E6Lu z{B??tRUamTTkeawd21{3^mFowBdD(^MtylHyml!k|Eo%JP(#>TnuF4UOqAxQDG8_%qEmjSnlvwacbfzKL5JJ}IN)lkmfvBsx_{d|7G3Xd ztdZYoGklIZq$V9lru1WRL5{vyQc+S2pPesK*m2^87jW#w7jWP+pTWm=9tQ5!$3Olt z4fA~R) zx&Z`54Asn>x(xMfKvToPOYlk{%bdIv*DuJjIOruXUg$J(;1c>O2<}Q(mn{J+p)j>5 z+s?ElVzBuD=0i!ky@F%e=d3KJ+nB(2LH=f1V900x9u}9IKJI3D3bM~JMbvJ{G(v*UVX^^ zp8~t8-)!Hz+wYY7V10kM`qjX99Os^09tXEO)2Xf}{p@*dPnn%%sy*cu_&&9MFI4`Z zek0(kfRk|70HJa4sUVf-%(L6XKkN7W1a4~i_;M{DulJel;-7yL>Av>#jp{>Ovpm=0 zZQgS%x?J~doWoDx?wtpZyZz|pIN4R;PJ^uLTXQz9&`4@`+_JQxd_O-8l?duO# z@2nTdAKV%8$8Z7~%MQX?^0NF9eO&%{&%)~~xp-r}5cgw*oH@9&K*(EwSC@yS= zwaq5Hb;>OLP=tF5cr!)W>UJjdz9;i{=d%^;-j6cRaXua`(+w>BHYfcS$;H+24BU`D zy*Vx0N?GPDzDM9Y&ydiC3T>Hh_d$#~cZyf- z--oeM*{)Q}+ za2_sCkK4jdg{vn)37^v8|y>UAzr-wV;bPFEL+9xvKjmd;k@c_jes?rf1hY0`FWtj=P7W(0FH!|K3|&Ws^8KdE7pnNxN| z_SfItrZAOZqUlI&b<}Ha&#n$X26}^1cZ-IMrSnho^vbpj@ygtxbPKMn%%M}ZYx6ra z)GI-1b7P%CXoA%~X&du)cFBAX*GroxhM5DmUEw4FHIIem37}&O1kwHKqzyVP1>MN*W;3joYB@h^WS>>C-mU<8M9R{A%N)Lh&RsIy3lsK2hcjENSYC`EIv2)# zWC|1GL(+y0^!EiZIX;Mqu>mZ|@~QCw1*dfG(hcmE@3=+w&tvm8)vJ@2=Pg~Be)(Sc zUDLVE_7LB$L< zj}A-w#t>bIYFp+bb6DMR=*H`r8V@5N=Pkk5^whMji;KWFwgZ5-PHtgkX&Gy)YgmpM z>sx((>B~m>4sCi|oG&XYm+Raw=kPdOP7fMwO>(U;k8K4iN)4xLz5O^6jvYqo@e@co zb`05vk0D*A?#=|%TaF;F_yD@c(=Z&#gw=fvS%oj5$$K1u{uDS`5@2y2N0U1d4u29% z)?+w!=nzgEmpY}s%(OJT{NhWxga+e`8nCBE-yuoJqdM1ub?#N zsC-xT*j`)0>kseY%7twV%lBfc%+zCUuvNh2vPj>^xYbmr;FkcG?sC7I=dMq|K3)2J z>4D*#>HMv(ER}w()AN_-G9ACXUh3^R3R8Vjwo9(9zEG>eVY+S^Qh8#Oq43@MQiY|q zQeD23t-e}wp*ERoU@9*{KXZD^xz{Y`GdL!f1cHDj?S&Uu@tD387tV1Xk-kNax9UlA?YuMLgtGGZRnJ7i-5aLw&x2jOas6)0)(Rqdw0Mu zbNG5ZMxI|PejUd(IB0}%eirtQj!Y@+Whm#50={v@>w0#1S1^G2*)T4jKZ7ghwy}L` zQ_EG97Rm1+f7e>!ax`J6w+olfZ{zxvi+T;06z1&$U;A$UUc0)M8C8S8moHptNN4#i zE|TA50^hvc5;@PyQ7XU9%yVq0R^f0(d0g>a{)U(bnDsm@-bci>vur0t#1qN(6^0m9 zL{&-Es+d+H>G%<(CLTpb@)2Yt9YI-M1`=O+5yg4wNKZL}l04@1KBRr(vNh<`?`o3Y zaWiVm3sigwrmCa>lRkyE1z*UDf zH&ahkqaY_0$qC1hlW916%S-Y#9KKJ^ofN*v@}dEJpZoNu1yfyeO<7N1#+!s$pU9ht#rAZCzOl}9%(W$BzCA@>I3(F5euf zD-G+iznJWQUiNopBoikG33-zhWD`s;NPQdqX-0nEHY1euT3@<`f#xzJZ*eA8=ysNA zOg^s$*~a6SEV_3PUCtJ?Idw*4)|fBV39U;EnE zzV`J8tM|8x^=D6=WzI?&!Nd&hmf}s-}}zD@Z%r<7(e>akMI{i`XRpbr7xnl zrBcJO-CwQ6yJzjV9m~UwxlG)e%fM}!68KVg=CY)349D)nSRo!S731-8k@k_1zc&w8 zr9ZDtWa0Kqu7Y7Yg9&`^&ND|Z!!Z}(UbI9+XD%PGP=z}#-7?&d5(Jkjki9;WFUy&q zw@8*5p_>VT)!n;NgB!DjxFy@%o-fC3x_akIaAi6lSHjHMTcqW0&zIn4q!c%1%5iJnWtb^m640gxYBcwA>urtZ%(%1@>S?t zU_f62=E`!0cCJ^~QG@34rR$a-MP#d)>`$I33MsZnA@6l$#r^a5kDXq^_r_7T%^B_?oKG(o~67I(hA-Xtx(D z=}qRmmE-U$F!Q(w=$Z@wX0gI%vFT^KwAb8VRyS&Qn;Xpy zm1wq9YbaIb%w!m2I^qa&2^%@3ApOTcS2SIe<6q;Wk$ zLBc13+GYjCy+IGgWjlf)=JRCR+q@11uzkT64ED4sG^Tq`L9pzf`8^4E=^iBXWgcO- z(*$8@_pIVvAFl)|6WKi6CT0V z$z@zTw}ti9C{~u|rSG~iG|-Ka;a+KHKf+VPx_oORCf`pOD@zf?7Q*tq^rAmx<$+^%i-#cB=Y}b_3JuyU= za|qG-2o@p)zYDVec|_+Th|Gkg?aZq@CfhS7@c@SV`?M{mHaDI+&biq+Oi#_oc`zj3 zL6-q}W%>Pk_c8gOC$;RzkP!xYb7Kpa&R@jV`j$F;Z(O~h>xcS>D~^Ys;m+n?LqlItVmBy({hES$7S3w$@n1G44w1779=Mh#n4P9vI}2A|5OJ0 zr!(OSq@iA}NlWul)XHz+1*jx#4wI#yZd;%p^M`XO9bK8dUvIi`6}+MtjQQxqQ^HpXoR$8 z9~4U&x|mCgOHfx=iK4u0^gEMLS8^03ImcxT^C*bAdhx8B3kwLzcT5*NkC`uPRF)UZ z`Pii4x!o?SjEgdsIcj0IR?9Ugavd>Mjpm!P-RZyR z?XarTpMaL zR#!DVqk2?Pm2uTQC55$8?^D`=w}y7gR@F&ean+-``iV?&NxvU|Xw<-B$&@a+!R(dw*`>!n)SX+w*%9@g4YI4osw zHCAi-38%SCemClomU03~2}fltm3=Zlx7>ep_BZ z^C9}!$NoqizPE1O!u4y{aQX6OT)KD>H?Cio>3Q^8k7352iuu-5EViX%F_40V))dUO zCSz9qR+(*0!~)&4gtpyjSni@DHUmqY1_&nfC3Ia1CL>0GDq@&qI(egX`-ajmFZZzw ztGw2qqu`gKV|G#Q`C~l{mz*j0|8l>p4q&OHI|)mDDOe;tmd|r-39^5Nk7hpKWPK5m z(3j3!hG#Y$$b`pPQl3CI2OEQVs>SY1g|^J$%XUo4u@U&59?p>RshA~9mSdZ4O~P7l zhKTpsiR$nr@MS(?9xq|0(rT0o8a3)quTB0kaqO<~{{`^`+6L zV6OpupTJ(xQ?Pf(-Ma&OPxfbksbeQtvK-F z=kW3epf7Xzeh~U{didZ=hQoIU_U`8K743z+hhBOf87B@RH|Y?{vW{bODT42Q_qz&x zfA+JV;!nTvb@Tu}Kat)xHk)EwePm3!HX{lLAP07?L%W%86%Qp^~ z74}xdVXqkt^)^@)_BLw>$~f%xE9l*km*AIr0(K3kYk*yk%K*C`7jw{h;C8wVHM>+U zhZD_qJDQss;cT*MxKIKHpS=!#dktFb)d)B$(dH;eyQ36AM+rKcix6rqP{`ZUoP)mR zESb+npxGq#*)_~uN5f%sH6D}xO%f#_Xg!MAj!caEQW0n{@{L+65>a1~i#B^P8tW=h zQc|q$KZccNd!5oYx{ek0nk}$2m|?DOKwWK}<})M+W2onn;t~b81g>Mly%?brRz8o9 z56HFWmOg8OtJ$jgIvEO>4%+^n7A(vRW3V@Xo}d@~-7Q)N+tnLzA?UUtlx_IDsW+Jl*i0R%lZ ztuNqW*vNVf<=Ri!9P%lkB@`m0r8AY_G%`Jk&Go3}B&N&OYBs@KSE;#08KRhBl>JgC zoqb=%B_6Or(j&M$R04+IU^ zEA1X0=u%fA`=i-fy}OU-d>B_Qox%30HPyyy6yeDcj1Ko>c(4~^BmG!gp4W0#he=($ z(FG%v^2+iY78j-sx2^R1%)}5P;gMb7OE^ZCHyzdd-nu*G{HMEgZ)?>2~>k-SWM98f&$lQ|l|c?Ol#WWZyHGpP7<54VlVige9~shV zczhJovOM00oZh*4Lp3>h39HLXxOD!!)U%*%-B{nyGUsI(fo~iDFD)+P{Puax-@AQ! zTeZ5pg2-${>owQa>v0VajG(5dWXN=9kTA@ogUU{uC?S8Ea)Aq-4qVstqZIr#_S4kV+z z?l3CNuPB6NUROo{AowjQERpN8PR1b@N{WhPJWEAUK>-T$3t?}vq1IF@-^ZAolUCH% z)Jr?-(PU{tLrnuBeFONxy?c7x;R(8*+q56p2b?xa{bng|u9IuKvJ@31xw5}(Ccxt7$Tozz^b%~`On$UUTJ$M z7?5kf1tvMi_}fI_Yy3tTVV?O?67%8OY)&*by3o}0(QbZ0HemzI9IlU#4sz@Xg67LcUCyvzLxu0^$#f{bGiRs-_yAQ5@Xv zS+)bu4H?_luzyADU$(2Z_G!KRxlf@mGZne1i8%7|=X9Excnrs1c>x)TN0D~?73~kV z-Hf2mt@)-2c-eoUR-eqvIc~M+bBx6ans7j-6 z@Y=2@DUo{v3r4zw81L`Kgs49hRN%`f4xu(5+W4Y_&!Led_#zJX$+nc{XTVgNjhga& z)K=yrH!}qlMOg}V>nrl$w#m6)SAwR73U&RutmUFIO(8)*>uIV)leq+bcP$zlO5m_n zq0MVSi&O4XL;;Uk!EmTmev6xH(Jb49TCB2MuBDnH_~p07(^#zzVY-JIf;!>YD@aR8 zkmJqO=mITrAJpdat5ZMm-~k+c{&P6~(u>l58EHO3AN%;n)Y02xdj%biViae*tkFr{ zeDh7XtCKO^nvU7lG|Y=)ZRv;-_WB8YQxNtX$BgfUtV=|UPF{v%4oW$yL*``}r%U=d z2@CSK&8*zN(v3UMu*tqyTmsx=S(YeuB_b;I(?v{2G2OVFC-9}?mLPgDlrHvyZ$ zksN&h(P23Xd-)+aD-X#Z*{PbV_btuOTZlUZm$NwvH1Em$y}2Abiss^RGzV|36yWXE z0x6e=I}16uA?2=4F~@BIUR^50+v}xxQ}otG8QwfuhIdX?;Ps6PJX|c6?F;pR0U_77 zzV$8q*`NI>zWS9ftNQ!<;q`ho*Dl3S%!Ia@hj%wL^Jj7V$U$VJCZV_>7pAHT4K?@T zXFrLTp8FJD{@kZ=fMrDor7XiZC!aW~ZjYk}K8ItXg3Kg^Rp0#PH}QiX`~W}s@sD-? z%xSjJm5N)@0^DCI#@$#h9xmtMk%(cgA1)W*?gIOTz?U#QR{`)N>90qNg?K32-JZ$D zt!ajI&cdaU3|wO_U*`H{&fj^4%FdO(WteEXd<)dQdna15Bj(>Fm@UCwncj<4;08l7 z&(Z~4s-X7fEc;Kk`I8uKo^{~*G~K@?vW)?BZ;1$V36H;cxfO40+VJ{%gY2tJB=yTw zLpx6w;!3zsrUf`Zo+ICXHe#Vngj-VeA<2OA1jc-XkV!J1h!JlBS{n|-Reb=BIRe5N^`d+6;RW9k?F2nh9$SXzO*kLFcQ->Dras>4dwPYF4=%lw(JB zIPGyYsR(#?A+N&*4|AJ38sK--Nn45$Xs$+kb0s>O%Mo;zBIGPam$MK(u6*>ma?tO} z!hkD7`Y~OUfl+TJLiQ}Q*B-=}Cj}$U;|kYjS`#tqK7mfl5ri5O^dVNKElFX`fGY{3 zuH#5fP6k6ao9iqZzL_}+3A-%y4QQyXMSV>T>P$7LHJPM;s!>x_CD%uld?p;PMny%X z<^nA(l77v~LUQ5>SWM*_BDJH5k#Pc)b>Y|NCCe%?oADP75 z?4&-Je{kn2R+l1Lmi4I%(P=}g&!Mo4(3p-z=HIniOokJ-)2E@6=_U-dd0}s;)KItV zQ=gNeziVN)nKXQLha6`|z@hbTom|>&7eh1?8qvW!b>4^Y%^ds~jpU`+aw5U-~zAnV-f zr1mw}!zFEWH`Yn}-54F{eX2hf=jkAhU^zOs+g{eUI5#V8n3g^z{GHS=veC$_mW^-w z=)rx}!w2{9@cunK5OMkPVpON+&u;Gm-t*gM75HAidR@0aw|!pvA&jNyqMT#>8X}so zcVW%|#cYGQ)-3yvpvl^Vg1iDbCr7amSwum80n9ZGu$rw}E+Z`sNy)G1b>nupWsFHj zcPI$v!yb%eVtg?N&8Vr6*Hjv&WbC*58Or$>h88nrJW57x{vm|M(okzYj)1pS z_iL#)%QaW6*CVe%z97=#_hX=MQ1?g2FX1r9rk>6oG&eRYl&-6(M|nv(Z009@-5y{B zf)=?B$MqPa^HH2!HyqM@iKDirO2$38PFg)WpP!eF!QLJ$MZ(xzUqX0d6fPOF7&e*5 z!CbfjZ#@ySzG7j)%4LWBTYS}B-HNi4N#Scjx zZuv~e%#hA}A%x=vL$)_J(s?X>Xstn~uL*6^UIN^KkYA3oUE0gs>4ux0;iuaeo>s;l zI(WHHPTh7{F5CGSHGocjQBcO2o^}uVWgMBA=*Ng$$AsX_am_J~W1)@VqowWof(j+q zdq}n!k}+p;s0;mFtvY5g>~v&Ou8Wyb#3JLE92>yWBEvg3p)1seU)-c3$ zrt;;ar@*iLb~V}z@N2hw(ClC+Wj|a_Lf3$P-*NH0i0f(S`$R21FD{?o-YvJWzOFA= zJh*oUZ@u}t*5h+I74|Z`_)u2|PR15+ZgU-5t1@0V?FxJu(%B*HX>4?U0QeHXR#w(& zIOful>RsSV(3_i6gzW4>4e?AEOfXzqW7TvEbO)F(a$=I_l-OG0|WF=QqkM@dd54u0-aD9TF1!RHx*xDmB7p0>Ij zFjW-6@3PDHZ_>VNYT%0)^)hbyWPA(b_LU2`df_x~U%#Ru?Ca$^udJ*>wOo%CGJZ73 z^>2}J#$vIdU4HYX2YV3Vi&fp780a({zCFQKIWHMT-yzq81MPlBtuR7Dvn|yn*$RAX zD{|3Lm5;K5bW{~*$#s~k;J1b$ovRBpU$3pEQ0JTKN)*(#I+>oK5-v+AJdHB7mBLb2 zB*#%|xPSR#nzI1`cRhkWxpuu)IIVL1n9HQSX3hJ{`p05YgTHarrJ*M(YvlOhU9h10yaO zcdbeARv$-~H4ziuR76@+WnDTJ+hp3BjQN&i%!wj?*(Q*JMLK-jlCdC~@tnW{%ZL`+ zQ!yV%lx>p{V;Q=G+fp#UE2*y|9SiMr;WBS-7Uo0gI60h)nB4cyF^n+7G&98WU>=xr zm*JQVSev0Cq3QC~T)@mBEK_y)cBNyjk71k*;H!>fsbfLzqa&RRwVaF9eu86$kWQC+ z(lFhYgwvy0I3=2BIU)N^R(CM-_;US?lZ7A=NZ_W{S55QdIt7pJ_CC*c4038H}w?sCGZvTzF6J8yTEtH z{VURN&hj^l0^bh_=iEtmujT1*&IG>BUlY#xgRu9&4&*gdq1p?3cchT_iJpL7LnYZ1 zf$xX^oxZPq{XXdrCWr4X{4v0pu{`eB-2-o*-8K%7;`36*fKXijG>H1Z{+|K9ztz6E zJih-u`j>*V-zR+}@Fkf2s8G%y25xsh6AbUk%lm=y&xCybHTspn_o?sYnU?^bTK^23 z+*xiK9en~Qcgu?Qe)k`B9>kabrrKNQGm5{IKt0vAz2$#Jo1Va5!r))=Qp9hdz5S(n z=0y(b18w~k$N1Zd|9)q{x2kGd{utcXzV@}ReeLUaD~29k=}tv=6T`$Sqe5E#qy<|BD}p> zhPSr}d`t0owFLJT3vpvQ8~5k)rT!uf=k@mM_wfD~zJRZN^{e>tU;GG<9zDd|+#C)c zcwTknzzaBXka`h`$6i5pMheP`@=;$?g=U7`Yw@ACy9;ftewZpsk#P8B9DM%MIP}7& z@yZLI!QmG_i>k6>bhZajS(1;0LoXolmFJOo=yRwn&eI&eKl#Z|6!?DoTi=AeHWQ28 z3AoMh%dtXr_ugB~!Gk3O_}+`=;O1;5Zp~z>8~UCcKSMPW{?Y;caG?N~M^kZrFa_ra z(s60j$m4q}lA}`SOBb-{_FO)0MhbC>4^P5*U|6-=>f|k!vPFi|H(HJxguD@g+H%=n zxkB5U8)n@5#)ixnt5}}fU7w*FxKtm?+?XlAgIJZczecuWi0(>hC$}%d_FyK?jpyR* zXdW(16le%IhCt&(k&yK`23^VUm|jMQn@Q^Hj1&3cb zj3bASh?wj0n3O+`us!)8IV&8#7p4K<*dvQhOahpkQ>J%(x(EYNYu2cRxn1>82eW=i3;6~krDN24hd z^<^ojEI5wRoa1m-y@F0x8A9$7bi0et<1Rq2I}iPy91M7}FyzU=uqO?p-ZYHuXvCe4 zQIE(g*Isi5rdrc6=HbK6M1=iG2)86**m)cSjuYr>I*I}L9^@7m-HrrI_*3-3Rh#*k zTnA|yA~qOg4&qic+30XKYo1?1;QHEH)QRZyZE9>nbF&l8j%L^_X1#W*$_i0kUWCfB zA_ZN!IXP(aHo?_cr$DCN%W#ht&AH3)l*}m`a5t(WN%M404r#lF`U!d3(BIRBp}wGk z8|DJ_D8%t84CXS1bS6+48w{bBz&Fs0?$%}vyUM(qzD5(=RukGiHieK3w@kp=>T6Q> zARUIxAsdGnaV;*)U^y1Sg|nMjU!KKsbOvWmtzvV15o^m4tgp-=JTZv5nK5;|M#7`& zU?s2`9qPnFWKtco>&r7(l5LsiIJPjY59Vj2EM2wn2l4GK%^Ko0JT;`ilzD(hq%OiA z9zXNqGPJkLW|Db1COIyz+a||i*AThv1MYWLwr6NrI)7R3@IW`ZLv0uv?w7I52%AhX zPcMP<;zAfxV*?sud9b@3WBoylOFxDuh7|@6Z@J(buSH~b5|=KV!uF|koLn~m^2WLW zdm1b4p)D(S&rq2^EuuQ4bvQ+()o#zA&d_6V{&v@ z9lZp*tdHx~mlv@bi^_MfpwoCAS1(=AHavd#;AuU$uP)!U<(QVcBIT}Jx~OHjoWS?d zg9rNg!uGc2@7+GNt>ANGbse+QGxGh?3B9guaM_)xmGQyZNq=4TcZst)uH z$gvvk=JL{Vb=vm#^vgNcj_OK=60bvBcNSXvQ_wY>j>3{x@ci?i)$-$OS(udHfJRRO zN~#WFcp)1O-w7F~l5phM3#e>(MXoywsw?P*ZGq42h23HULpqNRjmkAvsmlp@iwlai zeRLb!Z9Fe}(9_i?*PK_{Zn&r?$0zX*U;8?Sd;8_QpxfFAhdm!zz{c8!oR`yDuCc)+ zzk6;3+x>ctG0$#6eh%vEYEW2^gZ$hqIrkWfSN>3z|IN&c-DF0G-zDF<6|M4}4+MP* z_I<7<87~NZ`2vke#)(>WtTx+a%$M!Vgui9EXsj!jvStK4R_X6L84H+)yG^d`PE1b@ zD8yyh=nDDGZIbQyLIlHyj}G-{Tm0@O-9N7-IvcyC-NOSxIgdtUd%2#Z9)?->c^YN^ zM$T)Wi-6d!Q@f>F#t1ofX-`0oVL+}2LTKjZWr%g=oc72y#}M({zpbtkK0;?1vpS@& z_~Hr2IEI_&ct$sGm$ZQ}H#$46;oo_UG8{GgG$7*;bN_P67dZH$2E{zyA=&3}uUwCE zd^0j0&Q1=>`8H-KGNJjj8M4}9u90z|Nyo76P(Y5iQ^x|rNpk~p&OZZw8yRNY1IG^d z)M5FTspUnlPin6%O2dlqf@>FaP;s&jdsz~*@5o1 z7DOgSu{0OP#!?iv`Z@)^jFLg%+tlckwmD!nKMi~tT3LZ_X|=j}nY%YXkH001?opsl z-@-!vcAHRL#b^^eUPcw5n$SSi$JO|h2)NlPYybfN^hrcPREM8kMu1Ck+g(YUDE8s5 zEQXSgzJljI^)XZz<{~dOLBly0W+WpoBMC2j`eQhn@)C}|{DSt0!zb-)tbo;94QrhV z&GNZ_)W6$zLAig7%J}-|-W}YzaTRB`<#$bXf!uSxh9SF5DfS<40?P&3^83^l#S}r9GI&LU~eczd0{3>^3qWw z*I#{QA?hpg75+NvOXMCb7gke|l+8zrqZ+La6I=|*Y%Ybfz6j0cA~*59`;#%- zl7jg_iUL~#UxHl1-uVFCyP^)Rqk}g^LGXMl%O@k+o`y(E0;0^XD`jWB$+C|`DPxpf zkYx*jG(#Obz&DtNQzQABqGX<-pXvPV%f)J6j%uYp2kV0j`JAOdcD0{?HC4eZ9lgxO ztB|)hU6(C&XJEM}OC7|TC%9L(AKo?l5Ojz14$2FFTlXUeCrQxj1 zpB_rZR)4ZW-_wJsa^IhUixW>mJ71T-Lns6E?!ev|Dh_+|el_eBeGvAFo`StQz?ZOB zv^gMc+*FNdVd!*IWciU5A+M^QY9AF@9{I( z76VqRP~1W|Pt$IFF?O4BIY)18X8R8O+#K3pCB-||30i;efgT(v%SNxIT`)}T ztDORWa^m83@Y~`kg($y`>6yOtFis1X&2FZ(z759m;8Rab0Y4lPZ`v^ZKG*uhGB7G_ z_la;|aFFB`GxOVx-6Tfetu?7O_gw+3apgaXNZIs$1(^%T% zB1t3D2I|KAbYeQ+r9M}bL>4t5>m-#|NH6HdGbO>Ke&SkD=8lc4A#bmF2@rShoaKM7 zBXdgfA_9u9g(vIlFbisSU?j}J@qVJzF zcVyU+*9djP*EJFkG@rz}LfHum0~6m)5~}k0Qzm?`%=G)nKGuo;&z&Q<5;Lam{6T%!~u3jSdAS0`KsjGUVXDC@|q`@DiJexN_nnEY#K9^b1k zlzB&BFRPkZHBkJ%NU;KztI`2B21sjN<9aCD*zKOqxE`W@zPD=7*HM%8X~I$U%(IqF zzU%JPO9A9J_Sco&smUyIF$po zUfK~u4GrB07v~5)@5LMHvy3U(#tQ%*u|)Qvbuf0ux)yAMS1+`l;wR#p&B33A4++gI zsKnH#m`IQRW8Eq%qby2!z|Frs`DhCp?BMP1{?Q|zw}Y)iFb`g)(y;ec9p~EH zPITkm@au>oRX3J1rsZrpgupOk(qAur#JI&B*o*Opa2;T)Djz$KR#kDxj}4Bt0{=ZA z`I{EeiW3gHKBmR&xNUX&QtVA?+CFj_Cd9?pnYEk3zenha0}0Wso#IRQ4NuAJ2!;; zw=zv|^QM%>pJy$I{Zsx7r&5wLP!P!tIG()u!z@9+2>ISTUgDZr)m#hH>~faX?{T)Z zV`CTBT-0OQGR$CJ+LJX=kq}eKYxt_>U*&=!8F)`)WMnAMGKc06A-gETBN4V$WK~vK zv1^kO8{}PTbUzfWI9q0|mqha@;3)xs}n~0e{wLuk!xQBFuai;srLH_qU5*|zE zvfvwE0^nizvgNS8#;7+g(KM%Lc)}X&c9Qg14Le*kVWp!zfOvcx^LlSeP~ebzYzQ`H zN;S@)nYQvA@~IjYOW10$0BOa4!qMyyl8gc&n}j>Y%ZnfRQ!jz@GljcvzoVEMnG4-? zRp@vQxQB1jQ!M(%UA%>S)Vmv7jTMlDFBzIulqY-ttrp_I`ZnFqvB*0rm7&<||ytLDLOlMaY>4?;ZQKUk4_Xa!cxt%vwz8=;n8@v&>F1kZu{YgJxHc z4s^Gmjsl@4@oKaSp{pn#ossTQ~FQY>Pxa_iq^YP$e$EN=nNH3-G?e zD`erqmB$Yzl@%`Wy`A$A%DrXK7&MuYC~+!#4}&2yIS5l4ooCyz$_CXgap_TQn$#K( zLgx)q&i1ICO<|Eo!(J4s(LcEMNp8-g*tc&lxpz8@W}QsPz|v0Sdk4L?A(c=W_n<)+ zEKTlr3y1Ew+|e$jzhn;@1SwY4bqsjjc{S9bkgwo@z^T-2wo}dlMR{5E2IN)nZ{#WM z?JgZdoa~a1>05=>a>q8CiW|KWnLYvQu6NRNtYyt zRgM~R=XH@4#27adTsZOPt@rG`W)TNXZ+{KV zby7hAbZ=$rDPtC526>UX=A-{ZICu~Bn12aA$ZJeB)V1{%Tc-$C-0SWd%u8h>H?c)4 ziDCoRaP#MurD-p|)7PJ<$$#`^^ z$+$e+1m#8|4E7yp5B@{DfBhzi-kH`<1TgBZuv=Q3LGNl{QH+MN6R1Gsh zxspI?-x5{@N_x!yY0zG2Q~#s9tLhlNuCH8`KSEgzdQ`j|@4W6v#t69B#sAa9FmNTvWI&RX%=m@+F^o%182Q*6eh;(@In$WGZO*l z)C0_C8{5tL4R*24&M9-q`P;yY(I;Zbn4qX`$SZWQT0x&H2r*V}* zBqy+o^q~+{W0>jP1mvI8zF^0#&Hmxz({+1<)BRFiFJ!1oWBx zFo>Wq8$w?(&rH12%mJKt*hO>-r>-Sx5F$s(Z)yF31>hbXAFjqEi8l5Yen>ICRz>8k zS<%O?lj%(992*H^urpJ}^y%OvS`(ixhgbTB^AGZbq7`(>Hjaas(*=d7!$NYLgCU6^ zf|N^ktMBfaTz!Zwwp)KzoYSEQP@PSQOnxh?I^CQ4DY{;k9EL6}$A31ver{eO_{Gt2P)DMg z_=44iA$gwh?uXt_8LyPllX)07P}snQljvIQTDXQEU$hY`^eM5+OuV(Hv2>?-^>j{8 z+Jml(+S?|9=>Qi0O78yF>`#z%`diC6tH?##%b%~OQe%IfGXkB*@yY2JId-Ht89ESO znTM4hg}suttElm*f1B-DBg5FlxAt}^r8w1sX|mAC@mL)f?06c{pNYw1*7;mt0D|Al zVb34E4iNJj^Dmmkg(i!#=qt6Z>$4?sT)0iy#4pFk8|%2gYEs2y!BdVK|Ni@OD9Cbe zum1Osd#xr)2I*OWkPM~ioJ7e5ao5iNIkkm{IR~eTrGvP2=U53LTEn6t&b%1YC7z|p zPbjll5jGdEDE$`LZT+w%eD!kc);RiP;T(CpIPb;k%ImH~qGf@Td{<7l(;(=2)}2lrK+Ie;be>G;?sq@+vOz${ zQxYCjBblqn8{gXz<4ZTuBPvLg9!x9m8~9?SQ`)C-~NVp?T zbhcvcY+2M`N4Nb(LZ$y)bhh&Fifo;eWVNpl{d#H|z!^Ne+OIiwfNlb*V^e&kX(VwYMaS~N9sH1Lk^=B7`w zLM?(2yJeyEbL(qLPBFTLcSfE$B`Vs6#=w@g0-+OCOUxz=brq8nfd zi>0ErTzI!6)E7Z2+<1gLeJa9nDoXk8gQsdVI$Ycd%dMFCZnG7`+}Zm>a34ibfkH1{ ztqEC|Kyhrpif>jqmUZ-<$d+I$8edApxhMj@Yt~p-sOn);dxV3&`nf#GuXv`bYTvmS zt(+5291omX?2+l`v!`?YZYIBSlI#9t#%;j5BHeNynUR3|x^dM(cWuzp`xD(eo)#HR z8j-!HH2;TT()pEW9sSX(>eVLkgqY@t%;*e|MPscx{X0{YJwif>XyjpxPvVbI8WNGdn^-Hxo5X#sA2T=yU^({=S(8-2&b=))>8JP35$e8 zP68MRX0~QHZx>sI8e~taJzNldq6j~-ncfuWHt(|vVE}ttYkmy9OE50R@BFKxu~Qr@b%`|)f{V(Y5&y;}=eGpO0f&|670-mZCfDK=KJ`18Yj zYLLj(`hk0YeI1H_kmt=H{}Rcm{mM#7813GPy6+F1KHA2?;{AP`@3n<86+UoT$9hW3 z&aVjOL{~8+iW1hl^Q^{Zsf%L)AOU#S=mN4II5(>Rg~Qs3Nj2%&zVVLh8Ai@n6NRt% zH>WGEzk_r;m4=R*aL!uAK?mLGlusQ5OAK=OZLg0`p|FxbzUzhXy*V>b zCEeZv<}E6nu}coJixb?H3Oz=z(fER!@l&?Ie1d4Tr~&RBL|4%FfAT`nSc}cG_Wq@@ zn!EgvZ8&>t*3OUQU@T0DCBm^dH1G)IeG{xop+k@3gl%KFv0I5lKIFH)J6jjTgHX3 z%1tX+@Oyz)vt%kFaWq>7XBHa!wj_i;+Ff@ zxtyr_F0nHFEyU1gwBtM{c-D|h-1Y`X!HF;FNP_j+p(|xWG)@l1n+N5dhKKm^w9zBJ_;5J*<<-Ede}I|G((*m=;WFmd1M%V8n{)}| z!_;7sBiy5*`%PmXu9M2GixUQDEm8nt0SP7y9?%BjIlR+hiO31#|Hv*RHZ&{K(T_p@ z^CWCfcXNDT`g;}aRDAYwa|Mx*aeXZ_@ZeF8A9yW$wt7Nv186K;{%;%y&|q{-=Qz5f zsyS{gg)!r?z*QolCigtIh2liB@VzGClz36kD$sVxu`DhbJ54#h)tx;DT>|8MYCS+O zEAAl4(I|H$sf5Fj6K9zwc{A0{f_wrK^F2jd$V%g z9^(>pF*;>;KYM-)08r!|d49jRn%e#Z6%CM+34XQTez!}%a{thJGXQz!Z+|>;K>)0v zuhL5{AqR$7PR)-%rf2nVMz#W9eSTa;gxs1wp*$f%9ujW0xSlzKAIL(&B%iykfqBQ1 zaPZw^-Wocu>h3-4Bp6-t;o<}_l4GbxHPpAo+7h^zHQWs^3KTOKfgnbEBgkon(R|6- z)#enJi%@*g?<7n>6PBMrh(Hks8$WIaPqV)%qYB3 z@b~y+>X#!PyFQDzCWfV5g+*+)&}dD#-_3({R9*4QQUom&ua!qqj%??3%cB>DaLw3s zY9uJ&RZ9-VF7}kY(0temtta~8SeI)n2wN;p+m-)Z%7TBXK|zSq%2oiUMNmSMeKplfZ|@9p>g2 zjD#5XWB?mghHtbtv461l=c6ez@;;j-xi&VNqPv=5dVG{xe2djRHFMQcPV6w!Hnw87 zk-W%H15H9_<=*!fJW37FM5|AFN6I~W>q?I!4KMlLK@3eN-GGp>4i63H6xr6Vp~_1t zl1yloApuHh>3$-fR&v0y$g$HqNPqNIW%>7ZE>6Z2SGzA-FO1ljDWu!XwQpTf`9`zI zh`0A9wDc_nJogQ%Q{On3({9pLU1L4_n3bZt2rM%_|4K(30%NoT~%!4W} zoQU%%PN+n4YSrJAc7CqXl%iM#50m;tWc4Vu8R*f zGzKv4j)L@8A5GE0_Yr0*<6XIUxH(5Y{J(3HE>#lnKL&Y%@Xa%V1jWOIg)1fv*?(Q9 zn%{j}M=o6G_OivxTBECwv#mB+9b-vC__tMapbPp6I2ZT%I`7fVy`yXn4HCk4Q_`bT^avcVbaG)~ z$6V~%_7oQ7sHIZ`pV7n8v|?4ERvr6@n)f(lLt+gq3G>2+Eo5Z<(8_R!?)N9F#*G$Lry@var38<;rj(oCPt$5Q5}yPWJS+$ z2jKkcp&8N!Sx=?W(b2(Xr$}#S{5poI@p!c=6yuy6^28&~pS*Q{`KLY?Dz3O9__TQ7 zlC!e|LQakLH;9D+1+R+1NHBsO2#F`qvbc-w!OU##fQAo zT;I*Wcg$Cew_)YdUUsx?SN^y}DyND!OKb;B(XCSe>8`E0L`Tae(zs!U^0x3^bc|v4 z6moH+Pw@xzdwHzB8DJM<88yqstRj}__^Th6uSyZhX(*vl$yYSIDJ_m&lB zPfyLFyFY{d@CSIB4y{Z2SdR)6TMUb7Y7)8<>BNT=K~6M~qv-p^t(LvMjqX(HQ4G@U z%>c+1_mXE2VDL4G{--KVS>!^VoY$!<_3O)6eS16MmesU-I}dZ~CruhHotgaKHKfzp z^=1nw;pQ!Nm;lEzOJ(_RDDXDkiB}H4Ur#*#fK0{G&RgrQ!4O_MDJ&r&7OCmLUK58t zVqNJdpRup8Q-%~s)kWRHkJ_&7Rr5@l`pIykvvG}LEju?ihI;#g(@bL3-p*1yqZHz7 zBJBt++5TtOd~Iu!S(n#W#U5R!Jk_QuW&j~Dq86(@9V@EcS-1A#Noix_D%~VzcJmG~$m}+D zP@oxt{_pM)sjjY$o@Lg@r!(Sd#M`qGjR3=Q_l5`qRoggc`MlLpC_08UAK$!rlaWuN`>X>h?_ah%27fQ{tA-E^>c$p&+K9QiIfl(c7jcF_=T4w>P9Acv7~+ zF59M2yu{4&aPd7=Gn)IN`(-jA_D{2t6t5o^1CU*Yn53QzA|KE#+5UnYIfodK?=O?HbMCzd2}Av z8X(E`pLnBo9g3nFmA|NqStGD3{l*Aiej z>ff!R)r@u-^Vjl_FvhjnxKko^=8@;5Kd}HEkJunU>%~Kov0Lj&(qm$1`JNRfF`MfH zo_Nk9TZnac9+OoT&AIypkz!9MDS`*dDz;OQ&Zp?1Xpi@yRG#W4yW=)W#IfTUcCta% zapUmtuUN8&?)i+)GAM{fx6-7iP(I;wJKJRgcDOqIvF8MsK zdNvz!3Ax!*4UUz(ogh1#t_+q9s~tV)ayON59@<{N3e4SJ2y!aay6Xys^}3M_qzb!X z!VwjwfDc-z05jmijXAkgIHoeTczxglrSrf}YfMxV6=!F;AAB=Zb#nIIHPa|DtPe61&s*1f;PG~KI1dV$#X9tdR+6VWlXm7 zm3ylsi7dM)mGDrxCC0)EoF(r>pcwV3HxyAcJqX5fE@lry)dC6c&Qu&;VY z>nII4A7u6>qESmRGn^Dt4uCN;@gk)r5R0nxf|A!S*j_JzRcs=<`Sh2YQ4RERcv!{0)uu?vCR>+g02HllJb*fN z~Q=GT(1Zu8H`q&qwBjDkH^T>ofz z)J|fN89qvIj$YKVlmBt&0Jk55_Iwzr`E!1qIW;}YU+70Tap(rcM4ZX5AD!P}BzF5zn7Q`ez3$=|p<@MekIYA*Of*c1J zMSCmT?lX1{ztT?Lk96dMguw*<(mC#N^_{bhliu@GY*sK+kH5U0B02x|Yn-mxSc+mK zkDshqtXt<%J7Ba(2~fnFn0hU$lzCwb9A5NU8{Zf_Tn`cjW6d~YEgKQ0QCEe#KU%Ho8Mu&&_ zMDryhpGC5>9ZBcPu4n)niMbRe7Pg|gme#k8@4Uohkb)n2!7}U)TaER!{QTC#9*Sff z7iV{{qbh?#AvXq0?@|&&Y&OcS zElx{OuZGkgT9VzQYbl80tYt$C%Mu0gfU;gjLWf?MtA1wEC`8zwA~~}Ya{Hyk+Rjo; zzFI+|b{QPYt5QrqTS4xhwMdx{NzBNHgl3uN;kVrgziB^59yqUY-Mv*Uc*Bf>o_GI7 z;&F-j^r1kNYBqi}Qf|N{yhl6EAN;|&e&DK}4Ki6_xwTBC>*loM305MUJN^XkxV`s54m>bNdQw z+=DPZ%X;WDe^x03WE#GzGa!3bgdt>Dlc&@OznSMJK+t4YtoUh)RMK=4b11$MZz0mOxN09Q&=g>@j<03h)_X)$C)mr#w!EF}oF^%o*^Yt8)XP;OwI7vm@Qe(7js_ zW8}S|QxgHG@3vaZD3>F>gB{D&jRTu(^8~kh)q@d?5i&aH{FW(g4X6eN#3P0-p!3mSK}TJusaLK*%A2|)Qy z0KtUoNZe?oN5wqm&I9WIC@}_W{sX8m1K&C>=>^RB*CfP8_HkF&t^ z;NUu9d?#pJbah}RS0@Y&UhU7GoUnL-*3|J~%`i+*Rc9?nQ=69)UdrxSNVk9X!_i7ga5ovch(qk-*^L% zj@hHSLoNhE3h~VLTUT!dRzjY!Z#KxDNrG=8PWs!Q(2d%CX+aK{S*7s>jeFz`FDG0@ zyP+-mzHJ7P^6c(V_qK%ey$$}*6SyAXG3aB+u8j;ng#6CnO`jYO{<+hhB|z#Lv1WhY z&N%48MQkgyEsFgX%g2Q)_2~VI#nP8COyhzp1yep@&9C4nS zvf%LGS9Eg5k<$M46?aF*v zSA;e;2z2LaUxCX$Nk0^KZSk{`aQ#Y5sj#G_3cgj+CBGP?mVDpI3_U8i_! zTi2w)n@%@qpkWs7!uT zhJFz|qMTsv=B!{ovPqs(EaR#T>D1N-NA0jakYQT`oGHo_2d~I_M9>+|n1;*EtE1JaekiEoZOAdHG`Jx>L8$jZLjU3m7^U zd|>SK`1Mna?F=%XA7mb$e-!R*J`2-xEsh{sd{aUFi?fCG<@PCG5j!L!!MC78~c-gQDeV~b%8I)V=--K*BZGX&s!(Yh5}uf36h zc6owB3^UIkrX3eTLdAx&WHsIUrP9hCm|~VpPGmhsE!Df!Be??5JhBm|lM2SMwjjhy zXCv76PA~gFy#$9KCp7j!p1ls1Z3aFpA9*mktc=-{F<6nw=(92E-^JqCVBhOuK_7b7 zi+hml4oUvGhi4ZCy}0nmNpFU!u}OD7KO;5Iwd#@Ab&V4B&8tI`)W;*vfaeiT+~3!=d5;_t*Uh8r%{#f1elxNei>&+DUitF_1ivJfN6kVy z{^7#ENxHQp;8D;I>~s^6??VpE|M+%=W~B!|0zgnUP@d83=uV@m9mYX!F71axoOu|_ z&O@18m)RqXJ~vw`a$$@55bJwuEzP62F*(J%k)p5F>b}dvwq>P}rPX+}@)6tBZ$G~= zvifxvFHk8GgsIdjV(2A)@hG7G+nj9}_}ao&wd7nH3Zrsm#h{@&)GFqb;h4=DuqqSi zul8mmK2CGUi1!7nI`isMjcGURIeHD$Z%hYHpq2ynL|4TZG|30dbKA+)1!M?biBtar z%unJI4f$Vgqx3_l{Dw^Q1trM4GmJWLLYCKk zJ_eBUn_)1b(Bnpr8VwZSRnn%+vUXTrrkNdEfPb2c5{(osZPVMG8U|1DiuFgjtn1XU(zaUNMStXY>#J5R{!;Pqh|rc1CmP_L z@+eHBuX*DlEn2%>AAZ3b zL84K*n>rIiCI>X7ZFj9%$oID2Nk8$aBeUwcvS^R|!td15}PFyEcMJ(%neY26OQTXkubGQC~{p zYlT!lZ40*Klu5Tu;0Q3C^|#k-QfVAPRw1=348NG&klHuCYbG6~DNVNS0gykZ#u=g<;td)LW@wQpA zkk4nri<(in(rh6>y1+$i;B>{_j=Ai-jRSk|5#RK?CC09B2&J{rrwlJ>*IrME4JkQUczOVnE4?-FwTA08V#u^ z$ap^Ide)HQf(J}g-%CEKK8Kn<46m;3NCL^3Ui#xd8_7w(?$wZ+=#XObY#^L_ChU0F z;yQ!VJz<;#tz)0}^&1KWTycP-U-F1AMCFE3Ogb?W?6FFPT$pDlntDP9!f-LR?+YMHTMvP+YT=n$QnWR^O6${M)70N~{NQguY42dKu4`EN zyLg|{%(*JRtqeIR2nQw_eq3RKgCB44aa&Zhl}AJbFK-sTaq{cNl9pZ!zWGqfm*7FS z*!dKmm7%eKK=&68h)Z46j7L>3rF=cAHZsZ>>d8#Pfgak72!K}y z=fc{-gRkYd7vB!HPF5|*@ZivyyS0EfV(KosG;3M{n)75!0ssy!Ivn@sKDNcbiO@xD2_EKnB6@O6eeVBqcPoU;U%eAF>e^m^2(60tkOLFz|gW1M{&j*3Cck-t&k`yr$Hu;-jMNfjY{+ZhLcNW3oDb`h}KEhNCvV z2bjhMycH-l^YL>d1vn=exzycFb%m|Vg%#qanmNdCqnjy>X@b385c%>%@*_<*YbxqN zv(;>;$9u)%<>uCp)uOvgZ+v8X7DxRI9r*W+w|2AL80TD~YZp;N8c8^VR0ouC@GU&N zC=Nu|zcdQss@-f!-o9FaxFx>09G*3qMzpwEE5>`s(X@^4LPfkY;n$mYS)iSV8jfPP zmy;hRJHyQ7LTN(WRsXXW2yz*tk)EfYek!~|`|b7lJ_)1b3H<*0Y;9$E*)oQ1=h)_U z)O~7sQ80I46)+RJwEx`Va?V>=j_*Uj?5krlUP`F@)anEI`uFvAd zp@iV3FXBFq3uuc;srq0n77NrLZ~aPI%%Cqj5@0XG430TF%^gxwc7SW&WK&tHUK|`v;cUoh6j?k>`p?_n zytMLzO|-75!2bbcIXbE3 z8TNbHef<3xjtAUxA&%V?0ns7e?S2XW1*3hVc%_8z?0;9u*~5oSmo^d|=70JDrLLAF zOwU&7a@$Lh&!U1Yn4LwY{+n63ONjkv^rOg{k&_dBULS4$ z1t_T|jik(QpMUbxp-yqd?Bo^FZJSoBia2ffiVhmg^O5%l-^D*5Ci4ry9di&6EFsD~ z8dg=6l9j^4Yx{@HoBT>mJEK(Od{33(s9ANdzK8p7I~Xg2A8?&0)o=a!4T|d5qQAFP zK&4Xw4Xi=XN;_@4@aK07rr%3y#@d)e{6$sMX@h>IC5f|>TAaKE^U|-C z)Qp&BZ7^#lHPlj5I4|mdmH&FL?T17i=RVvzU)ldrA`pYwBoK+~!U}?q)HZ70z%Nyp zHFT#zVE48u<(?-81C-!Dc@%AZFU|w}Y?@utfTO zX%t>F86!*TC1D7!oKqjqcxouC4TCkTKf@u3SA&k;eJ()yWDv*4nbO+ehmvBlvmheP z+xJx!OP*zU|Chfos}Jct3qOv%QSRi(hkJsSLjO*HM853d<(~djpyHhl8cL;&J+)X8 zrQCSjd9_3FvPI_VZHP-XZgu<{jscsNFS;T{k2R*?3;`32ciohHP`<{usK$H4y}fEk z7BE>ox{}_wdeG7;Eqs|TrKz2%<1tAGn(frxY=;e!r*0B<=_^MQbso}p4QhC)TRiAy z^&2BA!bi+d^L}h=kYHH%)_u3`izc#Z6wDLznR1TZpYqE3q;U@n!AwK#2&;21ZX{&2eB`@x$F0OGcK3+NjjPeSlR9(6;a zLY_~aVY|;!|M7tD3I|VzfWRw+Iqz9cMuKQJ7?8U51)KySnLeFEyu^{tfCJ30?)I?B zPXb)u48pnLcU~kewc;TlP0Z;PJ#O%f6`o#5 z?!|1e5F$+%DU0$oD}l3D&6h#q^*7Hq2QsoPoHPEJ=yCWX6V(gZc;I?#mYrHlzb5Xq zXg+s5DD}rKgN`!hzte#hc3A%Wu_lci5G#ioPV*D2F0SJ9OngqC99W=PJtHD4jRPX^ zhYl|wPh5bBb1o~rhR-`lukFpC?&n95 z`;Z?<2MAKu$;ioCZz#@UwXhT9WH7$g0}l#K_WJHsV(GN>4c!p5e4XRO7|ZDuJObi9 zPdAAbDZ)b!k2k2(g>ZEoXXkau3UZs+mvr={exQt29o)L1q)l5KL zm(FMgn(sf8Qc}h#wY(gf`8LzhObahb0k%V^NMy?)kxia(LV|I>9k0ywwnjE ztgm6d-rDBs0iA{M0^zS` zRy||W99{XfyQvh_%kitfo_IUA1EQ_e!XEwg(}}a@R#DEn8;Lwz_!rkyMi7& znby&;D;+yiO;|S>auz0XMVCt5M+z|b=mfLVP7uEA7>OUxz9O+dRD$bR*7FWk;5uZh zyCJtQf|JYg zZNo1=QOvMRl2CqCz z-5)7RB80sVJJ~G(bP{7;C$Rft(4U|P0{>!Xwsy&Hi*5H;*&2X63E^Nmer`m|RlNB3 zjNrz7d1uv+=p^LH_@VT=Bb4j0^xCT2&S+GS!ZNaXU!27VIA{$3TgdMUTMjfu|5Hpbx5}c=jDo?pyvkcgDH8+O=u0^avv1 zLs$xh_!AvOA`WZ+4r#6u4muBBzqf58&FMp6%YAW3HxEYqJ^azKjed8}Bf!hCbHLL3 zL6<8Ba&lUiez1p;&oxznhv;gjjm4ojvdF0x4wf&?prz5^R(h?JA0s=q^J>KiY4cMX7S*)ADBJ9^E#1qz@GP!b_MNuE0<7Un5?8_L0?mqu3Kcpq z#a%~-41HNjzUID#^8#VBx9{UWPqa?z7UyVv4>TVi-*=zg>CB6b8es)GxP?QBd&6;F zSiw}BOkS_>2iluMW~6rK=er;u!fTY@_l!-UxWmT#C8=l=dCWid7D?DCCYaXJyH85RK7*VDgo+IRMPz3DJ9RzI{j$bu>pu_{vO)Zki%!hjM z=J^5qm4KvH{tsDag@U(b#32>>m0WljNhnMOv<%Ydfr^O$~p@Gpf8a^NI zO38x6hfG11mw%}JTcQcE@cy0$H$lt)4h#uM%Ro{K%jz`Nxh{}rr{3i^%;0PvzdbBZ zwi==_Qg;SQ@Tl!QvLt}kO_TWqbUOT3*1$kOLxUH{#Drxvz+SqFG=cLmAPZm~YF@EA zTVQ`Sc>7kf+k{K1GCRLfR_dhI&)*4P{b<9m{imZGrF0Y+lz#d*&z3LRRep-^`*9mT z9BumH+y<~-$YKU=od+;$dblAS{=}NwSH=o72DNVgX%F5)2AFfNr0n?cW zNde^lhpD&hYO?{GwXqh5;tmChyE_yp&=!~C?(Q_W6+(-aBEh9tad#)UyA#|AZb5hM z=Xuw=_Yb(fWUb_y%sF$+Hn~&y+VuO*H_o1Ko=B6N9;`-f<8RzHR>)4I6)0~T@NXMN zz9WiAZuey;?qI>MozYcrQJ13TKowJ@Z*y+@>dA= ztZkjQc6vYTSbcaeB!Rbd2uA{pNUH}{l;m^c?lQpsC9hw>7f1NHQ9R3^_R`V)*Z`(3 zEaW9o>VFb`l$h_KS9G(%U-V7yDPrcyb$5ML#Xa9K8UK+K_ePiqdRP$iSL8MBO&W5{ zARGO-n27*XE=&O70cVHEB3u0k1jPArPYfMuL~Tfx3n)Eyh66H?Od#7ls1>U}co@c% z9Pq7?hIDZXEV6#jr-xqj6Qp=fmZyh>CwqFG$vO#asCEOX50ax2e#KZh6WMjAZn z71Ni-`DEXo53RUCM7d z>zf3PayRZSQNa8Z=O8tBcI~gxVtUbtKw@nVWHpHFgsA)r%}IEBYmUx?Htm@L0;HI# zY2s7>>Q~ z)+QW`*8vb8o&B@*pkOrxg!F2j)ecf{Ujo6U!ZUh!$o7ln==Xf{76~G@XR;>l)Nltp zJ0`PZaT;UGEnYBv6lYA)R&pI26gKb-Go%;4aU^ygx3v9f-2>6l!I*`OX0*p8D`FK@ zP+qNx?46D!c)@`AF4TjPSVYCA3Q^wx`&MgoS1-iFl6;mc=3X%T2gpyt!9>?4N+D}S zOXCNZVvXBxoN&UBls2%nT0`7>F(%?H+)YS7QVg@K@$<60w{hY5-LNOEGbiEZkt0jR zXrfs)8|LU;J&$hK!bIH&KqFjeVPsdgfC>|<*65dzYTEg{W=S^%lY?8(T<9^680V)l zVJY>0urAJVJdJrXk1`Ag@VB4XTIL-^NHe+a*RZdXTImsLIb>^8l1kA$MVsRN3h4Xt zQ$$DdE~+%5Vlu8G666@wjYTx{vh<`h6bc3gVuoX!JNvt|9GmYiHKb5Mhulav3X^l5 zGFMCTp)B(7+gnG153q^e`&*F{fHfru1e@H-1r-^n2K&q$3|e`Mv?!_!!@B(K(q&VH zMN&dM2w=iu$x(cH{@h8CH-SB-p+?9@(=pQfh%`#&yeLLA;7PK_ZQqt)bRUv~gKrm` zy9DqN8t&k;+d9M~H2;NxvPIHH^8mv=g)v=f;uzg`6cq!J{>D^%7JTf-jL}s!Bk;N8 zw_QfmJlof0*bW4Oj$=)(_Jw-G%L1SHa?gfXO4$>fn93J13@%J(5IRs~a5ERp};m0E}A4i6?uPz$>I9uG<#LeO4 zhcu^>865%(+^5&nK$ZP+cT~;J0jzH0&l3qqjY}EmyY#$NiMbBJ-C2=P#%O9em~?Ps ztuhy0jqm0hYZY0Y;BG;D)4@)o`Fj6Q-M27~<1qEe+(?6Y>(o8fkB|reI6@Bd9sw82+X|`;o6U8k zeS1gvoKD%@na4V=dprFR4R`Y~6i1&6yvO0P$^gSu&ss#3OJ6OesiE#CQ7TifVOsj! z4WPofJCj0(=(npus7?cuu@tD!YrDU7nRC1rs~)DBuDZ+~*~rlm;9s)xOd~mVK@l++ z^aN?W@7c%x=YQDq#<0oNcqAiHlJ)D2* zd2|{b^Tr|{fWErr#3@SOY#r<9@RL25i04}V;(^0es$(uJ4E0mMCD#NaV-qT+y1?9~ ziLB)wk<=_H4|_oCXKy5u9e4|gE5NNWwrT76V@%vdAErolAroG_Xmd2I6y5)^HI($X zPlJQA{j~R{wYC0uyIV9aHhe!smV5GV#bk(a=!i4_toD$P^N#^%d7H^N=Vs@_2A#X7 z)epWc%lS0RgeZ46brwyPnDhY>u0kstpyPQff$n2&Hg5(~C?<@^_dA>LceW;{nz`=7 zs)HyZti18_F@MC~CEchBK_A&@&e15bS(3zc)Tn4|;>GkMLUA5X_*!J1 z`!ipgs5F0Oy|*HgMb`=+E6 zj6Li9HfrX&=*=PPuvGQKMrn~O;^GS}EF%jEkdi++fbW(f+%h(lgj&zW%3-WREH9&3dtw>c`|K&Pjo8Lx9IhD zcFIGCg+K#?DMU8PXgalVA^Bs*@QMaf=JH zj10UxqWoy!(CE(;NJui3Yw*4k9L~(lJU>xTK=hB9DW^Q?v0royPsv-Kb7Xk9L``4g z*VYyWeDw2vkL{d8Mq4{%?<@w{gf#)??-5nt_-1&-K3|ePyK?MEYk(6h(AeO48VnJ{ z-W)w2ODh7PUP~qwEo@D?&a~zciF2$9IEU{Lo{Uh(&V=RPsyk38sH%B*tomx*v9q zMjPfAS-uY!35a82y)GEJ6ZUw?`aEg(U7q!iO2%)e1h^mzE}KQMEM%mkXF!K{^anqy zDp>ozb+6@B|D7H){a0KoiRf=diEeJ?njxZrQL4)m%5)bc z*=&;d>_*kN8+gzLr)K1Gq1pf3|K1X8^~&*uS6N1DFE6ZjT6>9iNc`Ar%(tbJom$m!jximf?)GvoZVcX{_p~zZ9h4_IiTioJkHYFLzsAr0lzu zL1VI6aq}s_1?*m}-AEe7-n%hu_09cMoMjKf6xeK89a&G|8(F9JY7*4^Rk~@8e4?_$ zx)U=3PpP}N_+kHl;WL5_hc3v;8uvKUqtCk2M`wss5b4I6*ZJ^WEy+2r)|GLW*r{?) zia!lXYet-`$+-JQ_?ko5WsJ!igATy8WZ{-NVI|W2mq;w~1@Y$>f+1dYg zUOR4Y)_>f){OB-UI#2d8&Z<{i6#WH3xa{9UfKN zkvYSL<>!5IY}n|#$-7U0{Lvo;=Bs&+o_Y9iCAJyYsO$}Z$M_4%&b*dhpmV%!)movC z@st_a%mYFl7hW*>E!6v=xL0$b{Hyh6xFCy=dZJaymPB^(KrZxkN+GlD)dFDq?%?`L zUYp@??Wq^6c=RUa;Qmy>wc1$Ked|27zd0{MOFhy-U75Uf@wIx7vO@qAo*s|2nl;fA zlghuEHa2OIgBCR3Ck3|CR#IK*1QkkP`YP(rr>*j`Ye~qnY2Au zkFombjs@TnEr?SjyobcYDIPo9>d~}+Jql=Q;Sd(w^dBNkgq(dEE|L`!pDB{rn;Is= zR;Do8S~McXYUMNlEXJU-{g?!-<2IeSR^NcUw|Cm3P1UA7G0hsQKj$|u9f`)n+1z~F zkSOSPbt!nv@;g!6+mR1Wk7QNv-t}zid4{)4&M#Nwrom_A%_;^z#xpA(0s*6whR)pWA(~H#0&t!G|p;qd6Hg$acVVGgjP{8h_0O5s5zxD~bWg zhpm&K$DghKupIjs+=_=7HBZCw2v-a**klQxav$n%!c2PqpF=D(x|h;iA!qZ6-}ceH z_aBa}?7QdliHg92j!L@KEXR#K>^7PTXIrN2lI+GzAF`?jeUXu7o<|O?oAmyB?oclR zF#t@Qk+sR2et_QP=N(9RH$ld^u829-)Hdik{yigV(amY7*otoK=4Z=M)h>_4jCw>; zzdpOryji#Y4<7YNtqQYbu8fu5hvCo$=#DR8RQ#7Rt_e0%BY36L!%6*khO&;2;OK3k zSp0~J(BuO23eBWj4!dsH`wwp|r)j zrDl`%Uh8Hf#r>)dR2qIda0MZm?`>JFsJN7yI(RI(I=MgUA+3M$LaXGQfRlCQJ)LE4 z`6{>>#Fr}v`f3QkYq}}a$TWihl(w`8P{q!9Z*UJe+%MbRUN$tDepXh&vY_Q<7!b{c zi6}hEYP<#;@?{?V*#)>=^?Qjo1(8%r`UbOsI5!^V*jj@2cC6ZQosGL`IV(!*`sYq0$u;qkwVkn2)xIeo-+`mY)y&Tc6!pF0uYF8ubVMj@9P42Ki zqH>21?VcCn5T9dZyM=Zm+eg*(^wyP=@*nzf9OeQo!2+SGoC&XCsWyT_o}E~g{tB@P z$93gmu7VJ4xCK_(e#?{wFlubR;Ow~EmFj+d?8lzddAZ3xX%I42ee#Q3Pyo32XWdk( z>;*ENGn{0S(j;8iX@F+NM!!3|Wb-V)zX>ZUSB`wp$k z%!XN?;^dZ*U%#9?wWPjcx8PsTcVMtJg%9P0?*WRnu?5hq@JHIn>1s!~BFVVJ%ND$0 zIs{`~nAfAn5^a1fIt$Qgv^jvnU_Mi;&h7gX*=rmM90SBv9rjHJs4ZmLDR3~xioo=G zkw_?6WE%HZ46`b+FxZ89G%hdJ<8L6mVC5K5pNoUoNs{TrQ8kxn_Y+=Ej6iK6eBpJx zgjXF~z8gHLU{{VhR2o#6v^W_&bJn#`;5mA+*6n(YkD_tu;Yg^~_~ZyOm9u99|Bz(bhKE3ph6w{ypqo`w(<>gB-yrz;(aFnISIPB@ zLGgDN`u_&Hem%4r%oVqOuz;MKeqQF!2~Kyi`Dfjdj-Dg7B0;W_e!9-XLUJwirIXjc zAv(R?DJ32{zavKbJ1dQJI-{Q&kTA%(&u&tYOP|&p_sGr9&HSg@)ASQR=lXHZ>Ha5eG6L1jis%q5fgt6IsioqJqF^pr(JRsX7G%lm5#1>YN7=l-w)9RAiy~=H zs?}D7v5>5j*rD#Nt%1fLzWBtHiY}05AS257=ZW|;dR&pE>1;c_&x-MZN}Ikc>A#~b z6jXoWTT+aBq(u@85X8s(%XGWgYtU)@`QsU&p%FQo3OrGgS*J`S-pj42dsqLBp=vg{ zn{GkF*cXF+?wf5{<&QosIILM|$GV7~iwT)Q&S&tea?dYhF8a*^61Vf_iLG$eAdKvn zUZx#VtfogZ4E@;mtas*`Sr(?=RzTaV0wyH2uws2&b8u1LaV?RdK!u z%qeQa4BRcpMYg*WXLY{uk$|l?&0KBo?|zbiZ!Q5c9GnrQa!F12oZvZE^a`b2DP+GZ zI20G9J*>?J=;7*n|0DR01+~&&#}Ba*!Ui9psmnBMD{gJ}zJucljbserfyF_qe|u&x znFld>;v=z0j(72K4}-j$0~qHP|EWE zPMf~?y?cGe332)KcJ_bRw{VFTc=s@UXl_V3@kc6)Uk4EhumR4v>3iC98_7mqAokv>F$(%=xB&_g;`X9kZ8$OEEVGNFw3E2s0JxW@ z^L57qox1n3AYi)RHn~m&v$BGlzurx0p{Ka19of}K>24<_W#ZmA5eA5PH_=GH)I>er zi!I}JNZ_nsbGFR@{3m$*QIfCi#>ozos%@djr14sNW)-n6;epLO* zSgOCCG5aG|(piquydoLPo$FlKqf}e;m8J%eHpix*oeyPJo^!Kx+E_Gsf`uVr8;+K*i(^ zE2*8YU4{yD#4;%vBoVPHvDO&W-K+=k-d(| zT<*47B(dV$TlThla^h$Q%0o%)?_JOZc#m0H)oMqo*Xd*#J*8-Rr6WHnrr8*{v(Is=3MeQHSvmQNq@GbjF z71mCX5F;#c-20$K-%yw?&;~#8W7|>&p*=q|;C;XBhM9@CahD(*YSig@eV-4WTreLy z_&y7DuH7k9n04+c8wX?<@1;uyEHC+ zNT6V6o%flHJJqKryZ0J!6iphKzy-?+t14G?Q!YV zQG?N+OXE1?3iR~OHQJ_rU^VBy?^q@&8GLzDY$Nmbz^}U9OTnX#7whujh_}H~YEtTv z50E;!y!yc-Lwn(@e>qL`wxvZ>U59=FT^40RDHCLqPMG_?&w^xtN;t>`fEqFC(b^al zp%77{;)h|4E`X-M6$$mf=-c0iatobqc1uw0k0&ECbFohD%RTSubk1^2yrwmWcRpyW zz+pRq9y_J73B24WLoNvJTh`nI zVpn(scIVw4YGVC^&{U9b+GaG*o7P;LGhFIzs&xq;^w}j2p!KHSgOScYYtyTd%W1w^ zIyw#p;o&f5F1G%EPM-%p|E96E>5+`q^O*?ns6FzwZUrj*#U7+~sC z9PeD&|M<2yJFOe{l%bSJM3hreLOJF&_ph=fxVRZ{6kVK0G`i%EI5x;}C##@ztz=`C zNAmrG4OJS210e!mrJzxvX9|8VJk^$Cd`java5X>$p9+3hDqNXo%m#=Wuzkf;Q`Zij z-V%=<_G!@}+e_I@VEgJmWoQ%~nxU1lBl$6chaSap_d`x&(Hq%$9R7Jl3M&{h%doVY zS?nGL<9PvQliVkvQ#F?&VB{XI;K3mD%sI(th>~&Vip7Ffys)*Qx|0qC2=Y@stI)ZSK+8; zN{&bUYw#!YCwX~#QBh(yH}ua+8_&$xcEx1-n_11usv|P?_Kff==zm_;r|@=`pK*%v zj*fq%@~ZqvOwW`p@v$- zyCc4!p_}P~JNOX5%r?EFi*t^`X)8$xd}y)I@ct}r7Colx#(}nJ z*mXjvhac7T6X^4#pqV?kDS6f+&p($>492$~IW_7kZTY!mkao?LpxjTG@X z^rUiWqHU?zj3JBl(axGmF$XhE=!I2y_Tyjk=JUvM5hUXukT?6SBbdDWj_m>&;DVXb zdp3B&!E>ZIHb!U}Hz>vK8C@y4smgd5;cNPwN>^`GQ%T)LMhCH1yC;XW!uBpR@tetI zd6v2;J2VPq9}*f?c{xRWYye91+q7@H`Q{7COoF!Kkf3tgl1_^D}AaqkNTYeAaTv_pQ#eWqZ-X@THdrmtWPHR zw;)Oqrz5pAGfk9Z-!@-7X>XbM#u3k`V0YiT`bvXAI1p*%^NPXR^GkzZovdbb?=c?v zuL*Yu#^Clxr!I#envHVIzF;YFK3dM8-~KoO1z00*bIuyUA`!O2Hc0DmUM|7?OYvp~ z_T;1d+Z}<#iWW4#XN|!}d6$o83?DS7Kpi(O7dfF19%}FI-x6u51z~RmNpDbSsY$;f zn$2zxY)=iztQL;04;z;9=gMu}dfOnMaN*5KFyWu-Ey=agjFsW7aXzW60RQxg-8tWI z5o_$WA^Ouy6CDf6NYkh?ZEq@J7?)damtwd0VV>W}!*#v&!6p;mp*O3Oe@9A4rS{H^ zBl&lUK4D!bc&Y~7qR>*8!rZhXK4|oqt6jFr6dfEZp)buU%Sj`=RV5~G!zs&Mw2^qK z2f)ZuDcX)dkxGfyM0<4n^&5UfM#)em=5_rFf+~e>URq@t>#*ZwR(pSL5=;N*z4U?}-?`>k4tqGfynv z*m}^P69Ptp5}U1DA>_vdPr9Nn?VjRq_GQH>6ABC+8{xf2Iv$%}UGtVKvBWKw z24TCo-et=g)#4d+!wSj}>^c&EBoGT$?Vc+;_9wGcoV8rtH|E?SgFV z;>KwTS|>TPHP!%qi;d&Lm9VabGh*uZYJm&8k8kfefBN(G>mixcZXPh4SWycDneq$e zP}(Iu@&iQVN#NygF}Yd#i;oml8@BxojncVX zo!pEYnPldt5ckoQuX26lEk0xFFbfH8H3ftae!Mn<-3USl`vY1q^}_xKZz z36j;`Mf-O0<@BDX3t5W;hAHb{w`oBFg~>L8H(!jsce{N>&A&4IqtoM5;?BxfuEn9 z99=5RE#@M|3>5cqEJS}ppMfipY1ye-%zJLCpI5dQ4Gm^}E>@FgZGPIz)D=FIT#0(} zP7L{z8T-0BqHPNT6R1NM1PWm>Q1Ek8XJZkRb8IXaroR^Jrq}9Lc5iJ)aqwf{?891f z?XR&L0WuJYAE5E#{(7e^=(e>n0Io4ywrzuOTWeHFIKfh_nFQon3lcm)$f*jJ?&y9O z7q<%Q2K-EC6*M~6$^?Bg+`)#V5#D)+9t5bD3hj&Px;xw+I8xaaz5@UVBPmbMO!phs zIoJlWB?3a3;%MyFJD>W5Tw=bA78`mCk=egJFlMGDG@W>e8@UJS_^odxKD z*D{@&wHJtxP>5IoLxHH&`Nh+v*sD=gyvaKppMSdH0X|H zoMy%iVI9i#aO*e|^W6s60S);#RwQ=A~Q18X=QG`E2rH}g^i>R1Z0 zh;ipSNSes;PqyCWqkSaao2gIXA1Jq(E|fZXe_h7a`YW=Boqr)Yx4l5VUkkmo8Jqrx z^_av8L?fbY)pJ%mDaV-?&u({to8g9RzPYIM4N>2cZ8>Ytgd{9PH0Y3y`sfTrwj?eN zAAg~ETZoNb&m)Exg&)4kW1+JwG~|u`)z4Cq#GNLy#y!rA9BJ%gMLT?co^^~w<)8jH ziM#T{UlALu%q>&ukwL&CCH68&N&mw zRK`(LvAkz}Ig*b5t5kr|^xa3MmIBV)^7=;QQxfpG@LPezo8dnSMjcpQ6XJt6qcdz! zZdMsgk6(=oqz>HE5f{>;t;+5$(0H%?cHhskdIY+BN|ID_VFTsLSY&HCoSHzQ!jVKD zS9GQI0F~&UKY6=c9Fg$x|M0JR*xLhvetUupB2-_#*nL(~`bJ`JXozoaK`@s}o(j_p z>kZ2J4@xCVS|Tj2E$wQKgy=3dkwH z9L&rC2}O5nYBQ-KgE^17xt_q5MDzfu=gm93XAk6i!9AP2c4pM%OaD5Oy&U70aiaB6 zX)8C$qmtClMw*eRtHt<729I>E(ML6t^?zN-U5&-Xa%-)KG5U{nMx{&9IGS;rM>p#u z>FLXsd!yv&ts(h9r?}k=!iZ<_VsZYKciz zxrt$ed}=Jor!kXhc69F57|wcdlR~#)&u}l`zIhqp5!U7z_4d=kfg`RgAD@yiSkW|1X19k@b?$_nCk$Aeo-zrlFbLHZ4M^1iL_QC9Ml8Msi-;XNcgcdP zqAj$Cc?V7%6%rAHSFo9nlO+vfcpD$Ml?H3MWwlkmQi*z@1B#T@T?NB!Q|vng-3cRx zdB`km>JpP|Cg(}9rJ+eRVSO`D-a=>j5Ey% z1JUis+sGW3Z8f1Y5val)0Myn-e_@DmFBs~Rv6=}!9A~G7`d)YgFjQ|>z5M}LHtAT; zt0AbE*uohs;Eu<_CqLRFvzww*==H*z4wY9pV=W+Fq*8xgq7 zpuuG{AskdKquq)i=O8b%vdaft>2(BVoVxCsc8$BZaF2>t0qx8Di{(BX&-nC7f(MzyM+G1rIo|GS4^b!oKOtbe>pF7o;Dv;UUDfzBg+&? z%WwxSv>1)K_BTDIM#2rnvqyTi5BbH@zV>^Vq_ucvPZVt}i5r!}M=JZw)~Umv-H^0e z%rq|+L9rmVrTeXUW&h?tg6v9OKp7(TMB(mJ^v|5dgs|4_U%F(`16rzBl!dm!%NE=a z;_&in6zqUD3GyH9)w=45Kz-{2b6|Sl2CwIqN>8dnf6wHYCa+459g8dpw6+hcO?RmG zs(@YGV0hjQuYq@+vk}+uqDhLHZ9A?vgq|F0?Wq^nKhCJyTXf>7eMlpVb6NLLO5QTe z4X5rZQDrNfUp!UF^z7HQ;zldmRf~nifvH|LI#~k98Di;`CYgA}#Ahd*Uf>`|QRG2q zB1ru!rSZ;DQ1d}?0NIBN$M8@?XB?idzUcTe&qmOS114%av+Ur|%Zt}_91`Vut&y={ zIfKUbN!XBgB;T1jeIR;;H7Ya-^tdq&c_*Bkb5L+;*Pf@hll#-2O|a?Z>D0&r-Jgd0 z*g9wK!cU}3M&ld!++28#t{y6|i@Ii%2l%KEcorK7L20%{0bJ$Ld2MR%%gaVX+71G z7CTUeYlf3=5nQ_f80)>&3s137X=HaWV_H%-y`%kmOwY&Yu~xIH!H zV0fO(tKEXiH7;d?l(*a2=|_1Z5x89*r%PH9v&=faFKjcApp8D}JVx8JPrclPlxuNh zlZvyu=d;LOgktq5_hbT*Zk8zoLOvI{js1JoRom|80c;9iT+e0J!t*}Md5Mq?>V516 zXz6#o7iHZ%-~a-A@%c1WwDzq3)-vz6acBk#+Sl@NThoLN2o&PXL&c7D4YKB{V{q=k zJkFY?!YM+G|Z^s*_4f3aE2VqYZ~O1wR(q^waK`>#THl4N9*t+R(C@ znO{=c7r-9pZvRjtT-PKCwo~cSupxbDJtI4o)3zYT$kb9?Y32qPHsQO{X#Jh<)E zU0QMsI&v4`G$l9c9?~JS3tu@dpa2b&KNDZy=$W3LYDBD`pL6&3_wVY{1S{X7mT5aV z=t2mR;Xih3;zB|m5NlbZdQp@!f}>%99(QA*D-()S<4}(|NX4G2^*@*S$5yV6F3FJd zmyX+Ri?WgCH=cVF@syLW$AivTBnxt0fVr9_R4})t3{5t`x;c>Jz}aE`e4^cmk;tg? z2k$zbL$+u*lj9Fpk^UXNy`IZ9)vLF0%fP8Ajfnmd^RXE?cP!L+Dscu_ol6a$Ey-!A z`78|wyx>lIiJHFk*y9B_E8AuDOl!k38u{mgX_GlJl`-T>;X|{ADKTN84*wb={+6_< zjSJ<}wrj7oVptSN29e4fEO9&&umb9Za$0NEAw|~w#UqXSh)icp$~Q!$WQli`c`9cd zWec-v1sjd+)n5lJdH6iNgnU~Kh^+a@5j}7T5Ok7Bildrp%0ALoi8|?Z)*G8O6y)I{ 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

    E`J#2SW*~UF>;| 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

    lp%BmL6IU6Q_`gO@ryWpUdug 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 j;G~xM#t49~%YO-h))Ox6%IJ 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/cmake.gif b/SIBR_viewers/docs/img/cmake.gif new file mode 100644 index 0000000000000000000000000000000000000000..b11ddda3d9ddbfb33f47880389378487f0f72982 GIT binary patch literal 28223 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/diagramas/class/sibr_classes_v2.png b/SIBR_viewers/docs/img/diagramas/class/sibr_classes_v2.png new file mode 100644 index 0000000000000000000000000000000000000000..fe09f6b52b141a4912005c5e5f9e1b9e7f794352 GIT binary patch literal 212803 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 OSS`4|MzOlhqyGb{EB>|s literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/diagramas/class/unity_ulr.png b/SIBR_viewers/docs/img/diagramas/class/unity_ulr.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc66456a9abd62a434cbcaaff79103fbbbbd9c3 GIT binary patch literal 50637 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

    >Dvv1j_OzsHwcT zO^D-f^XrCMkCRwqt$;>rsDRAxJ4u~5et8WjmV6q<$0-!@*-}+|WnJUJ+pu)t5g?aA zCTknDysgT_uNjw%|C#x7aZWw^r8I;MsjA9KLEUOtBTv<{R|2d7Q_sTyCny%?VsZOz`lf#GX4|mjw1ffkzFW_D{&=)#M<2%bbo?P7FE6j{ zZ|(}v4}u{Ik@g7eT3=pGmd7YgSgXk&W8lY#F*HM;C(;5o`MDU<6aXrha_X1oSCOi| z@j>wl!4jguNpR)tyAr49?(gp}dF;6~1QrvCs8-@$&pqY|Tp-Uuqi{k`Qe_fP)MY~! zVsX8f^QQZ0X5^A*S_jxJv?m?g8WJOV-{Uc#4sZS>sd@BA=JGad(baTzb+&`D83kDh zRAw3l{O{`M000({-W5pvo!_>X>LtCmlLl=M44)wjYjW7$jllWt2kk;!!g1JLGl#A+ zLrX20qffU_!l9n?DbX%Olnir(zycKqiXS{ZEd090b@SPsq6cs4Wz?Es!r|xWUf2lo zQRf143!Z~u2k%Z{SgIieI{8SSC50fRmF#3!Ht2+$!R3E#tR37X3^$B$Qbf7fy#k!x^tBuHVVf(h@$f>LIV(Lj} zIT<&`5?90NPG}=4-;D!q!E_p;B|h>xzZfp$ku9$6$vbP^C;ZMCyJ%}&Fb!UN`=5EA ldX3BUQ#7(oqV&G}Lj4TMj2w0TxYyv;RMWdmxOn~E{{nv|{#*b6 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/diagramas/sequence/AssetStreamer/seq_assetStreamer.pdf b/SIBR_viewers/docs/img/diagramas/sequence/AssetStreamer/seq_assetStreamer.pdf new file mode 100644 index 0000000000000000000000000000000000000000..4ccb616983209bdff1d85ad6f6329606f52cc7b1 GIT binary patch literal 886473 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

    bvht~yxju#QdYg=2rE(l!r9tA2x-dh)> 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

    =^4ohQz~=65^rn@*5|<56xkybmm4Ca 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°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%0D1iD1PWx@HLQGFoCS4zOR<@{OZr=*BQl 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_ulr_stream.pdf b/SIBR_viewers/docs/img/diagramas/sequence/Renderers/seq_ulr_stream.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d2b3d87ec558a15ee442931b27470ae7288624e3 GIT binary patch literal 1394211 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�ZB2(I=SiqeBBFZvHt<*-96$Y_zh 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

    >aR;xszt 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⋙yc z)QU3MhuyS$GH+==;x0Ukewq7bAFqV(!W7o*&i%>}$$Tp(cQ$V*896>z$TUdiyDO1A zEbdzsV|*+Dszr@cR_EQ7)|E)lDAn+MoBYa~9ryG)QiFTq8_oq?N9dL4cR46h`|ir_ ziZ_5-v4nL#sO!F?M2T01D-uzlvs*k8T)n3EMTYJT9Yx-HuQu-9u8USe>h@SS_P?!}WQS+08#<>`c|Sv_6K2UUi5R2jH(w#DwCa>qIe@I9x&50I$Z z&)JXiMJsxnG9Z8a+tVM>RcdM*8;7@9?`)jArjFCbL)2!VR*zObuFD>Gt)plockPwf z;<=}D(R!F9-6iPG&*~4=AaZ71d^Oj)*S~ldsZVs$Ux9iiEX#D=)&cfr`ZLu*WXeeq zsFh}~JulqJoE|YfRsQ$gB=_1LXWbaM`7L!FsOzH3>TuCrzeDaZWmjHzGIQ zoqWdF%egu2^Y{H<7WOTp=y)s){;)9U!@{5+EX*5B9~Sm~rk90%6KcAM1;8H`27OqV zx37M%uy3`!EDZXv@CS9>cNA9h%Gnuz2mN4S@P~zw;lsk9A1usnJ}k`6KP(LT!NTA# z3txX{#`Wt8=h5{^h0F!+2{8PI5K z9u@}uU}5lwg&#|Wg|$ueFct=XSQzwS;RlU{KbR=;%J_3w81#dM!N)bu#h1oBdh9X6 zSeU(iSQzwS;nTyhusVBLSWCSu4Eo8!#N&sBiQEqhe>qnc&Q~fDk+Lqo2)j2s?Ru#l z#69_w#hu*~IT>DbXDX?Ect0*ZL$d>@zlchf@l8l=_w0z;XL}$A-Pb14BZ|rr-o*&T z%VPJORD$|UBlYcrR);<~6~J?4>WpXI)i2&Px+(iyHD)E}mo&=XtLxa!=j976tctPO1lYlW0!Y!aJHhBUESV z@Op%tHh}J_5q-+p2JKhh*gASi9zQ!W3ipHhtgd|aVi)_yRI^*hdZ@!E+-L6 zJTCB^dS^7(*%|0@B{xG5CcX=zT8vMf%u_k$dsqO6xba zH*$Zs+HdT+i{tDm+TxiW#{ku*2uZr*qL92dGC0E+*SSFd8|>( z9mkVe<}!W#THBm{`OTP?3QKC`STSBKa^1@bH`=H?^!i6VhQ1^B^~_d}!NcP7_+fTL zR}qi0L(i8R;@7g>^A!r%xz=Kh#k{*ezc%JY_k72bihRjoRk8bJ&OF8)5!;U!I~PA1 z12D>)d-v8&(Y@iFbs4?N98Uxt10X%`1Rev#6Tx>{?l%zL%9g!-kc{=kenaH0RBNI> z*^(!n%U#DSm7&!Wnq@A}JhB(7;Lfc~c6RQxy@GvTv=TeFV-$DiX zdN^l$AZnk)hLNZY_{Sns8DPwfDm`o(efGTc)sk3^cITcYith9{>tdUpym}U_rCMou zvMMSY^c>SKIaI&!7o*IHeyNm-;;%A;cEjew{yo*;crZN4?5jXMr4_YC@C4UuPh#~H z@6PT#P0U`WL$jZ_Ppdk5r!u_~57^w(;XN(bEwgznH!cckb2c#vitcE&3ji zxS8I3r9{=Y-lO!*k#=9odtIJ2POOngju*1;tHkU3SmX6zG}=6&x5pOofIdeMw}0`J zL)02aminUF{6?)J9jyk#$)NVSR?M~IRmEBvj~WX%R<9ec&9S34UJj({Qo`j&I7^)c z)o!WGH;Q+Eu7ovWH&%$w*i-h}d`a~YtytkC!h$Yqkokx87M|~qosGXQmxtZ`o2jv+ z><_zxql@f7uca<^zrmt@`@tGnloOBJ5jc_59r10ISZi03569otDoip4H|pq1wj;H= zI)e(XEDX;q6R=-K&py5KP%_Ljy8P=~=+WG7y!`#l|BY7VXH}{L|lWeD}NS zf8*5y&wBMeX2-jd5!GknewGzS4|=BBZ(nK!AZo|BdO$osou#JzqGrI=1I)b+tfTL9 zKmFnLk9rIdHLp$w#+$eOt z`&QOV@Qzq^c?aCyTl}~0C_ij0YS->vSl7|4YqnFS>jON`5VeL5e|ewWb-57Sl{<=r z^DnPF`NwtO_r$`{vV6JjYX0S8M(=b+>wakGEr!+Ao#kgVuLG*gn~n8kNZ*&$?!x%5b)KE)qR{;_p@*1bMougO<(;>W4A)Njzq`^E3v^vTa$YeVJbgex`)dK+Wjt zZ2AsIqSPze)}pgTC@-N4!sZ9csEBa92wP29=r3&-p4*R$i~mJFd}BV*r%cT10TYwtnIT z{!o`2g&`JOdKj@g+cpmAu%hMK@9m!S@)sp%elVO4s(03-SSPuGe~l0Eud%16jk)W* z(JNt^Su%_aE{FN-$k9eqYA)UiZgp%Qqi2yJKU`ak8P#iYgx(i><@^A2 z&)AwduR>|W!UxM2^6Awl7u^??IiJz{wyt(3euvIeYmxLt`eq{5v-NoDP-S>W_4#9h z<_kQ2%vJ71rbw8M1qoZZmB-LlWDsd-PU&Bk1N8(pSAx!3#{|uH+%G!5C$PpZ)kgGB zRE!C_*X)MTt2XMzhi>j`o77W&lj*TN8Sb#}OvcB^W!c4VY!=f8>BANY@(|25hA=K* zxkX=j2)^7}%0@-8cym`+JnO7}0awz-CVPwLH#YJ2p{|RKf*Xx5E8#VMmF&s7S^*Dx zAK4c{yJcG zHtONk@JDJHP%E3`wCgO=4={T5zg9nV`EmI6?k@n0#@`rSl#8x^C_~~Gu}SJ>e5O&f zE(Lrx@y_tZEbk8JEE4tGAKqAh%kDwfSLvHOJMca8L>#ijuf2~x-+WpI$3_`bKK+gO zn1nJd{~8Wx{(n)|9e(zXEM7ZI_rsgk%_Zx8c-OkVVC)l(;LkG!P@kQJkGS?Kzhpn~ zJqaXV@cV$&nB0rV^|u4NbG;jRAN)6e3Avg~_ru@fZKpV%^Y8X%$H>Y`#7Dd}-Oq#8 zO*}Xik5|rjm4S7mtMfqa8jGce;V&$IdS>LkDxiDgZn1SEmtOqg3w3mi5DTfZPsE_n zcy_uU#)?kfFLtGlCbNA|BN2Z{#H{;4YdwuitqQt+2bKce6Ol$Hk-uD_Ca62Jo7!=< zx$ehbc0?~X+Fl`f1sgX$*8PBcdXj7gx;&^1U*Ae5N2=C_>wcUOJ+Au^&(~#_Tdllw zcQP{N8a#IVp;wTzpXd{{>pe>oePb876kUwnz4DE=WJ+*r-EfT(PomC!<Kr* zM3Lr(%9uOj0hc3_vwRymQ4x;>{isB}|7Vn# znZKe}Sf@SC&UpM~%se!V$hFO*IpYDfmkKj`pR7B^2Y+;_gxihxIr+z);MyqM3aYJy+mHG7bJ)VcSxo!s+WX%!;sx;}}i z481G+U=)dR7knH&kk8{qR1?l+Z;elC1V*ol%yTC7pS|oU6j~~ibrj!CWcNyXprPmi zecvcPhAmDaA_jC%$s#YfIha0&(L1~2Zb5HMC@)rxOzylkzuJwxde@BR2^Od^f%j*x z%tXi^nMSPh(Z6Y z5PMg;f!W5L<4d{nfCx(WB5gl#KYEN&aIZnFTG2$ zqTQ8yqf(AcRvMy4QBL>uo#@l}t1n%QY2~Y%$-6M(QYg%5Kb8TJgto0_`{% z8p*Bp(*5cW@n`D8tb5of(m%eOlFrB9lZ2)8TUdtQb~IweT=8JF^Tp|0{Ut~wOZn*NNruV1K{!lV9Yd&IslS+Eafs0vhG_L$$M7x@hXx)0*`Ms9u|j4OCX2 zS^<0+HgAdCVI6;!6b*XHkN+rRT9au&_5NgvjXLA&l3F+$pi zr@V){BRG6UYi;A&(7ubZD{yck6tvONzPqEb?Q?whgY!1E z!rc5ODbH$~%(VJ-Ju2=ucdhBviuy&~Xj|02<_25GQqx*wthcRwt<-N{GvA`8e;B`d zh?VenPM7-~)y1Cn__bp5jQUnaW}O+h?(t3C3Hgq;Y=y03NzX_8eyDq)wwX!%BCGo( z#eTKa3TmH3Kk3^Ql;1m*eZO-rfnTkFgV-sr90QMF!GPmZg+nQJ0PWJR^HFmp@XR1fY2Y%5ZaC95+T-f^olG^#x!)78Fv z+ZSnzT8C9Yd}OV&*tL`Pur_h5ej(WPen+lUok4wuiesYAzB_}JiusMq{a)^BM*l*# z_<&wqExO{|w^F6VI+bWqXOOScrqy~!)F(YF%($_-JG-OtjO)&BG@d8*i6bw5XpJV$ zY=ZT?^-G^*MI1fsxT~eUbv0OtE~>`!jnCMttb4F`&4_Tn7h2DK$JU3okKYV~_?6E_ zP#GoPCOsOVKkf1LVQ9bPYP!>xWbAycG_%p)pYOL?ec;odYT(FkX8S-#u5PtgerZn} zx#APMTKoW8|B8t(V=nL4Gkn%nsorZ8i!+x{$@*|0@Hw*CF zGj7p?7OHwb+L8aeNt;@+{|^D#J7g;WvECr2(CchdQBP1 z*|>XFhH|Etp+uf3%Y*u#T1sA3Ta1KfC8onr2d%u@D!zTK@}J0jr~H1^;=4D4Vw>)= zh_wx~8Sdb>2cYFT<5FxbtWIkUZ;n;N*EWrJ=X%*7cARVuYtojCz&Pff*!%$1nN|F1ZT++H!}=`I)c9Gn z{SmlYU2lq1`$8bFnXByaW;uPv2&{@=SlQXFPQjIXYr}Tj~dOB z@ri>*-WTk*Rogf5^FWOsSaD|F_yK3+#t%9i=F{8YzwztF&*U!VW&BVpTpm2OnfL)m zFX|w3tsSjs^9@$DL|eQKO_XQCub|XpjE@ZH;rdqNhx`#8PyE;;GEaUHC%&qy9WC*5 z-qg&eB+Z0oRPEI_Cqk4wXp82y{iEAxYg`x&J)mmE1n)1D$$}@d+=;q zU6IFUCJu~j#!Vb=EW&0JU(OASWZcFg^5)5jMdr5kthVh5kC9oev>M-W(bBxfzNi&SZIWlYt${qz?&?grq)=uki1-G}FSKje(%jy4)yFZXQ#roYJ zxOn@I{+6rIN%V^C?w&agMw{o31FT`5Jr3OcbC_NK2l3c8K;mRl6{l;^hjl(&v-`a2V~m1w3u~Xtm1i;*6;m-SyO>p{U^(K2Pb36Hjce(j%{tt zl)9R>=I5SseRvz=8429gsD&po>>ph@3+3Q+c;>7Z^5&q`lsCj{r>*X)@IS|o83{o$i7dX3KwuUrLo|-2Wz{7*URwJ#N9i# zzcYS5U%#DyiDy4YT%GNRZ#exQBMxT$$yYS%y~9_Fm#;i~8qSG#96Wpl-Z~hD;(kWg z6Is)EgJe7{6&bkf-_}`E^Cmo+n<-s`DLGaFmnW?#Ke)ZPtcZVux}qe9rY~GMoI`%3 zwGxM|MA7l&e{gp#!ZM<%L6l*UwWl%+UhOI4i6peSnAK!fPX}kMAsTkWJ3y_0sl#S| z-g=omTUxiG!C%qS*6iUk_4b$_T20&_UHW!?CsJnoH*an0#&+14w(jQ7x*pqk%Rm`m zBhc!C_&SKnE8|Y<(Z$nm;+x#EYz)#)u2d6itG+enUH= z$Y5n36h^V;LhFpQm3?LCZjmt+c{8`+UuJXpI9dwJyAly4OHVzK@2SRnQ~#jhu6I&h zA2jR!2iBVSpb}!+j@wo7dLJH}aqAbiy7o!zl&GDx9C)KxzqkyeWw1rOZK@3PkbQAt znpU-vw`5NP4ZiG^96VgbnY8zNtWd%)>QH(C!5x6=St7*RI+FpBsNtj^QwT zV(c9Mv4*Yfy0_}OD__RVli_sd7wZiFGyAMG%J^z39+M}rU8*tKl4rr2&$Ym=9O8MR z$!+?YJPfmE_WXCErQ8hZ#CZ5tfbD9R&Vixc*$_EZygV7v}6aJHGzDFyu)?n zv#kT$%Ddy$^;`6i+_c<|J%-O5>1xy{yhwS`xc5aSqO-OG_Y}uCh26nj2PBF?sdHg7 zY6$MUq(TmI_QZ%5IIYVZyxBW1X`4L(@UGYNT-MsDEwd*8YKB2W(JDAqPS$p`wo=R5 z?t$vZ+d6A0?!a{~?;US^ZU1*XYdhx@E6v*O;O#&9JMp@B-?z`d<5}CC@xpDQ*gb1I zQS3Z*CAj-k^;1xyCu=*}b}u7w2Tr!^3Jug#mHInY9DOz#X3a5uk!)VY-v7~b&LYy1csLpoJH9m2)oz=ua&3?o)W3>`m>nu*T zq_y=|Rwkgk|L<(6Ne&l?y1L5#*IMUD#r%>XwskdAJ(ZDGi&!w0>|2SPSiKT0>I~Fz zTf?BBJ{blDy)Ydz_1;E!P>qNG!;vd*__T9t?6h@eN-NxZ^e_y1wA8n*1}o7;vpdGO zLvJNRJREGS!Jy#XSA^;Odg$dyZ&)P@GphauPWG=~aEq!tUbcRKmLs!o0N&dkj!UGC zHog90-$^Ddy%oDyxTf#sEo0}JD!ut z(+(d+=I*G#KS3*1{GPszY2|W$sad~-L%B{?%gatBe1e~vBcuZLwt32Pa~*yLES^kIuq10AGy|)YRZz-6DfuicH;=nDjPS(A4VSj+-n4Do^Kp zygX8%y6oP#3%D#{?U3!dvgbxYYjRX0K6H&zOY36DH0tt`T2o~ zBcF^P=d2Rc8ey2)x84<;7Rk8bc;(HLqI&T?O?Eb0Z<7I-cPr`{S1qOLO9lW{gUJ97 zG#P+zY zz+%%>O5DS095o)9b#$`PO7u=-b3dG$Z?`)0o1K-R`V&{z)>xvf-B?+3!}p-t@M76d z)SPaOC0d@>=fq(mxSSjLpsc$=+`0Fj-uR=Dov&(Ut*Pexj%G7rq6(C`Z3KGz?nGq1 z8XAZ`=*wsvx zw@yqECrXsJCc;+Ut+94C!G6bd{n95_4;#6wr9{}#U?S{+8ex7#ZchgHOOspQ=wDbb zULk*q_Lh=Q`(?9anfQh1o=*C`%kHV^LH1?m{`gG3x*6}&+eEP|o@u5NZ{|?rb8n4m zfcx(cBx^sh8fOP4>|zy^apECntB%_$0}e`S?Tj}Ebv3(|+*1kTPU-j7hgPRPiLJVK zDX#5UYo~R6Ld3~ye3q4VWVrmJ46x3OWc*^I6=e7?`f+H=w0`fZq^y1y(iPC z!p0{L@G}Bz-jg1^Sk&Df_t-_PP?j&*ub#-6ku#FDkMC)%*a}PBvqmedYYkaiv~Be} z_NgOrTd_?n*C)~MaR2JNI|zL%F*p(_JwB6hx;FRQjJxBhhVi$IWHlC)w{*{3+#B`P z+SDX)MxX3y?fS>IvYSCR%(JO=*;&ZQ8`%hJwmO#=92ak#>a6^;XO8u~MU~;6NOs&tmODp|)7!#b)kG%!AX*l+ zsx|Ax_k1U9JGZ^n-PT>_s|P%B#;FB}*pb)BBAzo-D{b|=6=BCk-_ep)`PIG|^odU2 zVI04ginX|f8wO3q#4mLY)^D&qIClvNhIsqlJlqW&iRfPv*5oVJ;*sKbjTPv?HhkD49tp)woX{+*WUDiPc^tpYLQ^Do0@Cs=6 zqwxyRv+lmQ)v#abd{)B;N8`2KwQa49wxhe&Th6jL-r}66!cqg|>hx{BCEnFkt^4qG zW_(vL#2a{bNgQdo9v|{aX8fq*#Cz+meS2!3j85C4T46ChpON}x*wS(1HLZ*C)_6^= zi$sI)8s!~ZC+jh{d&=odn-}^ddPwx`xa%2x>uRtPT{QKUyDZUS&+Pr~W%1Y$opjaz zj(cW*`xhIrGs2139T9IZV$Xe?rf!tJ@<@0d6O*ZJ{% zsBWgcRTB3zYm-!x_{{EPhhO!fnS)YNQI6%E0UkQ_Yv+em57u*cg{EexHfEeu6yUw5 zMux`c8`WAs)ZI84LVqJZhC#FdC`?4<^nyC>w4S*?V>8jp7x225)O!(rF|VtBI84t0 zm#5i}!wbpZ&X}0yZJ?eN$~H&_ZWZF0oZnm9TNCIClzNya>#?kCw0>~DC8ei;d=jnC zTRJYbFz?P=@c|=&IiV}=IBsO zJ2+JwXm?+gipV|Qq%MY8#|z+Kc?eWFy2|gpi1i+?f_m47UYe`dCcQevY%L3G7- zZRLqUJ~=B%`i5!HaXm&qjU|tSL3xX@lGO=MH}kvBC)XXE{WVY-F8gbs)(qC&&i1Y% zoF6OCyeU-;Xm_IPQOr-iK&#{J3nL z0)NyYs^YzIvhdZ32<_wubdEwc}A6tT& zGhD$&-n_-teCM{S-Og?IuGA`WrSGhAz`J{;&vUvE>9ZdN>i!O~8ZX$2#_ajid(V+K znfQUq+qYFum4i`<^~ z!qg)^i4G^4>vw2)BEObv-Z6f))S~r|#S?$AIlPl`cb9I*t#85feQUIo{Yqp=Or=Vz zKi7`&J6dbU@D_8cw^##JhwHP-Kukr$?zgJ%?%hyfj%`|rWv7Xems68~ z!fL1Q^^bbYo-NN_kvF*GQ^_2lT~`qw+yr0t52t|3DdBtWn|B2o4)-2=#u*OhR($vV z+e)sP+~BxW80kA4$gRuWi%}P3xM5;^>!7KW4o>a`m0`4pn@retQKd_dLo4x-iY0~C4TKY>=dk)VrMj7o$a1)bq4!q=E~&PK=)+dzKfdw*#%;( zt^n3Li>*9t?GAwV#FQdFLd6vZ1uuI!+gZCJm3_xLLC%2rCA!;64Vg;39z=FLUTj}h zXEOswVhxl`Qi&FI2Ddf&;5?a%5)Hr9o8ZmP&JBrT_2j{oH|JH=cw?unGgDf9a`iBE z?9o!+x*DuR7tKx{H$Pkdm}#hExzE{LZmuE1z0o@v0}t~SX{1aHgZ7?in9jSlQ;lL> zZq_C~>Lq+VFub=uwr!QU=ZM*WcFZn)w(GRW6IIZXoL`DkR%Ixji z`oh_0NBCoU`z-p17x!6wW9F7fLZ(*#eb1cYuoJCDkw4>zd=KNNc5N%WOViq!Z(GN` zj9Dv}=Xi#3(PZRTUdLt5ktrSz+TUrY?~9Iq#B%Pu<;h5t+G)Oi>F@Hg2G_S@8}ya8 z_B-aTgxk8Kno zA<+!F@tBOo9p2tKGd76O#rR0hOTFb9%`HZs*Za5=+X^+l$bIFqm;Qy+;I09(-^G^^ z>of2y-(_68kN1JQI*ZTy6~$|5P<@_Q(#bnr6gkRwnfcR$!@M z!mQr?PBgk=iYB9vVPRUA&&lG-ohMz1U4(6RR%uPG;FDS9$UKhQn%77ji;dnLcXvO+ zN}#Tf++VUUT#%6x$Dpn$7FAoKr?$ioZABN+4tGqua?_L04tG$yOEZ3Vuu;ee2ZxD4 z-HVi`ZR?uW-4Wi-*sZLRS3nzgXaKZv7a!n8ZdVM+72Mu!CQlv#wePGvxE0*}(Y9i7 z{jgbvyUBYGsJ=yXPPD^Ed{cApb`txbYD=C_Th#cmJ^xNCksD;rylBn=PV2@e?2>4B z$D=pi)%M)z0o9Mf4#>QIp+ z6CF*p6`z=KwH=k!Flg9J`(!?;K|%Er_kXlq(dgpf&fPD4`n5&J`^J4RfB$=N_2HKt z<$k}asb5`e|9+kEKCh?l2;aG3AY(56#(gyRhVKZkxc%>liyaaEk1^qDbA&lf%!vM`p;E67wu9z(~ZinT=Mzg*a>k zGKR#-6JWo935pEX15aeOx|oQFMy6WkCg2lajdiqNv9ay^nNw`&-o_KJhO58({OWVx z*XO^V_b=wW;4$8JZ_6+nTB8+r#DdODN58Tjefy=vcrse?3z+CNx^I=CZL(iL>sV@9 zi&6=v&2i!Ru|-?6QaMjv|1fKRaEC8@da*0N`tUv`wp$H+aF5k9m5Ygp_(A#C=aXNV zMSd5&HwMA{w!j;LGiQFm;H|Tua`^{+WVSmt9sxgHj7OgS+&@OfobP1p;=X%jp>`xc z-RI%(xAC&>%v^mQZ;hWCe`0*l{D##1njv$Dp4sJHWQ;4|j%NezmipWYk-xM-~&bU)sgYa(8x}ycM+w`rs$sK;jC~FM* z^4kbc&BwFMW5MBV>VUS!4?R;(+jym%c=33x=jcaQSo~nTQ?EUk{KaTfdlA?Cs#X-4 z_3-MV`NEn-&18Lr%>14YR3=f!?VEi8TC3G$ZII)_(~(JJ-;JDY?OPq`d^6A+^XW_U zg<+}-Dy7kd(l2ry;JAxd7f-*bClPtEn5zTg$D0ws)$QDym>E(Rg%8|qadh}2*}`fs zUnDzz^T7=gSB1xm_-kucisME8?X^KX$r))Gd9(q}ZfR!x;Th=6ml+-euPVdAR?ed4 zX!DKZmapVq`=XVMWR?(ZUce$s6pNUl?TdEfaca)lWZgc+HlCmz79G$w+; z)kgh-we@(3^IO&$zu-)}o=~r$zKf3gB)NQiQCs^3udGbWxr{U`K9F7w3JbMD%s0>y zqgIHb&d&<*iNaW?wH2BXl9TnY66`m)3@+|yzv5Pi`9>MD~^?5F%<~s zo4ZzVC3W#yfoz_Lf5pd&^ZcK~{aRJWckKrY*qf*j@ylY6kt~Wwg5BrRgRmMWjxx5$ zCt+RKQIxz0Hrm9nmZy`cHj2m^$u}Y_?8)ZA`Oejh^0#)veh=h&Tlu$jtjc>k+gH46tL^_Q z9;OXY-Lz)kfy}CRz<+rstUG zN_fietHm;_-K|w;t;F-$8DdSQt;pq(IXRDSw`G6M^-$#C{gHWFn-h}L>6`r-e>If8 zutQ>F-+ODQ%0>U^%2~jtJfHn&G@u;&=0*Tg;hEo$P2kqiY;~7CSAXG?8IDvdZG5JbU?QKYk2$)upza0Xj}L$x0Tq44TytUt21#ryL4pzi?h4K1)`iZM2s(W-8cFpg<1QKS%tm}?+9y{JJML;JZ#^2! z8svdy)yJu0cbKN4Jb3c7r@ryrcRUs4>3=H9`Il2so*u(FXT(>$wZq5D^Vv7xjIFB~ z?L#dAE?elU&dV@=i!Y!J=yr7QXSSe60uM+URWNq z{*_z{ez3eKz8IE&ps@VG!?K>yhZ$e-Vdd%nD;}0-7T%$-at+HLJQ^PTo#zK1R-gXA z;$ivI?oPTIeXzXf%oLr8QwwFC1S*e&Qwxn^x+=k&?_$Th~21d%XAL#}7_>bC&_up?ZIyu;>Hhr=AQ)=V4LC?QW7B zsl51SERYNV>fAiv^-EaYC7244xmC;F#Biq7qrWGJjxz7zHgsA&c+&5eyt+5xtpHJ@ z!QFag;J>jJc1Y{)s`bf5i5&VaRtBDorILXiH~N+7I&Ld1yexgI{p|VDx0S!=kF}c~ zGdY*JbtPp?I5!!j5z)S8EwK_}V`LC%i&iQ{_QihltgWq>_Q_WAqWTV2jV-eGjoqr> z%DcNe&c$)boHKJ}*wez)1fr=@+IQCoa=iWwj=tSH7UdMTdzzqnA@P;>;1TgV*=A?c zOygWzKTqBPw+c?)L2J7Q?UQ&^ynAhfh6hs}(b_u9tn@_nkK5Y#>mDGyp1x&LE3(?A zzD2E*)^a~pQc!2ApItk8YNX%Qjv{5)SamPHc3huT1~eEAyPK`{yAsmZYnw8(RoJyu z;{@A;y_tXdQo~Gi8X2rSnVwvc{+-fv-m2S>chVFy7BSqZ=s&^;LfiCBUg+1jT z8N~f{#=E3foW%l6B#aIipjE!YMwa%>0 zz`3i)jEEdj;wUqEpjhDG$HjO9yzQK(wo2YUc%QHS?(?h9eP5qH zd3&BetFs5jV??w5!ecKz>UpA$d-u3w z@u|Cs$QS>p$MDqnZT1em^D`Rq9>>QgaT#WwYIJbftL?4{%D;Zc%q%3*@~jWwry?bz z>Oz*=>fXCZ?XXXFR(kejg!qNIC0{Lzl&%Z?O4&U@qc6A~7Ul*u{;6Tpw@5~6-(n*` z`MF^j8@*%uKigB=`@OL+Za9|t>^WbffQtO)6I%DgLtp65Q1#~gsPe;E;dxNGI~f8U zH%cdefLpa?exR-+lX*bP-N{qn)@fN?iz1P;SzF4^;g-|7bAS3m)&bu7i52X@I$*Fi zOT2OGr+c2S*jeTzns1^tx@$MQdh#GlM_YGoCv$_l8ytV|Yih@L{Px;b7Lgph_cHJ^ zkacXO`r!6Re*cRM$xycDt!fX8g17dEt3a)rlvq^zPKH&A@M&9H!#F#ito))_ANp?)XQOlgHf0KiIF`)mL20iR%5n#Tio}rEe;J zP+X>1VQZV!H{28tOWknnn4AmR{i8+*Hb4HMmg<|zpdL1d*_Rz7CC!Yn=WjZZaYm^n$gL!H>QmkFK728a8=aXFl*|z#_t}xS{Z-Wv4N>4;4=FI%srj?<3 zQNu*P991P3w-^h;4?G7n~8}<*n|}iCQ;WGdxjcxUC(xk=1%)S*>f8 z$P@|H@{N{O8~9${*(_!2?*AIGJdrr-lX&8cQwtEW@tJZU@f_Q^d#A>`Uh>4C*6Lh4 zo8<}j>*B?USoJx5gJr$cQ~ri3Z`Ri2gM*a|+jEC>D;;bPYE>J~_e*6NZ8)Dhue;(# zuYU6^^LJ!XGbb4)l2Dh-{PiMsw8uNO2$k5(zWJdi%dR|az?;B$g_3-2suzPL8E9lHq01IF(Sv(<`LfzsHz@--3hYjN;-BA0_qOXR-m{Kt%f_+UzjdJ1cVlyL zyu~@^eR`I2>}ty@wi?(SBCQK=kH^{xySJ(r?0JRp@3=7Q zFrM-*&xQ{ks50DEWdMyAI5&7J`t532+!cxY>&jd0H*VRd7|*lvkIj)m25=;7JavZJ z?*2!4rFw8>y=;MvkwGNSu&**th8NMHxoKPBI^McZVvF-m$Hi{3g?uI|t5;s+iYN7~ zz%LuNqK*Ii8|TbCwI!%b?HZ@!HnSQH=8NuaeRma^_uSp8>xJFx5qBNnPLQaXwlT;G zXtbYf&)gq%DX1r_eRB7**EXyyC%Q-9@t#zgYJX7u|LY6f!>^~m?tl1IAWr+o zfZ%`d^T><;^yMGE{Ntmyttn~gZMpS>E$Cpb<(Uo+<|>64(f`+9PWB%jvPo2Ijz)Gj ztq)e3;@@y_gZqb;X(qi1exab<3Ue`9I#m!I3%<#%d*M0TTt|Ni0Y z;CH*wsyS`tKlH}u_#eMfY4IOut@wBHd+=Y_E~{sPU%Pz!!L1cS;kV#-+0&}tX;pTx z91oTh{&cZF0s71P)X44+b|U*9T=9MVR{V?Xwj!&o%Kq0RIu!iPAC4*O!Tj{$e@ymI z?i<@m6<&9k(-_e%03>55gu!oTUQ$F<@WEs0mY!807i>)Z!*4X8fBWZD`@TV_}Ia_$O zi{$G% zIfvU;YB4LdKFNt*WzbCi#+Q|5-Xm%HyK%GNH%|8b4fP`GhxA=+wPo(e9cO)xr}-=JMV-MDcceUtC9Cm_3v$Jfx5g*X zA8&1asIS>~y=gpTXEUucQ;<)N9?rOoABV7SD6wA0RL zzIkU9>w~QLeN)F~CXbj$7m*{pgPyYU#C#gZ=_>rf< z;i!0ur@_&TJmdUWvnSfB3#zEmh0-tbR&M*g>f-4)7O_7#-zqy2O-W9~P2^;iigx@K zLEkQOiLzrx9C6MG@^r`;Q#;~V3C!6TsIhFM`wau{4B1!K5a&)kjKe8ByIy4lSwPfr zMD}HOLG94j*6tWzRJPo4+3%S5a5~PuWLTNEDm{7)yL2@z&K>8-FUraP%nb2JAL|VZ^|DgN#dx*P!)OvdG}y)9OB-aoN5_M!z1#jMM6Vm8kLI>Mr9( zUU$se*K>hyruj&iJy8mn%9{)Wa@_bwpDJM%t?w)4&% z7g-{&yOvreK8Zwn5_L#4h#y1-m@kp$+S=CSOL)+?fQAKSy4XBXXjNgH;9H}Y`bU|; z8d?cmhpUJB(n_qJoK1eKNbAgXbZ91yCc+|ZB?1QdbeS;^anga`4QEv7;O3@WE+Lb}cglXM`nY z4sCtTh&@5=jLh`{GV@@g4o*7r6Ez=qpHl1|x6kUQAb9|5^~pueFw=@>=H{elobmW~ z+&butHg(a(?yVWMRBZ89+2V=!`O)8be(}C zmRpKwMIR=2ME9chT|XU5O>0pzpfG3C?I z(81;sW(-cXAMOw}pP5ViYK^;!T~8qy*z-~`Oak&Op=&Que&0=7V%ifn=NO#tp-oO zt;=j{^*8w#>>jVV8|#WPSN!J%B|mKIM(NsMFmcVkbm~R?%KHC<4W_OOsn0TF;{33N zt&O5^oO{~Cc-8EBrE7@~cE>$`=qgc^n-|LgZ2q*03q!b@JHF(c$U5VN$r|9Tw$vmU zH}*^Acu-ehx3$`tC(#u?>bS}1t(E=K(Pm=bibS!deiC`pcfE$$DB*YwF_jv_oUK;E zq}Vpu2pm@Ct?B`dPHxg?7OlKbd|R#mo+zA!yvZV|74=4NMrI6pPnCfs$>^Y4GwWf@ zE{tp}i?(LgYt}Yh9gCM&+gkPxt77wbZrH?e@wDEep!EcN^?_0iJ+LxteHM>mTz1d!dAF$1%zn2E z?6|x&dQ0U5YDA1*gUexAxw!S4Xu`fcNu@WORe6`Mv3FXdL8>xhEqfv+|ytH^XzCD-utB)N*T$a3pBkYDd^Mc5N%RNt7igtI=WC)%Whw zz;v{(M0(*yzmc1`<(H@=+y(O+Y1yerg=Ib%Og!ZmCLD5YHTsID z>ZN^s-8t_b37#2rs}A3eHDZ-S7+)Rh-bSJi)QA$%m+zJBZYx#*HOKWyxO%GR#5~_c z+v=3J&X?!pH@pT^51T3%+{!iV!S}gVLf--(gx^+%(R6DlzJPUieDk%eVWDJqzkrp< z4R3;)1;WP<6fRu6RW2jvcMzCDQFqP`GFDz-KP~dbM?*4APg5?Wq!NY zS~>8tnZwLJ%+wid-V$jK)`>T3fVzH3EdzS))2j2XEK-qxw*FW8MUx*FpSjQa;2mdg zguH<#bp2o+iC@HG$s&H^Zst?JAjgbNd@~U|y6{P=&ScD;A6#&7Jau#-2W)-3d2dz~ zc$m>iJ(0JT!C|@K_vS9*V{)%3`S^ZYA`l6+5gwm+y1LWr&_J}A3;^ohX!es2qR;egYpimf z3={3RL~^RKeQWk5m9RF;-l*~>qTDw{2F}u3$7h$7nU605lvp(J463&> z28b*)j2spN?|!ZCfgPg>cUeW17fJITcI>Csk>J@xm-|cCFGb1(e@CWmEngrRePRAY z$c{^1h}QB}|6*A@AT!rCQ?ZqG@r#jPE+qR*UXag-%e2Y#`Vx`&U@&5B;?$gRQJHbE zER`oSQdSPWWqfk|dCz_vi5!$(O&@!>|dc zkw#9NzFViDEm~_`@A*8@j=Q^N%77%1A^Z)hm(RLI2}e8lwX=!sv)1#kXeDQev;y98 zuxvYcbJ^-~u$tZ{%w}lX5yvaDO5%OprA@X2?XH^|K$9bP`~|#cTg0w%kN3B4(X5hA zYici_%pAiBpjJ%einUl~l?YUZv5C4PbHwr!yWrMo_*h!I)+t(TiJsaLKeR=a zcgFTaD_>OPFWPh^HGX%nQOXDhXKleHqjFpJ-9SB+FeZ4rSCG^X5kn3K($lDqwE{M+61(i^DvMyFvr@aoYSk=rlZff99LH)V#&XZFb8Z9yd(>%gM(&M>a_NncOj zua~4opshYLx;VIV*Q=H*hus!0yZN`8p4wU*=GDvaE+gO$@|~yMo6U+1T%OC$EnggYteKFwyFRmC0q^<>Yf#&Chp|s?1u^xmYnrKA zu??tM)>`T!vY`HST5}Tuv^(x-9~ADuQt@fF{bC{w zRFB@-V)M)(IT{(8X~QCC1}hcw8<`ymFBvbYp1PO1<5K%fB-t0{o%nP}Oom;D{R3fxK>Js8)Xk#iN+80Jb2~!p>w0o&dlqV%s*Pm zlgxBaM#>?~DRaxJkJj#9r$q zJ0p|qi3~wgU4gqY%5K%MMrtk4w#ANUVpnJN{jFlLx%$ltYgTsP%@k@F&mA4&OQ6=- zvj+`c3DL08l93X zaM%dhI&v!-_Zxh2Z;@0c<~p&QtjaT+SL%uJ@EPgJC*gGdeZ4vv7wM|k>_O{&6S3No znM}ks;}VV0MkAJZo4(8s%XUS)(T(NjSu^hJUNB-KwyPp}LGK%%;qCeiDDy*>7gQN; zYsc-bP4=L9%id#%roemp>1>FW(Ycv}NOCS}FEZ>cn6exhak7_or<$54YXKrQ&!$4A zb+dl`bobLUF5~yKJhM64j~*Uq`(E3mKH^4jSH)A29gJP$W5nV}rtOL1TVaDT8vYZ` z_x|?yjZs0>lR1R*`TADZ08@X1v$KPQ`XklI_^wYlH%UW3KP*2yr;ZSUjQ%1o2*>lf%D zR@iaZGy2xmU?sX}>Md^lcW1yIHP#;okInd1M%VxE*#2<*>0itmYX2oxevYVT`oxa- zhSw`zo{v}fy{;3fjyTxWMn+^0C>nUj>c=-S>+p1Zm>cPjbrN^k?^zNt=S}zYO>BUg zITIV)sc-G!d+duvC(FXxpzaMPHb8qjG<6}j5VwLRB0+niK(vZt?Xe)Zw~2|pwC-U(tADW_SYJJ%!Y8pw_bSW^A=FlZXOu)Tj$MFte}pi>B_~)}xE3-_(=# z1{f6u-tPCXvPZ=edWyKQ?oSa#-F4x#14JHES28%(7x(1b-AYmKmcij5GEO)|WM6jN z!Z+L6^aY27<)?HdmygXt;ujV8gB zFxHH&BJZiFI=6ei6D>{l^GUMYR0hea-pq}J?ne2Avdw;a>!Qhi53DuGkW*{6Z_gLj z`=~$?75as5?XH&DPxQ=wYJa1c--?57_B(TfEzEx6uF1sFO5S39F4{Hl>bJPel5gUu zr(vFhqhtMtJ&jXgh`M&oZ{I(q{gxg&KuoZPNMmNxV2x?YKxj-q&d9nOh}7m+`Oe zRmHl4J8svGa$o#ln6NVN)>%6?T9(_Z@$z%|?97H*%vNTak?ObTVHm69Vvp2feJe4O zR##AJaFO{%jn9e}dzG)K{pD3SNI&1&m$Q+e)D!rkxjkRON?#a2Ruu}{MP(V{xG@7ASgB&}OTR>DQq3z`pSx?;*(5_e{RBX9Iw8QNFz7_pVC zF!ifX&WRS5kLI`=Tu;ahy;VFBLXi!<-pk8A9sBWjZBfyjTL(H4HlB(Re*$&yyfvb@yXRJr zv2kQb?m=qpiQ%3e(NFK8Y>DD&0rYQp-WLTlHIc$uv`aRS)E$%Sb%goMu($ zmq?bMw(s7})Z=|`In=BiDTd8_cDxXc%2(oQ!reGgXA@RruFriuHPL;hwzAI?Cg_vs z@Nlo=;yn}Xqwk=wliD9t|G0SKFZzZbkce?+rBs_!Ck!6TMN2SE`j)A>w-q~Hrbha% zAzW2CmwJmecJ;76s|>_cWUxvV?OttVz*dpL9A#@Q)i~Leox4qr%Nl>;(a3;*V`W#O z2a#_p!?c3iw>4XGs2*SprD}0p_;;{+#@1_RXKvobE?7pZ z9JAUwQcf-j&X8Z2e#iU%ef|x{yB_0@chNiAr?!dC zb~muBfPSNg`X14hnWrl8cMnGI$z0%!l**6R=F&xbDpT*msxN(8U2os(AN3fbBw1g( z>M?`2lK0mF;gQkE!Dw0ya!a^Tob?B&HIO?Bw(Wje@)@}N8_owcyM@)c2fVo>eh==h z@wRr?Kq-E55BPFCaZ2Bw;mX{~G^@(+ujo;Cg6^)q&*HIKfxg&C2`3}?o|WIs*uJSm z$g0FRt$QLs!TZPKOTGHyKf+*2%`nDQ%sY!k3ko zxER}ZTx1CsB;TviJn0UK`rJHL%RljLO*T4x=@S{qTr=}<4ti>aPd-wIsjE{5d)HhU zuv9k z3Mc4&ljE~m0r!-qx|-3j9$9_g6kFCJyH9R>5lI<2)r~W9w#U-UH}7dHx)|h>k1>aGw9yi(BiG; zhhw}^KhIL>fvS~0NuHXv?(imqfXWoE z6KvaBKm5d4n^|Y%VK3)8`$SS>igIxG1w=k#!dFG zzV{x1Z>8=IM`o|VUr}V{Jw3N|^Q<~#FMA@Lhy?A5BGD@zy*M|}#B!f3TL0KqSJ3Kk zFp&b^h!SIHD`=~oa51epi6-tlax+xp9JbM}$-13uPcO}jzK806IHR7}J&KO>U-9Szhow^oh3bwN2_Ne(BKqX{z4E@q2Ag z#)~GW>OFX>UhwXjI4c-3xv6nMU6H(H)#0qL`HZD(*lpsCS^3SuM3k{eUvMQ&Y=WBO z5}VvP@7d9e>rMFKAv6G5R>EsQ8@J&hZo=;wIiBFX_>oWFqZ;RReN=fZs6)bb_K3T`Fk9*@1_-DMHbu2NE&a8rL-omqG@-&yc3GzscSrU>iv%Yx*_w*JoB z^!3Q~lV2h1J&Hyyvrwi~m_PZ|Liaeb76LUFx)#!_$o}!=WCKuZkyKI#xiiTIE<6+;LbuEuR*go{R`rmaBT^4&Der0P z?pTu3=*wC>T!PlqcWP;F(K;@XI81}Qpz1+ZbzH_vtGfl-aZa>gVV`AH9}n}~L)2$I z6Y*JCBeB@`z&I>km|s36Qh&k!9C?nrbfbW5dQ32s0vc=n3)E2-+Lsk zunSMK_Rybr6MW3C7+PoHRk04Uf5ae+r`JwI5(TGCOHy+`T4(*(h@@@rm3Ic@o0+XM zpiXoK!wMIb6)u(sK=FyJuRzU@V;%7BMLRBUjjv^W1zM)-+>kJq&H9SgobJNv#Pa?Q z1XOup(u@=yptbzEsM$pCQ4fq4dt`m(??C2By&tLL!BamUob}ZMX^ZVEPdo0#&JAm4 zq-0gluAn+M*lV~*8za%J1VCFKCC@OM>MU6nRIOxv1!{dXc?P`Se37B~*UT+>Mh#}( zv%bO>&B*2*83bF!a*07u>zu5wcy?EHm5FuBNUYY7B~NDOQW;{mskOjcm(_B$25-;I zx2<+0UL$c^u}!!%HJloqaied3Y15sRycM((;f0{x{|F0%S3-CIbSpejnO{p`M{(X0 zt$`lZ!$IR82fN-thl`06m`dbq$`T@VmMrIc;0`kbSed9$6Jv>Ue;+onx-#vp)37~b zMNh*DFvxHOBcZ2#tITB$u$~D&rv^aUWVbM=-Zv4eE#cneE9(Qj8Wx#Wy_))LkXZ%| zO)asW+WTl(U+I0*SG(hV(JHcJTzp21resi1xGJpuK$YRP>NAWqeT~A|6^o85Z*oPn ztc1ItU+H66+BzdM9eIr`;yJd%uY$6EU@jdOPj%*C8F95= z{=aDZF5}E!qvBVE<^Ne0F#lEw?TD*KT=%`|V#z8iQMPyT?BVga?P zPP^V%P9qK`8|f2BmRPLxizYvA>(K?44vVcW2JiYxPl#WbM}C58lVlNmrdpqUMSUoY zQ7Nev#_~RS*T-QKys?pyyr-webKwH|-gA!T0#1~tmFUFh%RE{@)Zbz#pY~wqWbA?0 zfEoe#-3#it(|UCAjLqzZa0{v0K|ZB6^7HO+Z||a@!zpMbct6X{@To;)p)AN@V_!Cqv4Rn$D>ou;d z$O^yVy7YG?UQCMOpV73d>)*cq_6yF|LEDL?-$+v|f3kMu4?57B3#}q{^F)!;Oc{AviLB}Ske_jz6|w4fo<*nD4y>n?DdZT`Hps(qS?jiy{{-8ze%2i8zN6v7q*CF#oq;LP*3A zzMBE9v$R-|eN!c$R`?NHGZLk#H4bN1BIaaYa<0$DVMN*wL9xj}q`O_6#kz!<`skDD zRb4SI(jyAV+i`hoZI2aFI~B!ivMPCa4YSc3<3*`)90@J?edN(fESa~ajsJADKxXL7!CDin)+nLXFtfpT(GqFW*-&4P&YUY5 zv6hP_2%K7uW!bR}R;}0LvS>mp+d6j4(U6FpOvlB>j++W4@2So8Of!oUD{~~a zJ>Ci@*h86v>uprj>I!#=mg(&)i>QS}OssF_d?4|rrKuL|i*1Y8cv0@nsr@Rc~kusSYwWSAD7=mj;RhE{9y;!6<#i%$Yu0XGRy|?2T~nY&u`!H9skev+ zqEvaE3+hP(FdGUavAoXAQ$tZn5NqnlzIbZ*3>-ZWX^xcQ$yU7&lzflryVm06Mhjlu zRwDp^ljZ3<2$MLsgPDdX*^*qUWf)gqW233^GG$}}^Q;o8eGu#=GLM2Fd&fn7y_^cm zaj~(nlzLx8!6stD_Qilk7W}I%uyL8&Iu3*a(w6!V9m)juwG}4!t&F5ruyNZ)XJl1l zp=%CW)h`mlp!P+unTs+s$I@!H23f&^%=)0@mK-117s75{LQo<=?0d;mY7HrTE6+L- zOxFA{bFD|vN-DE8vuV}CTq#F=60xfnGjg$-$f|-?WnvXE<5n*@ug+T=Q&yJc82b)l z8jgD~$w)-`Z(llztkpr(Kkb_u8}F%C#&XocwNz$GtzI7;JA&<7JL-k@omj<3>vver zEW{?5URgHPpM8>&$+*DRH>S+=VC&?u6j38XYAMHI6SVTe{*BH=9Q=+3X*J){Hz=Xx z+zvKtf>QsW*y{o1o%ZE*atmRpgvmg;P7&$l09>_vkzbdjl2X60l23LWwR#A0Ty*wm ztt}Xd^{ciZaXK#HY+vG0PT&!>MC7U!D980!~&^3?Qy$2d%PikOqpg|jtN4&MHwKe;9PTFi9a`Bq26 ze=it&yo?XV>C#)R5MKHkId*K$@465a z<_}e?tYNvY%?69F;W$s>rJ8nK(Ju-)QV)qgj?OwuQ zxJ<3ilf#KKuHF+1_*T6Er@=l-q;ECLAg{4egjW4!>etXHBs`{Hiq z8JvYE1Leu?B@B|+wy&*VS03A1p1X)z!EvE9y&|;(-UyCu`DdSHHm(-BmjKGDBRcch zP)7U!uV8jzApV0tt!;uj*HrY=I(DQet5vrSuT0qd;UCS4$lzWAdbz$;Z$o0OzIzGu zpky8Fj9O=*IY>{GXzyMEX!aSpmw-jGw*WC|X;$8~fqMzgh*;Co;V0*7z6)MmfXw@9 z3ax@#C920-kIWezH>)!3pd){0M0sOW!;;yH^UEl{`7j9LIodnspBrDiRzK^Gsei>( zIYVPVLDtZq);9gCrWs4gaHx)KRm9grl9%JX*buD!d3IV!hItZ?^e@gjC*Bg4rEgjh zB|D~miNt5woIbq)HF&$&QNzmgCpUZA|l`U2HBTbKlmr#6(PmhYBYc-GDIA`*%!KSB*;Q7Ghe-s z4FI@^FA}8sWa}VI8J0B4kvfFsk7F@S zEXRAh{$mD_8R66-^XUv+SB}-uOsf>F{%FPOBA&D_R_}aTtD@s%a^7ky6jVOJCl(yaoxaH<7^(hZ4JrSByT~wY7buAt`?H^^9F#{vM={DVZy$Prf>mIR}g8Ng_y;NJO); zi%@DrQQCbf{m9=5wSY6D@kX?p@ruKSZ+*Xu4mt|1Kt#u$E1s(N5j@rt%agIPb@cM$bmV}^tkjo0?G;t214@|Pfo!_+aqJlBuS1koyZJY!myvF%IT&bZN( zUnVI3QKs9PRRFGqH(nH$ePF0q#Gz4E?(G`}hVtWow5HO`c9jxBX7ROeJQ;;emQ$QE8gTzaB8B|sUr1@^z5>U)L`dgU%a^f zkD#K796VMOZpB>dJIQLP0`X_Ynw1n(B1*-G4jl;t%IO$)eKeXNCW+9U%|vKO*1lN} zIQLY?r`0&KRV~Ft8MkqQhWnmaE}e{5*53A&T|wDpdtio-ZL~SFk*N^0kv~k8^4eC) zEL&qaj8aP(Q?zB5O?fAige_}Fyb^AT?;ESL%ND)VXQ2jlmi0UStX8_$OWzYy*?A9x zuce3@O7Ymnab}lIoJfx8MXnKOrMx)^Q`Z*LnuL-k%R^=_J)qn|c-KEthh>*d35WZ~ z@4^TWZ2f}}ZZ;!8oN2ORvll3w6=a;CGyHCI8&;I1vdgBnlba}Dnu~FB$A#~-1(9rq z$&y)gIX5iq*Bj(1iql-L;hPFmD`GUg7UxiNDS1BoO^%H1?0IvuSE}kyzgVG^sj5Y( zv1dk92v*8FBfgH2y@F|_CiN}o#&MgGK-n|-W2(KM4n9LRVPwRN?v_Td1F6y89DOlTpW&7-zh_c4Xo{6)W9XWL7T&W(kb9UB5 ziIwEUPrgL5Yo&TTHxO#qWJv5-tMXQ@>N*}oe@vSuh}zk?9}TplDQef$XzI<*30rB+@_^j9%wymTjXwXQD;B=npSkt*04C5 zLaX#89LFnaJ$O*9=Hv&7oY7PM%!uz{I2L~0_!(@jNfqOFIUMaBXU~Bd(>^;tR1u=7 z?d3+k|B(}umc<(`2>_TRQ(k+Ij;W7S1Yvt_$z2`2tY`mAS-9uvS%VrD;jXm zM4Y{ikh<@Yr_hg;m+x`hpvpAQPHWa8v_9ldIM|nv)keex_5>x;aH!)d-YPmYMgG4QrXf#GYfHnLX!`nfc3aC0qXH zSLE*eg3I6js=TsNql%Ls^g`){#zm_w0);3}D&NZA=c6a7-a@R)KSWe+BE&;Gn30yh#f@Uf$mh4BEOIS{R?FYCW)B>$(9-OrX}$6{ zXjToaas8#f&rU14C}YdtY6`8=R{jR_knfSdK~t5>-!JlaMyE&snt9Uq*K% z`5QFMU;f_KyGj_ zC>b}a9eogmIBxkHH0x4m)wV(9@5Re zJOu5ymDj!WR8(NIKrvq9Z}-&>TWolZy|sPzG#v@&(eiktG9|HySs;ie5|~EbTHhxH zweM)%wKsjEHJnGUIS8@aH?0h>3?Tq@XiSZ~djoIhQ=Gix*A?`X+{@A;gLjAX_t`Ie z$LX&Ip3gr=tkoYQZshHVZ+N|AM_i28@SEc7=430E5y6-vo{`$j-y@6hJM}|}Cr^UZ z2XP|92C1#2pwmh)$%C}2XW~MHk!!KW0yvt*Va&*6+4dbC@6HO(W~B#Lw>39fS*^hk zwkc5zrwqk-Ag@!0tVzl}ulQ(a`oCjL;|+q$NgI;xvMcQz#oK@M_X|GnpZ;$cd0)l{ z$8!@#&W5P>-Px_pOsil0iB|JIt*O^0WYO9gzjIbTQi%2#{=IphAQ?oYjg5+f6 zFk|xzi<~BJ#`YH@l`^fYQ>_z1BA@U+$H6wWIP3O=xEUoTIUerCwi>*FE@o*;5 zzUE2h)=WTaYQyeHB2nfB>EVf>tooqRtVEejw46%DnJ3OD&#-_xQhGQw^)Ps9ce5U7 zDhU2jlxWyJN%ZepgJ+E^k$H^3#A7aMl=}I?!{+a#;vJ$faU(?6(3D#O$+tr2LA9Z3l7n`rEwBy&rw?w%xi z8J~512g1elSkx}EegaKQVJl=Z7PNUSMZ~!$Dec;ZYgS%X7P9?B90)st%mnle+DvdU zC5f%cM!27L!vl<=@Q(Ur%~#A4O_chd+*H4tTB*BH$e$fnOs#%lC7hg zT3hf|!cfa(H*@zS!IOz`U1Qb#2RO_66m&T^EX<^5z1W&ua+9e-Gk7ikBe&^OvWVta zAh_VC>Qk$`rUhrkja;^#-5N~zDY0m~Gb0M-gFkW5*cm0LRSI!s*flNK^I={dZkjbe zN>Fcuprm^EoKdGNcciQ~$HN)d6%(7~gq7h5AQs@Gn`vO({H80)89)B1WdD1NKN%*I^M zHLb#!<)Sm6Wp;XeGdI>qtW1U++iZqJxYP%2T{||nf?~&13+g4J<~{X@?9q2kOWXCW z=6ob>%(6@%=i8(C3#_-1E%0-l1ah%!N zGvD%H7!+N!)%sga9Tu;qvP$ckRvnK->i8*t;|G`3S3}s&sF=|2Z37yzqw$8@-x)uj zPi;=&pIxRiVliU2^7Pj{3a^8b*>kv{ClDIOPqw{2{ms7dlU120Yp`9TfwNkl)`VxC)RNSg zGfpF<6)6%@4k&+XTd~nq9udLLpzQDlDbws2oYv&_Y&a^fRToc^Fe`s7l?_K*<#}4Y z)37K96YZPUqhn+$AB@fiADhi+Z}@t_)8_F4eo2!`4r#oDM$OC&6s}4XF*9)XvO^|$i_FG)*e8koa$?s8%BZFAB;pg4 z7-OBSCsp3s-*G#iV&&((j*Ml9E70guD|(l`d`eN|vs2T=@S;>*-8UFS_|IJ13R%df zw5Fa2Tltn$yyT};%izhX?qz_It-H@L@>btQ`hV-U_w!r(-|!;{=>L5A(f={n-`@K# z22B4$4}ZcTMk=XsasOEtncv?3)!+Q--~a8OzkU7Ve|=$<$FKXo?ti%3N+tK7fBf_R z{`Y_Ts63cmV0 zI5NEsatD1I-$xl_e%%ucxq?x@ z%JRne!6FhsTEBf2!PkTScluIuomMzw5Prrjdx(TK*o(*(vkngaOe7 zm;4|6{i`3dAeO)Vfy~a64Nk1;|8-hfs75R5H*7wreOJF@sn|j* z$BLt0t6?!4-g&mIoF5+a^bgta2RGx%6SV6gddy%nQl(Xva!^BOY%L1uL=FloP`)}4IT{7b@5p6qVh@>p zl4@^eV9pYg>GNz`Nti+EEi2+6D<^T{bmqs7Ln4Op)0gcf`a0Y8B@qX!)wQ0pd7|25 zT8}QCz97B-;P&r&aJ++?&(#Jyk!r`=!8dwA6yotUtOR0%Bq(p=wlK@S(ew|{`W=#S zJD4&%ZLyMfxexxqZw{y`G7>%pDyP9YnK2bgyo&!a$5frnpADG@qDGv);W)I_R#q3$ zl`=4HG^xGNB$yQet?_In8ia+AH}SZh?QEil_&taU^gPM_z<6@UWxVUHYILj#{~a{) zzTn$RihT5CuYBZX6`z@hi;$nHDA!Y^!X&{CR^%O@=-je{n7)pb^MLc@R4?&~YPBQvt;B9T6Y(3I4@p)dzP?lLx{67Ujdc zsIe|u`YK8ku!%=Jfx=86GqyOa2gaj79hnV35FQk771?*0xvklsM2bF%-zN%o+~w)M z6>Clu5MA8y+}b|Y1Xn`%C9P~Q#5dbFIUi3=jBtOK{kpU&VK$hf31^DDC&zbg$wARv zv=psib9`npHRIO%(CLXDHJmDzJZ|4b>(v(<0on2WzhwPOmhCvOYl(K{w&CQHK5FxfYbFq_u5_lZ;p*|SyEyuW z7vUAqhhI0h@vAdWM1*}oVVN+h`u)}tFFucBLEU=q4~~xYpKC{NL@j8wl2Q@<(Xn<_ zX6mZ5yZ)0?$N0qAIsW7N$G-T8GP7Ix|D!M7nJ2kN1j2T)j;Olm>aeY7D*lrv(P9|M zZD{*~>oM_5qvIqpe|%%55l$8i&#(`E(NkPbC6*HZuBo&^^A>NMRAD7oP0HLE=tCkl z)#91)DCc+nW-D>=c@jwz^Bb3$ocH-w^p(~~^dRM}#@iYOqqR?l-FQo^G4AuN=V5ps z5-!hH<6RH6;(TV4D#e*|WHC-v57C)_By`e=5O-sy_*+L|X4UGcr+CpH9Ix&OiAtF@P}K(h{f1>&?0 z9UotTTNTBBK%D8PwQ^*B@XBo0%C3BcZexKm626u^G``B+c1CI|x{b&5Nwj!dSHID?_rWi=+;{lL9q`x-ExPX@?rM+7$HRED zQleF2glD&Uji$iOYl(P%XE6IP=c%kuF8(7WzcW~iB=361KWr9W@lJm{%C`{z;A+mQ zT-22g+3tfb{-0L&9o{FiX4<%6eaGdk(Q?*!NW>8y_DIwsefMKT_GLElwzi_xSgTLM z+h1#`vv{JrWYK7zL|Y#;dC_-T#cyBt9lj_r+P{22LiZuG4Y8YN;Tw808(AI8QE`B} zdRAx3&+N`}csyu)s~u;X=^KW1K4<0G(W+FNmqohoAm;ozZ&e2L5=~TwuW!}cazTOK z_))x#9+6q>jKJ~i>T09mR~fr+y1Y!^?op)LWDct~i65=^L{n$K{X$z$7x;nxgr>s4 zTB}~sTETq>Te;1F#7I_j{G?~HKH)b@t5<#A_&JOhWrgEk48#}yV&Bb-Y4844vJPl+ zVt>$E=^`1pjORY?KW~fQ$S@ITStkApuKnY$-p`MomExcG)ibBdZBMHjP$p`pjEvL-pn zR2dGZme7m7HgR|LA9uL7ljdoSICAa@@M<9S&KY?8KimYGg~MFj|K9lwkpwDph4VnI z*yJ&_12bIIsSoC&UWqF$w%QLpq%R(JwH0wjYcdqk+$V>^1W#*ENB;4*9NR(2%KX9e zx{dZ1oBg#ob4m9Y9n>71X!JIFw0*gS`|O`c26YcAQSM#$=<4FGCU1>?WHDJ z`^37beYo}Co#uKrHSKw8HOXue+i7K{&2D+pTbIeDSL3R)%l$+;XuI9jVA09@w5Do$ zP^zX63Rn7f2&r(dY7$4LR88ve>KAGZQ1?f!YGQWDZe8PFvP%zY4XJL8FYFw@s&;uIax+(SMSR7V8Nt5Td1sG# zFY;9bmj~&eTM@?uj{VLfm4>%|v<)Nq#ruEYtSZ1TSZ^Mt6-$A759F!^aM#(1Zm#2W zr)a3_YLSwXCBh0%mp3dy_!@1XxaH{=`#AF8-}@O^=fLmd$JK*?~)fB zcdO*EDySLOYRI;s%JAZj`^kj#-Q24wWKu#j)7kWNraX4FFKwG!_q^MRuY@1_B%XNV zbX+1TUQrIjGc!|9DAZ?n*UToh*7gIP&9tB0=MQ@NKDKE-KnJPHZXLlb-?Hzm8@vM? z8~nkKZ+xH6h`Df&1uv`MdwdalzJ~PNh23dtvIw~QK*=JY-uEfGQ)%>@ z$mdGuY~#4(g3EL04Ai`MYgw;z2!egMa+?@xBuN5y8#n0k954!yP;LFFn zr(^xaSL;3P$zP!6q>g>NjO4-C&U?bKM7#jB`&Z5u|9)a0p8&sEUevWxXA47K-!KCf z*xn{StUaFkKwD*(5go@b!Hv(07<2sV}OX*E&71_i)Ud zI)|^b2hZym?e(#E9rrU^a~k2W4!0LOg1W@(z`GlUzCelU#O6PqO@0I=FMxXoN)P_W zEy~{3h}VIVLy#nrbBA>mmj3(J*m@GR-089!fyXYY;V4=g)u|C5boI!CQwxClWU?jb zSI+jW@yV=Pl;{weM&6wZb#B``OU`4a-SO&^_*6XXY5}xVi)Q@_s&{7Z^Fb%?FRXss zH!GeGs>e~K#xoWLc=%Ph`ZBXgzDQOBE&5VNFuT>O=o>WNBwswXImQJ?FK6Z1F;T$G z$JOy{Z5|oo*`VI$iVUFFx02(Ks&Qadr?;(Q5$kO{an+CBw$b3`pkL=Kw02FJ`T&{x z=G0%#D7u(MwsvYOGr3m%3CW|?t1Q&xRTk(*iJy8bC_bXRnGv^8d**tqJq-IK0=dK5 zTImm7M6Mm|9O<3xhR%cHz0`G$nVrGG(P{0;y?cBAcyHGRXwdAY9H}-uGgPy%jFK}J zY-R6MD(EmMY>N!Z`bd#G9biWWU8bvqJ)d^I_nxq#IE=!b!|`PHWWlldX6&8BNa7R! zxOLcyDl7r2=N(Icdvm6(c#BM#k^XT9F{k@@Y4RAj`z@)>K-rrLH`#aRgjrpHw{Axp zpn6h#_=6I44@QG(lKYIQK&Y~RPKLQ>+JWB&1#v#nP#SL0etM(%|VA1_7nwM!!W}(~3H7vewf& zKDY1JKN3US(cSJ>a?tShWc|K!q`q3}!A7$hr0z}z4IA^V=Izkpy?oWV+$?V^+4erd zVvGY^oJtxiT3$!fT=vt-CGwECFWl#38-R%hsKf3t(f_(DBZNz!7-tog-!{+H$ zDB?GI?VWWko~MNjz!8gf4-6^m_c~LX|i>*-JC$(nAP43Ym%D`K%p0n>&r#Z=vyidJiUuF|; z)w4xi3F*t~q5EnZcl&VlRy3L?tx%%hpvk*d@!M*J@K$ee-*!>KyuJZIBsd+*ySAMpJD)c7^lxCp4A%QfpPqT^+e6 ztHiC)jke$NXGY$xd-5&u!wtGIq7}*y_v<=(^UsfW^->*mw?y1MCNqfrZ-Ch~0m&)lrMTcuddIG~l8++8`3`uuD~L%@b6Py~LGI5g z!&+TWigx=R>w#9iCnCYUJ8f3CbvH%vUvHW?Q=+xwqPa)YO5Z&Nxm2{f(uoUZ{^4D} zqnS$8I!=AQaj(30iiWr0-H*1ztPd(v5xtC+RVAmHwa&1+I=1fQjJN@9o!!||6J`dT zEh{|Zvw7s1!SRptOP!u9gD$2SXG^^sALv<=IDfU3{RmM{Yb(*vaqZJ;u6&;~@4w?7 zyU=$T+PM*>*`W%5Oy1iG{z2p2A8qT+wCwWeVdG9qed{z>iC$#2p~i{WSg-4!2VeF2 z!?#B3s~4dUmf46fzeO4bNL2;eDo#%(Ydl`BFR({((eI3@io%$U5USmbv-qLHJ!Zhq zy;*W2kpn=}RrvI2m0y*KO7G%}-k>sExER!P2~lP0$ZO3_Uo`8JlV3KlFS85hC)b1C zleOsK+LHNc-EC!~f_!>8S zhE`FbXHaWM*9gqQTSi$sCfkDEc>UoEn%x1qI01LRDRIKLH{ZS6AHUO?ywp81@#0Y% z;V&0O+V4eS(htT@d@_B*3ZR}w8)3>z?OBJ|)r9MwcQ#>4=GOCWk$rC!5ME6r9C!KT^7(9o_e7>yZdn;- z$8JOQ=ND^7Y!kMkdI@S3p|@0q`d0G$W4Wv*K;@L4d^u9>Sid7yqtS3VbE~(&;HSg+ ztTLd{$ly9n?RO7dUsnd$IvTaAcrDd9VgAud&!%i`Bsb#FM(mgs0c}Na`Heel6!B#G z$~>ZY02z6GcOKHdJ&)ne1bvZSAEod7uKU)hN0|A0S`rTMEnD}gGkqucu|>F5yX~yR z-30M=RpDhLIa+adMf7rRawT_{S{-(;{l_~}iKJV}g8P>)c^-@4w!-XlXZ6)C0CV9>4+*I(dKL zw>4h-w8{KhmS@gSvoi2TVn(jt(krO>63>2g=Cky1?r7LpXIJSgr;p4wmm!&J^g>^) zJUb@0g0_p6Iz^k`Tb&&lCpwG_px3wJZAzT>Tglqv@|SzRJ3|4S#YbTtYnq=Si5~+`5Qmfcvmr`it(0{ zV<$G95pRC5Xe$z|z@4Yav6%1m^_MP!v??;6# zdO|Ahc|a`)Ive%Lq4=16(`x2Xe)vAx`HQc1e)|8#WaKOrbuXnGyry%q83n8hcg0+bynNQ>n#ni5L22PoU9*j6Hp@ z&2h2nr!N){)Ah-(f5clZVo#h|y6n4L=JIgQDcbPH$8VBJXP^-hNIQTMU zwS6lN@TW>b$E&FDWtmK=`G4{e8n16#oBe=VQDqGT+KMQ-7W~GHeVfq}rw=ltqn+VJ z1n=uA-T6D8!*|>F#aZjo+8KqxL0wB*zc@DQ&8v2t5i8)#C{YgD3{oedsj_EV@yExn z)oJ%!Tq8LyI?lMM&ag;#gi^VI$}LytX|H6JRL+m}QqO!)GUV{1i?1(aRYc1?I6KSU zrplZyAA=XKM6aiC@>-diXJZFY-Ue>{5eDI3=Xcr{&VMQjXN-qGShNg4m4jut6Nu$A{llN&A`(#^T-(M(P$!xl2LR<0VWw+#Gbr>H?E(CSeq0Ua< zXSrJA-MfEnbNXhky_b-D{Ma#U4r*O>D^_j(aGsiIB@!7xuWyx$kT_Ms=zWD zc+tlgKlW_v*`AT~qVscg5`QFqGQ-3V_qtklD&fzA=8tQ2MdV0Zg`p|X&PZwja(Bix zSK8XU$YF5g8yiNe;I5_2!#~Vsm9S4D*SGfF%wbz~#+>q&JgLr(fg=OBEBaU#ZO=!D zA9a703_sDgZ`HfB&FfLroxbOK`z+pd9u$UFrnF|RpfXb4iu~U@r1 zC=!D7(M8$qe4(?}r#bmhqnVr4k@|dNq0vEHYc0m|#`q6+vEqAREz6v*a=|A+@lx6{ zTW@{IEXF;pR0NTED78b{j2tSBPb>GgE;h6zHOjrEUa+0`up2(o+B`Md2W3y?gOy6}M;EU7^Vaw&RtnmgOXr4!@sR8tAbq{oodxGo4<`#|T%sTzlU+4h z8@)xu+VN@SMTg1W@~Il_Ix(^Q!+*onw=eSGWXccH7VB%IsNWYmF5a1ulHX=i*tBz_ zg8xJcHOwKH7b~`UG%_5QsxLZg^b+B3jl@iw3$I23uV#X`K+SfkkwCS@?GI_2jC6Zp z;KoYo0MJhPohzpXj||GRy}azmIr7P*FRePf8W!AIBs+b~rq(ELA@}iC?MN1jN3<2q z#&UfUjUEF|-_48JBShcbT}-76YIP{jDleRI5~|_xN!SKd{oYzrocB~~phy_*u`Ou+ zG3>suY&o3V4%$ApdI4$W#Cc`fsaa)89YCx4-a5!C(Y|={#d+#;aP)M&@#KqMNBZ)~ z7-n9b(=L7fqENY*XLN(?AiOM*bh~okYOWEBC9W@fe^_>>uJu$bf6vNXc;EGH#MZmy z1!siMM9c1R1tnUnsK2PzqwlqL+(s4|C4D#dYU*~9qh&|hZ46`b)=#u`T=JAM1gnRh z;iiTI%~~Coh&_3YEchTZEyLptiC-$Hv(~bXvl%ZWBYn{NzP8C~gPVlqe{F9*I83Hb zM&?dt8Q?G0oAE*JG|tzVGiZA-$l~qCi>UArc<1cch?|n1*z}HNW@Rj5F>aZbO%j`+ zu7MJppv7^=g{>1OiAKJSIab1JK=m-?bzD3wx=b8<|L`Ql*4!!V%4#x9)0Kg!h##wo zAHEp6DkoKs-zq&BhzihWz41YnVX>*s)gdvYOytgA*tOEPot2b&!@}|O)Zn7bNB(er zJQFFC2|!yNEAt|8y7-kBoPBf=<_GN*B+=&G%r|R*reh^S?;a>Jx>K!uj*CrCLM=cgmAJ-gzfi}$*6Cugc$jnT-BM)jo@n(> zVtnED2K=sQED^S%_iq0ao1j&Gi7@U;Za*GQ1igQa@xyJ==#@9eySZJO%pd&2_b|KC zu`U$tuNA^Ee5tj3pS2CB`$SpWJm}Uo4^GANJeitc<7S13CVlH=Yu}1QZ|+9kU%Ot+ zX1f8{5481)Pr?X!@+^;O$Im<=HWL1=LJ_djsH|{x~}_T{MyU0n~~| z-%2J|;$%W=S8{_ro?6x!fx{Tp)kX_1@uuyO)q|+{FE)uqTE|PUrPh16Q%e(l7jL$n zF1k0MrjGr>HOSaKqHv88=PluyU-EZGM5S*^L^-3w%XZu^eL3D44qvtdZ-+x&;{_+D z_Q%eNy{kmQtxuA(K&_pVOF+wDjYU>#ms|8#VkYAz(}21PHe;!swaW0yNF9)8t;$9H z3lSw&rgx?5v#g9x;) ztoGR8FuzsEoy4AXc8w~I&GCPJ<$`;M(H)52(g4lF<$Q6fp)l2d-a<^xC69^vJ*l$V ze}3Kc(|XJuIsW5z^te+CiB|*jTNK`%j?P`9evvuti+w9`8ow~^MOihw$8~*oFQntv ze_f;6x4c#MQQp=>u2DrhDd*QcKz$PJX53{kJeXFpTcT#D`_;|C(P3s|oU85bq?n^b zEY9v5f6(sxxus7X6y5)x-Aq zD+7AD=ulp`)%-~$#x>p@;?b}vt6Q=Bw%VhFI^}U+Zx55`Ek-kJ;JN`9Gi_1>cA^(j; zvW9Kdua;`x=2~k^TN}@6=|%I8wRVmAwwq&u%oxOOCETfk8PnF?lJCgju8VX0L=R4M z-drE7t zafXgamP)0sHGN{|u!#e2be}%Z0H}A&%qI9Yc&B(+jN9PRb8P~O*96&@xHxNLPi~g) z6v-!v(6e7G27aqQTf1)=i+xZ$;e+u;pFF?D)}Zo%_EQEbzGRnpIjD0p29&QAmGRNJ zZBIuD$pSa7Z$U?whpGqccUUb^K}KiEVW9GvIm>bJ+_0TI6m<1TpIjwV8CHFU&wMhR zY9{i@R&g?6$6a+reABw!1f_?YBfa|$?YpYZk+AWxJW;8QBj0hgHjaOU$w6D85IyLu zyP@>SxX5zP+KSX~_5gKP>~ahEtrq|DySJD9l$U%T4fZahxX*_5L0z9DKZ{~ht9j=} zj=Wr%+z4L9cb;~=>n+n+n2o;GL^3q9>um6h&NX@v`5yF>xwaK9xUA*O(c$e-)HZ1N zW>bA|1R zL~oPvJ2O<=dK{>~-juZl&pKyYqXV$NP(vkP41oNtA8OPG+4uPATH%pvHbs#n;~uO6>?z z@A+*a?dfmR=dD@8fP9kNrt~0vRh)fOZi=a;vk}NAZ*3oBU$m5Q+j<(jzEtP;&gnPt z!h6&b6}FxLQopSJVwrN;i(7X-c8?#J^B>Ej8*9E7!{Qk)F~t1O?vX@xR%#@>89OJ| z7{(ux*q0d^2|=A#6ap z3*r}Q{4g=lScG5H#$TLw8;kJKNvfVnFf%1QClDJ@(tn;^e^VgY% z-5uZw_uteAcaMK#``f<$#s0e3{mbk=jQ(TyXT(2vGOqt&M`Rx-(SEV};IN*%iDw0W zM~vvnjJrRY-z$s!dWtB~S70|lpF&JCm?S1LyFXJ8JQRX zcLtp;|4sCTJD(Yd?8{6}W<1@wUp^pWK#jy#i?vSp9KB_Sxy<^Y&OoiUH9Q8IUDf#2 z(_=v2dfugGkmw@ZzUNJkhio?C-DjrZiboH}*pHUNtd9mO(O19KI4l>o(C)_U;ft{R znw9bL7b97|1HPR_FyCxpuVI|VR}?^FW$pX?1{7oQ-2_^bcR_rQf!&X+x`OOWZn^ii z^{u`96{_jV)u??_Jsq=(>x1&6DCaPdSd?3eL6xahp7T+r>=x4MlP5oD@@EYc3)-61 zDX25gDgk6ntGCp{V7~YSYKWio$>Yc-R8!^$Y$-P$fVF~=TeTC?JULHgv7^{{=5ThIIJ zbIq%N@Dmx=|9@fk{`ks?b4o^VmG;Hc@agY)e)`<|?s>fN*YimKYkV-@#qn*?zAP4$ zyyi?#ztM|peOp_xdoCo(JysaJ(M5gquwyJ0%V_0T@$_kC5Vw9`Yjy<~seNDnkbC?U zqShu>+IkF35YC=gqnSwUK8?S2)Z9GO^^}M=)7lDYt*!Tl>IIJ5zMY{vKKV_h)P|l? zh_Zs`Z&5NMa2d@tyREsEf+wO?P~YiEmg9ntOFL55c=d4Fn$`7wHAUrU-&q^^v(xcl zs^{o}6_MV;^W`a+Aa8EXZcfUtbS0aeb^YSStqt1RNHgc=_q}3G$5m#=yNcF|%3l%- zZ#{CrrB5W<&e(aEI~wnsr^)HHHle0E`&D-x$rCB(Q&#TIgE)7QSY_4L^NgbG2&Ap{ zD+8==R~vU%L^#6<7AHRKiSc82>6sx1Xf%BMO zBmTwh&xrh;Wj)6^Frt5H84J2+BigDMJ%SdG$x8gi{;C(E*T3IC`_lJ8txvwVeOLWs z5&D(|x@YtJS_PhfH}lr6d}OmnUh+*mpT8+hGzOyq=93DMzj$M0XQv;4h#FA#BpEl6 z0N(lwTl1dsw>OmY)_9-U8OzgJMq$LXR%^Wd7m8l!+t#qVZ#lnJhLd+5rG$xG^`DH( zOv(ess}>;>h3PJv4Ks^;+0Vb_RZ_6CpvDf@%k84nHZXT*JdaGx#NYBpAGA8B)wo?7 zJUHX3S=iky3wF*oGMd#hcx%=t&O&XGA=9^3V9zj&Q=ek>mbT->&6od&Z-$d|s}b1x zVI(y&Or@rmTeC;QfAKNc)4v$6NBiX|voRyWxvk^emk~AUlh;9Aj+A z%yHR+xwv%P*_=u?sLXg#N^9BAHJ{Qq-dVW@bxk3cbZ%Rv<9GC}24QUw7EknO5&NRU zvyd`SAw+|T9&GXM3E6iz_3H;I(c6}4;)5NRdLiS=m$7N)eKj<1U2R?)=iU##UwONy zb-u5??%B?*TCx6drp>Na>eWN@lJBu~wK-9OK5Glt`1Zv%$xGJidM^9MsQ_F-iMEDu zuG|fd*H0#5_ZaC$&PYbKZ_P<7o*o7Qr{dA`X+3Lzl>heZgKC@D^;)q_BDqh#J5U$C?J$v=>?(SKLx38oQ;oNw4Ry+Q!Y38P-lmUEtac-b^i&}b-dxqCHtry)- zZ}gSk+3!FD>IJTfevR`!+uZL?gst79Zk)rPvH8_W$lpED<6Ussvb|xDSfe9-`6RiY z-t%gAYUA_AVfD>&JUgq%0f!{kIjfG8ut>Ba*0!xEov)~s-=Z7KN9$(vc;7wQh;7{} zFF1R=F|BwVeL;y9_s+klGQ6!Fw@i?Xh74N=)gs7rx^Oo5-sxQFiKM)<`yb*~qhe7` zOC1qJ9ehuATq5@5HL~F7%#=6?YQ<+A>fG?u>sw!}_T9a)ZD@U8+a$yA7p=KFLeEq| z{5A7i1rn#UZ$-&?{9SE(M;i}14*g)}1Zq{3x&f3ML&Q(`06d;SYTt6P#|-@|+honF zR+LdKx0V4Vv$W2cyyVWz(7xI>SoyE&pm$|zjg(BzUl=zQulfR)cfv`a);&hwzYhw} zJQ!X}>*C42=;QKP`=YhrtY>I#Mo3LCd87Zt54RZ;6R=XMApdGl`(_5t2#=8kz(j@j zDo;0Rj)*mqX{(lrr)yO%kbZ=2-~dq8){o|3M}6?o95~Oyiy65#!J~?z<-Lb2ckgv% zs)&;iPxmiA^Hwc@zxwx}Y9sS=K8$}@3lRx<)*8?G?2N9~2hSaS|1z^!!M{NoN0VBHGq0}m_|LoL-FLc!dd5E zyoI*)O&p`&?s}#20QGb&J_7ol%V~>XqA6a%?`L#%@&}U#vI3_6Yuhk0v)E~H^5}!Z z?9Mq}Xco|7-G}e~xpQvTij6?qA+j&K8mS^KFEPtiDPLT} zKK`9@G@1Iuze|oL&r85%leKnVHq{G%$GdZ%SRPyprAh$xd?wY)2ZaGY80PWG_-3*y zsAmp(yz-JcVnasRvO8hQ**d9jX8otf5S?!_W){0rr z?eD&GKC7o<>qJDV0#J1p&ibIp@WJTUCy%Ab3!ts68dBU@c?an{6;1N^#nuiQ@=#kJ!>m-y1eX@*y5h7@2nCG z7t&h&Mqbd?KeYvU>1OUoSma_Uazt2As>Bb9KY#GWUm_04@?=>~ zZ>b%3h9-aV)@UiKf8=W}*U!|;*%3c<=4VF`Os4NgqwXryj@ywy1~gcHclScnx<_BH zzPlF6z6aK*r4lFFCR*YD=}S(#=!AJ`?HVQQ{~%9B9Cxib83AQC(v?@9+-hfin`Kg8 zAYmhes;kl;E7kANPP7j*(u$WP8i%R}(dq1MMZewMZ;i7$<@TVA$BY|(Gjii+VKC6k zxycm#W$r4iu&{rr8_irc_iuh5{15cmHv?6Rlal|3u{#H9w?o<)jhs}SJVBvhlS;tbhw-r34pcUZT|v!dtk-;# zce7&WcnGM~Zv6$;$T%XU!mq<3ZN;lITm8~sIVvNb&trvpX>d|EDPbOpD(aP<+(ps-|1!~`NQ8OeO41ZjX(Z(5R`E+S)ID*WYU*z2ayOaGa<2&1BSI{4UjX(f3Gcd271~Gxq8|C zKA*%U*Ei7%?pic;251uDOQ7aCA|g86zDqJbcPz^aSs8$;Ut%kL!KW8J0(3cD+YHS= zhRI^G+tZ$XSI~!1M6t4Qu3eWyliNVeB#m?8<>IiV^%j{V3T8&t&mN__IQLE)e_oA{@INobf}QXD2D z<_;J)L7V#<7wm26zZY-psG0GC)Bt?!yRMZe|3vE5J$bKvv1jJoak2H)0Y=Hzmab9S zchRVRW`%GGsPmI&+PAx8`isuvyD^V{P>4>Wl6F#n_9{R>{eDL79*2 zSY5RKl?QBXEfyvPZAT}yF}M{}`J0@V=q$UihZ;W`f3q_g25Bo5Us$-@LsgNe822!* zJX>85-KPtsAG)0P;OXM)H}NFyEp`p6=iy1u9Y@#DXa~GAd937}$Ezq|P@dgxPqGkr z@jzzr&SNA?Edgo;d6fpY9CuppNN`u?XwBm9nZ0-H(K>j$gxDL@Q?9J?A9NML2jg>~ ztq1#LD}eJVTFY^<5HgJMiFDAiW?~zhYA2rVZ;dSq)CzOcwu=~N{>GD9(O&l?)l+7A zt8q1Yw#MH;tsvuHpvjxe$4J$Zo~mtD&&Lyd&-p68i40pshfBfRBdf&Ai@p{4FHUPm zxcc=~<~rY0hg)Awhs!#N7h3B9Sy_HiviyU?a-im`>;{5ri`#?rt(OV)kJC4`w6?+W z=Y`=%ugzHW7uUv0eB}ewDs0iQ^<`rRp1JuN9n@quzs{ch#G8@! zVeOFCM#s>iV>q>{cb{WtZJBX1*W)Dbt?QZit#3u5LwuzIdE+tX@tMuz@y;}yk|)*5 z{73JK&hD-10gXQV^`grA8^6e!Uw!m-D(%u zGEt)Ei<+CPQG@cNzF}V^b;gezR3EkvbGLK%Ph?tup{#ktb*8BNsAq{<$DADCT1{TF zwL4_iyZ*9SW8wUpyPV;K=e@ft)-!_q656MBakTM7^+SbqnaBOkAMdDU9#q53`s(SN zNCYJhVZqZuG6b!96aUpGh*@>})^+Xs-I4M=U%OgI_}f+WH}~nW^n+Vv{qVP^%|Cy! zxr-5>{(msi<;%VNUR1{ai*uLX=h1eozvqYVeS4lgPuaoWpL*r}zF+w>BkuL>rb@n+ z$_>PFzkKemaI9iMd!WU=S;k-CXbzIUMLp3d!neZE<$8aWqh6g>?sRUq295(QqgVlm zyFL&1@T*H>F|7ST*4JN*47Of$Ag|-ZuevG|m;VwizBMsVjh4Qx5YK06ZA>Q?kiL1^ zJs0QFCtH7tTj#pVlHVW6%!`PrunwAx&d_1$osWWU#{WEw!l?ynT`En6Nf(r717wmsawm$iBp4IHj%R^Dv#YWafQsm0{;e zzQ@+>CO9`V_;6_LHttDGYpe6@TBBa+I!U{AC3`Y~_xHk#4C+X{A@9lVL9(*)GlEPG z)^cYJkn*FuYm48Zm)P}MvCVOXPoiIEPTTaoeIVZo@0~`C1Q;`()jb#SBvivxRi{J8 z1tm*qDdlDNHmyjS)>XTGvS|K6-()HGAc$_C4Nm42MGCWY+9IJDyzkkGc1Panw{Z?X z$FAlx`!fE;a`+fr|A!yx4TIdsj`Zb|WJmsGUhSSsd_JS6zCq_*YnijONUO*0xoEv= zE)fgr8I$w1tvULl8{8Qs2Z1(jBeps>m(?rEFjgh;pv=#D_lr^q>0j4cpKoNP*5NH( z4PPY$?pir@66ifIiSNa-S79;NRx4pSPtp#A3JZpWQcup+I;-c+-WzOQYX4_GTWHh!L3hP&FWU8pnTW7H$b#Z;P%NByCk&AsIJo@kH- zBMJG`n5I<^1SK>76ux_b0mI|H+i%jLiS(&42T(H>>j7Nm_()`<~l_06Q}O zJqcw(=5bHf?_vFm`T8;$L^qX+^O)nX z>U`Bt=X13sGw?k`bF4*{40`<_aqKx#7+Mb{j=|d{!3(|L67C5nfVTG-DZ!1uWPhrY zow)EOYn6<9l>)U+eZ76*#Y95ZlkV)@Tf*4joz`G4P`NZw@C)1gEDh1F^oh$Ejm`VX{ zucpRUpstlK6FfMT!UrkQ`d+2*!Rn0G%QwU*sM+T#1?;vP0k!dViz@w_)!-fEug+2_ zIJab<_&f97ZGrHwdO80mc0gs#NU(@q*VUck!XN%W(`nhzP9?^<@;+T5{^TB5{+I2cCM`c;sdEq*xQ*z zO3&`iwIw3m`8f&IFkE~b;<)VF#P_dK5T9Q32v9VtmR>afSgV;+9S$RFdq;{?3bggq z?J5OvDioec-`zY=-(#Pv6qtK6p4j)?9wGheiS_V~^yQN=%)C040#A3nkxBty?0i!x zV4rIBDg|&g*NA1_7v0Ve&yOA#-HXap3bbxqwTv%Dt5+$2J8mikP`N6(^@D1?w^g4R z6QoiA^={@>3gE74lJAX{$eUUKREe%q0Ka=-GHv(v`XqC>CsQdHv5~(Vh@7!(Dh2e} zv$Crcz}s=w7eQg8R0!OQqm_{4j^MHXj@&CbFC0y?Q12i;2yASDp6l))?}lz@6B-_sd?18dRf zTVKw?TS2SDJ)H@Trtyfj#-|wngIvd5-?UyF@ZMKf#KnW{|HX3jGb4P2h@)@!v1G^U zqP!~)sF`BS7~j| z_teL}^}u6S@OJg}BWk_OR9%T$S%{RExjhl59%^gvfQfdZTW=+b(-)Sd72XerC$=AS z70d@KFD!X0Qpe?qu)@3#9z3trpZ~iA^Hf^jQ!1l}-821!pGOQdL#FIyq4%ViS+kxtR!n< z`DP1usv14ZXU>4wiH}p+fmVH(56+_!xycr^F1M>E_My|(`&r^fq1d_CH~S=B9G}^^ zc=>ssZ$*3OeM&T>ywze`Vc)d&$#Ng#X71K{?b`@8heV>xO}~h|;pchDX46(;Co=R& z^bn12+-a$AeKlIXdG#BObA!HIU|gc{Vb*b}uDE@l{k6aNZmd8353{e#9rw=DD#H=+ zlFZvW0}lsx-#4`csN8IQ;Iqx6?%1LuaBGQh2)F4geSH5Pbyz%DWM8cJV9{1|csqZ8 zP`~pn_GJy1zUYe9?J4FQ;z7qK56*hzc`_BdxX=mH2a{dvZQ^_E%?-H+fQx9*+_A51PDd6~C>iJDhLNq zDo;>XOzN!q9{c0#%&vT1JI*%K_j?OdE62g1EZWLo zlVeu1nzwJ)Rzz1&v-bHnH^o|u-~74ZmHov>4mde)Qh&;Ue;qFrU)~_nvIh5epb~jG zfdh4~j*6algOZKSbn1(okU5ig(^_uKo)c}$^X*H`7>}78U%Of>^8Hipja8>qvv{vK zd5RrWWqrO~87#_(pnlh~YxDBHt+DO3;)$7+Bl)$*a4@^L?hlB&vqr_8*0PqBwQa3* zx~>psUE%)l|M5$msaM!Z=E)C|PhKp4BR}o&{QvojwR_t;+Fx8g%AB+%XMY*bIR;<< z>5sF-jQ8Ms-_!pu)?(Ff$I}<`Hm%Lv`~oEJ(%&;vb%vhxBlpnL8g4`@>X(W#+HSQd zo_^0#*IE?s=1KFGed}XlQFBJo*FR(jza-kbecDxzIgEy6gM5cnulrxveTudxW1%r; zaV+N7c0hQl%oL<#@U%?yv_>+J+96*>SB_&}s@!PHiYj0KjGg3vQ8)-MFmw2&&1%xf z2+EV(Tl*j~|N4e?oUigM`V~%=FPNk;~T3NKL7k z+!CS9XcnhV3Xa}xe(DV!L>KN1*%xib2Av7FAOJxAfIbIaZa|tYV|U1X7fc> z3=e+h{`CbJCEtlW4~}2`nxU<#2hE?-^r*nRX zCcO!!XM}5zjC*NHKDvYscd)a6LEd4$7{|$w2;pd@EdpjH%Y~R%@?#U*btjETXwZpEKHMiSy@8 zt=?_Ty0Ni{%zblWQR`it)*{R|nrbV$c%xWNg~PO#o{3k4!`#0RWrwlR_Dg@n&sp$%&>e*I2)3S!eS+je$If{iGI#cP(n+mWv6l8p+$d#FNH-&*>Sn~P zI%jmqak17_3P!6q_qKSCec|}DdgA+{GRPNqq&}&AGVb}dxlx=|VPYo!b2-Vr$a_)I zxlu_Z4)jdtmfga8@~W5cYPFgQI$rT=&I4q z7k@^?Bg|rNk5+kpJ+mYJ!Rh}Q@vtM_t{MN5uikLauDfpTc=Lqcy^If{CBB;otHwXw z(H4c7xSL?c7I*K@npD*NI?qV+b;_*GMD`ssx0Ug<2_yOBos2x=j;H%p*dQL|u7h8Y zTx}m~f-9l>_qO)bzSjk)CebG(i)n|e_x2|Z^yx-4E<|6|1)XUAF zdLKGf!bFc6P8CZwv+vNn`o%`T?OKL~9XE3WHKwV}Gp^O5t*a}YDRxR$m-i}f*23^2 zyh7`TU(tQe3up_!qKE7%2dn+COc+(2eQSvqpNH|q&aA=n9{uGox-fUY*tM8wwUSa1 z{n4>@Rc7j{^De!B41AtqJ{;@AU5|8n$GhYJDlb-#>c6qWVf$__DOk2^^A)Z8w zU30icz_{RgO#IU5c>P@z|1nk?;bg%u7Q0f3$Ki4+UXqOBno22}@w&?uslrOGnv}UW zSo9%Lc9iB(%(hY3R^sjRB$8hBQEM`j^FH5-zS0_r9;Ce0cw56@wD!qxs(#?y$9>>> zRJ;!fJGZc=@;)5uxHp?*+RQW~^-1&)owdGE;~l9?J`H*bWZSFXXq;c&slAS``2CjT zf8w-!b$cyvhkSKA93XYUn8{+}tL-e7b=X@uZqhrj<=AX^`G+fc7pt*ytfKHHbb}R zTc$(viI3web$T9T^ssvs`-HC^bbR%}vJTddC%Q%x&0`v)tR^#V?GB6Gs>CPn&JrFn zdFy-SEArS=0X}nk_-ZVfdJwIo;y=E^o6gso4~CDg{s+z8>c@SNf5YRe2ZygfvkrU( zN^KBtLdW1%Me!d{?~b|~7posXRTub3EL*-px3NGO315qK##gKo;v;QEw})gpw0M21 zH)_|68@|E|ZevsK8Uol#7*#VnG>*cGvCr=hDuOL-oynMxJXnekm#7Zsf zJda|$^EcTHPR(2UB=$P?>bOM2=dJWP?`vcgjjz^PzPeayHKrd#zT*{evuC{ziO&1< zaiT@}!cUEstpsdkrjcQOJAO)b*K;#c`0CMM`09hM1~ijjY^7pj#SnX;RrekKf!}qd zsCNXdrT_8lRZzU+@`wm}}7)9RJGTnFhC(g+3JBYe&z|VrZdd3G&->Wp$1Uug6 z|Jrf3nZ9AzU#&08YxA;5_Z`If>mK|?8PH2KQ5n9zmH0-+oHgl3)+6-qUWr(51IM$g ztBr_qmm< z==e#`WPM_sI9BqQGdj#W!rxX%@rA!wshKhD-QRM*HDBZhfr=l<9V|k;2}rIA3k~p3F!2m5KO0iP4V| zUSFTQH9q6GCz#pAI}(kw)?cG%Q1|X+t@iECNaC2*&Q(8goT18a7+E6!Y;YJWc`y3m zf2;)V-(%eq;MG9t{m!|aThJ^V=Hj$!=QFn6`B&a0+G#>(3^T+#vU}p)b9IOOT5Ppn zPiw?oU06+tlA#(`9~35dFc~x!L&M2gfAPF-qy5FMRrSj^}<&-WD&Bn}UurQu8BA_wSR9MaM;229`|Ka_obprr)#FWs#ypF50f$?oLgx zHf|-7`T+F$N8*|@#?~!*h#qs;T;zTn zqK+@KIzOWI5b*tWV;=i(f!`{{7y}hO;U%;M9zZD9|j3CaUX1Xn%aSTJms{@;^3~6 z5@n#CC#7n7&{ZK14%*^K51lZ;jtG(`Mns1X^j; zeU?{em;13Ms86O6c+koF3%`9+H9c)sNtJgy4B;Yg2uCJj9{G>I;aO@7P}lQUH8Hzn zw{ixk`-f`ywaxSmw;j8;wRQ}fGxJuz$6MfLJMg#P2lbbg!jD5ck3ZyhTD=omp#S=uU1EHP#L8j z$&SUh%IC|*pQ?!)bvtY1Nl;INZ(MM#5GDq-Hluc?@9W#CP{2KJOI^pkv`I)Ez|F0m z9Qz7yXDPX^c$G>#*JKBzKW>sXEVG_zg}G(3iXa4KI> z7%pA~%H9s_pBNM0K8tT=2FWz3A33KDCs!c0Z^;AA^cZ4!ROXSS+Lh6c|j`Wvip zx?l#Nt_E&?cw_x7v)5Bk7ib2wOrLBAUgW~N`26CJYzG(u5QEnpsqXJzw*hU?0I}J5#^JKuVimf*Kh8CDlbtI`N>b| z+qvOQAmq)wz2n`vwMH~MI=Ahm7`M~WWm#}f>+r6$cGn4O2X)yJI9Oru44|AZ2 z4)ZW%d^LSnL)Pzl$BP-?+syF zPQy?+OH`e;j!mnUQV-!$V`}$JN;?$%l z9-y8(Wj6%0`E&+oKHOQE;T3%isi^7vX7AJH4DPJvT8SV1yEEX6$6IYRdWl4%44GtT z*dW%a#$VKke6eo@#Y1XI#z_=uWo4iSOEl;OqE@`jDrh;jbE6VUq}Q9MSn_0emAUju z{jhUu6%d~F4s>Fy2v0umue`kNJX{&DN9u>d%j$WjHe~~i0*m2?Z$dG-6 z*>t;l;H?sjqj!~{&%Skfbw*qsgV@U4j{kfTX1lhs7JA9tk{4)grYhedNo-+$QC=87 zmKr-^tHZTM>+RH|SgLD_tHHqAHIYeqTb?X`!@iNwj8fZdeP9gE8qEvXHnDtlJesIo z+lp;&KgcK1?~U8JlGm>ClfTJpv2s=xpjHO1b!wYQhz`B;eL7@ZQQmSjF}U}@qBYUw zj6V6+xQzR>S}BlW9-LLF=pq{lMM{`B@3Y%$>&UB-@Gbh5QLMEq|8BphGGl&auCf9Q zawF>@Up^Vb%&YV5T(n#cDl_AK7qQxsYX2g(n#1$2Rj=NjsPm2YMK_CXyzic^Z*E+z zhc8Cw@`5u$+rieF@t{NtHvWYw1O9cb9d|b~jY6!X^`3eW?|ZatYtPfmWB8u$467*v zk@jHG_DR(Pwcd?W3*0^idmh$F%px;w9ZEH3U)ttvyG!qE#tUfu7h2!fHr{G}zMURs zCLeG|zU+G|1#bP9VgKOt*9WivVMk=gGpyiR!V!lz0#P0L|6=<);`$eVMto#k57<9X zY{WnKk@5O}WW>*+@4Exy*J+iR9y#;b*J?R;F_w-ob80V2Ee{IAgR>g|#$Q13V35&% ztPx}sVoxpER_@5AZt9buWF%0=1$TccH&3{GI|=a!Z{ns7QGUi1$1igS1T@dPzQ)v; zfN@usAR%aHC(aakZ=Cp{bG!H0iq9GujO5&IUk;R-1-uoT3_~o$%JIVo-MZz2iF43) z5<6~VS4LE4)ESp$+S(dC`%1{Sx_R=JrS*i^B2R|jH@EDAs;F@Y?YwViGj#AQfXZ^0jMi*VC%_53R|4ctPdJ{QO#0`ckEZL)fv2 z?RF1Mjbpo5he|klL-VnnI6i!cC(&v4=^3|r8&}n9iH>+dJP+%FzXHD;eR# zS>0-rXwrH*(UQC=cWF)fIChy0nS1wAA94n(Y~xYbB-|Sh(_XC#!ik{m9%Nkf);cS1 z1+@x`L=RHlYP_vkgZQMH={bqxMn2a_^^$jQOc~~H)p%Fm=OxZ2J}=Hp59znCMzYF{ z`)J8}=+$7>NRK`%FAT^H{@#~1L!^JWw~fVNB5u~!|ZuBLT&6pc-IDVn)` z5b*ApIKQn5;tPJe`t)DEW}e4sSRZ?I@5qrvt!S@81aIvPSNaz-=dDUVgq+dE;b-n& zzsWZ=xYeJvOM37(y~F28ekr&631zky*OSDJU-?(mT_o#Zzd_txjn?AgW_o=`)VfN) z^4qulTdjJXc%EhJ-95?`1bW*tiOwP zJIVQh&i;C+cpmGUnZfy$GLxY%Ix7bea9((`4TwNA%Mgl3FIG%dCP&4e-o=3@Y;&&HKpYINf^@*sr^W+cv5+BjI>>}FUSNjfi+-rU2{*BE< zE4STSMY(PvTDgx|UvTAu=XhT>mTU0&IWu;rUext15%EE-``%V+inR7gS^pU~5#_jO zCl-=T^6lq%cG%;&XMT|jE-SVbz6d|`Nf_bbTE~SE&O$^C=;hNFP2RPN-&R+$UzA8h z-qwWf+iM$Y#@L2jMsH>lpK`4(+F3#(6Mbj(icZx8m0)6`cARZQ%8y@X4YAhRk!qGF ziH~bbWNPz|f1sUcqB4Aa%epQSN8_Ft=xwVi#LkE(E=xP3jpqKhsBdZp7k39Ov53s$ zC1O$Q9e*cgobSb(t@z#{{ppRi&Imo8_4ILcd=j;9cLbETGlKErxviUiywe_iTz2yo zZ$|rzmD(9ovz#nioZ2#PivjI^hcBf3V{i4LJ_|=Z+YEHECAnTxxo7S-p?|pT}+=s7jdU2SI*6tI^ zd$#TGJ~}oydP_chbRkcxnZ}tPJl6Jx_GK_VO%I+f<|l{!qC0+ltmoGx#NAKRv(y$dP2`Dxlt?+tpE8<~ z1vz6FNxNJtK5@t=@vZdjsew2g2{UN#yITfQS63y0>M2Bjyggh%YwO13h7YQR)~eQ( zfA@a>;){&u`M=nesn4(Oauxf<>wo%V99JlhK6&nU|G(Jv+;=?Ih|zCjFFD6|-cKbET+ciCVN&%VZrER9nRRz%Va;cdlI26|`;bo0{S2+nt_1`Sp)*4=ecY-`I}F zxYkyx^QnB_`oW^gVFng;2j}uJ&!jr8$ME0xZjRrJPM$%kR6+L1xbYbOHJ%uc0rh(< z=P}^a7yKXQ5hW7iF&`9VN|BKIKkh8VTdCY^?f9LIg@xAZq{}-Rf zJniuqQ0v=xj3`{;OtGx^*_9COJ^>zsExPlj|JWA>KK-7hE>{ZzR3ybqOIL^ z8G8Mr9z#tQj*&y^G0gK84|1YsGXA#XXxWSO(Fw>mb=2{-qXGP6Lm)wc$`d)@F4eHl;K*@cR19$ z!%svwpTk=hJvccBRR6K!u1*wemmu$MuqJzfcUI-d$KP0vr~r+75<$-H zvbdUn9j_kHj+Sb}JY>tg<$Kx$+{<1r0f3c|yU*8HBDRDG@YXN&Co^CAw zUi3Mmjh3|lsBbbd)dsc3)%$t{Yk`cMXmdsvr&$X)-$>b3bn!;9n!0!j6RXEmgQ@V8 zSTCj$^DSTbGb3&tcip7V!>-)3t?tCI%`kOxzWql3dd^?0WcDX7S)$20&Zc;yIx0WUueE zhyT*r-8k*}MPa$8HIeJM(R*?yXnvLTDDrQ$iYGABRz;~}Ks_(LItDGx21-btJ@56& z*+=iiYaU$tP=os~=Y#!%>9D)}wr+LXv3F+L*^{-e4pOUF>tf8=9fLfr$pFuj$!4JabyZ>p-0B@GM#9}UAVaCu zZ_F^8uFDfMpzYlGA1aa*Yb&gXsdGIi=yy&9c{g;P5}H>B&; z{99~3uYR!+z&T%9!@{6u4eKLic+b!J*51F#S%P-DybyLr-riNv6O_JrA^fT>!u6us z;yuw)qo18aZrT5;B_4bp<}LgiD;_wEE|R++97Y4JR#Gb7A02B~<$%l2?s@?kI6C$$ zSE+h?&h?Ld@2)B9LNYKj>fI4!59*U5`?6mY+qD%RKID_IR^HOHTrE(KiC=1ulgRw> zjg>?=PwyUFIQ7BdRBe*@cTJUONyh70ZagZQ%Q_nwcl!mNWInsm65ers=Wn*cxSuDP zReWaS5&`FZz7_kWwGs_+4ssfAYZ#1i`(!v36l;w8eCv5wqos2TYbtN%CaT7}UTQ0` zqZZj8@JS-bxjf@eOMUCB(ell!-)fv{C7KvtaWdlkV1w*A`c>UzMVOm+v93w)G6!p( zWU=wpowXn9-1#d=DOridOGM6y3}x21*4HoeR4n)%*L%d*7Ylf!_awxRL0!`-KjVt? zZ1_qPe+yrU5+9e-!KwC$EhU6GQrni1koU%E{NE}xOs^hx2hAthgM7Tnx$PEU_zKkh zpzzg$j;}sgeubIhiQy~IJf<{%-C!cwFst0`DI zUXzIDzGT^nuC~sOvV6V?9=qMX19RVAy)qn+ckcuA`c~pwi7&o$25FDT>^hYd1$g^J-_f$~ zKwI|`&dh@tZ+@$=?~l z8PTgg4`XpdH+Ux@+`f+A|1Yf6%$OUt-QP;q0ZmTq4|*$IBm?clNyjB4L_2CgnaCGmQnW~Ks*%$r(FbZQDt~3_v$28_USFS_ z{Om?t-`XhANNfEydIojxPOj{@-5E(7qs7iuKl%Bf%5bfzCG?`NO|rY{-NWj7Ulv)mgZRQ^3B3wF7VE0;1tmAQfM*aR!tIRoiWT1@4yRay?uCEVHi+r zKQeJ}J{`C+Gvh2Qw9h^PNwZ1(qgSUxderSQe;fBJj8 zczEyM^MCQ3);!~QSJur!&>^;LIi27_=Ny{pLIZ4c2pEzSD1Qv6CIq-Pa7` zIWDq%`cf|^AEg4I?e&kuHFrT<>0Vq9Z~u^crOgMoH}YU}02=gGaAGRC1=Jj!Xykrp zwSBP){zNjj{<;U1Cl@keD|o(e}W+i`?X;(_tJ%bjRy=QFnAkB?uA z#zgTHaC1-RcjtOYMEqcn-K0x&X`f?xeD1N9v;U&hF>8J1{`Cd<;L#{HQm!1aqk}JY5#d+Gc1t0$ggH!MO7=oMNbv=!`;~BX=(>= zx1N8eY65qil&Xn4s{PB%R80@MD&)ao+vmyf^u}E+>RV&odN$)Fqt~;MH+rdOJDcuV zi=An+n@@^bb=UH0seZ3DqtW=eRnvPIe22{9ujUE->0=n^sNEHF}}1R-PTLnnb(DC2z&%59dWM(WsT1==H5~5fZ1} z?DzlH`yz9zCZAaJsjFKB5(gb^c~uWmlI?u_M6On<+8{G}sw6pq`5vFxiY^{@5p5?h zObqTRYqB}0XF^$biyrx%(SP2kJukOv`j7jltFGOp`|r8;+Whk$-+65nhJDfwmq${@ zVHRf>s!lbJ7SD#Vgm^YpA6PbPG9y>i>Wtagmm6nYZ{B;ktyT@Za`bN}S~vWjN0`BH zL#idbz~4vyk1sxERRJaf{Qjew0AVRm?}4;h_>bF)U1uBnqTT2$ir1zlQBtx*Dw_6v zcbSa3igG&6Z@=p`quadYs8?| zkQcG^?W)a{veMTp;jEzMt=`wNwJRnnq_lQjRz#hAzEpY9VHn3)P@~0QD4|ZI*^w>!Ko=ssy^P70L=4<2kzJXSJ_aW^|#*WU6IA_`uCF`cl zJ8!Y>w(rgkeUIq9jUd`>1Z!Yzv2{u!L|fgurPf#^*N&-nj?sO#XNky`_jDvz2azFp zv-O9#cCX}St_1s5{30>zofNe{<}tJV$Nj!Z zs1EVBjAV5os(#HP?c4gos=(HsXj!$qX#TNQs##g)=^b7cU2U&kK*`L;dEe9hGKcHBl5Oq{-( zdo{({{L!)_?FNL>U+o)KQwCxvIVJg*nA~5NsRy#sjni?7*!WC2ka*5aJ)uzJyIEOz z@zh(7)EBFLcc1M$w7#!xnh(BfQLT0O))D`4BewVKx{i48;~U@SGa`At^X$sxzX!XL z!E3F5vzAScF~-l=ke>Bh&pgc<=nUL_pkxtH@B0*Ss_VSbZ&=Pdq;Kv5t)@k1%%*v< zYgzHuWoRF?oC}YES`+p>DEKlmUP$X!f66;_`T4<@kC9^aW$K0p>;39t?a5!FFi`vw zG^t`caiSq!0BXG)zeF>eZTv^QJy~8YcCD0J544&w%zy>9x2Z0$$LC2H^K8{|@!In> zqCra@Qpd3A>8bLC`6b}h)W{F>VbS!sVUGSC_e zSl0)Ihe1Y+t=XFgciik+fRr9h8Ktf*GPgU41UqxIY>a^XRX@Bj(&Jm{3kw|XuTEBj zWQk}c%)yh9_t7D`qZLV_ea}Wk;d=V&oiFyz&KD`s`r<2p`gYvPE0@_fYft}*?)oMd zgS9a;l)*vDizJz;NEz5Wk8Rq@nqGgpCz<#4tqhDW>*PIZDfb3ky)rKEl5;?=475e~ z73|6&wuuxns;FLRwcxYy+eoNPc+W|EBcDvpl^Giktf4zsBtG2V0F5+>?#i>_XCap4xGlS^Ac%s1JUj%7E1pqvp=|ab{zUlD8al)q2PjKTyj`*k}ol zfhv*6xe;mcgSK8x8T;5aYmEuoHynrt>tB_K`G>ji!HkQiX6BvEc!K{U(TkqGk8P}| z{MFQQg|^pPhlv7fS%0rJbNY+p&23LL0amlD+VtOxD0adwq8e{RmTzw>XBo*=AS4B4 z^_lmeEpTqKbzD&DFA#cWXFPQsC>#r3G-5H(I17u3GGlqhafz(s9Xw1Fo5)fxlAW(_ zTGb76RmP0<7u)~aE=NBz3gd~I0cFR|FEu2s=#AF;wv6qssAg}B`Gq^dStEe;Nb+O+ zv+P367@0(jiv^mq+sX<%abE7BPK&3Ed#JzT&FGJD*$+5f=;=etdBZpN`N?sFzg>$D z=Uwh<_-mrD#%aql=KPvy-tIn!D5oZ_U4ycc0o9^+8V=T?L_t`>eL8=KHC{zqv;%IX z(NPmUz+0m4izuko3XeoXBB$0mO)?3kOB;*-Jy7N0&&9@BECm!`;<%MUXvwAk% z8?DUyVBhl^M}ko<=ldjfi;j%w%DX7mtKmVPycoW@1=*LGe_GM@q3SFZKVCfj1}Eb6 z57r6#-(MVt{IsJtSexFB7;A6s(Mm+SDhIxBcGrKfemvV%j52n9u1hL&`QH5}Tbmi( ze~Rs5o$f|C`_@@)C7VQxeUdzMeXBR>%#YV%rISd1|HewPCR)!e=G32!p5kOTZ4wKy z`^wX+KFkNTQ0wPp3;ZqjanPH3B1>oPqRzG)&{o(!t$h-EMdFRSi0E5ymkIByPP4}p zd8_eZ-?}GL$Dq?%V;oFGorg7^JGU^F@?K?CFIlD1RwR4*Og%*78+TgjTVIVDg)g!q zkgs6XNMV$!@xy-61is2|&8m&RIB}~#exEm&`a7qcr&R`DP~yqfZ)Rpkgp;na;JZ4Y zaD_y>Bqm{*3cZ|T30IPI=1^|nQ?*cpK@ zI-Jo)qaF(Cn;JQ`W)+o+!#OM;@Z~727hTLE%r{bsW9e(vpB81UFrvqJrWJ;0@!G!G zw}C?LabWgU+V!JP%1 zk=E=q!fnV&TTaVB@fH8o8BY#&Cer?3A}tYT-KQMXAi?e>h{|a3EKnJ2a?EO0^Y-oT zL1#cLMAPTroc6R9-~8{s&?5&7{cuL*=;}m$iZ5>vX|BQZJGc6==is~>)(YRbcN?TG zwL$cSo)W|E-uZj2sV*2v-QFrA<5subY1wPyfGI zKl?qRnj;#X5yXzLH(1YpNBoQ1A8+LExy#nRVjLzxa;E)ULnW6;7rV zefbyO@$A-A;?CbaOi@le@MmJvUDfLw%@0SrNKWrC6&T$+a$+JjDBKT%??74OFmBi$9QKc0GxMu^u#|5-j!nh^FAL%! zplZ!^=NDBkYn5Sq>o`CePF|QKzD4V+|HKi0z4h(|X_2?ij@J((b-bRxl}rx4S==fS ziazbUeHEM5=lnlD}tYF&C+W;o;GJK*ekfSvP=jAr!=-g?Z{SyAW9CT9iK zz)DfCNB-PWikIs}H{W^v@ay&bZCGQ~su+ztxU2qu{8d-|@-H^$A^Fq)5031%9~b<^ zW~@BVTITZjZ@l-7Oa5Zz{l34LsN*jX-aNsK9&A;@6aMu=-stY2DDi+s@J#-iXL}&7 zC;VN8t)XqjdU;Zg6m54bUd&&(l-b-l^fv}tgSZkAb+xUOjO*W?Bp$4tMXlBG*AKer zep;<0?Asjb$~WU){g~+Xt&z|j5nH=*3J)W1EqVS5&c0i{8I+Se5cyF(d}~^8YQ$^3 zJE0)nf(F+&5enXpuv%gk7wdSoe=Bk;ocQwa{FA%?%_~;}3@;H z4!et>jauEM{s48a_9|U)eJ?ihFS*Vy&@B3S^jQ+z$}JuO z+L~64<7uh#@Z$>YdUFfQ*q52dl4Tw0;-IW)(NWiGdYXOFXuLp~UTvom zcy#|-hfIN>PP4&!G;PYFe?jk^$$$hsDG#)mCNi_y*Jit4Vv5_<;e6`rv z$y?E4*YlC+L7joWq|nxQAE-~pGd*Ryy1MMlThHg!%$QN1c;#I@Y&LD(OdAi=!{T9D z>RYG5M(B%VJL17}sz~A7i3iW7o^>Ai23)D*7od3wItFDYVSeF>Mpg>(3(&j-CI!{2 z^%DIUmdSgP$2?;>3+UDO`q|DMXK^d8tjtBRb84s$N)CCj`|--p{>ZI?e_%sN^ zU${3Tlr!&!>e8J#_Kn=%|H zwdS0>STqbpYxlTro#1ry5v)+eU(#rMP#**1M!zih6o-P0QG z^T~_5_TA2JqXTa{{?*dVJbkk^oV>SAFov1+X*@CP$(cIO46z71+Nm6dJ;QqVTZ?_4 z&q{+G{GD}V58%PATpY2h&A&L&Z0q?VJ`LLLY4pu*@A#CtfqL=~{|B{hv9d(J?hI$7 zR3Gjs$8WO}1lrAyL4ow zGKo(rQ9Lc<2I*(Y%Ucikt%*AP4&On(-dgC{hIsn{wh|xOguXtBHV$=M*dkc}wl%dd zGPG~c6s|Hx-@7^S{}_+zTW&px(cR}g@Xg6vz3`s+zHFDT%jZe!*~qW<@uIM@bG^Q{ z5;giLt<`8&lZiO>Lfl+D>JjJrNJJ!mQ0=(Ls5Qvk$KSpM-6bx(i_&p>%46a4Xy_>R7< zmyea5>t(j?jrm>j&PcoS*TKWlGJhrLe(%My`!p{`FTu0eAIu4?Z2a{9U)cBA{(Zl( zpKs(R7ppfVf<1%f;d~c9@>m0lDjl^9dJ~5iu)BS)GKv4^YxL(Ya-2Bv%K!gAw$3(9 za~#*PTbgHX-^%R$Z*0y1K-&>Df4UkeS)%v>QnKPTe>tEem^>^@#It#k6||cJ`fZS0d-t<2+v;7 z)}BC8bEj`neeG?vY8Q1+Y0WMwGwDsr%UMF$U5^o6Cg3l~kiKV2ee)!4eJSs%m3pG} z)}ymkV`}tH5^P1wkzR(5WmX+T2JN_-N?V-8JqvtM*QSTSkm-FMau{FA*cT6-_i7l= z4wR~UXd^zoGX=JE}$l;M!JX*JfGokR%eI~$<@d|yFZwK!F25=ha%P-nTYncl>%}+1+lR5?GKqgx5IL7g{40uN ztug(Bml=5L(*46PjE6>J*Z*JmB-nh9MBn*iqq`06y7gM`PS0CdA@`xXv+xaq=<4Cb z9r#YH@EzVUwXga3MXjvAxP80-uqJTayV;T$1*fvcUf2hTE=G$kuOyp!Uwt-+M!;9a zI5N?>h$h#8vMXiWcq}*`TYm#JrmSf)Ya-5!iXR|TE$6-`dP#Izr+m@rrB!aSg|o!w z?zQ}7>ee*s+i{UFBZ+Gf>g)8ES+vMuB@yKe7@4)m;uTbFP?JA3slQ*G$Pf34x=ZTc zB0Rr~jBgNaz6YCUyFT76C`0^4DdB@B*XMVsr*og=`9#e42Amwgvw9Fbo0^j-3+jpR zt)Bf>=1Fd+@4X9AtFS@ZmfQaawuooqEwqAU2XcXWI8-)%adJDYtw598oh45$w}Y=% zth{%s4zs$J#OHFmYgG@4==@@JBuZ{Son3B6qs^ObCGxZkS=3puOgPxn67`E6!;J2* zUW+HUKlbn1$nCz-Oz-oM!^!PuXR?AC=lozJC%1!>(~yHW1f5i_c2-ZOpVjkhayx79 zTlqc-hh{y??PvAP%1z05btO7<);S#Rz9;cvJ#XV)4!&8zY6d@4qIvZ0dju&jx}7)a zAzSI5MAM6m#wgJcAMUKD!Af-K(Kv5jZ{+;O>VwC#{CaZtbHA~70mwK{|6*)-{}N9k z$`7N3R143DzwmO&(|_0z(M>F3wsFM6J=OBpu>V8~?5S0Vu9jpfKJ~Xw=fAEc1_)w}##tFaCdK`wo{)ea^XBBln zt_>Xba`kehz2C}@k$T#nIuP{T_x}NRr*p008dm2#NcgP0^55F2kyuS{c7)L$WF~9h zww_gCrmXfChSlmf8|`0sHREIBr^4V}ZnK!of*0`K_fB?@&bPo}tgsNMHC4}h^J~DUDMOQh9Scz}KKYghp!>P*QZy)!`v8He8)mV2BynR2e!#6%CR{LPs3)KAt z@t1LXhDJt=46sW)-V*_5Z4Kz(Cy9DGxB3IzbBAOEf4Mo*d$QnK`i7d^ytVa&%fCo^ zej%EBRwB4C8stq``koGbcdCASHk`V^x9poG^~Qs}59seMw^f$;iPZ1g>bS&HM)JN+ zY#LUoCmA(Xf8mqhj*58_cAPX`d#1bbim!cxWBOVB+{3N!qpmKA?`rjX`VWyvWa)6J_FS!wUl}R zXEoItC>m8uX$$f!dVPb<`|9v|ql5O26v@A|^+aM7gm|qTxu^7vb8=_=#prY%)@q)- zTmo+7v^QuR;YeRT@!f*|a$fEG@Oa~*u)f*#Ci7#FYPDx}TBw?9#PS9uc2AvyrL&u2 z&sk5ss7%#H>y6up?QI8n!4=_+(K7!u5#$sH3x1$GwwHST(Izkt)%0CzVvkMc-RneX-gnX43c2 z(|3&Hxw6(Gv!sU8_F8K=l|4SjuSYiznl(T8@s02E8Ik)sIi(^SrWShejexzh>NCUP z)k07Irxv<@$(+b|_$m>86S^ZVOCCNMum3Qs=1x#|rsO+U&2QB9M8G|ms{}_+=$hYC zg)!sto{)&{yd(?{?zv4)SNJ8?j+|P?UujL$iSPk%_qA;$CgTx(lJ#zuj(hu%&PpYa z*w0RzI}zm+<#$}_hdhfPAt5LpVcrf(6pabI%@d2WqoWmedSYMs-uJzZ%i1=pdSJZt z?UU?ZHf}P$I!)i~QMi?LyM1Rlv~2sq%8Qq0By)wcbZs)CG7vu*H~b0e-X@he@^$C7 zQy*=kzT+86e{WHUn_F9Qf#brSV|ZK9wzJS$o!#BJ({J#3ocC9Z-rtxCCTD2Zj>i#` zpmIL7R!}2fyViC+U9A_e-~(%(Z>5W^!C&Asl5bDeC&B9dTN{qnXxtefYt)AZzH3dw&<1Q)6U&bp@9{*#2Lf zy4n@RZ(;{f_bKBZ@Oy9m(FIy1HfcMK2)Bcqhf^!7)yFsdE#i9iJjGju<1}h0>~U|U z)G^i0R-4!aH%6)p7<8@b?a+2655~K)*00|rJ9Ag2ylf>z>^?V8tcB1HxU7Nv{JJW# zER$ddo^AF*D{3BG#&I@(2l(_(RC%i{>z4uTi%-NG%7~ndXZ^`g+^V{B;#4Wzqq?_G z>I0rm9Oc~jLCYi$&YtOcQa|z+f;;YMomrP1u%8lbZ;d}HuZ$6|S6;?b!bSlr&3zh> zPhycU+{Oj>-febYpghS=ry4Apyicn*+K(RC9sNM{Y~kFj-ye;Z*;$ z)!%yKEvuX5v<5!8oUa|vHmgj*jZ|?~o>^0wvhtpzk_FD@k+}YWUdHw8KPE{MI&J-{d~I28>uu-oDKcLjKm@s>u}Si^>&-l2VlBN^ z{Rtb6;TvCgMLf0fMgGm|%Qav5vm)-D%yQ0I({M-q;^AxR5g_qId_1pof#V#hO z6(eO^;mbvgzQDglbJkj}p8qalTrc~kk9C*2VARGJkBI zS{~Fqjy{Z1@YVL%k(nB^sq8`3%l3lG5k0vNsN}aB#FuGpwVNF%=AWPjFq zVyjAcoT~iFbQ*oUnj1{rZ=FVnzlV90WEh=?rNOtq#uq?gz*yvuxANvEoede58`S_a z%x~1)RaeWKhZ!kng7og&bG$asw$?=2%o@GtZH=o!i?SM+=wd~w%ZYT@#v5j7^Tffv zca|@9ec$z475(LJjJpb1kzXQvusrye`&->3Tla~Y<>WnnO^lm1C$+8EYwX1@^ntn>R06t z@%_~hzx~FnZ(b4I+kuRWyj`oFqV(N25z(NnEqmPRp?S5fcV6yel}VSYKkhtz??W*eA&} z@#GtqIw73bS+Q@dQ;80B1!}dea-OJ9%7>!fk||rNuF=*jq~ z48d5=Cca7=xyfqDV6^JVX#0sK`%>vFVr+#^)@n?!!exJ%NZfZ>#%X>(cM>_vozk_k z$uGPvXSMat2aF%iyVG{DcGz?1Jh>VG+cIZQ$Xbbs@2st@SGD;hF%{dk!gDpf-IrJc zHA)jro^nJ6k!wRsV|>TG9Y_13-^JSLw-7Z3}K%&&qi8kf^R7A>uZ+WyWbFZ&YvWt$T7mI3X z^VoN>#DBHri!K)LT=-&f_=!cb=i;fcIsC*T3_nTHGk4Bz6|5ihW+3bjzD$qYp#D93 zV)6g7Khm!fnfApup4jv^e6JNR1GV<;ZopsYy$q@h=wlK&%X!6O(K~I^maTY6kf%3a zl>GFxCKh?}?p2{l$BmX3i{QJr-PSvK#0K7zTg)zY(z zdo+k=+4piU44ZM$M`UU&!k)&?J6{Fdv#RuqIw8dTr8rc*dTe)8=D!avG}6JBK~$K z-(kN8r%v=YpqGKDV?aIYF#qUNI|)zT`^y)0vU6>o1NARQj5PaV>r}9fJnFf5ce)o=QyyqT^hX>dDm~S~VFleQyOP73-VKwoVYx|)n1~y@qj%)@o=asP^)c? z_kqr?)p+ZH`K_~N+xTmGW!=u4U^wn=P&h6CRcl7kw zUvS>LUvs!* zob8Lx>{%^^muQPUiH+A*-@$H+hT5(A<-Ct4@#yho^#J2+<;w8Bm-ERxy|5ls27D)a zFdFn{d?5O^RuSE8oz8k^k>Nxn?)jQ~qGvT!W!jOo#zz;SXyUCV)k}X_t52fC#L#P- z%Wg0x`aZrVkAG18<8591WmfWe`rezbv-$gGDVB?t@HqM+QS_^yee6iJ>dI%wRem4 z^=^Ww+Ln1lcf0BO-bt-}$#7#Hy#+>C-aEf*j!Z6N<$VuysCp1hXYrl3vf}6=856tp zjK)gPzGyvuXT}lLyYZ-?mvh6y|H02=9Wym73~q!vHeL&EPU>7#ozZdSAm@bRPD)OI z;%#l^q-;nFkaH$gSI-;yJez8k*1H+6WjTY(YFEvItBrCrC^B?KFRBF&?=*os-nGy# z99A(Z*Z*G_84|VRWNpZKNlqvHYk=ULUY!2!`NOw^y8i#ddYAKWJokjG91TV*&2pe; zrCRn**y?-KQE4?-*;cl>%tie<{Tka?Dz->H272Evbljf4rIi)jK7%Kp_1IRA*&fF8 z$au`*o{;|i5B{h}p|P9;JlOtv)b%f>_PT#@NBv{O)A5b?3#b2Q#9>Fgo%(q-+&oXM zSL2}%{_E}a*Q-H4yc+!RYVXd!UJd%;)!@@Q(FXc>HRy*|gFjv^dTi~JhvL-_o)>eY z|A$u}e!Otc{|nEnSKQi{SOtL$Z$%V|vL}>1THddhe~+ z7o8>J`F>5*GnMQvA2fM?;J0tG_tRztT%EPT6dV8dzR~xXqSo-)H-LJ6E~8H0Prh?? zm%quCk8QMS*Lo34t1BO)Qon&Nx2LLM?S0>!tfXG%)6^}X*SE@{_s$k(lkx1a8p*e2 z!I`VNy3umd=uE4`QX42q{40Ah&@qFNhxIbN=uYCqu86!8&*oGcjSwm6U2PpYUwE;aCgxX7s!JGQ z6?yClzVjPA8+3aHe3u*7=exDhYAoNAq_wAxQ~;pKOV+CGx1Qk2AHDKyWlD`jRES{5 zSlc~=esi}m5^bPHaq8UhwOZ%j_7OqqjC>MpqpS5j{mxQrElL!l-y1i(q+mztPT1C;{-MwKO_JR5 zh==Gg!D@)|Nexj~DA#XHP)6gllO5C;;o+BTIPDg3p~|n9us<7e#d*i}X+<(ow3BzO zBL307xkI9+*^Y}i`xc=F5hr&d(u;kG=XwRM6r>CkfcB+L!~yElHxZ&AyFTt>{D_d? z^?%wOjWD%$>`$0FHfLl1Cvr??I!!KqNuO3?FTP@5D$aS1cVficc>1*BKv|KqpoBij zA(4Gir#7HOaHO1cC=oFtg5S5=_NCSmQ>NM)>#-=c_#mREeY1Cc*x~C7zBBOK2J>JJ zTl`gi%u$a<;b=#5)oaPi|9WXdT@B$d<(^>*DfPjV+5k7*xM~u^R0g#{^wgG5DoHuB<#^W?5AdamEIHtwS2$$cL}4@|_^mjO2`5~@)(m}Axl;qIOaeK7Jr zh*YdZdlCnaXQLNL$CZP%4cL*nl;N}CZ?!}UbT#81OyWG$8MB<$*!f;G{Mu&vX6-$* z6Tfy0o3nCgV=Pv^#B))!{*jDpD@QZx;q|R>5i(M_8GDo=dK*2Ar{H?qqK{PcjK+aX zQD!14YCZN#YJ&udrI8tf$F@a0GStCQ{?t}6sVMhlVekh#=qrw z@kIl_DF*5dHP@h&+2=A|HAPfK%C@qiA!Wu|Y872P*3!~B98x!lWs3P~DrgMyv?l+> z&OVug>x^6LAhz=6or;#`I5hsVjHR8Cw>|+4+LuaGPlPRPrIIWn+C=dme4>5f?M6xZ zPJ>7^3q1O5%pjZ|l|`%Z;U^}j4D{XKIQ@;0@AGD{{YyMTUU_<~%JXX^8Sy7x|7XMp zJL2|HtTexr&#nM^NRPxRrzF|0swKY2K@|L3p*f z?t@W)h&^vu*eK+VoE}B_)o~LhdTK_ZG%uU++DvUz*w{uYsx8oWSQ6i)^~0}S+sm)6 z+VoHtTe*Og7R6egc^^-aH_n6muR6JlWT)yyj-rBRBDb+t^hyFO!|;0d+GBi*EfH& zm3aF+iKP0>GcKB{_px12Z>imLl=L9HFCKNRFqnGVlhBUVVcc=5HFjpLhv|JtxI9bo zA9=^2wN6$Ouc>cRYM$S!hgFRk_q4>UM!=&{3ZxIhC8Kd}qt#yHE6&Yx8be%`uP9)~ zK}Ipf=zK^ySY~qX@fAC@a7S5Zf15ByqBM<{=m)MIldi8^@%n|HN?iUJ7d}{DXT`&| zFVh|rkVExN*1P?IdBCpU$4}gYO8xv3M>FB8wnuNs3_9x&5ulu+;vw;JaNf*- z@d8lZw}WcCo;4p|;UlqZ`D$+z$4EPo403&J6XGM~D?EBgoUrN-Y4lLewr(Y!;44N8E?Y0_{>wT0GJ{k1z)q}%ViKWzl@)hGMU-rNqH`%kg8TMrEHh;#QmdaPBLEP8){pvRw=f2h0Ip+@lc&Dnn0YZ@c2+nRV z`$|#HxQTd1{xm z$4vpM1=vH2veQXn_@JFTJUHhL&y&%)Xz`wN2fvM#`j^ObTynoUZ`2|$CVXSs)wJp$ zRk+f{Kjv2}9BXI~7NNZ8Y?g+vKzTCf4iCydwr^S^|I?athY!lRgYu@9*||foGUePM ztC6un!lLY+qci7WbGLoaw*%3$eglKCB5!Lt+HZ{1 zi7#(=>St`&;RsOV#3SKo&?;Th39A4jV#Y!;Zl93G=Aoix8T`|}>|Z{uPX&!Z{^3?j zvLdsjb^xcoPC8WPoMbDL=MJDTljj-EVM>C+{Ce~(>pL6)&*ss zOTsAPuOVzJL-W1Zw1nTrrttJ36hvO^h&CIPdw@LwT%y^JW~r)Vh$;auR+AYVFszHRA3r z+?j~TP{tKz{2-L=xND8mD}Pk1RZ#E;KVG-~zi|k~{;bIupiuB##Dkyy(cj05hoAZO z{BKNA;oF*Lyu7UmYDSgMo%>m7b(ZscQmM9pDBFs`ME%Q$zOB(xr(d;%rItmC`ZpBX z+;O?D|1uz`l}PFX(CZ(GYwq#1(p_8^zh@!b-3f0eHL=3O$pK>a_xdj}hBZOijWoA# zYbV+cLNaccd?Fc?GbnVAc0h?J#>pzUt&;aXP&V2D?9YedP_;WfwQ#IOtrZHQ7? zlBD5)L!_?oc<~!U%$v8{7a_$mHT_**+7qvpGAn|c9eWIlQ&wiyCvPDak>{y_GWm4%>pWPioZ!%KM~NO^2>(I^3%1o@~_wI(tH-W zja?tSQ#tURgu-0>_T8OrGB&@M*u1%Xe7~s3ShgZpq9FMgl)K49Uh<~D(YKQYeGD>q zc7>wUBbkiVgY$kDr4U`-7mfwuZB1pmf~45rPdn?xKqd zSn0=T7|Fg&V2qFpv@EgqM3*S=h2v6#NI9jt2#KySjH*rdt%xXZX z%KH`ylwHxq<>AY8|8TP9JU{VlNoJt`YumCV5vOlNTl()X;iLvwb2B_)DMDalfmEgj zeq?yion&hT$n1$Y`@ZK-wkEhPc9CkQj+nd}$oVsmR0ClqRElrAg6>M{+b_liY|WEY zs#w=?Tc<9*n6+^c+cUhnBBHbco~!+Wy0)zRY268Vo@5WHR>HydooB>J9}VKp`o&kj zjW6CS`1HNm;g=VKADdA{D9LYpZ+5Q#Fz;ddFQ16rh*u%Y(8J>4Sbq7;TPVBxY*iObho(HUU<;6o7M7n zQW_Qqk;a}U5k|c*ZsR1AXIA2xU!)7i@gLaZMZ~=0KCQ&ADElN#-oD9_IaX`m#2*o$ zy!^9Kj$nEeJZl8x+P;0U{FA?2c`_84n`lu-i>y>R;4lwCacvb6{!jQgsG>%qj??!f(gcb_RS9NxDd3xaI}JrJ1(=>H|Df&G)mr9 zqtw^T!Y@QFCaVW4}!uw?oJNSzP!k0s1c1Th*FQCLm4Mt=t$6X zw*4mP$+^O7)Ec8e?Gl&W?DYeG{wk(fS>htItv*tFvgB zM|_eL;W$Yc)pt(!$TE1uS*kUmmU0{tX!HwC4cmwlX_>f*PX=M2r?0KJ2{O={?1-Dx z1F-4X0~u&Nu2E-@)mqhA7$JRAGk{x*q;6s5pBkrnpzmrNv;@fv#};pmgJpVhzf)M_ zaWzgO8M0D(&vIycIX9WYUp#zv#jr3K^Jk`<$btJ#D)p4Vh?uH2GJ|mKS4w{o@jdb7 zHxKXpmzhC$7kzg!0w$z_jU9GYnzh!N$RXu${3Flsos3*N-lf-~LE|3B(bquF zO7$+V%+-?-(CSke1azkzVFhsC{p5TDg!4w*>Ws8Lzf7cq;m1$wow3;W>mT(PM4!j_ zrGk82cUU>7&}KXBnq2m=I>9>6b?nqMwAP!F(}!Fwe*K=a`3s=Wj=^soL$Vn+`zi3% z_3CZs9{9X6JP7h|+y|3_ML88A1>2W#$`d%YeMtkdUU(z3Y7aPtc&3erm4AB50Zx|5 z5|uu6A*BdR07?#rxsn^eiAt~@4N;cKIG|E1$rI3et%DBbY?P(WQlg4{d(JKGa4YN? zZas`Djk&clyiY!emAbYELye+TB#1473Y*~(%)YRb97x_%zerRR=~<%EqmJqf(faJI zt(naCWv;tz&2#Ey`KVfozhn5K*n%7rzSK636xA77IRXQ7SduqHA4+MTFZrYjjuTm#@v3x936=vFlpnMB##IzkQ*>>YGHGI>XhG zy{f}VkE_~-TPJ$GxnBv9KVQCXO=9iqEr0!vMMU4=oF1YFJVMl*uJ&KldiHS2BXoE; z8>gW1jhWfDZ*BwQD2X}b2ldn{C)*(Gn%FJ-kn0xb%_2;&H+n`{Dxn)m^zg|s%)FZT zEyLuzW4U}MPB@`am>qs1w3a3m)Eq0+k5^GbO0_gfv5ge2Mex2wyCdOtebV|86ecDR zYQ6akg<4~O`wzCOV5LGqaV0TJu#oOd^Btn0Z)pLYWnZ`|dNXEfft*{{VKsdw+6 zI8N2TUj>9sHZHa{YBGRdt-f>fcnvr^k7Q|EBQb=or-S4YhP!c-G2%S7X6FG*Dg96= z5KkyxT)0+-eB$K6vN=Kf!HDB%^zJ#5c>%OjKG@N*qrmWhnwl;$foLZ>t^2_{Yte$A8ENGkza$GWg*(R;|TY@mZoRF$QG(Mr4DHmZvza>9iSZf|iweGlS{pjNBH}NE2 zKXo6B=MncFU$}mpH}4$4iC=0Zd>V9ne%8dZtt?<7R{_3wKyL2YGi2trFSYDb#o8A} zP3)u&;cpe#W`&(xF#*50N^FC7O6Z$Z&^W{W>!GU%UQD58>+Y3V5r9$w#7Wf-;ns{5 zzbDGd|3sbN5YKIc6gia_>W|;62UgrD@JZL!XadfSc|JXHzLW>!2k_u9beO;oTtwcp;JFCs(u2H#A^Ql`$MH-fS!!GZA_ z(9R1$UF+7KRxDMSNS^8?>=1&bFPK14Mt7{B)lt4rcoDqSzG*GX`D8O644!fIYKA`< zh@NN~a}6D0qjrQ{!2S<9hO*M`{D;2R6ciiAN{OQDvV z26SX8_D3afhvN2mDlb0B5L)kkt@ z@>xB9!B9QAf1x#%3X{8{A)=$6Iow*6);x(VpKoJ_6qfAkopb6g~n7v|Gse6!i* z2;~1{5LOyJ@+8?zWwqXHT?o!uJhLhx8!I&k;cJhfWIAPduwI+EH>8bK&*GY|1 z=7NtMIcYenG45J*v9_>r_Iy6e>OS5^z&-wz@2szm3LCLj^zv94QDaBnqU5{q>I|_T zn}7TRy{HM?#MOL#tKNphKFzM9-iGMP9IUtTL}QKk7iBb}zi3eSAo7V^*UJiJPY(m!L;}SLC<0(Q|a=9guvdJ9_qH zgI^z}9r0)vi|(x~zhew)C1wop%f|P85R>@RmtR^I)q<%0gL2aGV3gp=hF_b9sH3?bI78aL(SGBdbSP)4?45Kx z_~{@08E15>zOIVse0%qqzkTPu3Q<*O#5e zFFVIlb@to?2B8?BSf!%)MFC*^N4y({BLhf{K9(V`i;q-)eymD#D#nO z`g!)V;i-H#{li**n|@U=xj>XXHM-{4y1iX*j4)1C0ZweDsIxWa5V#$`0`9H&G8_Y- z9dN4GRBWQ0ktRbv2m-ynv~Imv%scc?L_Amyp#KM>RHY=Vw-zLQh!UI3Tba27F}e79 z0IfS$r&GQX-@PzMnc=T_GOgafZ`4B@qE+f7L#>aFJ1(M&k{NIbW&x#&%4+SKT28(o zQ9jlS0eukBw7xsbEIWLC!D`hnj)xJKkNv86_65tw;#h+J5b56jonNY}q{Mh$HBUZH z+=qL(UyYx|4)`#L#SEz(xM;cCR>Ex=fL~(=q1TLSe#rOd8%Ob@+_^OisVo2TrEiCl zj~|?T{5+X_oN>p>wdR-?k90LiBoEKC$LPz)%Aa=-Yb8^BVgh9u_lX$gB_Atq@^Lh( zZIh256y>yUqA$Zgt;xq9lzgoGtM-zQ#qq}EW6|C;l0Za>n3!++eojYSD;2{u{MyEM ziS{KQ|7fip&Bys(y%{qsW?yXX>gFHlrIi!;_@{4$i*<>T~FkITp6MIZTCw7MoM z+Dt@6t%s5tZ-kOEr!Pt>HCxYUs^cUdM~|%uNPwd3xQRAb^p!s= z^2Y8HVX&)rlE3Uz{Jf+7L;q9;$F_%a)CU`JKX^MIia1f^uGe{QUH?6w1cyb|iawMZ zw)IK0Rkp;&Ssx|s{NZkC_FlOwA<907rMR;Z@7$5(CW6fMUz}W&9bVY7eRspj z7@{?2MhHr5zKC(!H?8<9T;jOuo&Qi#fN<(J=8>0`2iwZp#^Kn6b-!oojvHaq%K zmj6A|Q{VT_pldtadI<)!M}3fbSql#5RaWd}Yxq!tj`s(t1iPq9Igm!X=x18)hA=4k`Fotp>JA~&+?@5k}cG6j!45q?ia;5 z#ls1e7m1paj0&~dr~p-~sf|&Gt(2#(G}W&tx7JyH`({ArN#94K9IHI~L|&^yG|uho z_*?E}pz*^O6aHSIzWW>R9>>#v_!%)CV4eT;xGL{P{E63}sH+4Ic0^8$=5hIkC%?W( z@<|U*3jT49LF8#?o+9F(ia~} zCKUTU`c{dQvq3!#x^a)EJ1cB339+p=j)&r@y@4G0@jh=L&r{pC6_O0Eyqrdl|0`ju z`($Nn@7gv`^?(C2i#OHO%DV@2+?~QDdPF#jc^q{-2(eR3Tx&wz*6e><^MLaH zBHJ0qiqdV!O8D!$Ura7Gp`yM$?yl*~e?K$0K3v`ou~joGj?- z5iZ~GWVGPCfQwDE5S;1?Fikl$f2k%;#wC>~2hoz5d;{!y?!7~50M|EvvlYg5);)>6 z%Ap%K5%J85z3P29R;(wYOUGR+;iumAB%G>sc2gxarCMaxdRV+Kg@XP@Qi;4}&1TlF z=4nO$&Kg399#%D`c1LH)*v#5knnrPTHTdc`8s{!}_lW(A-9OwM@0)Y>Gy0o&9K?D- zebW`@03DZwueiP5)4=!}s3V7wK=qRG6}RN;Z*4u+?320mk1vj|xSij#?#{|tSv-pU z84|Igj}HZJf53WeofoWcB4B()E7czJgmt{PpOuEMly~FAk6qhltsdZt=gHis4~iF{ z)4WqHUxA38J4_##i;} zeaPF~S-t{qCm@@-QfDn+sfX?hD0Z~^v{b$VO{4PFi_mX0&fhmg#yfZL7d+*{)YcSg$=q+Ec%KGUxuTjYY~|dk>(* zbQ3dubf^dAJ%9-J6`?bqWp#lgob>`!9f7$fQ z=ZA^i@HxK?x;GZ?FhP-%+Lkx~t)7hJ*{~b)?0w2Fo;&y#C)K6r8KA^sa~<9l0!+^LKp9RFh1RRur& zqrcayt55B``Pct9zPB|uUfOC^*Yot%W3JL&To=D*A^z2ZazTQWocBHGvzO4agcS8KZEufv^ zvH^KePOH>TTG4>(RetuqKO!Vprl!bx+Kpa zwgQlHz(r;Cw8BK?W>Tna$3&@gPRHS`KUgIB8^t?I-l-~IPYA&|qwP-MtVdy?kIiz#smWAn%h}H66OD>2RwipKKPU zqRhC6K$_=rN&TV+fya!ZS+v)tD3-zKC33ss!wR-nF$xH z^`MnT6yczh>C1qkXGa23O4h5CYeg3iyQszN6T&Uka^AAGYEoinA=+HgSN^QX+k4p+ zj$OI&yXv~TUT%G6PjmT)n}VsrC~Ct_-tyEZQ`G(erLIVkC(2$48-`K9xse!hv^6{c zjUpK+c46F9Mpz?>fQ^+}P?ltais%-0#9g7wsadvLF~4bmy|+ z9qx^FpPkt6EwYPs(D#<1UyrXZwl9GZKTQ?FuU+5XH{Ry2U+>fg&%9fuOoj|E!V$3J zi*dOinSdl@U+A)0Z;b}d{t3Fr)0|aZ5rsuL$ADqtceG~L2KhTKTbS0-P@yPK!oRfw zxu*W@ZkN{ZdKUEuJtRAVGOjwbIwcl}P*C>N2nusyi@e{+=^<-7T$X#071oPb>5smI zfUT=e^%`c0L=aeX241~vmQtct&ygNCTnweIMgHiFnCjZ16;cB6$4d9^lsMKF=%tmn zZ`eU$D(dB;*dhtizAUnwP2Pm%z~gY@UKBqj395Y*-5R3%RWK78=cv+oG7<%N(JH~N zmDc1DBEr^Lqx=q98`P~1bF2TV9?K(u2l4>>BM0pR`8s z92k_5vLg{Cg2^J$x429ckJuZn>@w_|_gg7BI&N@Y)}g~|Z*CCjl`K-<0`0{6=D8ag z%AX4NiF3FzdBf=3TDQLli?BZY|LF~bY~*U<<&$tHz30`$Zy6?ewAoMZYs6XwVG-QS znB*Us89W}&23@3%bIoebYU0bf=zIK6*@iKAXf-&J5Z z>VxpQM%h{~A1kBY^BadM)!y2hzeKIG+@*jf6)I2{W5LKJikDPo*SFppj$i0?_J4h>UPsPooMy-Km)ma{VLKi%HHR7^!-#rA$ z%$MTs#P#66-kaP`(^ZmGR~hOZf4OIRm7=ZG*yBdNtHav~w#do1eG z9wDPVXgi(2i3KQ7_AQ*Ca? z6P@Y#+3`f9YA`#V2Zc!-7kzgRKc!GU4JD%uJnUd8+i#~KV zea~BKjpI#Mezxh3$F-uD>HoE(TrEmvL&TiT5$5p^^it1e$D>|e-!jKVV%zCfj$6eN z?25p~4aCCtp+MU?BCIGgZO0QyjNKdnh|)KEnyjdmPQxQ@-K-ksP zDhu+2t%TZkJU``kMSkO{yDJLpM9_nC4C)ta*tg(GY(ZcgzxZQTr#FGL@Ba+(H4FAf zoDw{(txh|#-)SN>IZiApwyFVh5^`T!0+G!`o=f>hTdqkgr+|qAk@Y8nL0Jz%FuCf3 zae_Q)-yA}SA_K|Nd@D8<-R3ba|1oP;Fp-|ke<%yOHuJATAfYRzF9=?X9+0=lzNAg$ zeOn=)Jn1)d*fX|o-n57z`plz#Sri_oC`Hzrpj5=Riv4p?bE;q9k*9y-YP`0?XxanY z%9pMRm-??}^c(UI&V`Mv+4-O|^#Kpsmr#rqz*d^Gkt!{M`dqObM;oXbaL-VjHM>Tv z>lc++v6_YTV+Al1h#B5i-&(m;zg#s0X;y{@ljd#BlNiIVQFXtKV973G`GzHvP?gX- zxhg;_AaAt}s&(bZYsEoog*-_eW*h2=htVmXL3!-TAC2m{FN!y+an9VdS!x9}KK$4a z&Onc^4TsZT8-Aa!4f`*(>Sshe(|7ZJRVpL?!tMW#cvu-ze`x`f;)pz|^(gW>V(S6g zN%giyAK1_D5iM#UrNjw19>!6U-{@g?r6%JSe*Fe2e7yu5Hd!lsB4d>&(WIrP7D`&f zLg0A`s}y-&L@Qgy55jEiyH;X1PudsPX!7s47{>pX%bD^piPUyLjA z)TGFH^3brzEMRN36z`_X#fdiropmv#rNS}Meo^*%A8fAFHeDS{b{5~Z^CSdT8Qc?q z2?1NR9EdQCMD2@>+gCf%8hzJ}dZB$6tEl7RB;#T-m{*PZB#LyF*0i9-6t;36%&AAr zQqZwaCeVzb`aU?ZiUIWqf>b;5pAUkUy0*0v^&KhMF|V>84+!tLwq+UW3$?`LWuEz6 zxP+SK{3EqUDqdIai4go~jdOYkn$F(VvjykPvj6H7Dl@BAaXc7)LrX@kT0ved{^eY2 zvHzv4T&2Yk0W1togyt+;ukAZ2d0QUiWKBDRv=$|&oDrmy$6m5jzkHnPxFuMYlMQzKC~W#x79Z%u1IUqRy1o3Cvub@vpLo;EEgop?D>D; z?V4SabCW3vX2%yB4yO zJdlICAQ>b(M|Fm_+jsi4LZH=}%~m6ajb8QJ+Cr<=7HRECwtcnC*FW?aznW#Hr=1n> zTLR!zHJFgUP-QnQqtlANiIU5(y8I*dyi1?3FPTlN$IC^jgdd;Bub#jD4vIhxPk{QpFS9mPpb?MA+#?8h+3iXZ1_IBVc%uq=#}_#cna7n!gGo%Hcr3_qqeErlkd?p1McZNCl)j?W zEBvF}`e3+K?XNW#FFuHs{^-kAz}D;tVjxi@$}x3i2t%e6iA2qNlRlXNvGqLVUyfXB zw8E46Y*M??xIC8wrsSh)DgK@W7Y({@a!e{~O)ZHi z<=Py^IuGg4k(bp;hOrHHBZ70PA8Wu=Mzs2_H9&ZpE0WFnLf7r=G?1&O+6pe`I@V-?#4I*GfQP1=gmwklFM*ELDAj^*co4@B3*@1&Ef~ zcZdq5;|6Cy{?`0@=VE=3Qot`8so9Hiqt9k9L!4J))MK2ZZ=bXpGp=QKSLd6aV&@?Y z964++iia~2zd0ak8+>vMGp{Co%P{U?tGbU~;?yPNBSrbd5 zRLfDAtbtMcY-$>I_)AI9!|p`>$vLK)O16GbP9s09e^DHuXT0cp2Xm_)|h~x_gQ9DOT=@tBnuW%2HD0ewN}>3 zNk{ue``N45cPN$9gQ>F2pXP(Uzpt&eRk!pN!^1-g3z;lu_tQ=XIus}YKS-el}_q|c&pdYNsT0H=Zkt; zA*HD(Tu6LnT(PZ`sxX46(TCSO2z6UKJ~(mVT9NTbTnwk){j`%r)x|0~l4xa428`LO zi&f;L)O<})IgnW!<|V!;b-#GKFg#K;wt-32cw(2eH_plUR%*evZpQ!%Ys=KI+3_d? z^-8&jf?qUUB=-*y-tza;`sm{8H}NF@K3L7h^YA48Le}>VV3-;0fD^yeN~{qC5g8r0 zwkVZFI7Q8;9I+K8iE^scN`t@8PR+PV!>`|kQP&E0DFwo?CjPEJdl_Ob%;w+X%SBXZ z=nj+!g%v(%6~WWW5XwLzQ?LA|eN&g?Rna>0gyV<``;v`oO`=Ye(R?QzQH#ue~MH+Om9TuFgX53)>QsQV)c#j%?@kDQuR%}(XSTTmsuKZ z%Q_fE8E`yXqu39^#nj7M%W|NcD@J)4cQ!s5!jGwlPv7`QY{Mf;6y&&D&02Xx8RF{d z;W9xY0-XGl_anB>yUDjfPb?%W@{O&G1xx!Lz%M3wwr>vdd_f!^M*#em-rH>&nV_9= z)q4LIv&lm^fUR-DtHb@aof?0lWBbcR2UTy^o9Lh>Q-&uxcyH*l$e`U}5?dD?Lqtb; zbhx!Dee)!?)Uu2_FQ~UMYq_1HbHDdy!{ zzFVfe%!vR%W`_#+2*_rynS6-lcM5nwQ5d+sOCIJR4?B4(l%|)xSX!K)~|2H+mJE7 z2@%!X=%GIb>uq2?DDm&u87;>*qA&;I#CqWDg~&!kI5MYiBU8np~k%t*<5)_b|auk z@H-+lVRhi^{~NDABl33{+4Y<^9wxHG=HS$5Bn526Uq6LU%EA2g&(7Uik%F@~Su32N zM`UEbSrZl@U1t{xPL{|UP`^vFEP>03vU8`tN{$4_U-Aaj)|@Lw@CV_A$z|7yi(y}% z)JG8%+k+xQh#3ol!!1NLTo2m$0dB6m;|l17zW!yCoK0t_!oq@%j%Vfcv*{>CQxhXm%C;6KApWYGV$ZTyE- zn3IfI-+;QRU?LF>xaMYZ%$OCIr!kEhND(EgYa>viuJr{d74zi-R+$Q8t*dHUw;+|L z6Y_s}2OQ>Y&7;glHzWX49D*B818GIU)lZ(x8&LbEay_tKs`JfjaD8MZ#2FLhB6ASrpAXKo53P_(r=u!r%k`l z*M|LVw%U*_v7dht)D< zaP^xiMNef`WeW8wVYH8dYPWDTypyVo*0Gd3NRWICXR#$0c}_2bMP6+@zS9=ixcnv; zf>!5(YGXNNT!=>9(>jv+#TI=sZ$QQF)@W6upj7xd<`C^#FXc|f#N2=^dJIGt^+c!VCzB9)0D2rJ5^^x1?079p|&qzB&uPV=$lGscHz$B>TjXt!x=)?LcDgmr_E+$mwjgq48su%PzMPwV z0e^M3N(;fs6#FYY#|{hoS9tE$CMEAY)gwr2u_sttJs$D&ptZ74eGf$B`bw< zO|#GTOq|yEM2-aPn<(2GQ1LN%N6JYcD^jbpDbZuC;Y5y6m*Rhs^kTW7>udjiVYcA; z!YpfaZZaj?4xb->p0EDi=cmtS{`PMqzt1D@kMY5j7#Y2LV_BHF63bbsUI5k$$WHPA zcP_i~FbMm#>KApi@AQlK_O)h1+eSJl%pcUg$th23_ywemzy1-A;cvLi^o+%S@EHC^ zFco)>97SQH9OsDQ5m-IE%wHGgec++X>JAvDHVP#i>wu|cD40+{;o8P zh`*HYxy)N{axaX`@jUd_6$~w(KCO6s`pUFqX8UsDuAZQPYLT;IWe9KNds)re(J7Io zHK3jB^Lcie*%}h*Q(@-~s3`mcb2UQI>=Kh_4yNfGG- zOJa-EE3jv{^>EV3(~5z7a($Bw(eH~r$p=MVh)48Ps<51WL;FUNduJtT-m|Vi-mnoK zADw}hBW-1E=3bxFXIXbE;N>~=qSunrX!^z6kCvEvd6-zP*O5bcG%iVDWV>2 z6R*U<)c)RF-yQ~>3JcZhA5 ztW}L}-0(8keITu_6*P%_0}4u>BOt<#;7Q0H%_3FYyRmRgI?V zujRz@n_AVd9A{`h1YO5#wj-=1SMwKY62D`Q|74WqD zi58M$eJ>IPX}u&BEwa{BS=dLfAZR+ym;eXRXP8wj5zn&5)D+y1gaw*0`9TM8UR>v)qS(vOe7I z#?5UILSIIpRXwL*e-J9np5-xC!R!#=lmyGYMYwcfbfjq0hI;ml^ z`@N#+!dmlCs&)IW_0h%GZ{kTfcJ`q0JUj`P%2_Wl7*7G;{u@69-JTzx=Go*$hDcmV zTa5=Q55GNw_*YBl=tjd;8d8bA(Mp3v>&YzxSm9&X#0oJNW&`h(&^MrHNIY~SV%w9X<#vrriyY_+4C+8R2$m~d^_mbOL=*d1T7 zT9SQqOZ)(|T_yrHe}lXZQI4h|HXXWYN=R}qP;MaK}%8y>yZ)~cY{&K(M9 z9z(66R+$yg#BY5A${k^&$y@G$?3Sic}X!i?b5uMnB>Lde;QU+W1& zaS!!8oWvmt&xE5y*)ziHVL~u&sdrKWD}%KliQRm`J>_^g2kWUNc5j*V3^v}I4e9MZ z9i-P-6euA{w&S)QXXMpjBogPDjtPd$Y7C>}uoA8D)tvp>8m$pHM#zKmrs2V;OBt9& z+vRvc8NvNKlz?pt7cDS?swUS@2!OQ49!-*ar&!)@AKagk$`o}k?V1_=#BUb zxBolhVSfF~JFha@Mtm^Ei*fLW8-nBTpLkWy(~hzDRRixHmT6IxDEqp+66bHpnJfDS z{)m;oN(Uu7Q=aj6^`M-U;H}mn;=~l*;BHtPKMTotCfe>S`BzMF5IgY~?I1R~ zqRkr5kNlnIUB5c^dq1gp9*q>^!}x%b5J~mDAGk5x_G4uJuAf_TtNszmZzoxS9G8n_ z%3_gB=}i1SfcN-T%a~8Zo;=aYK0;*O!>ll}D7kX=zF%<3*#a!19lBGXFZ2?m7i0L2 zyZna%lrW)cE5>=y>iq{l*02AaKSgH8UcLX|kZVvGjD?6&39a6D_1W2C_-bl3JoUb9 z;j-2H(VI36)ryi)Sgq^p-(%C3dS9Gc;AtIK!v^`blHNbY73bCjGASW!(CmrtKWO#- zgCAXd{U)Booj^o*7}@XhFwiibLVFk_eBxJy(mP!9pt0@;Yj67M3s{LT5T)`?{=rkg zsY_DmWEPo|#N(5gqCS>dTO4nNbI>!$D3f#1&g3m4J8su=4DCGb!sv~Qi`;`V4@&#P z?Y-F~nLwO#faD2L>=^|-=vnJplYjE0HcD<1WpA_0<*doJ$!l4;eUtM}-eyE|q+jQW z&!yJm7iGL_7?fpNV5wb;@Czo>=@3mFRrBw z%u|nuZ)R^{+v{6l8CRgkgqC3$dnohv7Qyv(HYK8YIz%8^R?OZak}Te|G{QSFwiO|c z;|3|^`!3K{6xLQM=4h(pAX+t*m?!JYC75CoX`iqBT@fr+FHhZ>ZzqYFIlscoSANF! zKQMk&*7KGh{r^9hf7ZrpCkyGpAS5TRK*pl*TuKck@4F^Ank~Ob4**%OfIN=?l|{U5 z>AbBtL2@lfi-S^a1u-r+9>dgYCAD@WoZL3wu{ln(=PgZJa}0_6-j+0vfQbc=b%ThA z1Ledj$a$bn$69N`NtAhzuq$V{_TAbEOP@5a(-*-XgnCjjU+d|dc|9R{bUyspZ2kX* zk44etYxCqfz9o`6J9fdZhtUeJO4I`NYxVmRv(n@~zMUffyYeq4TVt*F`G4WeXZv^l zO2p<1jgU2nBqbU~#rUybwJDoHD55bRnpU^e$YxVI;W;2HKV`$KK(lxG%dcw?J**T3 zjxcI*5u0w*%9OE$l!Mp>QgwP zeW{9E4a;b&(T#QWG1|<#+B%t*8>%}8N-Ib$k%xV9C^~c8VGae+11S6hu@ZZX8xDb3 zqBCWXQ`jA%QBY1KASL_48qH^Ry!m%b%4bp#< zLp{~%MXms=E7e-Dx*Fe;*)n{_U54ANaIfQ5B6J$`SZ6rI@c2tq5^t&p=M+cmtau1w zpG11J(j%|_5>$;RR@eHl5Q)l_?%aY+r5eW`dMU)Kj;Fy&bZGKYYw<0X>~g{*#N^>S zQQ+GS@r2*_c<0)aR{hFFyedCNAj&!3ohX1)QI_99silchG9D;Z+?^;OM^5zM_f)yy z?7n)UK<}Ib^h5!adXueWs!>PQx0%jp+na-)D1hRhkzdVz*B_SRmh8N{+0$FT`uDAP z*jNrPf|EZ;ZA6*(W@VD1ndis)s}T&QoR>-bu7NRd zOn>+?1GjMz(S2Pr#jxI7jrI9|;mb_i)^$EvIGJkr=EG~fN2P^XucxQ}hJJXXJ4uig z2^O=4_TF1#y>SQ5*;T4VThq6@*F(3rJ=~oyXlIe`h(PZCupZ8bZNZew$MN3GYqY!D zp1iDxTE@Q9KrlK7=Z!*6Pt&{E&03H)BLhFcAAJ^%JkIfBJobL9sd4PFX*&rt3+=$W}YUfzNe6iV)X z7?g9`)&QV9$xgcC#x!P0_aNM>$PSFWfVaFTx7t3KA%dDS^(^{w_@K7SRo>80hFtJb z2J3H-F$PLz#vs`pE1{Mmq#c(W;gf8k;Wgj>`y^qRdH_6cmzP1&V2@)xQ{3jQK%$ugK-!6#H^)N ziy}Q9qC^y4@p$Bq&VpUdvJ5ZhL}6d5>TnHsr^}dHo#mtgUo46(ND#hl(Kh^_oa-d( zYAY?rW~(-jS2A+7ALdLV@>v|C5*wqSjFil$OsU=}O}bXBu`FrdT7!5q)>--5=6A$C zcD>f;TpgZ>MjM$dN*UM%wQtt?oYqD9BvN(Q9fbqB*2wRZIYVG=dP@X#-92{|S1<7h z;v4CE`eomt?$r-JY_s;Bf!L~-k^uBAkUGQ7lk*W~=cNSK9}t4us=h(7YZ!KG{jv^Y z#sBGTl))e!8O9E>Z}=pYHtq9j;upRK=Zu=ToA)(hIVjK~skU~jO?yRitWbMVShX*) zB+5OQq(7xZ+(moic}(jr&iGZUq?%f9K9lWHJV=?TyPYL8B+9L}4<`L(B$)szY2WZ~ zsH8INB#$(pMB67M*7yD)tY%+QvNDb3vh|DJd~){yvQMxt5o=#&b!{oWL>!ijat@2U zWf)>#Es@OIH`>pA5Bm?@3>=+bg#^xfc`&1c!e$91QF3<>QbTKI zORF;?2$XjyJgJYZ_JwZ3UtlXo`g-00N~S?YL#{pvrsFP`7<&@9dn#N7OH1y00nQOl z5*r0z{T$T3R;wUXW?N$qzn67zZxl%OL<;v@FHYLli&{zWf5NNrDo2a2Vh5}O3j1NP zcpNw~(~93`8?U z!sp=FH>7WCMr!pAO0^MZtDX}z1gv_-Vrnauuqd7$WM6FW8rI6T&nV$ZZSwW0aDq2B zY!Ac03B$O3>u_#TkcQv7e7OCw%#Y{exBOyRJO)+x2HamHUzOLBd~os)X$Gx;m?+UE zBHGGXL^x~l*U!pm1h>Dyp8b6*7f>pqAp3?;V+-u+JqNvw)aR3}=8W*v)8H^4GT?on zoV3O<9+cAFao5`1e^2%#pINd~CMQ>3X03m?3sIsXa~$$6A2!E<%?kKdT45daOme_y zy)~fpmuJDAW@0|iIY6nC33YSeBW8>5m*_+Mgoi+Y}UL3b4`9FNC z{+lpP6<2S2tGetdcp~Q!IsMR|G8$B>lz5jjrPArlIoY8efa{PseX(s(@^VnUZST9& z%EI(w>Nvd(P00$7SQr(Y_r}Z$^QmK7k*GROm6taUT@iJMdQA@OHx!Kb(tI{H1fIsP3@6zY9*hH?v_5(N!M)Hu>IA$0qj0;Ttj7EWbj(CyNqI*}~eF zBsO38o4#3ZmTB7%uGPN7P+FcW!$LcvoDL@^wr?x~Rl1tx6FT{;=E$o=aK66lYQiJ& zT~Xc@u?T-Pe5U3YyMvxG|C%#U1O@{6`cGW-ZEF-s@ULVXOGR zD0V{Z^M_<-T+??7&YKf!b|-2r#!l?$v1CQ#t4nT6Op0;>xCm7fEW~Gt zP*HLws9GWsWZa7rxtYGRoO^%Sw!So!s!m%ClZzcUHfMO_Bvj&)m{Yy5D18g>aU@hA zmmyeXKmj6b+`f0?qJ0yMDSYDl^;k+O`=XcnESq-`&KZC9$<-hzr+u+i`{GiMrIHU~ z8`~JJ@}{g6C*nfM$p-zZKq_n;;rb3k4UQCTCrOB6(=dGfBkxz)%Bv-Y&@yZV>UUvi zGWGdK_>pv}ev^im)gL`9=d00hbg*cZEd1cGaL6N;RmY6$I1dZ+@>=yZVc~2GJ}eybi(z4{5uJsFKPW8x!C_&ZRD+Ay)$dDZ@x zg|S8F91GV^8P~jazkNt*VHVI276zxv%35vxurTN+3nQqucvu*0Opb+-!stMUvhcj{ zVPQO?dI}47HS`V7vR$qALF$`&%yHLBBy`-caJHDXQ3QRYfh8 zo#3&swo(RS0h^zt%EH>lwqs#%>f^F7C_GD91zR3E7JjiT?2~G{EDZX=!r%`JgT5?0 zMtE3wZ>Gk=u#!3(&rS~y3$LnP>uiybHQx5u17l%2JuIBab>(4U(Odb3h51#wtcN{@ zzYXx0dt*7*WbD+!{%W1iS4w~Hu2O0(P^?Z{@(MQz!{EVxy;rEUK=2DFjLo?5TJW91 zITHUYOR&YUZ&V~I`+&1Ihr!#L^Ile@wP;hK$6CWggKs7NdV8^K^aB&^Irq5d|Ajdh z@cp22J2$&^Hjf|tJYW62&%e>w`TM-l`2({p{Elx<(QDCQt%aipb#443(QB(~VM$~} zP&_6jgtkaDV8=ubc>0A%VkvErounxFKge;%8Bc3i4OAPy{!x$FX#;k3Kd8sJTe|a% zzua0>uHP69a6Wvhe7?4a2infE0j9XZFo4;1h%~nmLo!!@RoM;Ce z)*BQz|9& zRE{-sf>H-CZ)JWeY8Gbe-YKw|RTo$$2ShAV^+^nM4pns zz@$M@&YiQ`_RR?ksyDi7Jy=vNz6eq1d-&Eq+n+9|>bNl#b|+SS$0p91WZtp;<&NCE z2^tcm(joYhoxDLe#!ya}N2$ws-n496-m(4Vj^L**1=!0u5$V; z%Bc$cq3s_;qHo`|V*Rw5hjE|w%}E-rl^EmMR0GK>_FbK3#DV5Tv-DUQcW_*)BG;C8 zY@$4gbA(61IeqHxnUzO_IZRM1iB3>Gh(k!dG4I&ac5It>Y@#qQZdDH&CKIdu2g#!^ zVx{WgX(gycd54)`6-6RaVRc6CYK<3PM4}?APHehbaXN!*TseGb>#AAeQi;ZBcyabW z>czFqi^(Ug8+c(84a$^MAoX~RYjhAazGGAWIoHf~Q53Iasy?6qPWywWGDeczXWa%QehcfZJp z!mUL)=ZDLZJHc6N&o7@O|Ij|K zCVtB>sj^z>p>uB+vW9RS*;p?jLTl+|zN8ARmnu8&BDD10qCraaimZreH=gl6^~jD* z8TYn}G~yc%aV$b2Y2R=aHHoo9o6Ln4pT5OZ6d9?=s+GR0CkdL4n-k$yK1Pdc8;=o5 zN)%*YD(MI7d$~EXCwIC{PA?M>vG#=nm3LKk-m!_Y=gFal;}ZMM%ArU5M*G>x+BVeF zjl(%9_g%$bf04B;-fCgkC`dKHZ?fLr?2GYcoB-dTeY-w0_5V;dJrVYoyRe>tH@=Y6 zyRqo9SY(cOCOwi}DO>_V&-TThcm_D*66M`PxyPn0Cl?7b`{E~KG(CS-$VNbPxwYeh z)m9Fo(yE?eDW#`Pl-EfeH~6xtGCsO;?Zep(eK48Y(a0!`UN+c4<-^4zgX&jh?CAon zYH!eX;oTL2V_|fzrs6VTXqkv`A796Fz{%O68C&yik0;ek(q#C$d_rKURSFj+Oc099 z{fDxbQx|J}bn*3@c#?M&<^S{`?zyF#J={Gpj73o@+5+!=k6Z`Z34x5{o!(lMf{WR~ zkrbk3&3FGah3a2!l=8^*Vc%lr!P%Urb*J<8Sx4q&GcM$;o`Qmq!Dl(XLYrU;oxiL| zzoJsc`9xYD1eMsg>n(Pk@A|6|xKW!kdTOozP+ci$Fi&_dvKk|nMCpwPc+VjsHEj1{ zBLK8q>%JSbQxGy2l7W|xC^kfTn)*<)gj*xD`3G#B#)_?Qy?u#9AWs}7FDop2*w>g0 zuKY45y-|$wES@Po{_cJ#9^I1yaF_^xXP({7#MeAsIrOYG;V75m+O{Ttb{_>wPDuII zwI)`eglZytYb>VxU;Ue#_T5))id@>nuVs4v<bvs|-(aeMygeDa9fV z?%?7aBKVz9IT}P3$(K3NULi@zj`W&$wi)fgOc?gj4jpvTC?T;AeN-OPb>AW zDDuKJMe-$=F$uT!HMf9CRZ3*-1B&$USo>CI$RC}pm9?o~o>U^%-M*=RqZj;xR@5Vs zhx|#vqS%6h!T61B9Er4M{TtgTMK(qvnSqg}eYWxNGtyda&1^j#uZxuss}v+q(-xq_#nb%eQn(h?58~!-hz|@H}6QE0uWQlx3;=g zFah(w6lFQph{;5$aZsiFY2WaEFt)V zgKe|c!vtn9XI0*2e-Jb&au)<*7RN>3t~E#ULCTx0-3KLuJ(z8WHOS{X#j*AKRbivR z9)49g4DcJn2-d&0TjdxR>OHAllz2l#B@I$i__%#-<=&8IBF==KLGIu|sei>*ykN%# zd75Or`E9u*mBd@(!ryu+KcE;}$5|ZZ1UV=1m0Uxs=Mi8%Or)M+DQ6i<0gb%F<~#R+ zk&&@}WB40mz3q%XmT_pD>xh2Pizp=BLde%;vYmPbG z@0eP9^k4cN)8Kfx+Sy43A=EExX1^0t`VCQYKF`idnEkRI7F6 zS&;7^LGZHQ5KXLIMm?NUI&A|T>r=n*SvSu=76@;!Mo&udeYB;uhpD6005&Qou^kr0 z_u;Qf%3>XDHbUSct29>Z`5SFzEU=MZoHg%BZ4zT>&D8z*Hm+-icD80YgMg4TQgSJ8 zegDPmbe<=(>CU+7IkibOYu$@3V|yejvVKB7_nWk}egdZ+Y5l~?Jsr3w(L*B)@2e+3 zEY3qHJsQlR&j-aD`Hf57MEW*MO<1}6HMg9|k*@f?tNnrstwgVAIwg$w-6P(sS%YX# z`{HHBNTTf@?qaxaEwXQ3{XDH?7i45y7VTFip-oXLD8EIBI>qE7k$Wrjk4Jt`D)$ej zxDX|tQn@>BG_lHE>`6Pe!wWL2-jvE+q=#rp^Pe~|lFD7_-R;o|DTokEl=v5CzYsDL zsXJ5{3UtdY>L06 zniYFm3dW5@*>}XZl-FI;d7d~rTWjbgPwEe>dw%H2wb*kio~0-hg&mTcMDxm2?piAQ zrd96h+v>2$ zxd$nID)$cx+dO!c`-4-ti=x9+?m_5`m`bG}wz>i1xu0{L{0wc6u4U4oDg3y+pk<*ImMdojj zycf&&*)UgLjoV66uq`@Yi! ze^Bz^gK^ka?tYszCt0i94_^-V%co)3<@Ce#6@BCTygA)3GMdZyA#Dl^>_2Q=Ij7%U z%s%%wMm^V_QwTyA)~5F=5D3|?GG<4UatED)!^Dh*{z0iG8qeIBNNpTsUjk6JS}Ph? zYmp+~$P~dTp8xvA!^JGAR+POb1HcU4BWR4KY7>W5ppUkqTKS$Jv27^(kq6_$c&Sg; z%FHSXOXq~KGUOC7^^Fp)f-%d0?2EsodKDXUS_PkFrN&Kjv1k=_s^Vzr&D+zUPpa)@ zZSr({OYLtSXC+5E3ml^K&7k^onD=n(uARSrP|ujZ_pa+VN|3KD)0f zi)59Al0*cBD@lBW6_(rT<*ay-wpJ@G`euc2zN|qkC5NFoM*_n@>M@a)7fBDoh{*xh zigUmP_at?f)?-|G0$#5N@qe5rriewF->A`I5hED#s|+|{`=*tQwkNCQ<;_%k>LvLa z2hh@wMlt^fp8`3i&xp)w?!SJjYL1A=>{XQ|K+u29 z9U$XlUs_c6m)*SC(AnF|X5X1muD@}W7a#h@g|gJ#`8~*VTn70bhtd1;%eOvOKQU-u zjdjX&FFN?Mp0NW3_nsQRy$3Jk4Uv|_|jE!-4-uvAf_)Sf9 zVqNzFAUkc)dNSW(kh@kxeZRrD*UH~K~QseDXK%Gjwy#Tl_eR~1#YFuwG z04k>5UI5(L$o2xD>)G84_%z)s-(J9{)p}@q0Z`uCUI0|>s&&*OiT3sa*tg!N1@uKd zB+D;?4sS2;Mmxp-%tf%erthd-6DWC6aVUx2UVu?M7V}|tYI^}tJi5IAC|`86;9Qo_Qx!3@kVS^=ra?xfE9=!&HV}cZ z`?z-myBBcfF{yPAnd*ezUOLg;m)dE?lN_}$pW9qrSYF80DVvP{IBMK^bKfHytv z1jUR6okU6x>SXZk1;8hv6(3}WsBYLBlzs73_7*#e%IpP1%XNM8McWHJ{PqG5Z!aJ+ zDz_H^yKvAuv6oM*X2dlIfnzr6rBUAGqi#VPBrzGz+2!}+HEj5jxulE$ujaBp(( zCrzkS|L`Wp?G#X3^jLf`Mb=)#8ASy6e2FR_#PWITjbgyfEicIeeCOLB_EF^basrZA z=Kw|jgGB8uX(wEF^3uIbBmO2>z6`@FU_HX0qp@dnwmD7f;a!QYtxGr?=lILHy`e1X z6sN{gWDX$H&N7g(9T;W8%p}^(S|-T`A9T7N#xawjsNeyWGE81SIaCC3pRfJr5h}8g zjOqQWcYd!pjCs``?>oBg43r$Tk7&f-_NtpfU+xTQ57R-5DF4vn#H#$wu%7MK!u0+K zzwoDm{&9U-?pK-@9dHpV@>kUCdOuejCeN`wcL3ihh@AoN@^r>PZonzN=c8_&j-s1y z`e=Rl6f5y|5fmn(y%F6L2|~=dhdbu=KJ*FWm#+QTkTh^zvjH0-gV$pJ*_%y+$Sxj^ zpd5+v#bc1ucMRfve)XS4)?JPnwa7a1VXuI_jmGgPUj}U-G>(1fRhutn8|ha>JKttO z<@}t~vdvYCs}WF!mgO#26TFfNu?}(F8u+5o{U8!n#i%uK#mS3?t4z+-TCXyJt?^jT zI)+U8TmLH4rzc+pi3EIhvAN565O-b2*>YoQtq6M=ziJMI2yvrU~Bq!R6DvdcC?s{ zXZVkEVdSwc;)!~9j4&n!HQ2^*%;p;FXvn7DFWMHpXpb*VcI`&V>;yt=ywXm&5@^h5 zr|?j1nd{yt88%(18m{#>#-P3{sa%b3CkiT4a3i@O+I=aivqh&J$)#m_Hd6@@^_~|R z)Hgl5p`R^aGzR}ygcV(MQb-#5v-;_J=u5D${Qu_UMm|M3^ zv7^=uMzb51($616wNZw{A3G7*a?@W}&&Qn1|HfE6pexOrQUD%U$XH7#wpbcm-+~v} zlY-(icmR)su9lN(NCUpp4tap4){_*iN7UKkE^?Ny1b#7jqqI<~^zKs_yZXGH7=P!i zK5Og)s>i8O^9zE9Rz<(qy}4K7BecPht*dqF)|HpjR=rXbiqeg~g?L>{?$}O3z||bc zP2FH>;}dg|GoWO^8L>Pn*OTE$S0a_X>&`DgcYbkppd!fQ1dJA~8K@g2;=YJBPI*70 z#u(^!#oSDERcU=8_}*=>g9hEM7{(LXNfF*8^ZZs$lsIaW9Y`_nf{)E6BC1meaJ&j> zkjMIX{B3lCZYKeneXESjb+o3Um9)ySLw9j5Od~%agBGPd(Y_?BcVPi7NKKs`x=3t~ z�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�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

    AF!G)o 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 Gb4&MDof7f`=x3km8Gk8v|_INq9 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 z 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

    -YINi8d7*x_0F?Y2a4C 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%0AE22c&k=;& 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/diagramas/sequence/Unity/seq_unity_ulr_rendering.pdf b/SIBR_viewers/docs/img/diagramas/sequence/Unity/seq_unity_ulr_rendering.pdf new file mode 100644 index 0000000000000000000000000000000000000000..07b2965ba1e0a8feb18cf27f6e7147a9db7788e8 GIT binary patch literal 420391 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

    GFoed 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 z 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%0AFpCT18&#z075EZ(qb|? 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/ibr_common_cmake.png b/SIBR_viewers/docs/img/ibr_common_cmake.png new file mode 100644 index 0000000000000000000000000000000000000000..8e40ba7c31d2a6ffc1830f0a188f1c651ff5de35 GIT binary patch literal 117471 zcmb5WbyU=0*Dg#-NOyyDNr^BFp>%gjD=9g^(A_<>NJ)dzh_sY65+V&E2uL?bqu&kB zbKbMQwa)qDu$D0}{J3N9YhQcsYZI-ZCXb6vg^h%SgsZ3^qlJWozK4W_>WYa1J_F11 zOalKPyJ^WwAytjiY=IYOHj=86NJzB_4{u(ggV$Ivg%@r}NO;|Me~|l~-&=xDQov;m z;M&gCaL<>nR!FdyubtpLPF8RRK^{JyCvofP8c0b0f)!;Xb-YY>Z}DNqGdW8SKMMIc z*GFq5HR>3Z(N1xxRt#yk*_x#`mVNv@ZvBU753w?C$(%*^nx;)gQIML0Nz^A=XnOXe z2n|IDKLr}9g*in8KLtfZCIe=Oc^y^=!z5akIWbxn>uiW20p`$;k8Z0638p)@l zG%zwf9XD_M-*{kqE_BL$w0Yy5@BUJI$H8rmTZ1g-qc8%g`@a+(J*SQQ@Bc9$74hXE zr2prOS`-@n|MNyn4xIO^|MSK$k_VG6|MNyEY}9SY|9T?kqi|$*n*TfqqVKIb>UU5ps?`FIJ9uw&bTp#-Wm^F9$EK#ulS>%R_4W10_3XEA=26_JsHmZ#p%5ykMr!%KgY(kB z_vB<`;9E5oE-spAHrm@I9Lg&zRhdPk_g_0W$o&2G?ORU|T0{8^+x=2|QSO(jKt@jf zata?Gf5Ab>;Fxb!Qd#+7@<0!x!QYn6HzC$4YH9_FZEbCPdwcHg?xLRi6;)MEj*j() zmD1AE2AR3-%*x8j0Ud#Uets}mO?i2FZLKDr0Ao&0&H%i1@p9cQtZ?t-Qch0p>go#i z$-aO`-dbry)j`E-`SBC1^45}s%mOy=jV-|KIwqN^8Yz8u?mMK(c?UD zZ40hnVFSU%lqfgpV{>B@$tF27bff*VcoyL@zabU5Qxmo%p6hA0$sA$;_7OA z-0p(jURje*FoLH;dmgcA`62i}#(@QX&Hxz!CYt4;N#g?UjySYL z={v=0LLR3M=8n#c>BaEa7(Om;{ijcMn$~u^)4D9Nm0ImDADDSXW#3dt76? z^W6-zK96DB3UHr`i;I=OI8;>y4CQroNq5~WG-ltkrUrs(z?_~Bz< zs}i}qW7oZ%+4~0v{asy;h>k)U;0y#5l$5WXovYu!@6-j(l6lPEHP^qbMOr0iOx>gr ztN8aTCS)17spcXMasN!9KpUDSm&9tkgq5_U;C#?|?9*!

    X5f^h2IHV54s~&BuhY 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%0D$~$%0;GeMwyg6* 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%0D?4L<$QIBNmLv$iR6ZTdyrl3d6lvnVS&! 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

    obet^1k~s|2{?I@2QA?z!!Cw-P=cFfc(Kn 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⁢rF_U@OXFe4#w3m_f9cBP^ch%gZ_1A{`PV~EO{ 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

    PrsWYqagXRq4V~QBGBbW^`@x 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�Aw{N}mR-Who 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�p2guKKAMARDJFSGOA` zYPz)^#bVdoY<63s%9Wlyve16NN6GcF5VqJ3;H4_d zlcV{)hmZf||La@NKDnB$CeyheA$nz5uxByoQ{JCn1Dy=6{jneZ+>gBb=wJVf--^o8 z?dqaFJ2}1CuiLb)>*Ax2pT$m%Y2u4&QWRn8$r~n>aC4yyk%nx&?7L`yA@E!8Jg~M; zZMToHHSo*{^!-m>up{qj_&A%T`wvf?m+gM%fQxCEOzP{a^<+9V^G(;pIJ8@t&zIBb z^!)s`m=>-eGo(8C$sN<^OIfIdtWe8&X%K^!u8Frs;aUs(2{8OMF6(oaK8}+TW_|#I7u1`FRE4T zJ=fP4H@8nHCkeu5Hz`h_x{Rs&^qt&LV{Zf>4%rw@NgR7eT~5LK4AKn)R6%m%p%m2VYU&q-H-3D4l2F_2wjFXiD2O_yF&2`Oc72>o z3l~bnk?ml!*~Bq<$5mP1t4@X?fA-1C`C{<~`$3+C*+lbjetWxI&NE{|M5JV@mHz=7 zqpCXR-hTUS=iK)jdYyAmpFUl$*Z%w1RR5d2b!Khb7DeH`f924MF#KG zFk$wu?@(XQ>v=t|=Z{JOc79CZ*0lowP;Pco&x>m2hL~fYK~fi%S!_qc@GDRj(YSdXnv%x9ONT}G0N1jyXT}a&_uOU~ zTeJiG3+>MJIwFBp1c?aw&J#`m0yM5Hc&Hu*5)l;vKw_jjv$ZOizEY15k4x;;k0s2C z2+Z!lrOu+Mqa4Z2TnO#32M{E}ENlRvz1dh`n=KN8bM93$u%vu^e2A!ohltI9T`ZzjeVn_+S#VHzSI$?(>DxIA zAhg%de(%@+$JBKPC>kLF5mDQ5Nx&#fWvg@EAKW$nskWSv8Ov0 z8Y2iH136+9%bMY?smut$jFiwQ6rP#*6;vJ27>3Svx7m{+3}(R0nng{WV+TNDWCjEd zDFHfyoN`tu35h^$Ja+*z(0oAIxx(S-BQQx4i;`12NY9{Si#w@`BqKr&%#H~h0RmG@ zSyjDrhzA5cfZe>@E>EcI;;=(WxxKwixle{Zq;80dc{QsiDJ3dcl7iXsz4_VMGPV7u zpT7L9fAgf-b)l}f@VSSZU1O@3Pn&+o>~VQol;t$`LXX)msBA3i$!`XUFu^7Bu5sLzIe9IPjoVMX1SPprYhy(;r$f=+^)CFd-by?FJFFi zo*^&q)!IwmV;=Hys(IU?5Rl(>3KWXkEy)3D8;5%C)vDurGq8N|{OacX*37MzM_tz; zT3NYWyJyA_3IpwTU5pZ=0kVoV7O9js-kK1acSY*UW*cwUyK3%G8ec&nfthpEfij^n zaktwckO=0exf2y;�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

    W=N@>V+n;wCFO!rk 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 z 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/sibr_dataset.png b/SIBR_viewers/docs/img/sibr_dataset.png new file mode 100644 index 0000000000000000000000000000000000000000..ef0a8abb40a23c3f9e487ab24df178ef72fc5515 GIT binary patch literal 41954 zcmdS9bx>U2_9xo72M7u7kO0BmEqD@~0Kwg%akt>^8e9?x1b26LcXxNUIi2slcYZT9 zZ>HYV`{z-W%IWTP_Oj2Cz4r>1laW9}#zzK$Kxk5uq6#1ov;YVM<%NRMDyiD5N`K+e2U{}e8i4f-8JsPx0csG4Pte&~SKr*w zo>b4!*wl)j{G_3UoYd5SpIn7qnn~JP#L&c4($&^b(N#uC-_=~7+kjk9fRxXf2Ux(; z&|a6++0w$wj>nmw{O`Ivz%%4)Msm`>B=+X~g{kptXp4UBjcM8*Hb3;4uOZenk5 z&BMs(?r=df~cXLzOAXXy(!p= z6tbeO9@xR2pB#|%9~CUE|Ff)>-M`EP7>vYW&L} z|4V8+B^PT$Mg>DVu!F6>p_n5eCIv(rYaS6>LtT5Ytr8e)@oz`T{aa*G78V93Qfd`b zD+92T9nF7v!BAA!-jJUh;x&3^7J4RTB_?JbR&E|9Zd%}hiRm9wX|RE*k<0%`%FL_; zIGB}-hlTBbAO#>}plh%Deya=>L~%OiX%u|9)Q-tnUDUz`x%& z_<#AntgR^!g1Q#}*Xuw66M`KcNmDz(t1kZv9YsT%e?3{4lKzDYkFGu>4EV|QA^tZs zAph6brvKL#_-9!s6GLFp{|zqwA+rM;**odl8VVZ&*7`rPG5a-HZy~6=~H!fihlvgkH%Q2S>t@-Y_#(kAB@5@8W3&DuMgM}^bM+{gHz>0j2 z>!@CYpQiWyaJ6Oj|Q!dPO#rb*rk`J(wG;?M^XTgB#6?NGyC3nawGe&#sj>6 zVBYTYTAlc}4pr0ZAkr9gwG9yrnlF54mFeOF9CHNsN@cO6L9?Sl=)#m_)d62K1cIG@ z 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

    pznl?xbl; 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%0Ag8 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 BNss^l literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/sibr_diagram_lvl2.svg b/SIBR_viewers/docs/img/sibr_diagram_lvl2.svg new file mode 100644 index 0000000000..f437c03851 --- /dev/null +++ b/SIBR_viewers/docs/img/sibr_diagram_lvl2.svg @@ -0,0 +1,2 @@ + +
    Renderer Libs
    Renderer Libs
    Utilities
    Utilities
    sibr_system
    sibr_system
    sibr_assets
    sibr_assets
    sibr_graphics
    sibr_graphics
    sibr_spixelwarp
    sibr_spixelwarp<br>
    SWARP
    Renderer
    SWARP<br>Renderer
    Utils
    Utils
    sibr_renderer (common)
    sibr_renderer (common)<br>
    sibr_url
    sibr_url<br>
    ...
    ...
    Boost
    Boost
    Property
    Property
    Config
    Config
    (Log)
    (Log)
    ProgramArgs
    ProgramArgs
    Loading
    Progress
    Loading<br>Progress
    ByteStream
    ByteStream
    Array2d
    Array2d<br>
    C++ Standard Library
    C++ Standard Library<br>
    CopyRenderer
    CopyRenderer
    BlurRenderer
    BlurRenderer
    RenderView
    RenderView
    ImageRGB/
    ImageRGBA
    ImageRGB/<br>ImageRGBA<br>
    Vector3
    Vector3
    Matrix4
    Matrix4
    Quaternion
    Quaternion
    Vector2
    Vector2
    PixelMask
    PixelMask
    PixelSpixelssss
    PixelSpixelssss
    PixelNormal
    PixelNormal
    Transform3d
    Transform3d
    RenderTarget
    RenderTarget
    Texture
    Texture
    Mesh
    Mesh
    Image
    Image
    Viewport
    Viewport
    Window
    Window
    Camera
    Camera
    RenderUtility
    (additional functions)
    [Not supported by viewer]
    Renderer
    (OpenGL States/Functions)

    [Not supported by viewer]
    Other
    [Not supported by viewer]
    Property Keys
    Property Keys<br>
    MVSFile
    MVSFile
    ActiveCamFile
    ActiveCamFile
    SDepthFile
    SDepthFile
    QualityFile
    QualityFile
    PlaneFile
    PlaneFile
    ImageListFile
    ImageListFile
    sibr_view
    sibr_view
    RenderView:
    TopView
    RenderView:<br>TopView<br>
    RenderView:
    SceneView
    RenderView:<br>SceneView<br>
    RenderView:
    ShowRTView
    RenderView:<br>ShowRTView<br>
    RenderView:
    DebugView
    RenderView:<br>DebugView<br>
    RenderingMode:
    Mono
    RenderingMode:<br>Mono<br>
    UIBehavior
    UIBehavior
    RenderingMode:
    StereoQuadBuffer
    [Not supported by viewer]
    RenderingMode:
    Stereo Anaglyph
    [Not supported by viewer]
    CameraDolly
    CameraDolly
    IBRArgs
    IBRArgs
    Trackball
    Trackball
    PathRecorder
    PathRecorder
    PatchFile
    PatchFile
    CameraFile
    (BundleOut)
    [Not supported by viewer]
    SpixelFile
    SpixelFile
    MVIIR libs
    [Not supported by viewer]
    GLEW
    GLEW<br>
    OpenCV
    OpenCV
    Eigen
    (might be moved in IBR System)
    [Not supported by viewer]
    OpenGL
    OpenGL<br>
    img_normal.exe
    img_normal.exe
    maskpatch.exe
    maskpatch.exe
    color_harmoni.exe
    color_harmoni.exe
    qualityEstim.exe
    qualityEstim.exe
    planeEstim.exe
    planeEstim.exe<br>
    scene2patch.exe
    scene2patch.exe
    depthSynthesis.exe
    depthSynthesis.exe
    superpixel.exe
    superpixel.exe
    undistort.exe
    undistort.exe
    depth.exe
    depth.exe
    SIBR
    [Not supported by viewer]
    Renderer Apps
    Renderer Apps
    sibr_fplan_app.exe
    sibr_fplan_app.exe
    sibr_selection_app.exe
    sibr_selection_app.exe
    sibr_ulr_app.exe
    sibr_ulr_app.exe
    sibr_proxy_app.exe
    sibr_proxy_app.exe
    sibr_compare_app.exe
    <span>sibr_compare_app.exe</span>
    sibr_spixelwarp_app.exe
    sibr_spixelwarp_app.exe
    SpixelImage
    SpixelImage
    ...
    ...
    TODO: sibr_view should be higher (always) than sibr_assets in the hierarchy
    TODO: sibr_view should be higher (always) than sibr_assets in the hierarchy<br>
    sibr_mixed_model.exe
    sibr_mixed_model.exe
    sibr_plan_app.exe
    sibr_plan_app.exe
    sibr_compare_app.exe
    <span>sibr_compare_app.exe</span>
    InputCamera
    InputCamera
    SpixelGraph
    SpixelGraph
    Raytracing
    [Not supported by viewer]
    Vision
    [Not supported by viewer]
    ImgProc
    [Not supported by viewer]
    ...
    [Not supported by viewer]
    ...
    ...
    PoissonRenderer
    PoissonRenderer
    \ No newline at end of file diff --git a/SIBR_viewers/docs/img/sibr_new_architecture.png b/SIBR_viewers/docs/img/sibr_new_architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..b20b733a14ccd283ea8450b3710f2bd6b0f1bd9a GIT binary patch literal 78000 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

    !wL-l|8XK$Px(!W}!7&Rbu1l4es8klK)C zam@`#sEGB-;`9M_1bmjD#J}@jPsJJ5=G%WW?;J~IKCW*w%B{q=(Q7qTfS+p#1dEGq zEhk-HI_bkE;K|31e5BDK6%p3l8N7zI;W8Ov|8BDTp8OdG7?vJha&L9CzcZKHEy(X~0zuHlFiSF67Z3x1{G*l? zdD`!(HW@JEAnHmus_dYQ`4mSnv}d4y_9^U>6(Kj?z(jw#?e|B!1~?F;wVgH_7zMd6 zojB{*)!~a-zC7JWdDg2O=veq%4ldLP$CkG*dZasM3wz(pv)lOto=Gm51+Zdee@Tk& zFZWD>zHAI)X8E4p+tQZ)iZPa1YuNtYu>Ae#j~N9L(SBX*rseoJ?D}a;kkz1G2>E$7 zi6?IvF%8uEP4Cc=>qE2GVqwn)p%@#b*pTji!-q}Xbu<<_g>R!na9OP3pfX}H`VmvY zpOmzOCdFz5=6@1`&7;t=|zV=$e2@B^PXI zvsu}sgx6rl$N53K-xtK%zaV2MV3)ui!KmZ62;<`)P)!yWQG=gS>Uls~hEn!!Zf^4p zKO$s3rE8{+iTB><`TO_N@~0m=qGO~4VT@&?BD1H-01|J4QYmN~-dPhN8n5#Tw4*?( zc0^x)V%L0CW=VXPj%$h&A~w`{i%hAX3mkU3;UQlp5;H}ZXXc}!VU#Ad$l#^`XgNwELT>3YeJK(-c&5zPFq?g ziOqK+(|*Ja4iB|foEQQrhQ^4il(IR$dz}~8$o=kq-hPPAW_$e*K`$GRm^vXE^yOVV zRyfx3<(qxaShT1~l8TOMrZp>_m=tWfnz>}Qn8DAqF`oq02W8a0XyWQ-nd=<)4p&sL z^jqRd0?`XeboGFc;6&G@PuI#kWoXZaBcw|v-TbY>NNQgUoRYW?!3Q*k#0Oz3$60Vg zNPj(GF61@BFRx2C-<%bsa%A6+QV8*yZmiOVmY14?!?&^Q&xz{l(ud?bO(73ayC!GS zWHB-K?zdIuD8ru}+E^xXc%Z<>MU%`Sb;FV?3Ce?44pAUOv%U;>v?^nU|cuBJ<$4B&|O`r@i{X?{6 z^WcZ&=H|LM$E`@s$^7--Vb*Z{T|11uBR^O!buU$0Mduev4a?Vj1cVCmOJNY2)9bEf zHlqwZRJ4y0Y5$aI(X;hX&-`AJoJQAzhGBiJcEl32Dh zg`~o)G!argyE{20k=^@9!I#lR#b7nMLpO)m0O>lZj~l0+geRY;OWq^0QnJY^#5SP| zQJ9cQB8_9#@+AC2QCPPgpW8JS>$wA=_YA#RDt@<#0d{2I!*fp?%w3thHQH|0zzXd} zMx#Xf5QODH$-rr3sjn6|K7>1NNoOR+CqpJn85LGQTWaX0U?S8I+zJ zR6yi4LB#HC3bG{0)frh8LWKG2`SbWOqquU94dnUP5^_tH(IEF(p^7T4{O5&&xkx3o z-o~bzwIQSg>Y3SkxHE-ID(S}CFaU(J`RLFd`QZur#|OXJNe3bXYva8abK}XQyOExRxU-}=AqW%qS8#W1>(E{+4rbd`0di8 zJ(Yjr$Mu-Gd711Dn!Pht-Z5M^HW1Qt|1vcrSTD-}oP=W8!UPmuzb9`>B2Te2(b1rX z?SX8o%nx1j`EWBk=GWH`xcg%ygrirNXs3PX)fcq*-jlw6#jbn)G*OLjIHI#(b1+9M zEVN>{JSV!ItxT^Qp|&wT$E={s4-5vBu7nIV76{U&Q`p6`^_6ad{h(g2d>mll5APR# zT=6j-{!G^kTi9^q!sjm6-I}VwaJEb?lY_gyRvZZXS1vp#DIks8?DG8k5jXNUftcLl zc?-bDqhREiBRJBN^!@ja0)#)N zzr2<~N~dl|<8%)7QwPLvWtdB?BeFo^->79Q7=xPn850@H>c+faa>)Qi{DDFMYN14! zWi)<$Y-fSCT#!T_nH9Hj`zUW*m)Cd2dZu24Y3wf7xj`+?e zPD1_CGNF&ln2!PMKWo29TEa{v7=u--dt4Z^QnLzA;^~9Old+;AxlztI>mxem?NRo) zIq{az^E+=e9~1Gnh8Cm5YnVPWbC(NGA!|UR`S@~Dlt&VSpmDWMB&%qQ6L%6v#T&@{l~JZw9x+1v$!KdRsgXA-Vrnle|{HV&<>+nKiM;*ALql1PzJ4Sc1U~S$e=iaBAW^rJCM+%`53Uj;q_DWhAbpZ zZoF}7G{`X?$i7N8NK8SY?E3-fm$j*0$Q5kR{CkUWJ|&~tiD6#t z)aTPw6quBm23bx-(x;`z`KiO}CTYMy5`KSc;c6|7$7GM6zWMV0g$TW;{J_-g(B%^H z9W0fb;!U0Cl>|0Nz$8_e8X2cIijraY6Y!2D&)1vKn_K}$5jhv}X_!mHax-r}gr}}x zoeW3J5X{5pz+-78g<-rkEOxA#_K}803|YRIXUix*H7pMc6a?bp>l#9IGyF&Vffj>_ zfl{_x!4Q`Q>=DIK90XYxE~xg*&u62|aS@KMp+vm)Q6sRx>nCJPF@M8BC%l24zXKQ#q{UEs1(7f|8APf z2En4s&KLVO!3?Hyg0|x!49Dj>`gbPj4L+)l$oh-dXbHSZIEs||$d?61-+xO*anQIz zkW=0v>lep?*<%YpLW>xyoK03@@_tGI*^Cefj=B0{R+AFo8bK@eWq8|vn!t!}F}oFq z*d@`kSaRljg6I$?dqJM)wDx-@ipc047(Nun720M(v_b#0E#9z#f;{naYljfqxv+J+ zg3sL(W&cr$p=895di{=9_`2Fb1zINu%h#sAnF{epkBNV`q1LRS^?UOg-Sg;G!n z;M^qiJ?n_g^7eZT#u8A#!TzFXu#oDF@*!Xk-;h&qe^sLlXX@d%thOR*EHY(Hdniiq zNV}6yHN%Z<|Cs%Xcy=l2ac_lYTX7damIJM<>n2byoQZ@icMMId#Gd(a;Q27pmaQL z%Z;^R@HjBjV`wOY!Hj3$C>1YM zj7g}D{dUQCVWAe8l0;nWD5~d8J7so@+B%o)9|{g3U*5mcv0H9jxtZtO%%w?Rg8%-R z`2G*5FPJ*W13fn%>opV)m*lnGss0kkE}a}xprht~e;0E$it^CqNg}$|d;G+E-${&> zxuPri+J?vB=So;&kpyj`@DG~fBHP0{?Nx@mX;avED&0G;puL3>jCNcqzi%ciqRoW;fqWE;XIHx)N}Qd6alu=9j&e|o1NBygpb;TXuCzsrqh^R|6XC2WZ! zfK5G7+a?fk261&c3`$~!30>@)6ewj^FYE%kii=12c)DTbfP{&+#mhQV z=(xVgW^cK<@8*o=2adosxZ(Mp+mdf|I4&mtc2$w`k3Ykm2CEaE-RE?QXO$PmE$cPU2b^t>%4ouh3~UGz>m6| z2C})VCQX+x9F#HvVQo3WAV6h2dGG5WZ9o<673NpC;9jps0wHDg1R87O`mTdl(T3>oBuAsoPk+0BKCuPXJ7Y_ydxdA@TjL47DGR zO2DOMpzr4JyE*9SYw<_*`6ck_n$TA<;Eedr7V%v+T9vWzczsoFmHn+d#bw>&?FqF0 zUmnL={C)3W@P`2^lm4g`>*3MFcxf{3z0;P{4BzdHa9moS>wH}JMW;C4RYT;cqa#9{&1M@H*IwP>iSg-W_fYzz-itoEMf+E_eMJ%k)x8ewfRb zZ`nUAFNSn;xu`PSnP&7WaDu-htKSC_F=6S?<-3bwYnOc ztU%Q8K_ov-JPTpk;OWI6@`mMZh+ZJugM&l+OrFaIiNnjilKZ&eMz3o7!_3aGxdW%o zu)#=n2cYLi6-BF%<^$k4xARO7x48*EdsuZ1R|>z(=NX7x{fqQ}Fo9m(pnU+ElAHji z>&^4+%YEaP5}(^?wKS>x0w<6y;1XoGm zAjM?Y{?FeKKxTfY(ESbqW{g0Cdmi4W+9+HT+QB0J1T>sQH@rOGnTS4ZXvu!^$;Rh| z(Wj3xmeb4SW$g;d*&_0icp&Gb9#!}c!0ZXYzGq#VkFb_KpdCG}?SHiqikv{=?>zMg zYm=kA#W*?ZyKLxTU;LPuDZyRw6-E%dRs$hHJ zBV0fLamwUsCRx7=(Ew<`mAB1CMf2!tGClWq2S;^%Z5*YmPj8x4V^IHOYQv+9yy7=t z2h`1P{@RItC1UPfR{VcFeFaoi(blynARy9>bVzrnT>8?N?(UY77Nk2a-Erv-1r(6( z?k)l8?)s1Kz3;zg3~DgWIlI$GQDLn`U%NZgKHMHgl2xp3W^ zIMP<9q|{f}^pmFS_DnK?*|(upilJ<%8Kpwsh{HxRdE>*p4b;c1@4cOYN+}87{dqSg z{O~wbEuY>Lf@3mT>!QSe2i=?|ONceyhkdLbzkyfs*@@P*&rCl5)+5)D#&FqABZtwO z_)!6{z`nz^AG3T=V7cOjQDL+&Ce$~Tm`w?l%sP8Oj`{Jy(oghtfV={sszrt!i{&n= zCk`z!GJQ3Wjs$AGIwE>~m7qOsBGfkPMbI9gVn!%j6i(pjWt{pFgyChsVY~2qsLy9F zfd(lLxja_%a$G!Cbg$4~_`IKgH}h%f!2fDt%-5ow)n@{A*p=U^?{5%}8#lwx^|zj| z{GTU%8%}&7QKU)Y(Nb&otfh9IvAO^YAlT0>%db__x(G?NJ6Odw<-0y&H(%1;!{~PI ziEbDWrk(&Z8_u@vS!5{ayHpCEG`Va51AO-$Zt3K4i|XYIfpzP3%fYCY?UCT|uY<-p1MkZTe|uoYk$t(XMqq*A z7!ZKR^(l27>$jmmfd1w8w=q_&({BH4046;0?6a1GU0R4U{jC%Pom5no?qp^8V!lz% zO6J#X_gB|aEfrvDgi~fH8SWuAMDlK8yB>S z7&JVui&Of0_(=X4E(kK+H!sP=hA9Shk4`8Gi}Jeo%+_!kQXcQx7vK63o_~Snu?&yH zHpBU$i^tZshA{w{YfjunkJK;TNo0(JXh0F)em_%=P22T#&UuPS_myBO^kjChEKnV+YPNVj>&vMbTlMx7JB0yg{hh!3 z8Z(mM0Hk=x{krmghQs{`BH5BFplWSQng{_G1Qz0;$|PZdial05LwUC0bOu!w?}$uE zFLAAry6uE*XJ33DUXoc1pd*cXz9XzWt4>|2W4Ajr`1+SahI+vm_mB8(4FJ$ReeYBm z4=ht3tKq?Cvo53<+BHF)x;h8PjLQqw;!>yUb_;UcPl>y3ey$TTz}`;ztyzFkPYab{ zVV7cUz0D-FvZh|3e_EvfnDzNQoF}wxq=K2u|F9N4rLmgb?*m_8klAZTPwBUGw&~Ct zUB@jQ1Q6(nF6N07LeHA>p4a~ZV`baDSX=LBa+$>p3GXCB9<_jN0Y^GA_q*+q6 zT!zZCcVnVM&E!aL;{=q1df7m7$xQJ&4^eLJZqD@dy^$$?T<&(ZfA5eAPJDNl0B!ct zJ5V-<bd6kL@~X`Va>=CW=szDGtqz^bL9y7)6i>>!v#@Pyb7w5v;nFNxtp$sGknH8BUW;eB9PIo#FBh$3? z#qE^G+SjjWBIDEu_^`-d0Vf>4bfN#$1i@$P))%I=+Y?#7t4oSFg;<%H$XG0vkT!x;rC6 zTV*e)Y2Cm_bp8)lGQx^s4^*f9t#G{%K;iHBhx(xaL-hFiO<2`@Ezn~%qLi5(fv`E=to zF)}J??k0J+lV#9eI!rOiI@g3MQlSZCT~EqPBh94!jQT6c?Lt+{)`maaqNY=}nL&?k z6XHDy(JbdR`@z1H;jUxyqWkoDCy^63nLWj##Nz%HmD;DDu`33)X%5weiWx2={;(SD z7uOQ5-t`Z}CsS2qLMmw@!SlXLhRC$1Z%`o|FJOI!R^}%?uZ$gqjY}?DYN8-J77x`e zHN0Qc(69E^5!ysYv2@wwyZ@26QdMt6)C!wPPNO6OVCN5n3_lXKxC!ABa?;ZHqbQ< z!x|Ao_##6hiVHvGeV@nj^$!8&y{i486~v2<65n)IptYU1#hm|My^lYtYa4LK3J_Pi z$F9iBU5LnEPetCUaSSMbx_6v~rsK)x>}%c@k1~Dl+w< z>8Wzo_;*BX1|P_|-_g3btWUiGvO~Y)mqgSVs6F~wBAFtKZl+3`G)8dKHoBy!AJ~9w z0%TK4^Gthd5G>w}J)(jgiz3iE!cq6h8~2E;i(+ea`_3?~$ufFV%htf#*=T)(ABD*k z{f-xLA?R-UlI;ie<=c6FLVz%H}Pt7)gvMrErp(B2qp9;g;G zv_Hr-(-oU;t8Va-@8U&?OtPxMQX02cohul<`&Il8T_(1;@CRU#7B0<@37A1GYu2@5 zax@tQM%p;FoLbD^uL&B|eP55TYkqgTV7iBPsSuaRxp>Fhe@yPT@+uJO(MOT1Si;BsZ)$Ei=$x|EX=3WE;2z;PTFFz)boG+;QOq*PF+Z1ej>I0w@Q5w`ObVz^nc zEjB+J0y%wKqCXj_={E<+npn7Rm!{w(d$56^CIm%u7A4Z$vCDIRfr&;*$F0#f?U2ro zH!n|03EnOkW#gqaYVIC>!3MEQWwtn~^IGk@v`~DAiO(-%ulj&euK)2UKU+a+qGla( zp*W$`-RhUsls%^{+FR2b^g<}~v&|U%Ehixs7 zK@pD}`DcSPE478}r0W`OaM5R$NZg(vhK3S4eX*cHV#tWAHL0Wdj%+^<`ryikD3PP- z!_u-);aV=t+p}3Zy!2HHDMKLlx$$b6pmuhPG_UF80f#D&x{If}y0n}duwt#seO9tG z^abEO3EH4_@?4z)J{4$XOEHVS%AH!UJq7SDF-bB+DTjN1V8~yVr*x8pM?c53d1WGi z)Qb_!ErQ6Q%!c;Fw#9A~31ps?cbwHiR7U-#bShflXw41IpstO-ButGezv(R1w5`)h-pcsNS1ssc`@D9flvpf3t2-(hrpE_d1FZ?uDA^!8||xyNcca* zNOdkAmw|?}-6QDrNaYcTjRcv6NeooDOH#BD5|ht`OVu*NAvH%khxJ(rC_915!Oj9G zY3m!pvZ#Fah961UAc)JAYn!v8eCfVV)-qG>B4u@P4J_Q^Sd_5-`wB)ZsELy#as1-> zVH0I_VeTl>+=vnhI(o4%)~2xsGc1VQ_|FlweYR&pGsIr2#ckw>DEI)F>>sw0&ncg8q9e47nUi4d* zF@th!38-RTaAmCvUz0Di}MsVMV}IhcB|OU$kN;l|A8^T+Y!-u-7IuN{VK&?X0#y zG4{H=Jd`@KMQt6sR6U=cXeTwO%)@BTbLuL@&j|AInsa!M@rPfe?#sH>_0>=WilQD$ zEV){o7RVvX2?py<|HQ}_hTD`*P=^UcG5OnHEI~Q!dFTl>>TJ%nYbw^8<^MMOptiqUsdn@fCt$gm z*HuZ@d{zBwr1jaWnEbt%!YK<4e%L2ULLbG=Wrom#ypr$e^UX;yt0k^)?F+mrT>$Af z>Op4dJtHc!eLh*Ni|%Q2OagO>BuE=R3imHn(0;IyQqjN_Eu#yCxQXnD^q?NFu&^ggldV>GJwYA= z(%fM-IohFuy<7kPp-b9fQxnZ)W)*a2oKQF9yd(xB!h3m4nZl?=hpT6w;YPC)`8DOU zH?9*jeSq<*~G=-mryv_zUpDMl-x3YBLj+OhqSC~|$ zV+rQt4k)pdSsVKp-${Z>1$#qJNTm-|rkAqVQC{(C6j++WjUdWPjnMUv(0$3ZO24u- zWuw76J{ykzo z-(MQ_u8El}aYc&Sy*&p5FLvH5(@ZJ#H|QL_3!Lsc7z2)u?N=i&&wUrdq$)_!abIY< zW&XT67~8M1z({%!5BT5X@2_mVCBb0U;KtYru3xj9mJaT}S06YW%f=ZLT?xEo&>WN7 z#hgiD1;*?n`z;`qxmueEP1@E3lc*_!{CTe^Qs%fl9u)OV+~E!L&G$UeQRP0t6QRhz zSetj$gj?(pDq=Q0hj*s)C4!SB2EI$5@HvM4KRG=4uFtM90;3<%q@DD(-AJYCkU9$) zAHan(N#>lf?SL%A4F{jU@9-*;H|RO>_mhs1j@4?U5J;w%v6W$p8PJe??(2sOU^H{V z(ZTP^NUHVO?#vvK(`kgMBt;)tBsz_Fm(z=QBJK0Zp;b*saGYQ98xGy724jJD#qm%* zWK42Dc1sNnG+)IsIXqECN`0>%*YIA-dE;`v|7-pHqJZwYGzY0PX@?zMXjZAQC_vAR zm!<`3@tK`Qx~tX%MIZ*TC?x9Tt4XGtn%chYhg8U9!||Yjp`67r@@oOw97o3?`N-|X zfH9;^p>Xk8h_@)BCUeSXRS+`i$K)_DaO-g}6(V;cw&Wm3O+pa&DZW z4O^H^O3LsddqM5DS zBo*coZ#zIknE*11@`*q)z49^&ji4Yp=QU~iUlXsm8U>&{6U&0O?lafZSu^<^4n z!Ta|^KSVSW-SDoWkBzO%m*Vx<2G~14^)p6`&p1Z8aBF#%Y2sw{=#^^}22J&E zcZ_B#XSE51C!|Yc*Wf0Zh}p*D5-D_jS=J7&j3HSH+)3ovq`*l=no!N>l?|sTaMW3x z*!nw~d@XQ6C&>CqH7(pBrtX!c2b3jTeP+_wZG)x{DS&aioumMDrP8Y{2FbPA3B*`= z5LSXJR32kL)KYpm2gq0GAhE<35>_V-qQ-KI8^oP8$%I@@ky$0zOgz&q-%I2Dc#fx0 z2q_l+`<*gV+x!bG2}>XRv6(3{c=Y4)g|JRBxVWfVyS~YVD_*fnlkKnMPt`V4_`gaf z(>+2N$$8)D#CcqhsPdsU1Msyn90YeF6gn3&e~n4YR}Xn+EB(y?v#8y`VAxTFO*1T* z0QM5u(gIgf=E0_$zv2e%(+p}OlbVkJndj4=Tt$FON7|yBUG}QDQSORs&g}-7VBL9f zRM~jHq-i3$$hxtpH77ZHFU`A1FY`-9S}e44#Q0zc%OJGp`m$q0UPb7aY8XiYF@gy{hApH7 z;oEc?|K`S8{|9?i@j(y~Z_o2uGdz`SBT*Iwu1;UkRk@l)nx6uSnLjRvdx{at-e+6S zioCo%sqHM-c^2+X;o^~X@xv#|xUyK5e?F}fDn5(go)t<Ge)k??6) zk^abG(9Oyg5)OluTvn4*KMvj{Pfk6ElNtKAenk)KwSt{~AVM?_2Mu^yBcmHkF{+lTOAA z;>0$g<7`!t&JwO_C>u~4B8oSn6rIy*-{XOQEKT_*<4)!0u2X=y?%eD%n*v80X2$Hu$o6B>Hhw% z5hTdZtWrXty9@NVyiScx4_`N5C@!ao<<30S;0M#AFjsOM#u>3v_#Yra`=I!~#ej$= zSdwF3?BO8drzIZiF8{)(Y_@}jo*50jn7*9}3;^e83f(<7WeaD|l-`PgW6t>Tw@3xVx20T>1q3rBV+H#`qN zJ`r*SVMoBEkWm0e=V3r{gm9x`W1>o}YNO~mEr6|23+)^t$dai^0CP$i|IXveE`~si z!EZX!l!MZZ*}kl&M8{B2E4UN9AI+DrurY3cYS?~-bOv|#OQTG`ZQ6u`>o5$o!pA2> zq$FtKSW9@GS1oOQteGs8Wo^^CqHU}kH)_@SchZ9&T~;$@u4%>$^aYFO7;lZxhIb=* zW}~;zu78~j`bH4lC#3o34}k_9&0Q5sESr4II*3sruR@$%%AcdK{r|84^-PH;gV^$Q zei@(BCJ{r7`qSPTyi(;aG=ka`(o;aOV%aLWl!7ogwp4TKBnHLWv9Y(9NZz*eeb~h1 zmssA|2B0yF^6G{q;VcreaCdE!S}2nA9i)a=6>xZ}((Tx@km z-i`_lB&Qy@2s6rW9D_-HLB+R!?Ll!!6;v-KWy1{H1m9KwYJqq`HwPK|wH1kxUO=*P z<4sD!gl}4X#I4~>#+xMUVXx#oeK@Y)hK@j7{oxJ!gma2R+R%&6HOhwMrUy>L& z%A~M&;W&ZhHj##)kVeQbRg`fabsm?Z3HTR0R$~leu=0`|JR(&>Ai)&ehRy5Gr_Pj3 zP%s09I>qMppo{6x(@%ADjQ}FdHQ5%&7>_l2gij$cb*_rz-%6)(Gj)99Hk!Vj(6lPx z-3uSpx{KwU_Xb?(X~Kep-JBlPw;ukk&3QY3LB$yHW32@aBeI*@Fp8H(Q#Om*x|TCi zhiepG@J+lwcj43E2jQr3J;j`@zBwpILF?If&=7SyBxomstc ztOcYRdLF74?tB`V5>{({b~ zKcxgT@iD2nfaC@?Cq8ck#k4hx`B}?B6=Pw35i=?_Q!@^jy!{dl@$hY38Re)K>adNe zns_V_q2WW6haIUP@pFqtCWOgJVxovAOHdA8$UAIyJdj52SwofMWyV5d8OUgw$3rQZ zt(BOr7XTxGFW^*xL>f}XJ&2S?9nRMghTs`NxGM(jAJ5?SUaK@-Zw(nsT;J;;mNJkSzIo z7p97t_5ua|#j^X5Z!QDl7>IA3ySHSNqdLFhCG?vz1=ukD6^cgbyl`Gup%Uc+;N^nFp+ddMg)G$1_ zrCPaMS^IZ@_vC-$G{6`|bHg#<6UWg7@~gf^fBV9t2`(i!tA)&FPxlXNErG0J(^`NC zb2+gz5ZX7sjsp>>N`l*JW}G0U;__hIMug1SCG~XMZcL3qEg`;3tId3@f7lTlrM7^L z)+Q(-;vSkVZ{fjhUX!8}%>O;~Td~@i!I`5?$CT%X-hNX8!RWF?@RM#ai>S^WDIrWx z#$=E)shOQak?~KwtLlCV!>5tcJT5B7=gNxrm5J>P{D|tL^mHufE;D{PQ?QneSNfKo&-fX}F=#$cc2FoO+r>w3T!D;A4{NsPn=(U7~V|5xEb#jkAv_ zEp(V8LBV^GJwFI3k4~uYr*7rG84g1mzWE1fyE2Z(DuDB8zriiA=vG=cb-Z$y^e^Vw ziK@S16a9A=Y=z}^zzT#V2$t_7qlWJv@>yf+MVt7VffWGRUw{S>5eto{cEmxtcF=2- zOD!zQQf{~R_2uq|5Zs1HJF1dX6TRwaLcs97%n#~ab zPE1RmrH+7?DeBYK5UZOJb$j~T@Uuj%HHh(Me8~&QrWN?7-jmt#IXm*y;4vO7Hns16 zun9wvJ7}*CXxk95QE2*tLg$#faxd3(g%9|ds0D6Mg`F7tI>hh!dc&ts6#uPogGq!55TmOtUUZ(k^2778aaI+!b^C~ zeVLK&$s840Q=3QX@YG-FkKlA5P1WKz&CE7#zu&FwipKwM`sY=lBqX9K5~f$^-9$rr zKI&B`8vS)TsBVnc_4juMzE2G5`je@B$*jT4M6pxnrBr9BOEzbn^Tm%}Z7YXMIGNyYo|MBR zsJc`85>p`-H=mI5h9e8Y*ds=sVK@Xk`SB34OpMIQ%iC!kOi)q+sGl4awjQKhO5Oh< z-FuU+?uHTeNRA_<0yYK_Tm-F;5?UMC`12R-kVvH=(XaJJzp=`{?K3bH`YPLdy_WAEWa|M6Ra<02XCt;&%j`StEaNz5 z1#?6FMPD4OFMbKsei-1bRTU7usdEBdB~}MAtwk8;l~8qkeIk+P+V!>j82Vv6Eb1pc zOc_PZv{{CYmh_^4ukM&u<_Dx?J1)>W`>mhl{`Zhm3{#a4$Q>ODLF}(nT^vZpQ$Gg% zJ^(5Q>@@mO_X6eLGL0Azb|F|G6cxA+Iy=?`(&Tv^gg4nGZd?N54h}W5+>TvW{8lTe zugMr6TnKFbcld!3&KjEkI*@Nx>(O~?AZ~5XN)>jpyx-}%5E{is4Un}dNKKQMLLo)W zOPIWQy1u^FTDP_K{iV<+3NgtP0W>_??kHW5sp(M9`2~CHo6>n`mURq5#8@5SLa%TxM6B{+a7I zp4$B>rX|nIu+>N6&Ekub@F8~Uv^RKsk ze?QsMAiUgQ$DTBG75Byv|9EaW(D%KX(K%RKb6>h?yU~}INkzu&EzWXZEF4f3xoIBr zJMGA?0&O%*DGL4tO5NUXpcl!fnG_^_r{lyn3yO<-?``Zd*HtvY95TPerdYIX*+ z$tLuOwS5z%@~VDJ=ptOn&ZRHQL+EV2;HRHO3cYGEAP%s2QQf?Ax0{_Ic%v0GPG9VE zb#M5RF6X(Ewg%AMuXvW7x-P~<*KVF(9@-uK_v8#8uYa_2n-3NWyRRJ`i#|KgR#aM! z>OJ6J_+tj;VI;UXEQVkK0Or1hOB}f&=|M;}ov-A(kbU3xGlX7EKRgcpU1Yuo)r9^P zg}rH7npf|yUfgPj^kZH(SZj*j{JIbj5Xkm97kx|Wx~{Hi__QG{mjaY*ciK1z28r3W z{wgSdHC_!eviRR6X~qg3^97Ad4~cl4=Dj_68G4c?aRaDtlMPo$**GR8HA1_;F7W(o zZcB@^@6Yo>AA#D-x;nZ^Y5*t%kG@CvX8Gb;@C2wzsH};^d990q<{p0TOa?rh=Iw8`rO9*SMfMBdS1kM z19$|#1KqVppq@BTy#4aTXIGGfBrAJ&p>v#0ar}4afB;c+dTSJ8r?U1uLx>SRV}|kF z2Mx;q+rUx}s$41uGkp2%3fM@DPY)YT! zvFbSorB~%yFjFm^9&Vh~^JsPZ_Y|cpj=j5GL#-Cq(y@8_A8RbZr*wi(ms7F4F?$By z{u{sFpskvY2?xg=9SyPff(PhgmUMKXknb-86NOxhc9&x7T${j-%OJz68NaSJjc5$3 zq!ng=(QpW5bhH+xm+BE1-5k*vqqpZF2b*w8u9BFJAef3MZRQwUPGvYW89%+}`E_3g z(3Ra%5Lnw}2<4hi>1K2uhTjPpGAt}kG6buQhe!4`G)5EiqInH`LzVeVNnLn3Yyph# znPXMEUsp6w+rG{GQfF|rzjcmp!(@t~^BrR~^FKB?8%XqSAh!DF^_W{=Ghi&&I z$CvZKl*1lO3iwCK%1u5%-I6(R#BYmuZQf;U1({}eI)eio3<)@qqxTV2mf=LKl#9B9 z-{O-+qTpHGv-(uSvIeOM%s|}GfDZPLR{^;dpxV*mQ`Gc9%;FWkc*6EInRk7&yMB~&krXG%)3KJ@0RFij#xbC>x(X1| zHTC>@(EYwxPa4c1z>u#Y=jWQi!{JgrPwLN2&7cR=)?BR z0_7V=Cw#f`I!vL`&x{EfSeu^I} zeh+|bffFF3fkKb>;wa0KA%+AfjnzkrYW=zbz~M_v9?Qm|tiBtO01f;E06bN!tB9zb~r$<2io6$S^&9U|%W z*98q-FB1pM_>^KqH-eg7b}QMf6Cj_*R@~RF6LWrT&+4x8z0!8)@Z9VM=|`QwN7j{5`u>51py*6aH}AAdYK?ME5%l(i$qM&ahspKhNSWEd|)1wxzZp<5N@qf$SH+tk(Ji_nN*3ot;{x4iK+;?`F|4DEC%~OxzRO%`Z-3 z^#I!jla2MjKYBF9tthGIpX()ub^vO5+<6uCPPcrue6Alv zm|9n)?dBe3tBh$u-xE1(%?ZnFP`I2+YYKng2fmG>_O?ma|>@42x^QHCFZ{nb{ zzXJ&PdZ(N3STo)4tuq{(X}1?d+Vek>s!Ry$x@(qLO zQ43`Xv=S!2bWgt?k$=I+XGJ&DoW0VUX`i+z`eRNs#A);mQa#|Cdl4BL5zrQJ&nX#l z1Lbyg$p>HsmHtlEf@%-IQEB-AZN^V(_x_=wytFTzk)_qypO%?l^E1?BW;#A?nW_=3 zEAAsZkD_iS^@1Hs4CR`1c3%U;8Al8bR*V!tsYu^Llt_E>bIq^$1NETsZ5)mmL8k?H zX+zw?+Z|97pr<$Gl$*LtkWP)Gj?vLw{{H5a0*$~hd26u zp{^Jq!E}Q`6cqEl??zr-CR4{8n#mC;5LyJu4716HeYGkip;kQN>McR`5z+OrF7d+1@t z*EOL}7tRMKxIdmnoDNQsLi9yTG5LDTnncm0sS2QYdVfCiPqm;S*h5eRvnFrEqr#^J zki=QAqL6t@-3c5@3!$AcO@%@3?%T%hG#8aR#c8!@m6FQ-1CnwqZ!_fbFu@67>|@u| z&ZCVQ*}E#QnWY!Is{{lEAIVXLL}Ms31bE-f3TFt1GV?=|5k(4j*g<;Kd($Iyl&LcH zt%93U$TZE-4nJs(3)NIYP=M4=&wti|p;+obKBx+8lc+EkH^@X&?W$r@nmJZCYQ?^; zJZfpZ!rWM`pI?rwl4~YAQXzLbDFjYRD0(M-PdcrzD0rksQ7&(GAX4d+;M?VHid`vB zPyh=(ta6=rsrN9cckzy0At)qpyQ5EI!x5^DEi)m;fZE~xU?Q=AeVeRWYs2)w;DNJl zZI+t3AdjSUpr@T&;9{5isdiDs2K|*0JVy+tIi`Vj^FUNmZSdoMxYA#_=}LF`{;jlW zRlAM4IVTcr+|_wQLQ3h>MS!3O0QLwe%-*ZC1!qt*35?&&Sp8qlP`AD6kg2+Ai|JS< z1;my9{w*3O5c-*^X7($ zcpa)v!^$hc9t#|0#IIT$p1uLr$LfYtdHFu{i>R+qb*B1TLPfi+wC%v*hM4-%OF8{3 z!>EyuASD%j(DO9*Zw&D~Yak4RuP(&I!UNF0oA2 z*A}ZQ84uSP)kFl3x#NP`jjhzS3P=eY>Z&2|7k?O;P+vMbPg$8hcN@+u8O<#)9`rdE zDV2SEpW%Km=Pfr9HrQ=XL_qKdPQlienNYMwVwk5LTPL-j=keXUuJ#(Mqeo&f@#uQQ z_`IVczwZG7Vga=Ue=_jiQ-R*2qPnAV%KaSS+I-vM zC5wTR@=nlfpE43`LXD9S(5(8kVoqr4_wV1iaFYg!i}Kw%x&mB8~dX;!Sl$s4YGVA$+Uf%qEODwujt}msZ0KP zWzre|_sq>z_DmFA3g?}w=mefXzScj@ckph-E^#}0s~`B?_7Iw@5^a~=PG-aC(}~_v z>A(%D`y{OP84+kE+vB^)*Jo>aOe_4v#kC$lhdh3@YRE9p-sFq^!pX+QcKd8qp`a|W zqb&81+p?d*KowZF>KS*I?8<$6`Xws|ynTXcY-CiUo6D1~N1sIR+QtiTUB^YuNF6Pu zsD8{Qgb>pF(2b1m14aTEkbLDwPW7H%vlX=aGGYP(0vrO**-3f6xPX9w4)m{!EGcfv zn2JRtgWKtWIlWcZMn~D_l8`7w=8~(EoRE9iJ<%c1p;|X5@)2 zzqubE0-w7;luZF!p#%Qk*W!C;(Ut%DeBC?OFETfTh-E}b+E}?R%|w$T2(B;z;}eo3 z8xP0w@83orSUw*9dx!siuGD*vxCf&6MrjLT$SGwTikiLV z-%&qSE2@lH&K3jht%}vL#_kRl*Ef#BbKl;(&A%tTk6PRJ(F|EDD0o=47Kzk!)5CeBGs)_s> z(qf{pW{69z88VS#BiPCrB!7^iO#CPO8^|Td=$*Vi*95j1Z_LKpFVBLH{Wc$vl=}RX>zPSq2(ZE^rNWdy!39V} zm^cL|vo@DzqzO)sLB{@QI8s&FfJZa3n*a4?gmU)Kr_o?`mAr{hyT}Mug+t~SU*R-A zCLV#WraJSxFA$8E!+U~q%0Eg}E%ur}0JDF<8TI8uPR{nP$}ImKGEPNgkIK@0v)Zir zO)v{)hr~|R?l^k5MJNN%BLs(FtM2luN#S*;0wrW5+&Q*j;aft|(;y}WX14{}uUfD% z>nH}3Vm?hi3%n@6S`@tMZlp%G%M3%TqrP3SBye(;wSKT~tD#qsK@O)woEX%(`PajT zELJW1PO8G8?q3nFL~MLzAjnITX9WR{VIMW7f5mOT89h}Rv%L-7 z0_?$SM9M;pD0*1XG)0ySMT*?J9}JAeDzX1elWK{S%ghuFXVPGlfDOE{{Kxf%f;Ju( z8ANm%nkH6X3-z_LX}2~;I1Fc`yf9Dx{ZG&%HfHAC-~U~ql!2l_tsd5&cnkW1AYp7c2n$cBInq9}zP$bkwta)2d(ii#3R((u!&u-Z%KVGLA+#b@H{*gKp93yi3bkUF{aRVN>s4Xls|w(76^* zg~yF788Hj_OmrscWGNi9mmP)Vi;dNzTiOX4o*zta@$o|ZjVHWrEj4C>1WFCQ?esd& z5@QA{(Uv92s~vHC(Bg%I+9%qn&J>V3soV(a+PX}C#D6jxIYzd*xY^|H_fl3fV6}`>swDEOS@O&u2YfncDR|p>9QbzfTIqe#gnsKz zsj_Bl{dJSP==diU%GWM*(kRk}SS3vM6e{T5c3TAGo9|V8>V!p6Li{go37+>Z3SxeI zeijOQ-M3+7oDLypcZycSgrtmMi18I(r$`JWhMiH_|In^|@l&>rRo2ghPzh04^e0>H z@Cjb6+SyMEvOChEzL2zboUZw;$`d>bdWjEh#(wj#qN!ogsL%c(WJ_!rol>djZJ%!Y zU8%^2>fj@6BS#e&aY?zI_HRh!-wquu4*re)zds#p8?us=z*&6(D@PlsVX3D{<(zBd*D!m<1hWFYsx_?l$;u92tlKHV(sW)iWc0gDozgHhY;x~AfUqcoAZvemS3 z?+dWU)C^IAuF4xhJhR&z;vE&p&&##?^?C96?oGWX_IaC2b=#)5yTG)V+TA6tO!0@l zSv3mvV4;d@=lED@Zkv5_zp<8 zouV@$ucI=mD3Cii$qe>H;*Dh9uSQgB;$SWpJLYV>jV0zPInmJ6!GjC@p?+`ZBZNS) zEoQeoFOCV5O&Rk&Q6F+o?S#m@W-%I8wl0n#@xJ^!{oVfO$RMQ_aZ|bK<3*_|(^5kJ z6(QsIt+p`&BhbLQpRb_nA>ENltX!@d*qn+!s8h``AOWj~4of6f8=lesqG;qD{;=-p zU0`Fm=E;KPm~RLg8Mh6T5xI9h@e`ZOC%wIQ2`D|T>e|R(ld68_rp6)5#VWyh>S4U2 z3v^u~(%06jHdZR34D_Y2K0VtLvpYogB?Qs4;Jz0{BlO{|t0*S8yGy?!I}cwE=cE!k z=y_w#>o@HtdFIGs!{B2!tZZAMPNxOkaNEAq#<~mYPZBfY-68`kV)n~rfExR-lSLX1 zFBViq@115MW+WwhNQNE&b;<9RIU-`@(fP|nrwwm%$%y}m2(oi#PaV*=5~;v$6%yj@)QEe0qC1g|e_w*~fnf90oA zN_Hy-D5*&XtUo3ugIj$6v1gs#_-uL_eU~Z3(^*kB=|LW{V~_mX?3L=_}ls!}?f582r@ex3_4A zLu|cYO>{18##j+gsg*xz$wmaw8$poaaj3c*g;F5itV~e^_<`e#5jgA}bU+F@M&XC& zi|rcAprQG6)u8-61j)X$+4x>=f2{ltbi!2a4W(oJtq7R;_5 zX!Q7JE0L^eOXK(_SlR(&fIn}R^xJjwMRusy&FWNyAPY8@tt?6X?=6Oaq%m`4l@BG+ zzO-~k9amIcdGKuK0I!iBZ%1axN*=jG28Fqf`IG!RL+1CTlD-sn;2<@;S<7A|4F#Vz zizi+;uUR^rmsW2mWzeIV&BrCT*)RT`{^m#XkPR&+2NlbX2yRquFg>Q-CKdPShk=<# ze>TsZsm|MP5Is5@%;3wNsiMLl>Vz+$F6T{l3c@fMs+OzIZnw`>V@cr%&;`#cil6UgAe4r=Ciy|omg>g181p;OVs7KSjZ*iAh??YK zNeM4KS~@phgG~$;+_%HQomz?hyE7@8)dt_bX8Q~dNFE8&!C+OZ#ge|p!}pG)=ffWx zu!Cr`lufBS43@;~s*AuVpZ>ki);6c7pfc zm;Air6&3b8mag{7*P&E_tOmR98!xa^EF3DW-R+Hyxx>PGN;=!%OAWPXp33qmL(2={ z2XIu$32$o51Ex^|C)4%zyI!7d?$5L zcsH}f^9Y3!K_&qCjN0TCeR#xHi>iP8`Kai@pPvqo1-ly9b}DuOvkJ_x+sQGD=gUGW z-fCTg?eqK~d()sGr_?n>K2u65IMY^|>T8<3Ad2o+s-YTRIui%+16t_0*P0|va>bGD zm4Oiou5{DXK2)Ywua%@uA;;aFEK0?&`UUg25HYNO&LC}1x)@8PM>h>QZ<)}v6=U3} zMpDk8M!!tAx_{_a_7bFq;iGUqi$?0BjZ7q?z@p0M)Ox4uE9j{gzu%v!RX3&j9~K_v+h z%EYEEpBEBxvV3P39eJ@|y%QgtT4`cB%Eyd~{DkTP3QN{_1pyE6zj8WOchq}YGR%CQ zl^a6}-wfal#p+Zog%2aZ(sCl2=lk*b(0IwRGmn7EoT?{?M^YWU-kkuw*FdJg!9faA z1%+8lw=Xl{z8!)T*kv|9atjkwWurJXw+|FoP ztI;fKkV;Bbmf;tBaHwKd!ldWRlSeh5qtH#O`BX8B?yn}z_JGBYEDgaBxIUds;{bWYAXO)@wUQ-#MP_MSM45a zo||pDgr=ntBe5da^SHdrV2tzTP94a>kenBm>FvYX%i6FtS;$V63rpK0kTE=(ES-A1 zyKua3U$a~O#hz4=?(}@e+IDmHogoL~!w-55d2n#}tcHFpeh)qNqDWqn9jb_Qj5s}A z5%t6}wK7wjd%mvLL4AaCse)?%>&$b0ql9yWnN@OXn4c$Dnz(ryC)DsDTq6A zGq+9b=XF=_UR0r2!tNa-=Qg;AH4hHG2Yc`5H+b#YTivf)1_XvAdp{HAyF=0lGbaqn> z^+`<`nuv&`Nnb+*$XNSR-mW)1hNa!&gDR=_ZGf7aI)nDp?N;o{m!lcI!61dgIQrNn zXg^UO49Cm%@v{6xAf_w$)}brJ|M9NPnygKU>7nS0ZGt6b067}KL-GAQd3p|h#K zh;%AhF+5Ho4${4~SU`n=(__^*giFB_FbH<6hSRqkeu04ZJ_;oKrVnb|95P{N#FH7K z#>S(_#=z@aa1s>#kb9bot8ly?b<|+EgI0NY0-(=d%T$fA#f>HtqKqJb2K7V-G5dJ4yl<>g%so zeKvnShUzh6#`<>Ii~o6k;ljD+|LXjneFkZ}sE{*0{%FbK1#8x<-m}l3afcn&qepMo zR~AAplkqt9e8E)^pc++s!L0w>qLuOAX^EMm>xvvE-}hlRV`}t+ply~i5gCYu+d^T_9>{-i~eO}(ReDGc)Mjvue ziaMO5wx!O7E$)mr|4S)t-)rw-`|j&FF)n1=61%c0_2DOlVh*dHCEB-^rP<(xUQx2;{oq^qz!?d|{0 z`~1tpk36Edv={)12wlXi|7If3{A+^O!^k52JE?y{)_v7meV+bq$zP>2!0MJ&&mO&G z5TNtM8?Wy@eDsMYpXm9*w#cM=@0WK?!tv4+*I|@eylQn*LFnL6C{bJ#Y@;PcSO|%9 z5TxFaE?d5a`M#2})1ZAib?U@~8Cp9DHHBz;Z^?$EK*wST(x%f(AEhGbPWlN}Y3 zTPu>+{_)b+UwJ9a^mD9)lA`;t5x3uZ+kpOiNdzCf|G`7IU+a5Sx7`2G1Ct)vyk@Dy z@`Mvl?9#LUrY)71UwZ!H*`In|HL-2Q#6%3g{nG<0qf|do>e;;N@Sfx$3Gb=YI4K z=sY5L9ifSUuD)sFX=k3rg|sNCsC57I$1C1@<%J+a330&?K-YmopLpVl4?q0i?i;Uh zy((={W^B^L+vD-F@-F{A;Gj|ZR3I&7g)|NG{jE1zWT+-p>HNF7yX`&(i^>vYr;=W2j4WHW=;fDQ;fyKT|pi zSsZfwcor)m097eg9M|#es<`Zk)6P8#!n>zkU@29FN9=h?0vbcTHPfkh1Xhn)SHqlW|+SQXAjnl0ErpJjw%TC#Z%&{AtqEIG` zC=}}c=W6`C%g^vjkCX#Yk@62e>d3oq>&Ulms@}Br50_7{uef;lh~bBfKJtKr4jQue zh?rw}82gNSZc-_w?V3_?AxmO5=X(212oXX|x@#iBIIf)UzWZ*nIfd~3b=!_qtvmtc^XYk<07z^fu z4r>>&n3eRHr7MBRh09iawQ@};w}{bt4T zbzjc;)z8nFc+LjitkS$s}{{{#zsB_1*e}3v86V5vuZ{3Ip_EV{upL{ZF`t%1U-P^7AfEy>? zKWhJB0N8W=(D_buMj;kb>552!+$4nl<>7mE{Jh>?+o2J3|B<8i-g_TH2u0wf+;DEe z*)hi)qlE1^&bBSzZC?M4jqL2-xLR`H{cJ$A`u zzpY&N6++-~{_&^Nr++$IdyV?-ck|7+j5v6dt^h-A?GX<4rvz*9rE@s7Ge}2R{&VsJ zfwz&=*6|oU=Fq+N8WQM`h*DkI00*Yf<9~dd@A(#}%IfN^>sM(*CZ)gszbj8X?#PtK zY=U*bx$lbQ_ zxSyQ)^Ix9dy+;pZ6@4^q`lnMrP(toI^3Z3VeHLNO_P(2LdGs%jRIOk4$Rm?4x%`hh zlL_eKQI61)|M>UUOFl;k-FW-mXP$MY$D#U$8^?_rma4A0|AG5YIpvf&b3dE& z-s=D`Xy|@VKKDw@vE#sxI_BuFzF4sGi}|)qC*E=A<>#$hv3eas=(0;LDIYvi1|dwI zj=^swHco>m)Hiq1wB<4|aVn_-1DLAw$EW3WoliDfL7i=7=AD^9W&Ts3`dF=ne;OH= z5te;XQjOSe=%+JhzxcunZ@%>0mvd*ODz+)ToyTieEWYTcr~l=tX9o`*8ncP6nxq{` z5(l}DQVKxY)h+}-^7xY(5(rSTQp}n?1Nqf&y#Cs>1&2QK?`QVtxu*~UV=Sc(0A2Uh z*A&}IyWh2{DuvjiZ@&Zf9~GtwApos9f-c^s0{2kNiG>vtxyK07ycE`3UP*vrZ8?xq zQi5%QTwhH4;GN)rxa6W=dhxa{LPa)=zu?j*|8hT4YU+p6CR}uJs3}rxb?Z0i*83ln zLa`u?{oQw76N&+X4(-}~_})~mIn%xN9zK8O$6Hq|{QQggL-yI%BGhF<7yiut(=zM7 zk@sf))6)3o8cMb3mLbL&*fc<=W$RKEx|%O0g3FO34*B4{8E?M$%p0%2KJ(*uT;Eej z7g<}mbk;9^`s2s{_14f~`{*6Fg0N_okh%({6cV(fTuZqFk39hZ;^0(PR?VCFfmc=e z`hWj3Z}zOmo_V83kFJt?Qb`;XnpwN_ODP2Cw+kKGgi!bHJ;ok7Ch0OA-x+x4!y>yX z5bR;aVBz}+;Prn!5opYUS{7Esu@mvGd;H1CKkLl1Pd`~Ows8LJ=bwA_#b=-Aj3GZY`Jo4&c=|~l>lu{s2;VCe zipLx#v}cC`zUQ9%Xu?toF;`(qPB`MgrAwD2*R6Wxm6tEP@KW2crPPg30plyKy_S*^ zf??H))DxEWA zlZt9)TgtJBC*+iOrhf6|m!9X1Ib_tRk^8S+wMt4sEZVKSn?-buH=oOn?TblC8&R=k z>9S=ut?A~f)Zst+5f?IM5kJ^MEnd7ZjJUe!{PU1Plu}*16M$Nl5PZ|-&DxN_M9d<( zN{Gr@Lo(~X@c~;ce}ml$6zk*_UGS3NFoj&#wNU7c(@#6=jME6>vu4fu*K_}V@%iV7 zWl1g``ST-x|J!4myi_1#K?)UfsPFS2dmX|Z_~eHl1|T#@@&Uw7Ipw4!^JlGFz4GN( zU;h22zt#mebg55mF@80fYBF;J{Ho`{~aUG20iC2g&Rhp|Rt}*%ULWNKnsd z;i5$%_{Q|?xrYd7P(ZOnytu4$W!3s+OP6Xps?-%e^o68TqhRThC4n+6FZ$(qN=mE~ z&_P#a3d)9T*|PboNgk6P$t^txsxe2fV8}3qvCXi_U+sGN@7Z?bps^InFzXPWc7h%cY4-i zn)Sc)a}^G%Wznfawz;t_Epaa2{29~woX(B`ERj6t=f5J=-w{F{{>zhPWhI-K({<#y zKOQh{$dAsrX~L-(lh5YP_gLTy2HjTzA(Zk&B2IlB+Kxgyr7q0|s@S$uF2`7&deVtE z&zX)8dgr|le)+5OX;B*tG>nxTf8nJVrON>S=IR>{9(jPfVQI3u`i(c<7=PwzE*Fli zH8tIdBiIjDRaaBX)^+AF{$%E?&?!kV*3~q*Bo?j~vRFU!A@tgJ=+;}eZL@I7mxQr4 zC1o^dQo#JAK0zr@qBaDxRE1!yv?#7K*`+qYDlReBsh>aybsX);BIN8}{L*%uq$lF> zIF&y0nI}nyPMtw_{ZQ1Rj5Eb$X^b$B*+Hu$2=W1RUm~e1qUgs3(73JpZa5emj964{ zkQ~9R{~s9J+c;H?JuLL0hgl}1?r{E{z)g7T8vLm_;=6#=2MWSJ;saa%-TJQ=eJ+J~ z|NZxlJ7s)Hk+ZRyIS%c;M{nI-gZmxY_tGwA&>w!f|BBKHo54YC>?AtnP}&4iOc33l z5`Vp71*TfHb!^?GESXG(F`y_Y+d+usPz-_p`^~z1A&TiV->T z=pzo?{~*t2vADBg)0Sl`m)WsckG=zJ43#OKa4Z>AIT13?3&^bh=8fOt@dL@vEYTt? z2;T!g0RNIAds7v&Y{GourBYwb`V=Ab`fD$rcKYeXvA8d!%hZ7WgTj-ocs#I!hPFl` zxzKHagd(904~O-AWjq#3Cc|7JSh;F-_};RzHi7?9`{;G&4uF&^+7wx?%i}tf9G`gR zSU*3LY+Q+#=b-PIS5>?7A;!r`6<9KVBi4lat|Y{f(r97hjN7m z4Cw#OqL~12*kOl_I_My3C4ApcZr%9px8HC@`}FBIaKL~WQyi9ZXU&~+;-HZ!mxGXx zJoeaMCf}!k+;ZQak2`vtuIm)kuLm3y%ftE}xV~2P^R;vWnDw7qsJa5~^|Z%Y(6D4! z`lN>9u;qwJ)!45EX?ov06o`MApO{&yq@<4U8Gr6CN=u6^0!JKu!sN-5 zgkeqmdPf^9{59TPuFB zkWqu&Lnz(X2N9eSs@TS3#vQzLhE7tv0ccw_(o5B5n! zK~%aGuo5~xo>1NUh|n!A!xlzCHz1)@%&|R0!#bC4DygI4DR@lzfQ~%ogvTb`#C-qn z58Zj--hK8Owr}O84Od=uH6Y#W?Sxau#|R=Kg^aQ?SnEiUT1=hP3U9)IF#e}D85jLDsM-8W+YLwoh^J%7&hC;mK% zaLz6J-~&c*E=o({`e6a`g=d~R?PnKu>Dt*zI57(+^K9cZ$T1oUyA0K%@ixPD0&A@@yyfse=iGBYnl^3vNAGy9``EpA{pEps2%?BkH?<7|j(0Bq<2Bb(U3Vzm z*-=SBDNQjRPZS6B;q+eozFTj`K(*r>NKo+@2!cVw_WR|}f1&GiNFMa+2aHK7=_ZOC z9T=n|nN+V{J@w+V?QIp?k}d}wQL0nItF$20>n}#}u>FSr{+jD2-F72VYVDVE|NP}# z9P~O8f&<{eLx*4e$7@njrMT!?-u1#uu6XF?-)-8w@zi6Fa*9htO81CI0Ar6ldhFP7 z@t7SZ#)Vzx9ZN6$Dwh?-=;$$HMjd(l^eL|`p7ZJH#~o=Em#}JG8IE9j?X}lB77jf= zLduw}Ye36<+c=wqS^owGKO`IryS{X6;xZj?IAOv?Uwrh^ryo!E8Nc`Ld-2^52eMIy zm9G1A>2mcSu5vwH!;RWD_kF>*3NzLNTU}_{`N!l3gzw_u;p;QqKOF%YF=D@8Uv!c0 zb3%1TU8!4E>Y{dlbl{_us6bv7$Jox>Y*~Bja4x zD=m&EJyx2qsyMO;;#^Btm+4YUSf?4O;*ye}=4g=KL}AZ8d;IRotM9z!riu;g#-DZq zEp6v--9UgUqz*ai*dvZOl5=Gd?Z)B?#p3bMeld3JA;+IK{?+IHx!{uzPCfcZq@*48 zlHB(&q1Rq>eJpPG=-KVOORjkQ&THJQn~y*IP^Y9#s$w(MWUb#`c}>i*V;1RFUQVc` zgnaH_PyOegPv7;Ie;zjWV2=qz@}6p9kT0aY<@Ka}eUo*%aj~jxtfCs|tSZY_wrG0% zhEUmJH{-9H^MWFQK(vsukm3q-Kijg-_x|de5WJzRBb5 zt8Hhau0xlwb?b58|@fE_lN2SC_+ENr@Wf9m~<>R8# zvoE;hA1}Y#d%r_bq8Nd$vc$P>m38^ujg$WN{OeVaKp0{%i`ev67o2zd<1d!%IZ`R< zrK)tzq~ld0j8uI=$l!+%=&L#{J$R>v=-K(dtpu5paVxUzQ6f? z<@x@%cK%#DbCBz?gatzC7Qd7J`o{TJ-y3VU2ZcoFVz!(Zjm1v5;CGYX`nYYIgwVTU z6lRy};2($hI#)*T$+epWA>pUX#sPrczE7`_M_+T-;}1UldWu@Yu{U_sA~DNyFs6!P zSLw7G3E)Z9f50G&iDlW#KATgW5=_^XgW|YVnc|K^Dv}%rWk5owWpQy_B2czf;Yos& z@9BoWHby`QQ`)bD0kdQ!)lG&J4zht#O#NiS6?Z)SR+}z8m6Y!0Z?$Hc=zPfy_uoAE z2^KHo82cp7gFE9}#U9p$nJ~e(-*NY4f4qg1b+YUjaZ?~s`(At9HTiEx9&@ykI-d2C zi!Z$A(I@RToh>KEsw=foqkZ}BCO-U=bACqRu}TTQxcIljMjvh!mFnyOpo~z7F(TNk z|JKEShXBitA%y0w*(L)$Qz~8XAjmkuwO;wKLV*a@an?~45%vs-@TTpUbj^S=%_qyp zO156SR?a{4r-xZ%IHQt34ywfI!b3uBUb|||+O>qa-Me+`*mDm6#Hn5ty1O|blB$Y1 zj;G%Zl^n$^9B0~sC@|F(;J9nscD1klJ3dPR!qs+yONEh+Rd1sOpujfuxuQDj9Vtp& zpT~7Qb*S=X+_AVqLa#dAXcs7DOy~FzjBKS-&TT9)=+d5Ff3^I(4eNXF(WiT_UMT3f zX=Chi$+%3!XqZm!`GRd-w`%2zj^+Kkc4?o|>7qn%or&q|ih39*5<+1av;($u*G?>i zj%U&mS8dv`YURomXwOn@^+~0o zPS}3p!OmHe}E4T=-x)F@@CJmD_|? zAM|;Swsa~#t#RrjR#3NA1j155b~|pa_$VgBgQ$t4*pNpEG;5RyT#fgp5D)OlV^JWY$k^(c1affQFHq5ST+H=(4U5 zgmc#P2CnNf6mI%)wwV*6@hitUim}SOk=yWZ5{CZ{VE8wQ*3Q2^(vmXsm@aW0H0cuh zF%DTrWn_t{;j`_%R4C`6;otQ6`G${h#uH!F#?g69SeAACY3FQMzrJU$o~NIBT3J~U z*M;C)7JsvTnm#|@2;=u^$|;7ie06bsDyrvDU8SUk7nG}9-CW(0Lgfw{{vizi=E3j} z(c1a%B&13^`15_eQP&kUZ?@;>8-{<==jR&@td=2LnQDM6qy1IU^VMKu|ip$|Sd zlI12nS0c7hn!Mqk+i?mtui;3xT?oc7Y*A!YNMWkR@diLwO18v z(L>>BU|?Wi(3&3%1_s%{wn*4cGiDRl(-yi&7?#R7&dF+gN0KT@g^(c7n)JCI75Hm#A?J{{StGf0PNH>;4^BVQ?iv zlzKwfW@oC2?_I=kbN|C}cGdNh9w;p63U#g?-EJi)&xr|^LQ+e&tVTi=$B19;>twXx ztt#`K0oBNTO_U;dr=}(oyFd{>_8oAHwi&9$Gv9Y(X&&lhcKiQeoX#26QAG zjd-L-v5d?N$TDLf+xwsGIEH`o=51;G>m3b!qv6oFu4+=fbIkn@VECuUsi!6C|Hwdb ziOJjuZEMAwec=>NC;kd!nx^I~#B`sVwh*mg5-y z&6~HS@z3l}m`)%HRDgzOhezzJ0}svpN4qfpu*+p==uF!ygEI+WOsVU-LFSNBLI#bt zrJ@8oTKnWEqMbnYl}K~r)ykDu&hT#@4F8(*qsDLixZ%GeKCOd)wopnD%i_N7jxBV5 ze(X!-`aH_Ukniit_Wox-PSp90A22lEdW0tVnEPKdPSp90AKzv9 zhv#Q#j}W90Nhu}gVH~HTfQaBRi&k-g1Cyvjz*phhRc&X?Fx4okzz0P39>{JlqEzEo zLL$6TN;YmYh-$zU)lb>*PxCSS!+8z=@c3@VKU*|bO-2PrFlUTlN&x@|3Me3pU>PAl zv%Ritk?sA@_H#7+n?`HlPa3HJ5A{`udcYC$n)@GOcjF&+7$PF{r`JVcP*6hhusV{? zX9vL5DQ3qh7m^7br3#eP`G;^_G-pKlttLc%b}^}uDtn}E9@XJK!s;8jw=?{a;lIQ4 z4gaRm+WF@SwKS!azArEVLWph^7$HFOeqCAK|7<@;!+!^8z5HQ&LYWNA{SRUIXU-dD z3xyfykTER)qBwB6gAheF_JnW_@}XZ@y{h7G!UtTLp+}`fhYlmSWd1hN)AUM+xwsG z=VoHfM>RR=KPrFJqvDs+<97%nqqBetEm z?Zk!8EXxjz0*-z{i)WE=Cw*nwEYUKXmb5tn>x(%CZ;;~xaNnX!RFmmMZ z=`&{mLY%Qcs2YiCU|_HtprK<4kmUXWBlrLR%1GY%Y|5vz00000NkvXXu0mjfPGU32 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/ulr_screenshot.png b/SIBR_viewers/docs/img/ulr_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..5b382a0f282ac663ad0fe37d671cf5a77e583050 GIT binary patch literal 1442097 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 Pi)78bb{()-vniWF->L>ARxGdeD@|B5}*n5 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 z�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%0Dt{LU?JKvD4IQf7QS5 zFamqCa_;1>@`N!<1N5_R?X8!&)7pg#?gPu2-s?*ru>MFnm38dG)Z9qegA6FAglu#G zxRj+hpmp^$l_?uIUj3ST+Ud*P;`&`GNUyK%>w?VQaDB|}@$^0MbxoeOMsnwZN^n8U zouG2^+Y-;4lGfWJPgqRPDD`I&$k_jIW3@GGB|U7=(G>FbW}?$JtF(dOCu9jZM2C4?0M3_p}FG=Br-&rT9GO1I206CgT*2jk;YYisS->2Y&l$17x?u;IVsuQvC~{Mx|he20&hnOAM@7`DKn z)M9n)EnD(G90H}4Vg(pc9hCD#S=E|U=bB@THtw~eYm6z{96Gw5Gedo|i>NR3d=`+z z$f0XADYROMxJBAO0U(Hr7X?ERmiS;Ahx!qRF?)8UF#%aKRZ)DBSQYROhKtTENYcsK z*kd_ag%QZuV>NT-NQ{+WxQI|fXMj(xUmR!4)p^sCW{5CZksmFb-+`@1fxUvc?Jgb- ze5a1zL59!Uut*DHUVGleViV8L7Zs|>V^P}qK3WbCg zLwJ!77jOyCwfCXtN|T-{T`^OtQr(DN(^C;j)EgtkZZcBAQ}Wbt&f2ZasXGn3+jzu8 z1!2GeLwd@-@jA2RhsolIaRtp?jm>&ep==Gm4s~CXpnf7)A6-O<@_wt@U6NYkapsp; z)SwMI9iBJ|v(vGcpl9lC=PT+)LxIy~GMvCTqlhs8AUD+8xF?FT7B9#@K29SdPU$cp z92^+@6r_N9ufz^$9Gq^B;l6@PgGxk$QoJY=Myr6w8&XZO?5HMqs!p3_j=OBiakqe|U zYdR45Tg)D9eHqr|;pf9o3i*J8DvnJUsZo6VR{6FS(H~`985b$9S7R(!c{RgxX#j`8%L5=EzKEYbE2V!? z%3_EIPGnVFoekvWCI=HuPyKhG5)n;J5nSzE^-pEiwR<=#a!$3AY1WJh_U@JY{9I}$ zYc+V9OqG+ZdH?B}mHppQ*|CN_xqK&06wP>ZFrPN-`E!xBb*zNc7TQRKn@%e*Z*p^# zHV&#$Ygjx;4JcOr3Y!L2fnLBN+9VM+7sJZOD#1L0OUaY+-DSdp67G#ZA|bKxn^{h} zL!g^?bs;1V$1EI7kgAxg%_%Z$gxE7w=Wpv3wmhGRg+3^!9BtB!V)D}y8J!e|dQC;w zQ(PuU46uvvnB*fiHW2V?a>ylXm5F_$w2;OciHd1?fLa^ctuymnS(=Q>fBkgKTQ83^ z(34^l4c>jkBwVSE9UXV-sO+0$I+f+J<#Cm)?YE;l5o>=>@7ubzr@e<4pH9DS?T(#L zA+z4jz%M}xGb9~@6!91s$dQtM{#2_n^n>#LijiQ_L$&>Cl~nDRhN>vz&H{G0(9C|{ zy%e*}0Yr+?;nxB;Q0{95;{rtr!60CST#onUHK>c*-X^iKpWrY04!Uw}RGX)n31r&p z&tdK)R!8d>ALNp7MO$Ozodzj+7c}+S;}bIuS`2CNoj0)e>y{*1%&nMP8 z8(OBDO6ct`r&s^oZ)X*5PDuF#un28o;9NT)werKul%ob=C9kpfUg^+TpZg(N%nR* zT}ew_P0bFaF}FuI`RQppLUo580soh$ledps;J=O9fcqnqz>eNer~AFC^M8t?Wt#Y% zlEa~m`=8pUyIpQz3-N=ocYDL1OaCrYawhi7k6tQ$e7fBOK-@aR!NIGee`j;U3mAuq zsWV|0maktK$%VnE6@|aAp4{l_Ik+D`Kd%lVpNWP1yu7~lKKDMhK0YqDwss)=M99}- zCmZkY4;C6hIneu*6c=|}H>;bAmvS9iM+c3>#DqU{ncGIG-KaSE1J%@H6oMB!fj zDeX;CXG2q)kB3KVyK6(2ijIMfp#f8R%*Ik)WB3w4^xBJT3pc^yqyHz*FWQH=h!p55 z`ZiU7or6Of7Z(YsuZxR6B*2vTYA5jRVJTA4(Et76@gIt!L_<)^^@+Lx)t6c>dU`;Y%Pewy_ZelmP%3%NEvFSEELZ!c4|D?bCW>^YQQ2Sr^F8q<=)3adSiI6iBw~sqGAG==SBv zI=_Ya0~2c9s6&X0ORrgZJ{%940G>oGnKBG@3kv6oxZ zWqi+bMrBJr=AwrM9&~0?CZ0W!fbK}s5vJZ%`8|=C58gNR4Zr8+#p~j z3U!%fy2c7}LSn0@ho;5~y#7`iVC(EDz}vRA3wr)T#og1?)zS6Z>hF!+_2K^R!`aRI zTb;x((eE80w1&|P{%@9Pm!U^X@haZF&29C{6%MJ~l^Z!FKwz3lyV{n4K0U7;Q!MZZ zX_zmPit2BySkZlRuMHqkjxipHt;wypa0#hlIlB)V^fbz*Kknx^+E>h-iy6(y(9&n+ zavDEfmhj1te?&~GsF)9M^$^rpy$0)sDZ=SuKZx7bjcPV2$2A{%L z&~qCdLE9yIaZK)qgAoYeP!Sb#y&N%*LBaBP3GuHuhTg34plT!yC`J2 zM3^Fpl4Kfn6M%-z;$*x|y~cF%UDOTDl&;%C<8p@~SJ#WBz&>ZksrY@Tp|Nr;%_<*E zeRPbEX*vu4K#v{EA`v_ag=%QUq7xOnj;X1y>iG6gzczqnP*2B*a`%%e-b&V|aIol0p$=-e%;gmIO4NXrBZ73%~TqqMRFD;OT4dsVJc z`hJ`VB3Khdx`}&;MiHv@FC#>grgRi-#v(*Z^(Ah;~+i9Z9tHfn*{0U+(D2kigRhm;VFlQ>Bd0ArZB(XDw z{Ar)tmV)njXQE&*&j==~JvQM|9!*Mpd0MX(bAG;YpdawUZB7KZC!6OyD(d>d+}ySL9~UY$t8TXt{B9@Yy}xi zoZDJp0x zb1Kg%G#J#{QXDFM*pP>ri(#XPK~xOkUK$buTfAUo52xffwY1Z<8<3VQK6e z8;?lUhclIwLs-*Fq(QheHfQ;jsfh^2)o36+K^wKolND4=UPJ%0nKlt;(K^NWf~`qE zqG2*gftMn~{+C84)Ls&q9$P^Z7*B~*2I48$t4WxCNRw|;284YInQ^lWM|nRua&pUh32ar{8i^GPJih!Ns-ilPQQxuyP8?`PDv`$M z6|-aRPRzD0#jRuYX76HfOp#HaDx)rC(9-Y1lkSP%90}edFYZ>Ozw%oWd%x&6uAS3Y zuaqDgjCul<->Re$0m_#xT{Eh%qD|i*^^>J6$96E`5lh+G{Xt9I#^JSL;L-l4#H&@2 zTT_pZ8bd%wTi4oFwf5N6^8SDzfu<~4=Maqq-;$BhE&+U#_`J$JzU;%fG!f%Am1Ncs z0E-vvy@L{RV!Il^UpVuv7#F8o9xN#wd?(C4U`}eAbqAYB!D?Nw>#D7TxlpAlAavUnM0VbD^s}7IL{BU%G;wNNZ1x?>~CI19qY}Oq7r8L|asJo$nmg z31VyrC&;WDltE`aYl3zN5uyEs0%=eYBgy8}T1@>~T)sfxL*ZP#-W|bCp^gu)=Svi9 zlzb2baqDs`vZ!bw?a`!A2_(p_&aO_+F3*W@&hUu{aq{$Zm_ceiQBE!%*0%q3cy4^0oV2qykVTNw+ZCknd^)rNS9Xr0Cam541q-M07W9#msx(WX zr$b3J*6UKgAfnL zFwVR)w`c73>gs9Pqg{nJ5~g8PGb!1-tv8UTw`+YvxTE_Ev{rvEXwJVP7W!=%gtfi7 z)!o}0$%H^uad>`?XLES5-9HEFmcRNm_O|tGRPk;Lf4@3DwjjazNrJj-ugH)r&s?q9 zlBl`DT~>xYB0&WfW1H68e0DLl|FHPJ`0{YJuhZPo+aAc<*}%!dx3eWYH^+%M%g?eT z$dWek$g>5WGS}7H+1X>D!<^1FfteH+`YOQRYp|)MP0t9x0%>fCk+NefO$)5_G7Icr zn-<=17hsv9VZg^@YvRjs&UMenF@F+d&FkS|ahI}=u0bZwm2Zb@{!!!mHG@b#C!R+M z`e%z=aiieUT5|M=m`wZX@lz8@+#^b&qr-LosUJ$-Ps1G{Jv{?r!h8dREjtH$AS1)W z(=#yv!NnCQqCgz9w0p5%SyiQ5v|J3To8!$KGgXbHKl-?PlCEgb++5W$*g7H3BP1|9 zIm?ft+Tib$1p|WyFC}~#PQcH63A7%03zL}C zZb-hTC3Uay_f*>vr?x)D9$gNnJwCdae;EY^1c2P`8@vKqTG|`yf?8TyPi=l!o%E>k z@za0=ImW*Tkp7{nOBN+RxI$a!RxIqPxvGH%Pd@rAP`6sOdiDIFsT}ko89~v zD$njR-;OxJ&bv$rn1S6}o24AtV z^bPyOGk_6GA^nJiVhWmswJ+KPoBbk(Br@^h$T8tTaw{Wh0_TD$<8 zibP}TT=9O>GLLqy$j?PM5W`skI9ds<1&yNK7y#|q%cAa_j3*=k6kG9|BU|$0m~Dor z)(BgPa?%k}7#+o@D9DI{!JVU_&cgg&^~)kP8HsJym!b%9J!OEoP29?9VXy3gb9#|9L%i`J8`_$^8)|ZlD4dY+;GQyEC zb!;xW51nY;{??dsEZX&&zO^(jNg&oz1z89|72<)?UjH$9`>~Rkm}Vz|Ws0c?EB2V? z?j?MPn6zJ0dGmO*26R7!y|uFf=UfF@d$U<$0{n!Q&2qH|W{l1^9_XQc;PI8%KUJ8Vjq)*`ku3PB!rr9(g8&Sz_?n zoa%=}=}zB`$PaX^)Nh<^k80S52B$_qI4!M$Onf|}`F9^3Fgb6*VE`l$%sxmXO983g zL-}VUI!etJg@jNCLlWy*9-huf?NoS^bv~WlUPJ*lgvREycSDl<9R`!g<}iv@CNd}K zDVn+8e5&O4M%PfPQcXo9-8EA7h1zeH;PJ-oNOyW1zY<1L3cZ-p&+Ki_XZ}j^bw={> zjsAPX9vQ)w7|o!js+y$#cQkQ(wf(wxyL7ttakTU=cJd#HS)7uR__xe3FW=wO|6}l9 zq~rBYY>zw|NLx7nj5A6r#2kE5EP<$mW|{o`>DyOy*%QHJ-@p zt^AD}@oBxynVS1}_op3$liECG)Y_Ud0=td5gne~VG%m~hfQH7{0Ady{8Uj5yua&~= z&u4rZ5e%dUF_39AEfjKrNMwFEUI&*IA8{44g$3-Fg26KRSX)~F;W%L6)h#S3`9i56 zRKjLpIwA9viE^4rjFLb=$s25w2MNbFY`v~0 zt$DQsz(hGx5v0esdJf%c5YZB?13*s|3x=)`k87G_QQ+l)vi{!G=dRVHG-FT`y|Hem+M}F1THGSBi|E*M@09)?3+~X6oJP`ZuGFL{d@A+`|Qd-{d>&GLf z)Yz4sz9zRr3pX)xVoy(xJ52=)DTE$u7a#9P$v_A`6u-QfQwR|TdA~swI!ZwQy|TXI z`exqj5#)SRN{)+*3XuV0Q#Q#tB)2F_X7kjuq-Cc-k+px|deVLDzQ;+en2djgQ5WVf z1NK>Fsi?m%%h+B+2ej*2Vtt3f%hU_C->&a!-9>*Hiq~Mp(UhkOC`#V30^8-p zeFah((`!lF!872{aY_>WjD>=JTc8uyrmzYHD=}FKXwL+Q!i0!f7w?_ZoUDMUJ<#(V zBOz!iigg<+JF`{v?LCgT9DKbbItuwSFi$;V z-syJ>=5<3t*JUCidwRHqk=6ew_4m6ryWh9)DB)=AsCReveA+vYbnFrC?cwL+1&P1S z^=%SVW%MX@)m)BVjovq>v+UlMAJP<|8|3p4Qw0+%a{VB8 z)$cZ~H|tzD-CA2;7v`ySaBy^R5L_R}k~I&SAF*&Y#dsK>dY`{prFhU`=|$ul!bXfW zt4t&o2B~ZAFBH;$m(L)SAEOqu0_l;y(CUVFhy8!T+L6hiOz3-^j*gNEbhC;pzSupYAy$n-ghUa{0J_eCFfsQ6bRVBFMreEKtwEBCxQ{ zn>pn{dG8P4qDkWWc-G9Et))eOc|mwZNOVn@Pe4FO zyv)+tq*7_84zejfA-6s!dY~viCD^K6oF471EzP|GZ;!Sxn646-u0YhbdqcH*$2wJp z>!8zKSFg6_=Ju8rJjIbo{tb+U#@%2e8y6~^D6Q&guTp;(Z&N3~eqy;}{x{!9D)iUi zw?}t($JV}IsamDWxOrTjJh@YzNOD04&d|Rg>eHuD;lpIQ`)^lg{yT?aho^9Nk`uxa zNsk*^Oc=xFe>&mp|B(Gy(8Sz+FQ+LqfvIhS@mZvlhUPr2<04!xAzxSf znS*GHF5*5^7WeXz>Rj65W<43#gFT65*_$`LryuFs5c7=5raQk&#g5Gm;RJ! zH@js*=u2|ij7uPm7m$W5mQ$UkLd7H2rtkfz%s6;(saA-Ymrn9wov11s&JAhP#JiOl zWKxbd!2+i|M2FG)6Qqjc5;XuS2JEAS;~Vy&6rZv-Pd+<&(Ucpo#fp>pl8~y(Se~L= zde;D;0y2yc(c_dO*vD_dETF^0Me69HH8AHYVMx|eDd>aXgAjWo)sumAe{j26Dx#Zf zBAz(0FyUw@FnBfXmYwP4FUOW*C2W$z=;rVwBEawD%BOHkR9nXRVqp)66!9fX*49EX2vA zf+@{Pup{H@7F+54W12He@GDhP1GZcSO@C}eT8oD_qaaNQNLQ*p$VG$8hpRqhXKrMe zqSHgd^%0ZcGdc^bykom7Ci zo90)Yx?&Q`KD6RDkB`=Fpm#5TkbtRj29??>YD1WRm#*kfU9g03`e-6il)A=X z&MCVJL{~s)vw6dxSnE+Er@x?ly)+8y4b z8+|{|KtW?X3(@J7f+IA@Xjk{7%>u79I>M${j3X#D%q!B`D?H%2`tfll$MC)B^=Jmq z@blubF@M?rR&^-HkkvUJf=*@X$2gA`WunyR^8JlGQF9$R-dH$UUh<0(n_#X2ip4x+ z)|3(#e=ZQQSOp_|V4!bzer$FA<#6I*bLwR1rEm9#Q2u>~E0gPbq2elsNcSS`ftI)$ zJ%yYz=Pn`LA2E3+>!`$*m}xu$9X1ZbrC(b*=unG=g4O^QwC_$LZ*b@Z4uo-IYLK(W ztceL{ORC*4l`~S$C!~RA!4LFXwgs<JRI9}xd5*Da z_R46NpLN8_)+GVMU}O@6*Ck;^aUT9aj|6rRf>jG+MT8F)nVCi8Mb?H}?TrGfTcEl^ zQ_R4d7=JrR@_7ixlkppV7hJQFYW+J8QZ4R}5wE}V^Nk|%OvTb~-$fAktt=t{)tPzs zpwDr=-FFC>0?B7>CM4d|!!m*WFj=se;K^^7P}J~Zk&T;CX-9J*BQ!4cT3o+nBvtKi z-8AX8QWQ`y;XhuV_O5=P7A9vECPQ11b~dRp5IQ*Iix4+xUNhGcPtRN{Du8Y0{|?|2 z{C9SD_b)Q?n&_%G{Gz?%ZX)!@p`}UZhV>PqI*lIf~hM-k(R!MngUY^H2 zhKI)wNf)|$V|vJ9Cd}nBa!-+lR`y+5D8F#2 zHfpTX=&-kxanRt?9-Z|Vo_2S)e&ypFX#Y58-d{Eu+u04su{rgqy8ATxnv9LDi-x?6 z63LgHvtXSE40QHCXztmm6ics~d?)QAQ2ck4CvB=ZuM|boXdp68Ki2VTjWd^!%JRnD`$Np#TiD?4K_%w77-F2l5cv>SGTyKbhKjj21_?w)Gg+R8R0u z@v{l@baM1*m>C?I00a)HwH~d^m6So}AKfXJHUs0*!K~Kc7~eSXEz=4K;d2|0B?gNM zU)&bKv^<&)Yr@=FF0C3}_22m#3;Kr~Id1Xe-eIK1?sDQnuo_|EMj8zjp+BsX$$y8{Cbm7XZBA_4w(XpL->(kpr1GPy zeR)xz8O zNDK~v8$=fbW|-?^E&c%T|KD0jDY zzubI%^@lwp&jeg-4h|l^z7DQ($HC``>WYA7zK2QZczKzdn*;3*MaHKGhTm6jR&H)? zPEM@3_P}ukse~3KV(o%~4)gjJa#=>rA)zfj0(C4twY($&v3 z&;`})?E!3D5aH|TZ|7w9PgZEt)x1MXj)NV}sy-bZUG1F#Ol|gVb_}h*Eqr}}Kohnu zP}^eUl@A^}4BVPVh?^tCOsY1=x*_+P>D#G3N8+tVMhQ!B- zyGoNH#uo5Avb9R9!2v3bmmGbk zUe?*vuAif$i-VJ!k)fBCp@UDDId;hVQ~Gjt_O|~Wh;{h9-p*?n_}yQ&Z2S6odHFej zv>Ux&JS^BT^KCXy-)Vh4WA!Zmfa5AawWq-u1DFu@@M7L}_-u)JJs)iB?cS~qE?yo! zZqhf#g)qNOO))A=Pc^Jwc$Ts8v8=7HLsKk^7kRpSJGy&s%&)_z5TfI$up`^03yNr8&xk)!BcAEGE&vv)N) zP~@RaxDz+0F~)k_pXk;Xbt>&NT3jo1*27B7c{{v-(!zJ>;mi)`SiXy^-P5nz)qkgu z2>wpKKHk5*96j6|AsxPhap}FBeOtVo>(saOsnyM~mQ$9;Ff;dWE}Wez+Uwg{T3SJf z=+&27o{<26Bi7T-aRLW-u%JYE+T_pO@Q{CXujz+l6K6|157NcfD+JOWB9?ySco8iv zE(nEp{8xs3SJ9*F>QFKhXjG;V)7FFLuM%VbC71jVNY3X}5EIn9TGbe>7KMqOMS|5= z{$g+lf|-^>PFfj_lc^G8G+GFa*)xwi2(VIKqy&GC)heJpTB3pa(Ada|%L$Z_o~RFj zwVMvWpdg+Zllc6&fU_hc3}2pTvRWF1>Ppl$ZXGNVNfu_V>ByN{5VFgkTtDHsN5NM%{5(O71 z9J4%r%Y&m%+iyjVoeWck&SnikZ%06XltBJ*R;rK)ck0AUCPV>{{S^%xHx#v6%1yvL z__-D*bJ`?hMhcd?H9+27l$X1&?Hg|Y`V;37GV&%t!k4UYQ7R3Q#kC=8y>h3C>a~gn zRGD7PDwrx7r3@qA>egWRLe5$5>a>ECpYT7EA zOYc=Ej}tR}#5@Jsb1ZQ`IV5EC>)&WV{_a)xlPSf8Yg@E-K@z2Tg8Pd)Pkq3OGH`Mn z9pZ#9ts(`6vHEET#gc8630yKjdX?OSwrc;#o2V9>h=HlNbLU{9W*_jEGIVXELS`5%L(O>_Uy(jHHI` zY=>CrdUSP?1wa-RGH4aYx-&fJsNR)@C`w+&9gQm=lrf+8IlD{FUQGs$P z4b;X^Qhmgc7GliNbY{%l}!HxCGRUp{L=TH17l-jWRK_Y7mQm7ThB9mVOo_m2cc8sA?p1ez9BQ;m4AlBAuzuxED`tmP=XS)9KjKb}t0 zySEM?Rgs~BOq}2I`>ZrQj)p*0Ji8CKVmxXAW;HDl&u7o{)d)x^0p6k}3UyH2V1<}R zgwLsc$@nb*5cEJw3!}-YPdz}QW<YueH@5vwr9B^59^9^)xj#b-T+C`R4L-^Z8jLSN;hT zx`8?tJ!e5Ic4Z}YzXcWT>c|Z3Mg0 z?E%TxpKZ0IhiH^porRIPj|v#%C#3jdcf@67|O zr?*HBCxim7;n|dg$Nz1CtUzGtkd5skf~6XC2-kXu<94#aqc!5|x^GNLadDBbBI+uQ z(Snpf4T}?G1!v|y!2Iia!nXMBFwY-Y8l(gNI20b##h|}36w@o*2cMSC49#e0Dt@W! z&>kEqxQd2*2@{3Ix2fbZHyR1v`XZGIJT++?V+I=k#$w!0CEo}vO(b%I-ABsNiD13` zLjk%;al~Z`RwItVlG&iIK(fR5(&drcf&v%ttCbNKN499F!|RB$SOb716G_`~jt4zB z_q8@AT=sJNv3F&7>{@bH+wyq&a&lf#5v;ePDzvWY6`kTDM1W`qns$u@IaN{69JZLv zY-_HXjXX9-=sVOOvzrsoF7Yd8O#*o*y0fzCsP_dMfhPij+k|l6$)Tm&-;c)L1zB_D zfV~IZlcwG(6nC|RKZ9|1o{qEb3f(5H=7z4$j<%lNd@YK4x*OXott;#N6?Rz~oYl`y zF`TqYv}87Ut;w3T2x}OcVLz_tl{&RqAR5akd4TU-HH9IH;%ID9J2;%n22z0c{3Ew% z{(}l&?jyFSlT;)`Op`FpL@+@QoK(+5u++%YrNJ+y%qxLHY^;s9MBP=hY0QB3J+$Nz z0Ij^oHzo@UG)&OG8R1MzF*iNH!(NS&Vb)sU$yOvehDkPdVq5Fc=6QLUTwLBJ$}yOn zW{i!Jm!+?=%hJv6{C-*|@@;A3%l(bbjvt{*^QS0rwz>MYY3yk5aTa*xT~hOX({b&0 zznQx2-Tr;F|M?8``c1avc7OlCe**qMZx=s5Cs)^x+xhqHucwY}@Q<5IBCD5A`|i)r z=k1RxUVnSPXCNBz=J5XiZjYxY?bLybJRObHW4D%Nw-!!dZ46~eiI*3!tOYm9?mw4od#Z8CtidX=-={V#lK zt4^$V{4^578~_a9(=1NT17nKwiR&Hj9l#mg0FIpzj+0&F>Fndq%B2b>N#;aj_wB4) zd}L`wQ?q+$SATnhAU8*YqlIC53Mob*OkxP>`T6?lN{D|)gd6{=LZjvnx#M%Mg~z>v zv9C{6eUIu!h5^mwbd5&2VcQxG4k5HgU9)z%s;l(j=j-BS%-5)7eH`_}aYv{pbO|(N z%6j{7UzvOur?$Rhw7FtJzRU$M5le(yXjFmC?JNJ3b$b=?#iSS>k_ zDjVA6>&Am2SIC+jv|mwlHn>Rtpz7cPFZ#NOKN47mc=R$dVo|0`NRW$-jlV{v0hGH; zF);KR1E0a+{hOFKYAz*}^TSlNYQ*~Rcv1G?;oQp0#6{nm^r3^vb9t+a0J9DRtt`tt zhE$_DT+pY9jOe}$KX~HmQ@17yQFu#;v2BjxS$rHpTAG$FvF(+4?&;t^SlQUAYIz1bc}9DMnyabm>*;EuDZ8y)eL=pxgR`%fyRV&#;!dAd?KN#` zJ3E`J!@F!irirzEk9JjMRZX=mI@a>im=13yuUA7uWVW7kOQJ%-iZF_w6jgb`3PtK8fH?K)SC#&vwOfi1UMmMjA$4ZgR{sf-$yE_i zrctM+oT5CzRPpLtGG~N&rsf=(a@iyu#E`sB;f7sA*g$%=a0FKDy%Kjv4d$9J9)VVu zX?lT~hZF(fUY%;*9_5|=ljcq*xl)%H|Uhj+fYI;sn=Z#LV-^*D=Z zvb~)+OOHFvwfOQ9-T+Tv@2IW-3D2zOdN50Z}x)>sY-0Rtns zCSvhR@+9j)3H4uNaX}+#Bc?A|>>M8$rkxMp!Kr2(wRi=|bHw7GeCQR4QZb7nlp>VI zF?V`pyN0NFIwQ^qoJSFDf>`b0{7#ej^U<^x8|6eLX+&;Q!UnDjHRz2U0XRCS9HnWp z#7u1+gTFdCCK>;0M&G%Y^Y5jXitkX*$7vCfY^^9a%lurp%!spv85eKa8RAR1 zp|!uGBIL|*V^OB8WNjCcI_nM$f@xC-4(U5Xca~&|F9ry#> z*&r`qb?PhQim{ zep4bGBs<&^l{Ka%VzD)Rhy(h5%DO{>(#|6V5$9)1^L^at!tYzRv2m>^@l_0rZWEfZ>kDI6KF2$@Z6R7^6z;Gk?f7RA z(H)Wk_E;5tJRP=2eaRN>18;Ds3Bg<6(LtCHdN){}QzRzsb>ubBlXQkFgTSTMWJUv=%^_5*JQ2(39&H8;OLbhq9Rfw4 zL~`HGcZ^c@{a3m_7Z&<4*j|)D5)`+95tOHl`$IahY+t_zv785l)C-9q(bE2b2$>d> zBz|XHIEI@8tG=(7B+u+=?kT(iI{qfA$J(G=n+HxT2=V2v;NK$%p}2e4LpGgd8#)_Xn%^8e-*zpo`~NKse_kp`Kocn_B+BQ@gt$@t=HNb>6%G(yu+oS( zkynzCUB*#4{@82GOmwYNX(}$xx25Ae+#9&eW5vmPUK6>?ScW<2E?_M-z_!xCAA5i{ z%Vto|OiXvIpJ$Mt6W6HEJXu*bz2L4bPCKRAEG67>1H z|K49^{Ccl2_z_xFqZak%m0hkn=N+hvki;$3tpFmmMIm@Ff^%$!VInDFAO-z%c8Urz zikswHVoadM(ZO;igd7EGAH#545=2RaVXDbvr#N`eDxH|-Pf3S7xd=y^-vVg-m#I(3 zl`8z*;YbpFeJ&%T0LaN=BONnmfjZ#WoHuei%E_?s{Is}G$; zU-0U-TeFxf z4)y_Z$lky$Bn1Bt{Oqipteor|Vb)a%5lpIK$`arT`FzmW#mn5+^3=lq`s~BT4_TTf z8%g4?e5y_fr*diI+nZEJ?E-&-j3dpzw?&f7l^WRc*+Dzq-9zrONsI#o9yoC>Vp1xO|&JN+WLIWSY4gEycCOs%vgObK14AU z6I)YL-P@F%lfCQEs!^k#Ka(a&s3!M z@`jfpcfP9}T}m{!v^Ps#9}y<#D`ltX9uT98oi0h+o(%1uKRzzb-rimuz8(DR{YpGt zTkj7yfhB_cCcY`tcLq{)p5eo0cV4#taQ{=;h^A!Ek*nbHFu}l(n`NNCDMI*k_g0;< zrN8(W{^{W%sbaAXh*Xr7O-|a@3I%W@9r@%d!h`{Fut|W^5&Y&n{CPvgVo_7o?(AvV z>S0K-?5{>v`lZNbcdvc|SMpIU8)D2K+#5z_jmQnljk zV1qfUbBh_P9NYISwWSlBQnR_ZdZp%o$iB@xgaEvQsyuHkmP{Cv!bjKz7)XeXGp z?OXc0o?RQWQ%HB~n$Q5q>87+G(X59Roy9B@U0hrm1Tho?4J$I^gH3Zs>MmY2tx9^D zx&(yj_&Aw_gqh(*ckyBjC{i9^zwMb$;Y&W^Wr;H$LzV6PCU#+0vwR~rt?NCa)MKYE z5@--~1G4%PrA*uZn{$Q!KbvDb*IPZP`f(x0Gbtnj$x$SN)#{&X?77?& zWI8UUktwE&aaC6JD&v2655c(&40MR`8Yo4Vy!+Vq88uc!l6-UX$o^8=H$j=xn8&7>p(cqSMnz2o{S-*Tgi@ z?rBYY)kbKMTL%O>W~>jr#RZqBH7S_pKA3hR?L5xb%r|6T)35I zQG`#IOTNh2RjB@?fJ>*R+rxu9>r9-%JFEm?!=6#wa0*2xd;`tDWge5b zzL9UgRs3f}WDb@j`0mOTJsu8e-0#lIF^H|suCqd;-?T zod7O7p)7eeiY8QPQhCI}8#6*e!l8^_6&PvTuhBX8+fsg3k=?J+)%Mj{NR1e1S56;| ziCNvs3E9m*EGt_~Z)=+!9lSja8C_i+T@ASUYGsVO>q7x|P2M0rvWAdl&n-t)M(3;4 zm#?$ZRA(R0%fmS!F97nWz19tHfI%-?T~0?SM(_b%eRhrS13 zWN>?9|1v-+qAq5QGLQE&3P92npx{eMynHY9NOz$F^@Ip}o3-(l73wKJ%x7+Bz;aXb zkG{Z2Um!5ROH{l&&t!|~H}E9F!%#=)t143&L@eBwpMIdxYh*qhk9h%DxC?L8sFc*U&?i(6wJ%ysAs_< z(TaaD|2(o3DN`LKgdZHay|^(d)%Y&H-KEkq`Yzq=mC#T7&V39jFx7nj`XzA!fz4f` zHe{>jpkzfNPBtKRG1l!&iU&O8nt-1^NOG_)r4ZQL6InApl(2No4p=YCs!ONRRuqZDnPc* zO}}Jy0{Os0VV#kfKo+r zgboJs)A%^#GHWgM5k*+BEg7pBmJEr6OQuj=bmC`}m)LJkE-@50I2C=%KCgf`QGoE8p{tt z-y1hG&VJu#3kyqcZ@WuVga2kXR}Y8BGZj)bt`!uva`F9KJf3bZUV!oM8hiWh_O5ql z7aupr#txp;`_VvgD%-dCiZS0yb>`Rb&-hpUyd)TR9`*8)837BL(!jqmA#yycMD?7);m#G7J zyxM??Dfw3S83WAtn{R_WMGvS z$TqB^bRgIK?=5bCs4ZBv9x=#ayjAwZlUxnb@uD#(pEf>7tJRA+6b2u`iH-yPr{%ff(iYx)VZJDM{j}sG z9u+7Wy7YDJ7R7F2O)>?SGGwcxQDvOH_V=~(`gUvmlkKZ;Z@ida^pSyvtaWrin3!Um+k&Ai zKG-)>xRWA(tFiMn_3ilk;c8GJbNdS{%>5T7$8Q`e0r1I!f|Ubxp6YaYvGPKZY*{+9 z*>nhm4PwV~tT+tUzaiQ4Ndgd+QOSEe3qtx)ieKpv zlb&{6p(-VS9;Jr!MqTU*`a^WL7j#1AJ__Nt2i2NTn?&O%5eR>+hd-E+5W9+bpW-yw zr9qI#Vt$5yr#aV7@nz3Nff@9`dAM5|R4v+K%K>!QRN}*(*Cchg@)&<_TH}2PHuAdH zpLdUpI@=%hyN}aboo}n>sXe7Nej$SrnwDZt-*6 z;0t31_&}`OJp(`D@6zKw>HIY2$_}0YhdUP6M{j$(Uq@F@P$P?vkHAPT5VRn}^8)3l z&O_EZ8Q8hFI5~NF*!!zmMn}&$JuyjieVLt$Z*Om_PLr(5aO}*JES)S{?H;^%gpZ${ zk*$-HlaYy?Nrzcse(Yv_o@oM9d5Z!YX!Z~9w&vcRZU&UQt+`Srh7)buyzR}eEhM&s zdE?^XeibDrD_fdaJDq<#JhTJ&Jv|^ZpluI@#)aU4o9gkyvBky7)m2EF_0v}jXCE&w zA0KFz>nlQHymt^eGvTj~Imf1U4{z7ityLdaZ*Mm*`0C4>6G@uH#YOUXTSm2~A@h`V zUQf^W(4*rN%p(mA4GxYLBy;oBVhRA(u|`Bu)#Kfk_N#+ceg-{4bJMfiQ z_oqbROv`??0RYhwb2mSC_flPknyRXr%1V0rnkWU?)G-~r#cX9WUX+L!xrwMKxku#a zqcvVFzTMe>SC5Yvt?)#IKp?z^$gW1f8(<mCtbc{>b&{oGsbXaAK86ET_wMQ zHOp$9myesLi>s?Ou(`BJQy*lR)6I}uTT81xM=J=IW6tQ=h|*TfBx-b>2%VimFau&FC;WdpeujyY*=> zfcFtJygG~7o0nbvo1X=T$-rQdnA^3Yj)XnUa{L6Q@o2Lm-99|UM}8q=(nIJE!}#Bx z{jRCoXE*62c;`!*+1dr7@f*BWEAD8<)*rhe!T5QGs_0+oj$;W0}hqZ=aNG3c#l)v%qu~lanb}Z90v44ga`sU!PMQ zK9hZZkaR6eX<$>+Ouy7lqmxB6lVe7@Z5{kqx>isEIlSWT|| zOJK$PhJ`|B4+{Qy%oM_5F;v68&uH1##D$@qBNgvP;)#81l8Y_i zE%5n`J!QI5e0YiktU|HMlo)l z8yLc&*TI~_TuyO2Tp!hrrxkno%&>)zeb|JT);YV#q(T$Qu-W{tFqI0E|0*Jq8| zloQ}P)z@WeoLlEG4SAp~<$#V#quWR807C$Y1RB<}lb|1YIzv|F{}8I+J3b_MjG7x+ zW}kLqAaff1L%S<$HqVrOG#%z=Sm~}J5v*31Vkufgqe!?qoeFHQH(Yp>1u;kWziywU zx4q*(Sl@x}xAQ5CR>2qJxnm>I(g3vBhlpq|hJs~yYWt9+c7G+7I4OYWtq3_s!e~^> z;gI8Mysm34J!jnL!_UNm%gYAvxVUVB?BL*wlLgIdLwlb2quY}O(?>1raW zbK5kUh(FGBFglb5EfeOpM>P=*ZTwTL+h7n|v_$+03^~WJuahdp*;}+m?I6q+vH;A7 z^dq1Wqu4HaPy|GfF>^QC3!Rua4Z>tXBU+C%A=NSfh6=oR=ojDM)v6WazE%yBZO)CErY8J_g2(QD*_=( z(z5cK! zYVr11^=rGC7pT9n5ws0oZ2Do7F4_3-K8t5DNc=+7k z?%f%eBtTea>m)fuCfL1T_>Iv^3T4V+J0PrGwnH+f5+8YgwCCcv2@hn=oQrG>%784u zi8dHuH^Ylx1y<`_qM+hc&{h-Cx`)lB6b7X_JN!U$-9SQZ5XKv=O(x`+7oo5kk%dh! zL#1_I#AQ+H6KYZH$1Dw&1&-zDYzbf}GcZ_l1D?v!)q`H_?yil!{Fdg{WkC6?& zu$^$wSUj{K8W58vgX}`Qt5G`GEUYSozjY*&5l0F*stpt#MKP04mQg>}BtQs2u9tT| z;#dcvAA<7&U@}nI5=6zNAv{_0LMLPC3q>e!?`Fv*dvGO%OGQm~=s<{F-Ph;LJX*bV1$9G z+P}1aFJMPm)UAY~AIfJ5VQR6?m4b{lYoLzj_k3{i6+5*huRYnA(sF)@HAkc&;cQnV zgdo0Et}hb$AJuJ=7$}U)6Fj*{^l#Q#_)&o86krXPNIS{s&=z$WALgkF&|xUh9EQ!$ zS8P^QOh$KPPiAgb-F>vGz%CVeB9;hKTGWl)8u1F^sU8JJG-_ly-~G68Z6MS`BL~gX z&~@0>Vuq&N4|=9DHd-^aV0}=YJ6l3=@;#I_uxjSqB2q7rONzt90wJ&q{VYCabEso1 zJxR5ZZqSx?$qa$Q(Gs#GZ|UxB;p^uV>}U5C9$uRL{pdbGd(gqCebz11?G$9>5#V4h>#^sNfBk1dF3b?C{v@-oCe0Kl-W#as2Lqq?4WdHqm|9wS4WX1k?W<$mLctr=$P*>3~9`yg> z$evb?_Fhib4Q%XNf^*wWj?V6%-!M@pF0Q^FuCAb6pt}0m+1a^SSyxwAdfQvq1O(YR zIr7s}7#b;z^75|DEdXuoo)`3qjJQ0=*@X41-wqJgP1?K1tW z>;P8%?JfTLx;%amptho=Wrh%Q=jrJS7~VQNd-}k?Xa#+HWZ!_ivo5* zc5f}YQZ}}M*|oN|Rv>h<{tO)`Cnr~<-^GzuSy6Pk7)>zKcXidhx;kiFr@XqdwXtEK zMXjJP#Xw(Kjl~&x`1yD?yCBk3;Kq`Dd3uI(iI+u)oo;`Q>*7i3Ss+)y3gjy;uP&dT zpMjGyJ!4HT)#dqM(cxnJZ1|pd6A-x2rf+t809L5PC`=*6%1NP@e|BYetY?P3cOWCX zT@w-7)i55Lm)Ky=&u_i~t!OV zo_=NJ#Pt(2a{F{ElBS#@46c9dCXM6Oaen|J$BiE~FZDC~&6~XF)KeFanA5Yx3q-4# zZXoIzyWKeq%BwMfEO?Qli<9~H&d1%|!-cW6d5!93rOhQ_w*FUgm=E%#i9Il1KX^GD z*&!kF^tsADaQf&qGMck_L8w=m+5%MVv1|Jf|Ih<=+#Bf7+9s8E@OFerlwfH(_7GIr^3)SI2$ulwFgyo|rX4N#T`kj$A7WfwkrtwJ zX38#mASdUhs-Nj^zAmQtbfW1A1yd{vCswkuw%d&hO~CJRTibjmmu?fIzg2AW_YSpR zVT_Dl5B;0=J)jD-Iwi}=)d8iGeNN};N*%<jE7zyAOn1!d;(r+1hx}<|F+|$R*$0rP<2`srVfJlh%nJUL~8Bb@MRf-`$q{SSn+w@R0JM!g_^9&h?^{_nSe|749eU#kY;T-lfbe+Gk#ZO z3J>TgQ4rvP)KanjNUn>-B~Xx~RFt@;5M2m0iMx%)QS!k`@JciSBE$B-Y5&}R&hAc) z2$8UDVBnm~Ah-;M@f2+0*!y`|NT70eDEz zWJH&E)?cD!Z#uDyxVl<6+d&M)>SpKYWay{iW?o%iF_J5{2@xMPLefFC=-Vz! zGc;$qYg0?n_u(ZwSEN|0GrKrOh)XYwj)+4}QWapEnKs}*;EkJLy3>=EgfpV;r4_oN zA2_k>!PES3tnZYF+qxZn1RLW;tx^)RKTtX69%!-oum)|*k@2Q2O`qu#(qC{B8RKQH z5+1X`WEC3q#HqkBl}?v)bZtml1@>Q$Xvryi21Tt>nf0oU{*uIgG^_~>0_i}%pr}Im zY0gf=J%fwunQ%y|+Nn-Yw8lcaifCn5p#LY1^_<;1N;sG!LP;ETj9848o18n+80A*> zN4!4yT;!l<_(Gv#1q3NlxR8}cn6-Df@BR4_mY}`QE#pY4psmmCH2w59?DtU#%NcJF zNd6%^wbpf%NMXii=`P7%SIEXVL~*$I6AK+XzHN@INhAPEzpbt4s;(amzc$r`KQ9Xh zv!Fl|AHN_l=e;x!&0n!<>(N4Qwm2wD(<5%2$kf;g=&Hq7u#f*c@dJH@O@T4mW>Z3U-Ourit1?9Y>wgqO53A zog1l_TsVj)0Bi~jE^UAcv1XODzt7W2<#qPqokx&UHK@aR(O0uzya+GL5 zL+>9^Dn&|*9F<>=L9j)=LAaIDS)tn(im1K2;>;FITg3yJW)@)?7C@t&2#|qRV#2$S zhI>$g*E=)@`rLD3L9qTFxA?Egk`|_{Tf_%o{uLHHfvocMtw?yCDkBH6;EJ}APs~~V zyU&pxESU&{Xjh~r&MreOtyl%dnBV!Eikgsqp6=f&Iz(;&k`=ss$>t`rrc@a)V(Z4EIX2C-=@&BQp=)bH9lYjmUgn-1m|<_~;t~}yGQ*iV z%V82kQ;b00#pm7IQUB|!=%nP+*9l5tE(2qCTi5H;(~+@tK{K$^Gmf#i?a{d=eisZ* zvn79%d9kV_V4=vQ)x{b6Z2|~*y|pR!)=0CwFfrTFk@)`P zpfIa5DG{&5$#8}SIZ8j-^*4*1-4J;1XzPll1@o9J*Ga4-4-N<{FTGvS0Np`aNJ6br zB1f%Mw3Y=kEhH6eTEd1 zaFi)5c-j6Qy-0@K#P6{|fhr2S7GR=M*iV6L2J6uUBCBgw(VlK2S2hZx9doE8(kW7h z_S|bQ8fbiVb20NWJGJur_H;Y8YVdAQuQhGnW>P z$H7Y0)N7$c>&$=v>I@HWN@4Y7n`qaqAUfl;WvOZ3l*Pl}vsF>xB0j0Ic`J1j^kbI1 zk-P?dSM4t!O`}A}oe-H>md^Ce`hai=-$9a=nrb#ml_4kmsEfBTKjdri<0WH;{wMnF z+wnTqcK+O#ZE$&ak1LO(r*XlIbNhQ zcI0KzBq*SO*j!bXbGJJVJ#PPbD!EKJvK3 z>sTlG-tqRYa{Jc$>(#EwQjNn1GXPa&+8!)22-g$5X4w(Xc>{{RLmyh*{bV0|5pxEC zypoxJal#%Vot>i@1L^`SuAocXapK?gq$U8Gj5R19*cC0g#j^mwoywHBKZ`N`i}HsMMf3+$h@xFGrEq*q}-s@K9h4Ri@TgA{FwGVX%p5BSX;q zN}pd85FuV0&V`yyW5#T1)1EP{dao%Bq+N_Dq9y*RIF#Bb@~5?cAoMQq#BqWbbxbbJ zU*TRoMLD;Dg!1Z{hF&&|(7z764NkQVcs0$=RS^M?l;d;6Y7rO;xll4IZvdk1vb zd?FeaDhOovNO)T(Q`7c4YM1 zq(gageM11ag6 zd1mJNdqu@LaN@f9+TGp#1jgL9{azk!zWV7mT)e#CwZ8~Klp8fTfqb+1aVjTgTpT|S zH!q(+S9{wz5uqSAUu#>p059+Q_V)G3g$St(iQ650-|``AxyaE%uE?Rvsq4b)XjRn$YRpM7?9&xas=p zDgbk8V#*&J6B7$7mH1~zvwDVqwMhx!I2BW4iL&_k7*oBM^?m0gSh;`}WBK~ZZd-6e z^cXcY)r(i>*5c(<-RD10g*=;M^L+KQr;TsV{IL@^{*tcO7LnY;(^E=CX2&~_{T`kX z>j5+%&l%UXb~Uv%HEGc$j~z-E0VQJV+neh>ot+zN8@dMib*ou~_A^9Lp57#}g1QBa zqIL!=cz@nRe*1C3qDsGrz_u_NyS>^X)lBZzt!{!Kg)N^xaN`SPP8Q6k|NH@DDW)Zk zQ`)`Wfnw#}AI{F6P-~8kp3Pkyg3O438)+Bw?}NRgx3B%h&*8}R=NT`X$$*P(2Yqlw z`5K}a#w#TGnuz4=$2(xUQRupNW@_teX=!O{>uPIu_iFa`^w7n{8f#&Fo-=LIZ9sX| zodrqiz^y3&t{gDkAoGeSOI*`2Abda6o*1p@iyB1mE3d*jBZ7 zxBq=|e%@u@!?#YOP{W9*UXJGT8J{OX*a(|QXhvdlBCq*gU;WkD(z9s*uITLp=_e>; zp4S6j44xhEZ)(O6OUS(zkC0__$eqoU^n5J19pnMseQdA-*K&%+LF z+jg%l3cn=akfmPejEU(IL>$w9zSk9J#f~3j92{iqL`$B3KHoerL7r^A+I;O1p(93# zb-UuWna4AFs0e%z>TZ`I4Qvz2u@M0#@0^5q9o}l5S-AL@C})`^1;%12c_un}S5jW0 zVYG6khD`2hB$9K;TL&qbPk8*7s-K&89_!jX=E*tCv&*mcb)O);_vRGVI31szQ!y2Mn15<;NDLrbTgv>b231p<0t{(lcjlhht362a0FN* zWk~ev=BOT3#=Hlnx3YV@%I8=E#RjuVj9kGy4EZsl?&CkZ4-?OV7ob3!0z}JAP`4ca zxaiLD62h)cN0dGqTLq;pQRQAikVZc=zL z6Jt;PYdk+;9Po>RLwbNBeWFs87m=b$ceFST=!8pqJ08*K5$k?~JX@Srs`-L^Ju9hV z^p&=JE6Ry=F3WF`!*-DtuBZLOfXI5z`fRRj8}BYb$B`z7cw7&hgUK#m!Q_mGB z!q(O(yxxz*f%dWzjgsTzVG2smchAJ|sQDZx?F3AhzRIYRB7KbIYVs9T_mXl zEK7nfim)gtJf0b%(Dwu&J$VZA8jH6oN`01`>bC^F)=(Pw}SD@Yb4 z8Zr^QTur!tZrrsI z7yrGesFTkpEg2b*-|UaRd)?Z4{n~xJJ-u8V>>oV5937R5j_~0UXcrU!E)VwBJJzqS z?HOC7Jwf{@hL=_xqV&S=t*8Oia8M&Z3h0cnv!%vu1C3@(H6zjY75DyyShvanaE8c# zX%$*1f|zCuNQQygr~IvQq&xAW?->LGc5TaB+V|w^~z35dSrN}9JXi#=zY3c&MQn7qry%ak(cW6i_s_6Ye9E26H#cxcNiUnUJKB@gzM*C^bYm4t3b} z=P!NvMCjpaEh(PTK_76j7!OO$D*OxT#7Iq`a10uw&A*YqawP2FwYHNVEYAXdEE_jR zOOhSlf`fVaXX?x2THI=qV+Y(nAqBPtB6!zO@6T|qsPp7M(U?4#Lln!$nC0Wv?}O0= z(RWI}ef(Swk8XCp44>^vJbP3=-Mw!f4}Z=5YZz5xKqRr*_vh%3bEe=)LjonkXa}#R zj&%Yx4V8@wR*AcnQ6bD%kf@Ewpz9OQEFGk{hhzbm#2)eYb1$0?Wwo%9YRihn zBICiJl93n_2S>YGINKP9*m^tgC^l#WwaDlsKeQx;=C<&?9~WZ@{_1?ixw~XktnmXL ze*YL4o#(`7Y}Njj%+z20Ure1KDfKP zySqyuXWsAP)W0vNeK|!zO|M?vPa7T^e|Bpbt` zJnS>^4vZm*(y_zdY#H>$Kd}{lrb@8a+3LY-4w#-;nxz?CsKl=JW?ug4geQ^lo8_W0 zKOf0>TOEJrGdG@`&f^l_2PnWerUr9kspJCORVpJoxz&v)=d-wl{|^8;4e!VgyoP5@ zcXj0?(%$9Q()Ip)^FEYFw%PUX`uf^J-&fUb!55-{yxrTuVD0MeZ4JM-NQfMRXfkzm zb+4r~$V6dL5!H&q;Mv3Jy)S45+JrMx$S6?ysry#W*3zd+ZG}07AuY!xp`PZfNp=Y!p}F}-_D3^ zI{bW)P%VOQuRr!+Y@C@o0s&0_p0BS@ARLX0i@ukEg_|4OiLu^=gM*2lo0ZGWo`Z#n z<@xj3-ra|T0aZmQ=^-1=RY>QKlfUnHU)4z#cRns5SmxW^LcPu7 zOGd$slK)r~Ut+?f>oWIAn+J~EygQV@8$V@e%vS!+LS$}3U2TKL>hkjD3LmdvrAEaN z9i95z+(Eorv0B9MbBL~dd|Y|q(?KQ8Dc2ZFX=-{j=%h-vPo!Z_0;5Q_2iLOTKS*$M z?<7(~|FA$6l@$$Dw{av4Ij>^be~9$|s1?D0Dw{h=k;UPJceC>7&?tL+e8lEoMOU8e zj&XDG>8RH_zr4sx&(&p0fnbi)ydd~LVZ)6;{w^Qhjy8d^o%_>|zmM;H_jLMu7WN51 zG^J{8uf#>UERr0dWDdx3_!pv-(Z$Ql#h#DB%gxP^m04d~f4e5|H}aGTxS~1}PSOOL z!e|Z7+_=F{1v2AgD1QD>X+uZ1-Wx_;Ye!zb{%FlZhwfm1u|VExj^%Og#LaD1eIYdM z=?fqbwzuT+zg>~Ql>gteTPfuxniHbLS}3OCKX&4(RE)?4+)K(3q1)||qlyVZ-RBFF z&JV!o1vw~eU8Mi<&u6gIQCJ(;3H=J;#IHp&4S;b7JQV7-W&BVEm5GG>DBk40U7 zv#_mWk)1}Px=SOpQGF*VsBW)Gayd|cYzk|nvOF7E@w!7B-cK-~f(S{M6{#wH_yQJAENUk?oBHtlA(hFK=hkJSfGA(&LH z+=)92;pPsF-szeCAv?SahL-bX1cXSpFbSp+1ZZBcNdVwx!SJbuQy~sD2`AI6j&^OD zUp;Iy3_tsE+l@-bJId<&4W=k9tEsxNTa5QJ0;0+B@vWxiPtqqK1vA?!NU;P z-4aFPaqB12hzLJLr|(jb@e!D(Oo{S6XpFPxeXnbvO0PcuAso&_HiY#i-eqBGROeE| z`>ZXvYY%l&6{SY^rxTLaroNYg_`{MFcr#+F?_i@fCj5s{gn4GtNU8uLQn-yGyDfrZ_{*3OdR*&G%X5G#6AFR!WOR^+$ zTLse&9EHY(w5{6wSxm03LdNsh_4VIUWfme}tP~0numVBVW9j!4RV z0XlG@#RMQD5!!%DfHD{nqEOL^D=3F9YsxZS@Dc9>48mpzgrPDqgPo|%&md`ZGl4CU zc9Smw$cb|K=hvXpcj z=lokwD)k5n_pu=$-1;^qzT0p2n_kn~d=Plueo_kP{X9HSIN~gLnRr+j{ox;wFC_Bo z8yRy$qLy=H+w{gM9zZ5HExuD4-? zEh#7hj-CRBskFqGGb#OX9@;)3eIQz@d+eK9(`Fb=eo3UFdrbr)0~A6gO%>~P zS|*^6?Bp|qQcNNJ)*uN+IatE*x63wMJ)POkL5{;qrD#jxjYNSN%?h6&#aU$jni)2s zM6<~7wM|1OFV!Tik?gV9 zA-=~%5k=7D?TM^YQc*AXmv>S~!tL2`J{GA&MsNoO)WK|@uJZA-PT3ba{GO}({nPh`~kdD7dBsn8V zxix*Hw{2q`!PJZE%wVc|N~VyoSu&F+tYkotc6OFQC&{&JX0-K&%aS#3NUyQ~HX+GX zPN9EvEw4gvwr8<tnXA~SR6zkx0H;G z)81Y&kGtP$LR<8PT4OwKZ(Hk|k>kWLU9v;=v(7|Z>+oF7Vq^A;w^{LKzZHX;-3k=n|7uCYN|2d~KbmcFi$)6|i@utf@g4ykAjkFVgz%FDvT?BT1P z?f38I=0$DIUas!$tsp;x>hsE~6dvv-^n{uU@Db2nKw=O0G8t@8ATlSMG>R_CA>=7-Y8yeu1}q^G$c7yd3%Z$W38kdOdTx$``qRlmg*JS$hnba+{XhSz zhK`2z&iZz4Hepl|Mx&bQDotza)IX3OJMJQPIl{oiT=>KLPT7O_la2M0%+999=K|25B*&~KV5yj9feRZM?ZSR>NG+=Dy@$O2kG7r zBHrL51pHptkPSx^h|<+NP5Q}VUi<1qsnL9vZ9b9XD+)rfgSeEf@)hWJfe}#RGv4eu zK!ry~~mX6%~1eu%HE*`x7jcT@z$|$ho2j*7X z^$Uu?B3m>1$LAAX_wM)icx`WaZEqm|)PI_{|Kp>ONettvr6$A`QJn#7{Z>}RVOVpm|V1!ZIUu6D5HB&E|lbx5eJSCqz|3k8%;(KCtfPv zr_;w41~N_0A=HDBgsW=L&bLzs&o*;+dbVY(a~AIih5%-=t}dV732JAB)FefxKMSK(hTr|8yS_p5b{t8c@iZ+d%iTqDQR!EyGMmzw&y$HXu=()H4hxuEWAvvU^!q7FC{I;~ z-t~ecRS+ds3ctQ(xK0`;$WFfcebd7Ec zKiZDraM{K9Z+`Zd=#QQslb69wf1UkI3oHEEzL|L1IN18TdN{dwx_Z`H=O>L?g!WW! z<=wXwDP?`7qEmILD%DEKF4G3Z6DE8eQ@gIy!yG9$TlFBWNOja;Lq%@;I>IWZuA8Zf zW;n`!Z_xa8zfM-cE;T9oxA_(ZrZEOa*PlHj7n!S;-@eRc3Ch*hn47b#EHh3ym4$@|g$S%|fH=*{GTNfHm=Bsb-j&6rTriVa(!v}_*b zt>Ti<`yB^^q{{|Es&Ah6g=$oi@uMp2z?nOxj)O!bR3~jyT{90L3KyYZx2fE_icna5 z;@b=WkP|s`TM7>~Mv0}H!d|3Mju{iD7QSY~QSo3#o4h_76z~T3`tVP#h}?D1OcoHdP%`7_BurRCPuTIi$OW z%0z)iEUJa;CU<~ljm?~(41>^EKZ(tIQp6Q%AyV`L_Ldtm`*lJQ%kU^k3qplW_1yzE z!Z5_TSubn#f~Uve8 zH9d@9#Uo+Zv1O`~v<8>+TWQc--H_W+L$)tXgoZ@cI6*gVo*32R2~n*${5N(dusg1q&O2%Fvk#@}NR0pL+`ylxfL|x^4v< zOIvg4^X#bjyXS}R^F5(ZJ=uj0jM*qdKMN!&GKkKP&&Q4sR#*LIGlH9%PBuFi>gs0a z=U?yd7f)Ab9v@$Nb}m+4w40xdje_aQ=HB{>&`ap@CZ~jR@}T|w{O+>QugH`hBUjgL zYZx7lU?g+?M&;;BT%2=zKemLDc?nY-2F;A*Zvlt|UbQ7F&-G+gItQuN_}Hc$h=2|u zK-rhyIjY}hKP&KhlZ#j#4HBEM2*3-Cg!JjELKM7t@6=k=cx^al9Xl0yC`Su$S7#*~A}tZ>MY%Xbp~2^wx+n(00%7)4H)-y>e{1VDjBWA>+K+CoZh zSmBO{o(em$@CXG>JE?K$zsD5aJ+jtdbTly4u(Dxj+qJp`O(h0B6`uu35>!sOHTgF(ISu;*t>iew7AMyrj>grJ%)`xnS< z;NH$no!lUO0drVhuRux6wH>Cd{U<2)JvD*1NO%Eciw2Bc4*jU0%Fb_*ES9S9rD)CVn678RTy*)~A?xN)G{9V*jF39>h1W)fmN?ZPB5wyH zkvHaG_9{5si0<4V;f3OijCZ?-7B%55ov!jqu`lU2|o1xW8ZPQ2-y5k@?r+!R8My#Kmxng8k7MG~hXj$Ut zi%T~sEs*@V3sx|Z=6kR7@ApD+4a14&OnTU=y30bt~9$j+-$#1uGKnAWKN7QV)zPWc+xsh-2EwAv* z%cTu%xA?s?s0ViB`Pjk&La4fC} z%*+VvTuX83ffUMhboEwO*P%BWK_C#+%9&hQgDPW6ED>b(xJ|2ke3C^`VPcY*acZ0; zF;4m69^DK3c1ar#Vw8u%yhnSVpV0mkCaz-cu_}pK8WgT`RG+(pp-KkcxPFd$YpB9ipX;l$L^zh@i8wf-L7r(f;v8i1d4n zSgD35Q{f>o;fNo+m*GH}Jm&R)lAw$d7ee+oTBDjN#nJxi{E`S7%gfWk%=c;g z`TX>9|JLf?etR1TvY=7#=kDts;Nk0mkTWj)%G?sbD+uOqZGnuV+OoK}3FfLW;wqQy zooH~TH1K!(TxgZ_X@#yhaS1qZr}dE`!-@x!OS0mlJiiOqEbY01vza5;P$w+j#f*6g z6X=S1beyZynB5P-eqeq-0eI_2u^d$LGoHG?MBa@{P|9yQj9 z(a+4GESH&3_<1oQ;2@Z9*uAA$+8h}>CD1<|WKxl$Kv1%Qy$u|5ci*-)0(^PbHw@FW zE{MsZrckI;2O%N&oPqGo_~M??QyWXi!Zu+|-8{w`#Z+xmJ>9Hzot&VoM4h~KoxEio zvMrq~#wsOTZQ7VGdjkh`jm0yK13wnRcT!#oidPB-R(b|bg2PWfTFW*wMlMgHtIKXC z%Vv7#b%vgu1AdEeOeY_o#JM*itg%;XjN{*o{MF+2mX8C&u_dx@@3$#(Cgu`)+?qSt zDC0G{sXLjj(kZ^+2!Gl7Q?RCq(j1IeD@W<1Ntr(u7Qa$TK#m7$7^w0I3d5myMABz= zf_uq`Vk2T}`Wn}o`7<^HuxfVbPy7o(I=C;79Yh|V1#&61FhA^qv{Z`w1~rBOYR+x$ z%Yb_enLHE;5tQhBW`cQIXh5d7X!5mv&`-qDy@04NV-g_1#vDqqzXYuw}a zG4wy0vH^eF(D;JfjTOy6b-~KKMr@45FY_Got$y~hGHA~)1P?Lc6<8{Sh0NcrxeaBG zA|NqvAjzKLMzZ0?oKOd_ugG5g?#tfX*`55|oEz1r&Ra*{YTb#ta$PH&x!)G}DO@7(a&3lF9vR`x zpy7Nomr^F`c_8%e67@a@e?xNB5yn~TZ(rOGR1#DqUD{VZ;2X5m7G?V`h7rtl)Hm4Q zJgm&PjY^W=5da;d;(Cuc`G2A^;y=j@bIUI?B__G*SvZ72Mm+Y&$%7^xez0cskNYC+ z<=p>>x8xaFo>1e~z&^L40m}~9tGQ)q0NSl+@Cq!<-J#ob$3dTe6oTIGG?!VT%aCGah-l9T(-i)&4!h3 zs{X3iTyN;VlU@V6p(pp(RQWj$O(GfR@k3H>tt*?I;Sg+EUD-g{%1FTsKl62$t?zIplZOLFR^zvon>1## z1EtV#9hDzJ&A1MmFg^TkS>oKar-*?_p?`(~4OItkK}$_d+t@uKDw?V#6TyXIqDOHo z{^buql%)9ADjcB7+*Zidm&czW4=slve>iRCOOcm6MVkfZaI<(lPC3ik0OHOUie_2z zBOpal6HJh(9Q>6yC~TgYrdhVE%GEb3WRtlhxJ|L=SaiDD#JxP-kP!FhuV^4(AVsTY04WA@HEM(!-vk`-Q)l zsDZGnlA<}ZoUuWqXn%iXo?}*O-b7+<+yteHlpgd&&NYUZRyns=o#ewX$rLFC!Cw&8 zB2#2ee9Bh6zYppXQ-dL#SD||Ol5h9P`sX{4oCW2=EHIcjQYONMyoq7RA%-o>^{=dM z86~dfou?hh0e8tM!h zU{x&c8Hsm6a!K8awO(J|(^fVg&R{l2E(FGG9I}tNuWZqv80=L#0oO(PXVXueR ztJ&H}U6TMAhX2t+#+8`6%c1rTUyj~C-O~gg1FYmyX_qQjS9GqRWu(kjmxa|2o+!W! zPTAp53jx4Si{GE_*yMZKcKah539VR@`!!%iAzY@*3thtBX(Y(X(Dy9ohlOdg)5Ak; zF{Jp;p9U!rE!r3QdW@IG>MO8;*zDMf{Wo1ZTXd?On5)lgzGVlw**ZRW`@C5FyZ*So z4j}tfPlk>zoSpmkV6UVr;PrzAy%}MlA!eoG;9i#gVpzIJU+QY+2L3A+6Eghs`8|C` z2fy=Vt>|=B2rcP`oK<4X0)lYK_8c{(gt0A6g|XDdY%M}J!bJBe2k6bCQkbSgf9&gs zZU>>{?>LOXWw4o^t(TR_zq&5Cwb{O|)4HnT)7F#aH3NQOJTz7v}*E&3bQ`Ja*lk?!0h{`#OwUa{UEiroV3W*HXH`Qju-C`;#RrpqT&Tr~@pYkm z`x!FD0?h`E>8(CJ-3w=c^}OxNg;@Q`ju~0FtouZ}?(Nq(Y3;K+!VA$D!~u4D;TgNR z**O?kSv`fgi~|>_^CO**zlmSZ?1_L z7#Tvcr7-c~BPVlxp%0A{!YtcB8EW>N$!+Hr=wKO!l%eF-_oBP1iJW4HDVh?W za}iopGzN(!EHqxMtUv$|RS=y#(J|KA*e7E*OQZnXdty_VKCby*S2(#}e{!EyQQ`OY zRzg?O%){g5_2l(*1!=UIh_n2LWQT>ikwii?Ay_qSZJufH_RZb~cu2se)j81b3GK0~ zldr3VUr<WyM|c-aAQ2 z-^V@LcjmmYe+59(2JK-QhJEpH14ixPb*Hp1*euwtL`3!_)(}pawV$5=RM(WvwBP!r z1GfO5(8a^s_nlH6*biuFsu6bvV>!H%+2Rw)PW&lcvy5yO;=3?P?&c|rP&M_Oncs^i z3tiLo@Ua^*7^RiS{Y5k}4O=TAt|p}Z z;h=F#`W!&%jJWYe-=1Dwljk_@#-w6V4KyFol+lzYc|0Gj5Ai_ZBN?s53lk*H9stkx2{$bdd>tD-(r&{`E~;unm2IEdvxO@iEZ;aRj~-mG)4l|@QS zk*rIG^1NFYCH2{le?4#P=$1?^_mVu&{ACTJex;=`$rEaSZqi`&hx`hVK$-$(Phm7w zR!1z-eLOQ}MXk08Kuvk*J&ccfDiKh%RpBaNiB>UfWcjLfLA1^Sd?PuO+INTEPGf-Jo@!v;R7i$k!FGoA; zj&_jIOL4WSm3;?v?K=zoH!+Q-#nG$^z#LJ<+}W6VMeM*qxL{%S1k1z$o)zeBVcdX* zOJ8=v7ok0?rV0h#YR)SI}22&wA#%4j91M(I(4 z!``?@q4Q{^NlAgc*#W?oj4TPIZ%xpmG@W}qD)*;|OkMLFryT0b2dVX7e`wy<6huV1XEq#A+e&cXI;!v0Z&1@bmccv|OYPWpwcx!AdcN6uRY;>8l zBmh>HUvCP0d!76GWvDQHF*$!w&;f0Akvmi3>}hsP6vNTr9UIvCdjRg;oNCfUC(Bm+ zP0SzG#VktQ)ul~O&Pu&gwBOoC%tujsM&9ZyE7@U*iW)NIJ#+f76{{93lkzF6xCpBbS|C~Jn0vnQ@KWmos_hztMD78cQF704sW&*9sn;;h39O^lo{_=1NAM}<>29QgVwnYlwmSWlkxF{2v@{y_yMkV0SU`y2KaLfZGRGC`lv#7m+zrQ14AV0Hq zYO*wtwL|x9h5hdvgEnqhSOuh4t%|BbJ@CwsY?fr89nK@7!Ghh@? zTRInhzgh}$vF-M(U_^WECVe^<6ikZ+!E9X(;Cj!7rhxV)&-OOgMv$9VtrrOF0`7SH z&!;`VuYv3(oRyG$ygpxAl&OrZz$KRl7g6`(OWGvEI(~`|dR(O}efYaW=!P)jHM|v% z|5XL(0GlILgjltQsz<|{1$*|xT!=l+FwSMzS;@J@LI+HY4&Cg#{*AnKe$U7`U&A}p zS!V2H4&=*<`fvH={7NtH{rg(%mPb$IebDfLBt>zuUCuvk8R~UU(@@7_cs{J+T`fVy-%!HzTaK#zT2Hzxb4|lpZU5ySeZX;Y+go=0U;{XV7+?*$w0PyWGmia zy4#}?$$;U9JzmRXL+iu2>mW$ucB-V3!*&d^*@pPVRm@hnls;^~H6MkNdMa{%C7<&G z^Tl1|2cZ{mmNZ&c&?)ItyqxRwpqK41qXP^cdUZpN>teo92&golf1!jJ4+T=C3KW>X zN7;CUUs{Q}a{5!C>OY(QvyW9yk~W-u`}V6uop=+k2uD|ELw#3gKyAH$O9SHO&59ZF ztF7pnW4|WM$0+nBct(7gc#(r-S2Y;`>Bpg-e4UnEK@61cA^Oc5ifE6qgJR}zfrm%6 zKVg4KU<1SHO2940s_d22Rp(D@A(9pdI={Ly%Fa_tbHz(5(N435IEm=!Pgk2Ap;`bQ z9z52>#TT|`pm%_apWoBX+>^dO#4tSaLx?2O7Z|Isx3IwP{TmzI`}1p>|L z!W3vZG8jpX$v??kx>}Os3kkMDX43TabTYFt40R0z1iIEX1a$Sc;Fi~g*EdAgmciME zLgU(6p)-{%80bUwts^foZDtL=&kmQ9gM&RiJu?*JJ#dcZWSfu$=uHv9ARow`e@J3Uy0oYf}fv!@1VayB6FG9 zlwr(Z*|$EFyNf+Jk)zg*JCv_8_?*cE|H-yu$l9Y-2r5qm`x@arSf%^0VQquC&R_>= z$nC(6Q6E4BSndd@8lcrGmy~OiteQz@@{QGWWR3bwiIzvD$JW5NgxVu{s z?_}q2WG8@Ep(pm#Am1+MlxtOE)*f~DrFUN-az_qVC`)=D||0OHqgj?UbY>jD@E(Rc75re5n#{9x+>l^~bHy-FYG?5_4leO?=Lw z&G~!c90-x~figaAp?~8KzDW!petJ|}R3G<6*7XvG$cMjtJ%N(!RK%&+#l<=;yFIwmV6W66h{|l3Aut!C*Q-xwRECOJ}zc zrRyz+?L)rIR}Gt5rp`-96GqnR(a{}jTRWZzm@rd2ox-bkMQ9pV5X*_OwwApdxCP}dC zUf~*?`20j!diAg&y%96@neVuetSl;DifJPM?wsWNst&-aUk(~pF*+a9Y6zJKOH4wr zG!d>rRphuR8o`5$TKpATK?Od?F*%<|bT}O)bVAHA%mc9jUzDfC2hr&h#B2RA@nbNE z`!JC35lJ`Mp8J)E}wrWS!o}7 z`#T;=NSl)bMtuVoRXnWw9&cMT>#Tw(4;Jf0|BMxTb&BAs6uxabet+ z{i&n>%GPxu_%dr!+qkLg@AtRZKs&!1a3@cfxyh+Lr3zG8N`&L@f-Fh%4o@}#i@KJF zKeY?Fo?s4Uuhks|0b;=CNG99n{f=B$P9sG;T=}`Nl-4qLW;_&{oX32ngCD@}$idQ+ zjYtIixUyn>&IJ-?RMwScQvBC+nc@A$ze-f{kqvD=`^NF)vdj zY?;nw6+@Rw5k<27XH;Y;IFvs|B>ibq3`UPq>EyHS?jp~!j=*nM zN-V+#TkTyfEdu=QLd$-MiT@o zbqK#I1Ng*;M@^wAWvUicINU^swXS2@ek?5%n|M-aFrr|y9*a#^1w~d!$k`)^9^3BM zvQi{h_@Ay9hh;Mwz*5Zzsk9loN|m6fbtEmr35d5*fP*5Nv51e13x0c*<6|UkST(@V z<6p;@W_;~#hR>974;nDGG2`{2sZbucjQq_+9aVr{30>eD2)7FZTw>_aQ|gMDE7^Ut zhYi*1A#Ygu${D1B#wZyC>q{L`ZrUFwK1McuE4CN4GotRjOkQp}OinltM0h9^3-z9+ zC*_WkhS-EI_zgs1F!?a&@UMs}{KDhD2;9xX(*Uc_?yf;e`AoZ}lJqgtMvY?m)@O`Bu^b+ zz?K7dmoT`cqoJ+2-nX{iwV~a;zTO=Kes^wpa`L)!@_R7-_8+z-4^kx`E4li2`?2F( zr!yyZHZbk4`vrgII*o)2z~OWSA8#lXyip}Ss$D4l>X>-vTXe-h`aqHA zNvV8-hxiN|XG@UE_IbHWnp1Bv-6FnqbApX_dMU&oV~lFI=O_(S&SK3RT}P)lBbRadW~oNAl~t3ql~ObJx5uV$ z&5H$=J)4(rcd?}s1v?2r!0@Pbq-yUZCK7}+7Uu_v08Prq(G~h4l)PB{rb7;ayRz0_ zkP|R$N_cHOzA6sYDfGT6PCh32S=u1+dQi00!NZwOhZGyL&EC|Z<3U&fz8cG6hZ}+R zbU%__3mRX~@DTo2ovfJS`Jd-%C}ir9-`=cBU-Xx zyQY-|Q!(XM{f+~eHD(`~l_dbYdy9=N*&bU~z~n2-Z-(Drp#f~K_oeJMg{54n#|cnR zTlF&#h0~JGs%D|s!(3r<;`c!5P*1PGs9l&f$ifCiS@&3r@uEcd{_i`QgW|3AZ`Q%J z^VR;oO(*|%|8@b6oUOGLej&cL&d&DM*3J$HE32cUrA1Ik2;A}g>EnF}olIn7vqPY( zMUbBlhL;Zv;kItBitw+m>KPmI@$s#!Z7iIjD$qiN-5s1b~_w;u5 z^mO!f^Kxh9Wus^3fZfJmGuv2ajjv^0sFg)aYrW^!%=xW%Ux7@UiV;%D9~?rg$O(~E z2p*PK5TaK*Bam0T63NIm1O0pOXb?)M#|%tAPqQF2b*GjJ4Z#QGMeYLPL;wiTK$lHepTrEJd{T1XHEEZ}fI<#q-nWKJ&TCutni)G=+w)816N3J{G^Evk{Ft%rH_c+lky=+GJ$I zvzW@buY6L)!#>BQ!D@;kABU_ozp3(|<4rmZAvZjMzT|6k+SxT~!0?J%va7eDTNR3;sukVfXyg2L(z4>kF$Ue)yI45QI<8{90@V>|D zz`4S=MaZu~2%(N6umOzdtkbtS+q1a~h3JWk?uiR{^g4WMf@~HZdXif;^H^~&F%a1w z#4p^wp5CwC?w{`NkBZw`cGkuLkgYHw^t_+B88OPZz2OezX^(%fs=en)k<*2k8waR0 zWN5?2O)0*M4ic(ePaD|PB+bzMeu~D2OxV-pKStZW^M90nRjREhBZc8PR2}qhOE)G1 z9`7NhWhP{DsOs~ZDT*!6k|*fSsg`n8W7d>KeI{TlHam1*|CylA;iAvIGd!5H(n5vR zT(XxRh`NZPAPMjGBN)|`1SV_g_NT5Iro7{_MSnJ8#x4e89#KSSC^?#~fjOm39F+lU zX%7mO@UbxFqiv{B)l!wq>H%(%Oi@0tRR_K-l6!HK#tZ3~epN>RXK9r9n>7}HM!zQ^ z8eze$%!Z&Vi*;e7GO0>En^+dZP9*Y*0d+3w*L)>zLKd1?j@FUz(ZAw8PA*mj2I)!> zg-{htCX0Rz$Y60h3?xpoTq8P-Qdmar6fvSB_S#QqTFl)e&%CWk-39R~&W4=+kwGD! z*z*;k^4NNdihS-dnE{Srili3FDh8uLNqm$$32H<9b*0UrhAeMuc~8wk(oY>1j^7v8 z{xX$6fP!b}s(f>Pufc5Z zee4o{>Lk8|e$O*+GfsFEf?7iuF;Lh#Q>`5l-FQ}k!95X)@D<{|hUX_mSyYbWOk!1( z8LjdC^d~sVDStQfbCIHj0*8I2wiKB*sEnUfe!_Aj9fd8lU>C?KUZ+O>ClL!?AQM4< z3x&Jmv?g#<|H<*`tcKqxVCMC&*LRPu611*^I4;morjGeU(hG?#cHGk{^?L2XA-9g1 zr}X6Bgsu9}5F; zRIzokr3MOcX}F(@)fv@Y#r#b7SqgUABRKq<$1C+FEnMgH= z80Ct)X$-jr}3ttK<}>k z7aIRxVcypS(a5+>w3TJT;8=`GWi{R9muT0ofE182!Zlv^B;vfxJ23C9f2TZM`GOS? z%b2bU9I1gL>QOo{>2lz8MOB%K9k$w$e}?=H;T~9$BkeH@wFWLVU0&y-GzfNd3RFWA zL}2Yu12J3^SV>>;ir`ytp>zgF*byTzBd{w&s6X$^!olzh%MFnMpv1e-&H@WmdMF*R z^HD;e5QXK?eM7wRfVc<~yJE=@u_{gw1|v0-FUxDQkAD1O(nnDX%)wBAPe6iSx_!;< zjudXyTb^Z!2s=-L@Bn6I2yy#pQ=S`Flf=ko?L+u2C2QjFIaNbxt+;=0T%KrnnzpqG zceOXydqND+wkFs5Hb`IQ-P`rnxxuTe`R2pqEi!qpOR)3b+#7nJueVpdpk<0lkF==x zRam}9OaTkW^L#@LhHX1WTU1b@DHWx8WLFMiQl4WzFA3vf03thZ2WFszbJW*6(l6GNKGJjlvO8#PqISnzV%d5-8zxnswtF_#J5@&aT4t_6h2}{P0 z-2Obvx5#S?GNhM#>Laur!k^+&W9NwOV&BHT_>Fy$Cdz828?wy{XIqy$_UBqumnO6+ zKob*BjU>WWHrbzd!3nKA0_Di*iq<^Xa3M7}V=J>@kDVQyT3K58HTgC)`m};QTI+o4 z+QRl9_&;7gzV{X%#y7LFK0w?{ge_RJYv}NOPl5_%CQ?*C>X(*+bk<+$ivuCwxSeuQ zJ_9io+5RvMx)-Nc<7*xj7*=vx9l@zts_j7G{n??H$7?$Lid;HDXEV7vMXTnqjvM!Cr z@SymO_#aN=+${rx4P(Q#%q#&NJ>jht!@Ml_GZ|({(|DWaXaFfp?(Pl)46eZf1b26b;O-Dyg1fuB zdw}2;AOsnL1b4Wz_pN*C)O}b_yimmy)2sjPul@Z{(%eWSCGJiu$xq58+`{TS{#1xe z?&<<@n+s+Jz9c4MBqm|pb$w-8C% z)AKS@lUtL!1pz_DZS~CL_T26CMPz3uw5{yq?Ra}%&RX$Ajf@>k`1ps69l3P&hN!U; zE8(N0mi@e4_GlArQOnb3Ppgj6q5{m9{~YtTE$0*)Xbd#*i~=pj>zSv?uc$gJGp?oD zDi1%7{+^w^+F#rNKlSv8a7INv6kI^+S5Z?v`6$EVKnNs&m6bIV*%%TGFf=qaFo3My z4*DB+co({QLsr(FkM{l{sZZwTe>a~0!Ex>Y@qCR9jeZ4ZY&^kN%*>g&$EM;ph&ML2 za%yZId=W059mi=CNlu=l7vSNH1#o^cgaSJp9|u(#om4n{%MExwE&uv)3r6o_48Ax#$mS z#6-*=ilEnT69>RPvHzTs2Xe1ppKdZaj91MfG;Dc^?hyKZ6zWuchM^i*egA0AniK9* z9kN=2=O!|yuRs|!OJ6lX-Tc7wwvi%vhq_6@x0(+_}h=!;J`;e^+^nw)hxftfwudsYA-bI0-&WU>hJo0W-aJ zMookRnVjv3%T=laOP>nl>{YkB}}&^B|1An5<8I zRD};yv4e&2q5-xMC66DIGAiIfY@en>^D7%F_M#+(>->q=9ma_{;M;u09( z%vGEiWR6f&tw<$mMQ)0w!E=*X*w}bK+wc}7jRa9$KRRTCYBgr?nXB|lT!h(}yCm56 zPqaWSMn{}1j>P@*)o4O(fi*u%kJj&Sm@*^D$WQF-?VKG?!FCg-2(^0sGn6R0rKY*t zHOCwHTA4XuZFdK^av6{U98kZ|pZ%lg5R7pxkTHNxCGr_fyS#Y8*b`^@Ta{U*C=r5W z7hX1dBt2>o*vzMykogccqL!oJ3d(|t=dUWm_n1yG;^wIRnZmgZ%>?V@enyj|UDp}MS+L#%%+Ad{jFZQpa)#}uE`sBkCC zd#AEkh})k6WTOnr){rfzab_v#2z6o@XhlV%Ee&epqtdTkaPBKp!UUofwDCvEj^S%l zEYu3nvQtg%xy@8$>ashE`JkV9i1NNDwj9zZ#aWSzrP~|fJcxGEe&1EPQEiQ> z&N(bzIrnv^Z%_x1T;QThMKV2xpcE7lLP@y;*}+rehTu*b{FaL1cDz#8^XyL8WqC9` ziC{`QSf2POwx(nuVs4qx^1}H&SKBlGF6@3+4Kn9C|?AS^^vJC1948loNf$cv@~TC`Ty zO0W@A7X7IW5B`=snPcI8j_o>N+6EVX3CWHbP;a)U_l46`hXr+Qc(j9if>QUO&H;oP zwLT6Biy_zXE)eYull@Iy9M@v4j+|db>QrQx8#iO}g~^jHPp#?H67KFXue>`~yJ689 ziOcWU_3VG|J~$*G#|wQ7FJe*Z&F2y{EwqJ)KmzfFnh{E_#8F7R=Y>zA{li@qh5cw9W@()T}E+C zjq8qgR-gHZ&G&I`bdZI5aPKcN9u8VB93^^RG1@>;;&OlcDql9?lj# zt|N?DPx3NVkry&#zKL2fGi#HL);q>_2gffddeacqM3EX!LpCWMnXeQ_?>My-4|sri z*Mg%Lh4-@!YG=}n;kr|dS~4P31?zT-a&e;~cz#(*f!?fly4P;IpAV53Sgh|u zb+k}T&?`1sV0og@=UOR zzwqgVkjn?ZJ3}dK8LQD8*@ZK08zv}yc7HYzY2~Pd#u>HqDnMx3{p|h%rL}E@Un#`L z#kvjfG9PiGgsPlFgyv=?#6mG2`X)Ch6Vf3uLsH3Am+Vm2)buI*j53s1N8j8W@viWQ zD!kT&Fy@;hRgiEn6nCTSezF3u86HMhVY$P~3SKj)6NP`+6+yX}iYM4-l9rqsr0O+D zNz93YkdO35ke*bVflxwlg8>0>ot~Tk-xA6;978_Z4Ao$z#>?sw#&U17EE&e`upEhg zTBr?;wNi6HZ}`)cV=NW*@N|55`eJ(X>Uk6VJUujgwm5w~_x|4Vw)4_Ahl#i)UO@hF zcXjnC>GH!P=mBiwE_4Xxtawg~7=^v8p%)dsO-fvssEhI@Tn;=#ogmU=ikJp41aJTdtaHEtI#bB_j*yWjOU zA3A;A@2m|OEG(%@QMn{KFJE=^NeF6K*7S2bqM{&MQpPboD`%!IRKF9XaPc7*iSe@~ zr7I&6j!fPR2oYVY;A#fKqG2!0neQ%_s@Bl`9BUVg?FlTMML3k?5wo-I(Sma^3lrEW zAEf{Oy;Udcb_PXZW)o!R4(t-f)oY04x27RU-_w}lBU%ECRQt=PqgKVK&uQs8S$Qq> z6qx50BzP?+Jn&+v=dp_F$uijbDu+c|t24c->hKay(KhpxU5~$BUtDkg`guKdx_NkU z@%&nc~IhYpITqpfgn!dV+>sfj#Gz5Lt07^i}aFh(Iy4 zRU4vSq7WHV`g;BR{Xeb_Dkdf{1v)O-If{;M_pjcro(@;eckYMOA!F+@+=T^shSJpP zO}Zd!PF~?Y1}ryUSk8fp_S_xt6+&^72X6*)B<{P(>;by(+cz6-idf4zuL9|E zfC3(MQz%1nvmgv{o=VXI6K?5~o3Fk3!R_tq)%z8M9}BtSLu`L78Vd@@kXN#smzPzO zu9fxiphHq(;@awJ^~#0`rxqig06+iGW?5NT%gs$+UszmC?%T-0Qruq%UJKISg2>~C z2MX1B_CY099V-Vf#B|w--~Xg>Vn8L+7JDo5>2?W27JOUZp#UPCF)l=Gs(BkltNNCT zWLYh0w8yBW2L0hff7B<@$a4!6O1&ZdG_QLdZ2_xe0KY&7PxkkD0(sh{4FfLY?>Wpm zHSS6+H!~4GJ!mtO%iTj<@C0NT0Vtm?=l*lr7s*s71tg3m{&xK|vm5lOSR=pq!_oKU zXax?MAr(dA$$=Kz8xh8=Dx6`DXM+_bom-YL=<2#my69HctZK^5t@(E%{jXJly(SuE zgvAR_@SGnYu3AH}SlyV4BwZmwlzryBokSTSMtWgqWp!(fE*<$?J3)5nGm8&@%TK42 zxJTYLz0u=jKDS>BCdR_#YAg}vC6$ToRuLL0Y~>6U*ZYlIe;-E8_J(n8eQN#M7VI>L zZc*Cw0RKep^juj@kOj4)5R#2cbRmjN5Y%7D5DpDgr?5PSR z8dIzQDdu!}TCcpFU`AfDO@4B)%awFcb9EFh(&R|&LFcLf9=DulpnjZR9erF?Tn4>+yp2TNe0q?> z)Y-z+(Z|dbNz!?_bjH}-CGQ&$fuyf)Um!nDA}Ao|5CSwe2N=ZbQ9$VBDeknGAVJJ*T_1+{V6)CI6e8VN<_O_>`*OHhajw{e_B+chDagA z$dq>HsZR?QKqNbh&lWhgOe@K-o{ecz$>;zcsCP2}D|OA@rXCh6j0G%wFdCGPH)Rv* zxBKIt@BY&TN>6S~&ivr1QA2PR4N)5db-T|x0Qn0Huw<)_FWW+|PM*5BsgjV2q#|V@ z+<>}(kKH06M%M>BbFkdZhqpD2ryeK8QZzJPq#l4BhGED}DE|l=vtcDcI|S|f3kv5c z&l6Mt7_3*VGFJ)KtY%uWeYk&nM6p_BD%#>8dx$0)O|KD;(gNz-T`K!}a1CZAxcWdx zmEi*P`}jbtC+mA8aiMc6rhH$?{HhZ~< zOBu2HuZs1|&5?j{`)a_(#=pUZ znP!6UIKy&XHD~u{UtVo9MeN#S*p52KQlL1AP>n8?xy3R$=02%%%xN)bX19tHHt88E zc1aCC$osN0O)y)W3TX-9&*z=&VQ)RbWu?dQ{6ZNdivsEV&_yL+1xdjM>kYHR;nsr$An8#dGM9QFO_G^S+793TzY?*vSCY+Jek}Byk8%CY1t_mUgHMP! zKIvb`cN!eOf%>5I_nVq2f)^A1h0fHOW|O*!1Sfi9NzP}OVH}L9b*-e0vnD|U`ku9m zM0lEowm}MI-+(7IAK~RK5&sc9p#pjE^}DjymF5)viBa_;I685h<9w$GDET;3Z3IH{70rY&~vU9O2Io) zUa+VO`c^;!M?+GtJ(6KJj4I59(9}FivJe+2c7VBqhNaH-$NCA@M2aSD6qErNN|xk} z$LeQaGb|Lsv6fhP+8^u=Y>*aKecoWH5$Z$@i#Os6=8H(uSN&az%Mbs+ z*USe<-t}rJ=;hzzyGsorf6b5(CXxH3AIts=5~kp_RfyCMRZ%-kG!xrEd2h{zzEnM+ zmZd|w#|-yJar2TN9Ls4PaY_?gTNOP$Yt|J>0+|twaRQq% z7lBe|^)#5gno%OUSwM0pdCo*xoWgHy2IXH^8=3w9BDhblEvRF_%BH4nkku=@F5Pu~ zqrOcUq>Z-p-1EAZl98Z5pO4ImmyOa~@kM%C@8D0ZM)5cLkYa9q7B{|mw}(W=y~0wU zuW%*YBwYGoqaAZCGu$Cj0qs6O_FS}w)EXz@#5at7C|O78)+XACZ>Xk1+Avh(r=S4% z3!@M~seQ$E!fi@8Rg0t4;|pY*Bb~M{C5-@$UFEBfm6brru~7S=P<#3s92D$q1x`+NKk&%xQVgZq?V0%5R_aTH zJv=%>#PaUuOUalj)=`&IHIltLS8WS>RFspl!I8Ht;fSqJ666`D%ZsGKIfhDYRa2Bc z|2u8)=g;2l?Z0an;z>y2)!(Q0<8l8A7D_9RI{Xa1)iD6hkpc)5?H%av7lVWhdcHpF zA5`4b;yIs40QFo26(pg^_jPbpwXw!f$N)^R6FMPuZ6#pXKr0y!T0qy zP7t_#4O8vd-M{|gz#cYLzM754+^1C!P{I;ms!tv};>j}Lk7L1&oqxDz|6!ut^nk?i zx<69!Y4-!^=;rZXw2hB*Lqh{528K3dT}+^3Fub9@{?n&nfJ#DB;We}z8^*L!5QUJUSUm8<*|Bx2S%e0k)OpydZPYj zQ1z3DO*XC%A#9^w;7c1qoSt(=jR$vxEVX8cEvgJR`KMY9J2bt%9fue>nkE}wJQSH? zNHs}~Rdw79xqt%;EplYhhdFPCpdvQ)&_XzK`p*!VnP5&d-4a6BFQ*o0{ zk)|cHkj@~s(xV4)j53{iB`vpa=!_)}!?>(0f}CvR_=Ib?E2}A5*ce(dq;=oDh4?JI z5GF>=P6zNBFYeb`Ht(=8@G|6vU`drrQ$v)6(^L@Rg@rOzRv3L!$NoG&`&%*}c#`CK zg~<<+Q%q<~9q6S~0-Ajd{piC+P1U~x$WlR+CQ;+EFFnFJ6BC@g%v9uFbj24o>*vO~nOMkqH#~0p2pF4wP z%0HPr_vl~I^x+(>OE@2Q?E2UJQPmyer4KB8I-gk_BCm@cqccV9)>F$<+50$)`6j?o z(7^|p6nyhwjpf}I+ujL1cb0qbNEz+Li*;F z%L%L)G693#)Ve*bf&T{eBv^oIx%BQaO@h89 z704sOX>$J+-6)ftocH*5yYg}x1_>(iSD{NbE7GUZwiNgIquvSov6i>4xs|E(h~bfy zp^vu)@%Ml4*A<_1f?lugkCSx7Lm%G`#e=%vZjvyA-k+}KgC75_i3dWch5a8h1%Z!{ z=N0n6+!cI0j);F;y@-cAV~W4NE>%zj{wE%Odg2r0Okp5181Uow{p$4U(e?QF@8`|! z)6>~&4PRSmgM3A(nYdIIrKLhkS5v#ddR_tjN^Q3#%_2Xr70V*O+{NF#O(io1GtVhZcjx zPjMSq!}YS|aZSY2WxAH!M%l5M6~8H=*fhsZJdoYC4>gKKv!UWrBalwC5$u(&s>~d4 zS_fqpa7X!q$84A|N%kA*7I?Tm$A-yRIFdr28N;3#_-vM@CE>N~gXpy;;cl3M0H#)& zuK&#PAZG;9*6uvw8U?$B=s(ou!IBHHwitEtRD}v%((p-@zj4z+vB8n4+*f*3GIYgm zHiX!)6}XGA{N~#f@{dvxKGgVV3;{#Rlm@YMRyPrc;Ow&L?dxss$0aPx$S^N{sn`@K zsE=C(X-O@)Nr!8@G_S5n+9MK6P@g1o8cH{!`dtEgor<$uRJVnHO0dcvx2pjHAXr8! zb-agRp-#)6Aa7xY@}5hc5dry??W{!gRvk%9+W#1?Jx}q(a!FR#gEuCa_|(~{_T%WV zBS`1rl_JOZL(_UB^Q~^TxW{PO-`th)1XBdz-{{mTcI2)yS|2?~6#(anD}|&a@`})& z)GMPV4vqX}Gy=-48ND%5ZNVkK}%VT2-@?O4gCeMid1>h!RsN0 zy2eh6$s&YDms^DWZw015egwditr()lpmT!93>_u}ToBmYh<5tAwfk6neBQC++}7S67_3&xg5g(gg5*|>{nB|zik&m;UBe-ZH}R{`d6uETcJnHw2hXvymTy! zmqan}(t(*Lv%ny$mQ{H^4F}vhPtcYnic%#n8nK1h5{J(O%y@Nc z2$D`s(Fr6=R0WyMm$vCsM{L^uvXR&D9AVOh4pna9dI@R-eppaLt4&$yFsGA+C-(`8 zB6Nz01$B1%hX=x2i|-nJT-`ro3J8cp%;77Dg-Id)dh-%>*-%gZ>0Xn(EmEZRP)sZU zGqv<4GI`9D%v%>dkxFn6i30s!Ycwh8q@p{bmMGq^ahOzi=qyu-zN*}-7u6dISe2`+ z{^&z8%WiUP6FFGOCL(Q`pb*Tl zHFD=nH4#dz&~!wKKxf1Ni)D7?E<jdF6 zwar7`Mz+!z$skS$zYpq9T)Oh(@X7)Pe#-T~G0@<)+}`IkRs2pQRm=-4L7AZtm}9ik zBS{gcvn51K0>L=Sq$CFnUwuNFY73vAp*$+kW5a5cXk!DMVgX4xumsqdk>s36T8KP7 zS_@dP*JG2ndqd%)R|8P2FdkC#h<*YTyJI6IqqMc(B~uodh{@MVR-{?S8`TLGDu?}4 z)(aD}d0oSk^J2$zrql1bp6VhF`wrV6o$R zO!u{cf}BIZN{krAquV3|6Z_F(g?qr0iVv;SV^k$;lfI~(N^*k3Ci8uIKD2GYwNpjb z5nk+bD?eEYIv0GTnJ#_{ZsF;%GZ1e1H`ReL_>k^QSF06a98uKI5 zJkMFa60qsQfV(p@UfgLuf`ei-Qhm{R*t?!O% zt*@V{Z%<&a)S*w((IX<>_x17SWn#=9%fQ#etaoB`O7?avyb5dS7*ySAoD-6485--L zo1RpOg6+vyUVz4kt17uo2SE~$vn|$8J$Y&+<(Ocj+v*zXc{L~q{$9~c0lG5P=PNQ= zFI9KN+i}(8eX5!^U38Gn!Hm{4G99Lo_k*()5Z|}>ve7sD>$rq%e$Y7T>X-Jl8pl_( zI9)*F8A^;!1-i(0E@RG2c^$>Wm9DXoyF2sXmA0F?^Mvdaxp@~7LUx)FTN7bOO8ZfH z+l^f?^Wj)DwlD#L& z*!_UI5AgL2QzL|=l=Y8~k4+*oGczfG{=H#5Uwt6Wuy^wESBRtC+t&wK0It%m*)VW& za-t%R%PgOco2enu@5${!G?`6piR*hCakKR57S*iRs$f}hfZkTA5PdJ4veU8gAP!To zZnjIX!m9K{NM9{nJ~?Er1Jz|Rwc&K>!5y(8@aQn(*(K=NFaNExN*!_X?hyk9QQ{=f zrBqpPqyLtmjOJ{O(Go^wHl{?wh?{{N42!`IRM}I$+w3hHx3|Ci|HC4%KAg*4qmGd% zPp(`>sZt)rbwPrAeSBmL<7ZEGK{hWzL&%n;)0hlbzcmSRet@bbNFt-cpBX$A0onDku4rsWXC ze(1d=+mkE%vMDHtXYUXmNm6d=N7xx+Mk}bv7@t%~O3mFg!1l+(g$ZtPG+BgX+A)(GpVz=zDGXGTt#7ctz70i?nvigJcsO=A zCe)|V%qh~=*52CF)<4kU?%@HqdO>kk@I9YA?>jkp9w|B5<;D5j>}+kF^DGA|07b@y zPOauMHC2*gwnWi$m%kBhw(jocFA+geQ6Mzm;PfzP^H@>vmc36nkLgKNG9uVIEiS-I zZs8E4#}G1hNReRi`%BUsnCq0rOKH?8aa{#F7aI=PvQfm-eRmYSa>}1oC)_ttxf(;L z^?QBE_NogKxp@Dd$b~&mG>odsvU4mv+f_0jcKcZ9s?Q`j<^~iF_E+Yk*>cg1G=a?f z!=-nJ=}Z+r9;Q#CW|)3xMp43lR)in{!X(Z8rnqy2c9jt~LLumi^<%8AI?(~cy_SCm zM!pMd-kWsfJ-vkPV&u+mF5b`JtKa)O;PaKmw>#uP%uDB>_x-D5$k*n6MN-h~$VAZl z!9&pN0Vd>0LJE9*!o-4zYM+nCi|706vulg5&i3|S9o@|>ZHx5k@E{G*)r@1EjH8Uq zY9-Y4r><)UPrG_O7$}{ZvZw3c{+3Q&cI6tiX{eg1*&v|NIFo_D_ zdc-qi2Kc#A<_}kl#RQ;+pLB{+>YB6wqMT~*!<@ ztC3S@A;x990LiAyLN~NH5s6#A`Sa(@NOM=I(Vi%e`Da^TjsEKx;zfdS;UZFIfT`-_ zAbSYIxT<6TxK0e$+f3qP2oFQ|Y+1Spd$3mwnW>-hfigc|w6lD-ikYFs=oy;f?XKnS z_e-Auhze&$u9zr@lLSc>1ZwZ( zH8jl0HqJ4u#+#Wk8MWsXN_Q*J-q%o2!6{Ou<^)?Zw|RUQT>ZIvdnaJrANUqJL5=Lw ziVR~#D$bioF=+l3x%1*`@rSGO1YtQDCS;9H?SL!KJWG|dJOFP;Sa@4l_-8D|Iq8U} zxm*vzbIz~+=ie(GL2LhhQ{)=G*WcY;ekB5|V$R^*lpf}lves3`#a@ypg}0$j;!ovLSr~;{lOE#(nUFA*I8U8) z;3<wC8n+OZl${ zHr7ifOMm;HFa34{S2Q0i=l^mb68BSL_M09M3!2|SY4LjCt8xCrNFR1=6l{&`T*|(C zL!~0&AxYKN95!Qo?&FzSc4+4`&dKLUXE>;8ogm=?2Qb@8u({4Ws&dT?SAaKY;T_W= z>a0ypvr3?xiJ-ECpHD~#O?J6m?x6TGgBd7vN3ZeSnoGS-rWMaq7P^Z%(<7txi2~dZ zQiuvR5DRv#LDgEZ>o5{TOvAs1oml0QRy)^-NnTi}YWC13HyDw^Gt!&X+@Sa!(wYkY zX%3&^FLuMJH6mj;^hCo50ihPIl|ng2*Km|E>EG>A)i&wUFp!54VzCj_6#v5U)Lx}9 zYkzRyIkFjlG)5vq`OfNHQ!f-BCE38)WB3v;-AyGP`Qig0yq2sWEmWN5@kaSS( zS|vY4)F0}$f}Gxf1*EWc z8k(a;_-AAZfBpt3f-#;+B5359snn9PMhRQs6yB07`neS-3$H2(&Ae$waeI_ z5i8mILQQS!k409nsO`k7Svbx`iY(I_sH10Co(5!d{crI>Dvj_~r}o&%Ig%8Oin4aLXh0BjX- zX!rG|BI+UN>Cx7@AFCO)1v`MfdR~?{yO0_;`8X7kCd@~lx-q4Liig!$Fha3spy{qP zCih1EjbSu78@u5HM4v)a^|7kRSSd4o5K1$5B^V(5mRX#lq032zKRX(+(&Y{`z*FhK>B}-r93@hZC3c7CS%&O(O0*J=TlAau`x4n7XVwDb zjrqeM)(M6ehKZMo3PgdmmfV;b^XP>tZ+-XZ(&BjwiRPJ90*KgNg_w1ZZIn$c@%7T*g4t|6@XcFDC8Q3#p z?%sK(s@B8iRk2|wpy%M1DpR(?qD9=K%#NotrqLx`o+giP7Gr?GlfZ(n5wUw7GnU%* zQ>$BTT18cdAmci9>B@sYV_M7lxV*d^g1&|5|DyD>C`^-f`QipllVOt!$l9)mNRPh0 z{>{xzh)JUwD?Dg_(}Ma+i#hWlYB8_t|rt2p?OoeKy7)~R70>?Os_ zPYCl7I;6&(oj8tzQK9e5%ko(-cLzU~J~C1b>;O&L>cCv2#hm{u|3hH<{^@RW=xTLw z>UO*Lmjn3h)Xv_XgqRp78e-?B&XqR_p;5c`QmlNm4jo?y)n4DN86U_-(T{VjFPajk zOO#+&EyrBBvW5hYn8~dx$Epn$YtY*)BMT=W+5LpekS4@-i}5%m4C5cNNUoxVaq_Uh zS_wP-D~oxDdo=>LJ$NF2iB;WG(bCq}w!bn%u-p{L{pcjPJyn9%q!8w8)Mr!qHR9B< zA`#PV$atc>gDt@sxr7lwBo=-;irJQwfKiC}mHyudB-88#w<5&7FjBHV-Z`LCQE#vpA~0nC z1i40}|EwyM%uj&OGS+Uu1`Cy}V`kq>SoiM#fG)s{y;{CILyb$?w|X#umXSh%sz2}z zV@wBVn75T4n`7xKOOOvm+{{~8*j++GNl92+MD>U%DgtbayStp+1cWYPO+ZjM4~g*{ z-kpP=4j}-K9~Y236l8D1%G0SyHwP{iCq_n;+}i<790;setKlB|EqvnP;qQUMLq|?Z z?&#<+s|v8XnR25~|8!_J^iP?p1*lV%VLe?o1$Lk(xT2`9D<4dovntpS#E;WXX>y}Z zLG}AXEeUP#<2TrYk=zrpS36V2-b0_wN+@%NQY?@6KUa-Qh7Q}^_z85+;B&(mdE;l{O0jcqIsJJ`AM_X#3~J=vLg(F65kKC?7U zdkAK_jt@urEC}Y^eMTwL7}uBYLQ#-ocbb!#D+}*SxtYrtJ~ZH@aChWT-7zE=-7XLp zHRuiMeSO?NdVzdnKQ0}75)XO=A18^wy@D&mq5Lub9n52izgVSSw}@TIpL?DFd!MKF%+* zpHWZuybr)WgcFDO+WF|d2xtb&9GA$vBhCc~*qqws8hIG`GW72u?#Tm)V#mMO< z%0D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

      A&nyXZ+U+NAcC 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:RSHxf@D;X^-`iz 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 z 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 z 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 m0YlSHElEx + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/SIBR_viewers/docs/pages/1_Getting_Started.dox b/SIBR_viewers/docs/pages/1_Getting_Started.dox new file mode 100644 index 0000000000..1b81ee9478 --- /dev/null +++ b/SIBR_viewers/docs/pages/1_Getting_Started.dox @@ -0,0 +1,186 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@mainpage Getting Started + +@section intro_sec Introduction +The System for Image-Based Rendering or **SIBR**, is a specialized collection of libraries and toolkits for quickly implementing Image-Based Rendering (IBR) algorithms, and includes implementations of several published IBR papers, mainly from Inria and UCL, but also (re-implementations) of projects from other research groups. Most of **SIBR** was developed over the years (since 2011) at Inria Sophia-Antipolis for the various IBR research projects in the group, but the codebase includes a significant part of code from the *fribr* codebase of P. Hedman from UCL. The codebase has a long history; see @ref sibr_history section. + +In this first release, we are providing reference source code implementations and datasets for the following \ref sibr_projects_available. + +We will be progressively releasing more implementations of past and future projects (please see the @ref sibr_roadmap). For the first few releases, the main intended usage of the codebase is comparisons with previous algorithms. In the medium-term future, we hope that the codebase will be useful to others for the development of their own IBR algorithms. + +The codebase contains three main components: the main *core* library, various utility/helper libraries and what we call *Projects* (see @ref sibr_projects_about), that are the implementations of Inria, UCL (and other) research projects. +The core library has support for multi-view (MV) datasets, processed with Structure-from-Motion (SfM) and Multi-view Stereo (MVS) software. We support data from various SfM/MVS sources, such as *colmap* and the (commercial) *RealityCapture* package (see @ref howto_generate_dataset), and a some interactive viewing utilities for developing and debugging IBR algorithms (e.g., ``top view'' shown below). + +@image HTML ulr_screenshot.png An example view of SIBR width=700px + +The utilities include various MV dataset (pre-)processing utilities that are used by various *Projects* and can be of general use, and various utilities for different API interfaces (e.g., tensorflow and pytorch, OptiX) and the core *fribr* framework from UCL that is used in some *Projects*. + +Each *Project* provided in **SIBR** has (more or less) similar documentation and code structure: a binary release for easy use, how to checkout the code, configure, build and install the solution, and run the basic renderer; a set if fully-processed datasets are provided for each project. The *Project* has *apps*, typically including a *rendering app* that is usually enough to run the method to compare with a new algorithm on one of our datasets. +Most projects also have a *preprocessing* step. The code for preprocessing allows processing of your own data with the corresponding algorithm; the datasets provided have been processed with these tools. +Please see the section on comparisons (@ref comparisons_sec) below. + +The first *Project* is bundled in the *core* library, and has implementations of per-pixel variants of the Unstructured Lumigraph \[Buehler 2001\] (see the @ref ulrPage page). This implementation has been used as a baseline comparison in many of our projects, and is always a useful baseline for any new IBR algorithm. + +The licensing of the *core* is free for non-commercial, research and evaluation purposes, by academic or industrial labs, as defined in the LICENSE.md file. For commercial usage in a for-profit product, a paid license is required; please contact George.Drettakis@inria.fr if you are interested. + +The rest of this page explains how to download binaries, compile, configure and install the basic system and its documentation. + +If you use this code in a publication, please cite the system as follows in your publications: + +``` +@misc{sibr2020, + author = "Bonopera, Sebastien and Hedman, Peter and Esnault, Jerome and Prakash, Siddhant and Rodriguez, Simon and Thonat, Theo and Benadel, Mehdi and Chaurasia, Gaurav and Philip, Julien and Drettakis, George", + title = "sibr: A System for Image Based Rendering", + year = "2020", + url = "https://sibr.gitlabpages.inria.fr/" +} +``` + +@section comparison_sec Comparisons + +A major goal of this code release is to allow comparisons. Most renderers in the *Projects* are interactive, allowing free-viewpoint navigation in the corresponding scenes. For comparisons, most renderers take a --pathFile argument that is a path of cameras in the scene. These are written to the directory requested, or by default in the pathOutput directory at the root of the dataset. For more details on cameras and paths, see the tutorial page @ref howto_cameras_paths . + +@section install_sec Installation + +**Note**: The current release is for *Windows 10* only. We are planning a Linux release soon. + +@subsection sibr_binaries Binary distribution + +The easiest way to use *SIBR* is to download the binary distribution. All steps described below, including all preprocessing for your datasets will work using this code. +A binary distribution (200Mb) of the core is available here: + +``` +wget https://repo-sam.inria.fr/fungraph/sibr-release/sibr-core/install.zip +``` + +unzip to create the ``install'' directory. All instructions below on running the code can be performed using this binary distribution. + +@subsection sibr_example To run an example + +Download a dataset from: https://repo-sam.inria.fr/fungraph/sibr-datasets/ + +e.g., the *sibr-museum-front* dataset in the *DATASETS_PATH* directory. + +``` +wget https://repo-sam.inria.fr/fungraph/sibr-datasets/museum_front27_ulr.zip +``` + +Once you have built the system or downloaded the binaries (see above), go to *install/bin* and you can run: +``` + sibr_ulrv2_app.exe --path DATASETS_PATH/sibr-museum-front +``` + +You will have an interactive viewer and you can navigate freely in the captured scene. +Our default interactive viewer has a main view running the algorithm and a top view to visualize the position of the calibrated cameras. By default you are in WASD mode, and can toggle to trackball using the "y" key. Please see the page [Interface](https://sibr.gitlabpages.inria.fr/docs/nightly/howto_sibr_useful_objects.html) for more details on the interface. + + +@subsection sibr_prerequisite Prerequisites + +- git +- Visual Studio 2019 (https://visualstudio.microsoft.com/). +- Cmake 3.16+,(https://cmake.org/). +- 7zip should be installed (https://www.7-zip.org/download.html). +- Python 3.8+ should be installed and configured in the PATH (https://www.python.org/downloads/). +- PIL (pip install pillow, in an admin command if needed: https://pypi.org/project/Pillow/) might be needed for some preprocess scripts. +- ImageMagick (https://imagemagick.org/script/download.php). +- Doxygen 1.8.17+ should be installed and configured in the PATH for generating the documentation (http://www.doxygen.nl/download.html). +- If needed (Optix, Tensorflow, Pytorch,... integration), CUDA 10.1+ (https://developer.nvidia.com/cuda-downloads) and cuDNN. +- An internet connection, as external dependencies will be downloaded from our servers during the CMake configuration. + +@subsection sibr_checkout Checkout the code + +- Clone sibr_core repository (https://gitlab.inria.fr/sibr/sibr_core). We recommend that you checkout master branch, but you can also work with the develop branch (unstable). +@code +## through HTTPS +git clone https://gitlab.inria.fr/sibr/sibr_core.git -b master +## through SSH +git clone git@gitlab.inria.fr:sibr/sibr_core.git -b master +@endcode +- You can add the projects' source code you would like to compile with SIBR, for this see @ref sibr_projects_add) +@subsection sibr_configure_cmake Configuring the solution + +- Run Cmake, select SIBR root folder as a source directory and \/build/ as the build directory. +- Configure, select the Visual Studio C++ Win64 compiler. +- Select the projects you want to generate among the BUILD_* variables in the list. +- Generate. + +@subsection sibr_compile Compiling + +- Configure the solution & Generate like we did in @ref sibr_configure_cmake. +- Open the generated Visual Studio solution (sibr_root/build/sibr_projects.sln). +- Build the BUILD_ALL target, and then the INSTALL target. +- The compiled executables will be put in install/bin. +@note If install fails, you will have to copy the required .dll files which are not copied automatically in the install/bin directory. + In general make sure these .dll files are in the bin directory : boost_system-vc141-mt-1_64.dll, boost_filesystem-vc141-mt-1_64.dll, glew32.dll, assimp-vc140-mt.dll, embree.dll. + Alternatively, you can selectively execute some of the install targets for specific projects. + +@subsection sibr_generate_documentation Generating the documentation + +- Configure the solution like we did in @ref sibr_configure_cmake and choose BUILD_DOCUMENTATION along with the projects you want in the documentation. Then generate the solution. +- Open the generated Visual Studio solution (sibr_root/build/sibr_projects.sln). +- Build the DOCUMENTATION target. +- The generated documentation will be put in docs and can be accessed through install/docs/index.html. + +@subsection sibr_troubleshooting Troubleshoot + +- Cmake can't find GLU, GLEW or another library: use an up-to-date CMake, check that you are connected to the Internet. +- Weird OpenCV error: you probably selected the 32-bits compiler in cmake-gui. +- 'Cmd.exe failed wither error 009' or similar: make sure Python is installed and in the PATH. +- BUILD_ALL or INSTALL fail because of a project you don't really need: build and install each project separately by selecting the proper targets. +- Some projects may depend on other projects. Make sure you have checked all the required projects before generating the solution. +- Error in CUDA headers under Visual Studio 2019: make sure CUDA >= 10.1 is installed. + +@subsection sibr_bugs Bugs and Issues + +We will track bugs and issues through the Issues interface on gitlab. Inria gitlab does not allow creation of external accounts, so if you have an issue/bug please email sibr@inria.fr and we will either create a guest account or create the issue on our side. + +@subsection sibr_main_authors Authors + +The authors of **SIBR** *core* are Gaurav Chaurasia (Ph.D. Inria, 2011-2013), Rodrigo Ortiz-Cayon (Ph.D. Inria 2013-2016), Jerome Esnault (Software Engineer, Inria, DATES), Sebastien Bonopera (Software Engineer, Inria, DATES), Theo Thonat (Ph.D. Inria 2015-2019), Simon Rodriguez (Ph.D. Inria, 2017-2020), Julien Philip (Ph.D. Inria, 2017-2020), Siddhant Prakash (Soft. Engineer & currently Ph.D. Inria). Mehdi Benadel (Soft. Engineer, Inria) is currently in charge of **SIBR**. George Drettakis had the overall supervision of the project throughout. See also @ref sibr_history. + + +Each *Project* has different authors, who are listed in the corresponding project pages. A special mention is due to Peter Hedman (at UCL) who wrote the *fribr* framework used in several projects. + +@subsection sibr_funding Funding + +The various projects in **SIBR** were funded by Inria, French national and European research funds. These include French Ministry of Education and University of Nice Sophia-Antipolis (now Universite Cote d'Azur) funds (G. Chaurasia, S. Rodriguez), the ANR SEMAPOLIS project (https://project.inria.fr/semapolis/) and the Region Provence Alpes Cote d'Azur (T. Thonat), the EU projects VERVE (https://gv2.scss.tcd.ie/VERVE/) G. Chaurasia; CR-PLAY (http://www.cr-play.eu/) R. Ortiz-Cayon, J. Esnault, S. Bonopera; EMOTIVE (https://emotiveproject.eu/) S. Duchene, J. Philip and the ERC FUNGRAPH project (http://fungraph.inria.fr), J. Philip, S. Rodriguez, S. Prakash, S. Morgenthaler, M. Benadel. The FRIBR code was funded by the Rabin Ezra scholarship fund for P. Hedman at UCL. + +@section sibr_history History of SIBR + +The oldest code in SIBR was written by G. Chaurasia for his Ph.D. in 2011-2013 at what was then the REVES (LINK) research group at Inria Sophia-Antipolis. The initial ULR implementation, and parts of the code in the Superpixel Warp project [Chaurasia 2013] are from this work. Gaurav re-factored the code to allow it work first with Qt and then with OpenSceneGraph, in a code base called *ibr_collection*, used for the EU project VERVE (https://gv2.scss.tcd.ie/VERVE/). In the followup CR-PLAY (http://www.cr-play.eu/) project, the code was refactored by S. Bonopera, and as part of the ERC FUNGRAPH S. Prakash was in charge of designing the current core/projects structure. M. Benadel has been in charge of cleanup for the release. The overall development of the entire project was managed by G. Drettakis. + +@section sibr_roadmap SIBR Release Roadmap + +After the first release (see \ref sibr_projects_available ), we plan to release code for the deep learning solution for outdoor relighting [Philip 19] (Jan 21), and potentially for other recent IBR projects from the GRAPHDECO group. +We will be releasing a Linux version of the core, and for some of the *Projects* soon. Stay tuned. + +@subsection sibr_main_authors Authors + +The authors of **SIBR** *core* are Gaurav Chaurasia (Ph.D. Inria, 2011-2013), Rodrigo Ortiz-Cayon (Ph.D. Inria 2013-2016), Jerome Esnault (Software Engineer, Inria, DATES), Sebastien Bonopera (Software Engineer, Inria, DATES), Theo Thonat (Ph.D. Inria 2015-2019), Simon Rodriguez (Ph.D. Inria, 2017-2020), Julien Philip (Ph.D. Inria, 2017-2020), Siddhant Prakash (Soft. Engineer & currently Ph.D. Inria). Mehdi Benadel (Soft. Engineer, Inria) is currently in charge of **SIBR**. George Drettakis had the overall supervision of the project throughout. See also @ref sibr_history. + + +Each *Project* has different authors, who are listed in the corresponding project pages. A special mention is due to Peter Hedman (at UCL) who wrote the *fribr* framework used in several projects. + +@subsection sibr_funding Funding + +The various projects in **SIBR** were funded by Inria, French national and European research funds. These include French Ministry of Education and University of Nice Sophia-Antipolis (now Universite Cote d'Azur) funds (G. Chaurasia, S. Rodriguez), the ANR SEMAPOLIS project (https://project.inria.fr/semapolis/) and the Region Provence Alpes Cote d'Azur (T. Thonat), the EU projects VERVE (https://gv2.scss.tcd.ie/VERVE/) G. Chaurasia; CR-PLAY (http://www.cr-play.eu/) R. Ortiz-Cayon, J. Esnault, S. Bonopera; EMOTIVE (https://emotiveproject.eu/) S. Duchene, J. Philip and the ERC FUNGRAPH project (http://fungraph.inria.fr), J. Philip, S. Rodriguez, S. Prakash, S. Morgenthaler, M. Benadel. The FRIBR code was funded by the Rabin Ezra scholarship fund for P. Hedman at UCL. + +@section sibr_references References +[Chaurasia 13] G. Chaurasia, S. Duchene, O. Sorkine-Hornung, & G. Drettakis. (2013). Depth synthesis and local warps for plausible image-based navigation. ACM Transactions on Graphics (TOG), 32(3), 30. http://www-sop.inria.fr/reves/Basilic/2013/CDSD13/ + +[Philip 19] J. Philip, M. Gharbi, T. Zhou, A. Efros, G. Drettakis (2019), Multi-view Relighting Using a Geometry-Aware Network Multi-view-Relighting.pdf ACM Transactions on Graphics (SIGGRAPH Conference Proceedings), Volume 38, Number 4 - July 2019 http://www-sop.inria.fr/reves/Basilic/2019/PGZED19/ + + + */ diff --git a/SIBR_viewers/docs/pages/2_Projects.dox b/SIBR_viewers/docs/pages/2_Projects.dox new file mode 100644 index 0000000000..e7a7a266d1 --- /dev/null +++ b/SIBR_viewers/docs/pages/2_Projects.dox @@ -0,0 +1,15 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page projects Projects +*/ diff --git a/SIBR_viewers/docs/pages/2_Projects.dox.in b/SIBR_viewers/docs/pages/2_Projects.dox.in new file mode 100644 index 0000000000..eebc99e9b2 --- /dev/null +++ b/SIBR_viewers/docs/pages/2_Projects.dox.in @@ -0,0 +1,77 @@ +/*! +@page projects Projects + +@section sibr_projects_about What are projects ? + +Research algorithms and toolboxes have been implemented for SIBR as plugins named "Projects".\n +Unstructured Lumigraph Rendering (ULR) application is provided by default with SIBR to help users get started.\n +Some projects called toolboxes might also be used by other projects to bring additional functionalities (for instance the SIBR/Optix integration).\n + +@subsection sibr_projects_available Available Projects + +The list of projects that have been added to this generated version of SIBR's documentation is given below.\n +For projects corresponding to publications, the link to the paper is provided.\n +Most of other projects are helper libraries that can be used to augment SIBR with new functionalities. + +- @subpage sibr_projects_samples +@SIBR_PROJECTS_SAMPLES_REF_REF@ +- @subpage sibr_projects_ours +@SIBR_PROJECTS_OURS_REF_REF@ +- @subpage sibr_projects_others +@SIBR_PROJECTS_OTHERS_REF_REF@ +- @subpage sibr_projects_toolbox +@SIBR_PROJECTS_TOOLBOX_REF_REF@ + +@subsection sibr_projects_documentation Access projects documentation + +Each project documentation is compilable through SIBR.\n +To access the projects documentation, first :\n +- Add the project to SIBR like explained in @ref sibr_projects_add +- Compile the documentation + +@subsection sibr_projects_add Adding projects to SIBR + +Existing projects can be added as subdirectories in the src/projects directory.\n +For this, you need to access to the project's source code (most of them are in https://gitlab.inria.fr/sibr/projects) to clone it, build it with SIBR and use it.\n +If you want to create your own project, see @ref howto_setup_project .\n +You can follow the given steps to add a project once access is given.\n +- You will need to checkout SIBR Core source code (see @ref sibr_checkout). +- Go to src/projects +- Clone/Copy the project source code in the correct project folder (it should be the same as the project repository, or check the README for more information). +- You can then resume with @ref sibr_generate_documentation or @ref sibr_compile + +@subsection sibr_project_structure Project structure + +See @ref project_structure + +@subsection sibr_your_project Creating your own project + +See @ref howto_setup_project + +*/ + +/*! +@page sibr_projects_samples Sample algorithms & toolboxes + +@SIBR_PROJECTS_SAMPLES_SUBPAGE_REF@ +*/ + +/*! +@page sibr_projects_ours Our algorithms + +@SIBR_PROJECTS_OURS_SUBPAGE_REF@ +*/ + +/*! +@page sibr_projects_others Other algorithms + +@SIBR_PROJECTS_OTHERS_SUBPAGE_REF@ +*/ + +/*! +@page sibr_projects_toolbox Integrated toolboxes + +@SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF@ +*/ + + diff --git a/SIBR_viewers/docs/pages/3_Tutorials.dox b/SIBR_viewers/docs/pages/3_Tutorials.dox new file mode 100644 index 0000000000..db03510bf2 --- /dev/null +++ b/SIBR_viewers/docs/pages/3_Tutorials.dox @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page tutorials Dataset Documentation & Tutorials + +- @subpage howto_generate_dataset +- @subpage howto_sibr_useful_objects +- @subpage howto_setup_project +- @subpage howto_cameras_paths + + */ diff --git a/SIBR_viewers/docs/pages/4_Architecture.dox b/SIBR_viewers/docs/pages/4_Architecture.dox new file mode 100644 index 0000000000..e497379c8f --- /dev/null +++ b/SIBR_viewers/docs/pages/4_Architecture.dox @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page architecture Architecture + +This is a diagram describing the overall SIBR architecture: +@image html sibr_new_architecture.png "Architecture Diagram" width=700px + +SIBR is built using layers. + +@section Core + +SIBR core module exposes internal libraries (system, graphics, assets, scene, raycaster, imgproc, view, renderer, video) which can be used to implement multiple IBR algorithms. + +@subsection system +At the very low level, we have **core/system** that contains OS tools (e.g. filesystems), mathematical tools (e.g. vector operations), and standard tools (e.g. string operations). It also contains a configuration file (Config.hpp) that defines many useful macros/const. + +In short: +- we use STL and C++11 (std::shared_ptr are heavily used) +- we use Boost Libraries to manage filesystems. +- we use Eigen for math tools. (Dev tips: Please use sibr::Vector (e.g. sibr::Vector3f), because they define important flags.) + +@subsection graphics +Next we expose **core/graphics** which contains graphics tools, such as images, meshes, textures, rendertargets, shaders,... We use OpenCV for managing images and image operations. Note that we wrapped OpenCV's cv::Mat in sibr::Image to control/check types statically. See sibr::Image class for details. + +@subsection assets +The classes contained in **core/assets** represent basic resource files present in IBR datasets. These classes are useful for loading and reading different types of files found in a typical dataset. + +@subsection scene +**core/scene** contains a full IBR dataset representation and storage, based on multiple components that form a "scene". A good example is sibr::BasicIBRScene, containing a default set of assets (cameras, images, proxies etc.) which can be initialized by means of a scene metadata file. + +@subsection raycaster +The **core/raycaster** library provides raycasting and intersection test utilities, wrapping Intel Embree for fast ray/triangle tests. + +@subsection imgproc +Basic image processing utilities cam be found in **core/imgproc**. For more complex tasks, you can use OpenCV algorithms as our Images are backed by OpenCV matrices. + +@subsection video +You can load and save videos using the **core/video** module. It internally relies on ffmpeg. + +@subsection view +The **core/view** library exposes tools for making viewer apps for live rendering and debugging of the algorithms. It define a basic view interface along with interactive camera modes, a multi-window management system,... + +@subsection renderer +The classes in **core/renderer** library implements general rendering passes and functionalities required for many IBR applications. usually, when designing a View for a custom rendering algorithm, you will use multiple renderers, some customs and some out-of-the-box. + + */ diff --git a/SIBR_viewers/docs/pages/Tutorials/How to generate your dataset/How_to_create_dataset_from_colmap.dox b/SIBR_viewers/docs/pages/Tutorials/How to generate your dataset/How_to_create_dataset_from_colmap.dox new file mode 100644 index 0000000000..4e081879dd --- /dev/null +++ b/SIBR_viewers/docs/pages/Tutorials/How to generate your dataset/How_to_create_dataset_from_colmap.dox @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page HowToColmap How to create a dataset from Colmap + +We provide a python script that runs the entire Colmap pipeline, see here: @ref sibr_projects_dataset_tools_preprocess_tools_fullColmapProcess + +@note The previous link might not be available if you did not build the doc with `BUILD_IBR_DATASET_TOOLS` on + +However, you can also run your own Colmap reconstruction by yourself, and use `ColmapToSIBR` to create an SIBR project (i.e., images without borders, of the same size) from colmap data. In the install\scripts directory run: + +@code +python colmap2sibr PATH_TO_DATASET +@endcode + +This will create a *sibr_cm* subdirectory containing the modified scene. + +\section HowToColmap_example_datasets Example Datasets + +Example datasets processed with *fullColmapProcess* and *colmap2Sibr* are here: +\n + https://repo-sam.inria.fr/fungraph/sibr-datasets/ +\n + + +*/ diff --git a/SIBR_viewers/docs/pages/Tutorials/How to generate your dataset/How_to_create_dataset_from_realitycapture.dox b/SIBR_viewers/docs/pages/Tutorials/How to generate your dataset/How_to_create_dataset_from_realitycapture.dox new file mode 100644 index 0000000000..98deb4ea4e --- /dev/null +++ b/SIBR_viewers/docs/pages/Tutorials/How to generate your dataset/How_to_create_dataset_from_realitycapture.dox @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page HowToCapreal How to create a dataset from Reality Capture + +\tableofcontents + +@section capreal_usage How to use + +We use Reality Capture to generate a reconstruction of a mesh from several images gererated with multiple point of view. The program can open a group of images and determinate the position of the initial cameras. +Please be aware that RealityCapture does not let you export the results without a license (which you might need to pay for). +Here is a detailed explanation of all the steps: + +@subsection capreal_usage_layout Choose your layout + +Before anything, you'll have to choose your layout. +You can modify them with the icons on the top of the screen. +The interface can be a bit wonky, especially the 3D view. If you want to avoid possible display issues, you can choose `1 + 1 + 1 Layout`. + +@image html caprealnew.png Layout + +@subsection capreal_usage_input_images Select input images + +For reconstruction, you will need to provide a set of images of your scene. You can do so by clicking on `Inputs` or `Folder` buttons in the `Workflow` tab. + +@image html caprealaddinputs.png Add input images + +@image html caprealinputsonly.png Now the input images are set + +@subsection capreal_usage_align_images Align images + +When the image set is properly provided, you can align them with the `Align Images` option, in the `Alignment` tab. + +@image html caprealalignimages.png Align images option + +Now, you can see a point cloud in the 3D view. + +@image html caprealpointcloud.png The point cloud you get when you align images + +@subsection capreal_usage_mesh_reconstruction Mesh reconstruction + +Now you'd want to have a mesh from the images. For this, you need to select one of the `Calculate Model` options in the `Reconstruction` tab. We'll go for the `Normal Detail` option. + +@image html caprealmeshreconstruction.png The mesh reconstruction options + +Now you should be able to see the reconstruction. + +You can click on `Colorize` to colorize the mesh (or `Texture` if you want to texturize it : colorization only apprixomate vertices color, while texturing gives you an approximated texture). + +The generated mesh is likely to be pretty complex in terms of triangle count. +You can decreased the number of triangles by doing : `Tools > Simplify Tools` +You can take 1 or 2 For teh render optionmillion of triangle for the simplification + +You now have calibrated cameras and a reconstructed 3D mesh that are ready for use by **SIBR**. The next two sections explain whow to create a set of directories that will be useful for dataset managements, then save the data required from RealityCapture. + +@image html caprealcolorizesimplify.png Colorize and Simplify Tools options + +@section capreal_DirStruc Suggested directory structure +(Note: This directory structure is only suggested for user accessibility. You can store/create the dataset in separate directories as you like, as long as you provide correct input to the scripts to generate SIBR datasets.) + +@li dataset\\raw +\n Contains the original images from the cameras. +\n +@li dataset\\rcprojs +\n Contains the .rcproj files and the data directories (these are big after reconstruction, since they contain the mesh and texture). +\n +@li dataset\\sfm_mvs_rc +\n Contains the exported undistorted images with black borders, the file bundle.out, pmvs_recon.ply and optionally textured.obj, textured.mtl and textured_u1_v1.png (see what to save below) +\n +@li dataset\\sibr_rc +\n Contains the extracted data to create scene(s) using SIBR, containing bundle file, reconstructed mesh, list of images, scene metadata etc. in proper directory structure. +\n + +@section capreal_WhatToSave What to save from RealityCapture + +In the selected directory (*sfm_mvs_rc*) save the following: + +@li After alignment and reconstruction, save Registration (choose optionsbundler v0.3 Negative-Z format, jpg image type, fit=Inner_region), and save to file *bundle.out* +@li After reconstruction -> Mesh -> save to the file *recon.ply* +@li After texturing -> Mesh -> save textured.obj (which will save textured.mtl and textured_u1_v1.png containing the texture); +@todo Textures verify + +@subsection Restore + +@todo Does this exist ? +@li If something goes wrong, use python restore_dataset.py to restore all original files (bundle, ply, obj) as exported from RealityCapture +*/ diff --git a/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Configuring_your_project.dox b/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Configuring_your_project.dox new file mode 100644 index 0000000000..c2ef5c3e16 --- /dev/null +++ b/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Configuring_your_project.dox @@ -0,0 +1,204 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page configure_project Configuring your project + +@ingroup setup_project + +@section gen_setup_config General setup + +- Create a repository in `src/projects/my_project` (name your project at your convenience) +- Setup your project structure as stated in @ref project_structure +- Use the following sample files (form the following sections) for your `CMakeLists.txt` files and `Config.hpp` structure +- Re-run configure for the main SIBR `CMakeLists.txt`. +- The project should be automatically detected; If so, check `BUILD_IBR_MY_PROJECT` (`MY_PROJECT` being your project name folder) in CMake and re-generate. + +@section all_sec Main project configuration + +This `CMakeLists.txt` is the one in the root of your project. It is registering the subdirectories of your project against the main CMake.\n +It will also provide you with an additional project wide install target.\n + +@code +set(SIBR_PROJECT "my_project") # Please replace my_project with your project folder name +project(sibr_${SIBR_PROJECT}_all) + +# Update this with the folders included in your project +add_subdirectory(apps) +add_subdirectory(preprocess) +add_subdirectory(renderer) + +include(install_runtime) +subdirectory_target(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR} "projects/${SIBR_PROJECT}") +@endcode + +@section listing_sec Listing app & preprocesses projects + +This `CMakeLists.txt` is registering the CMake projects in subdirectories against the main CMake of your SIBR project, putting them together in a custom named group.\n +They will appear as multiple solutions in a subdirectory in Visual Studio for instance.\n +Useful to group the `apps/` or `preprocess/` executables of a project.\n +\n +You can use it as sample structure for `apps/CMakeLists.txt` and `preprocess/CMakeLists.txt`. + +@code +project(sibr_my_apps_group) # Please rename this project at your convenience +add_subdirectory(my_app_1/) +add_subdirectory(my_app_2/) +#... +@endcode + + +@section exe_sec App and preprocess projects + +This example can be used for application and preprocess executables.\n +The parts to modify are the project name, the linked libraries and the folder property.\n +Put the `CMakeLists.txt` in your application project directory. + +@code +set(SIBR_PROJECT "my_project") # Please replace my_project with your project folder name +project(sibr_${SIBR_PROJECT}_app) # Please rename this project at your convenience + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +# Define build output for project +add_executable(${PROJECT_NAME} ${SOURCES}) + +# Define dependencies +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + sibr_system + + # you can add your internal or external dependencies here (sibr_renderer, sibr_view, sibr_graphics, sibr_assets,...) +) + +# Define location in solution. +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/${SIBR_PROJECT}/apps") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) +@endcode + +@section scripts_sec Scripts projects + +You can also add scripts projects. Scripts are bundled in the install/scripts folder, which ensures you have access to utility functions and SIBR binaries.\n + +@code +set(SIBR_PROJECT "my_project") # Please replace my_project with your project folder name +project(sibr_${SIBR_PROJECT}_scripts) + +file(GLOB_RECURSE SCRIPTS "*.py") #add any scripts files / wildcards here + +add_custom_target(${PROJECT_NAME} ALL) + +include(install_runtime) +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/${SIBR_PROJECT}/preprocess") +ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FILES ${SCRIPTS} RELATIVE) # you can use FOLDER option if you want the scripts to be stored in a specific folder +@endcode + +@section lib_sec Library project + +This example can be used for libraries, in `renderer\CMakeLists.txt`.\n +The parts to modify are the project name, the linked libraries, the export/import flag for Windows libraries, and the folder property. \n +Put the `CMakeLists.txt` in your library project directory.\n +This example also supports displaying shaders and copying them to the bin/resources common directory. + +@code +set(SIBR_PROJECT "my_project") +project(sibr_${SIBR_PROJECT}) # Please rename this project at your convenience + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +file(GLOB SHADERS "shaders/*.frag" "shaders/*.vert" "shaders/*.geom" "shaders/*.fp" "shaders/*.vp" "shaders/*.gp") +source_group("Source Files\\shaders" FILES ${SHADERS}) + +# Redefine sources and all the files to display in the IDE. +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp" "shaders/*.frag" "shaders/*.vert" "shaders/*.geom" "shaders/*.fp" "shaders/*.vp" "shaders/*.gp") + +# Declare library. +add_library(${PROJECT_NAME} SHARED ${SOURCES}) + +# Define dependencies. +include_directories(${Boost_INCLUDE_DIRS} .) +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + glfw3 + sibr_system + + # you can add your internal or external dependencies here (sibr_renderer, sibr_view, sibr_graphics, sibr_assets,...) +) + +# Define export/import flag. +add_definitions( -DSIBR_MY_LIBRARY_EXPORTS -DBOOST_ALL_DYN_LINK ) # Please refactor it with your library export/import flag from Config.hpp + +# Define location in solution. +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/${SIBR_PROJECT}/renderer") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + SHADERS "${SHADERS}" ## You can also add scripts and resources with the corresponding keyword (SCRIPTS, RESOURCES) + RSC_FOLDER "${SIBR_PROJECT}" ## Resources will be stored in this subfolder in their respective resource folder (scripts, shaders, resources) + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) +@endcode + +To handle export/import of library methods properly on Windows, you also need a `Config.hpp` file in your library directory. + +@code +#ifndef __SIBR_MY_LIBRARY_CONFIG_HPP__ // Please refactor it with your library name +# define __SIBR_MY_LIBRARY_CONFIG_HPP__ // Please refactor it with your library name + +# include + +# ifdef SIBR_OS_WINDOWS +# ifdef SIBR_STATIC_DEFINE +# define SIBR_EXPORT +# define SIBR_NO_EXPORT +# else +# ifndef SIBR_MY_LIBRARY_EXPORT // Please refactor it with your library name +# ifdef SIBR_MY_LIBRARY_EXPORTS // Please refactor it with your library name +/* We are building this library */ +# define SIBR_MY_LIBRARY_EXPORT __declspec(dllexport) // Please refactor it with your library name +# else +/* We are using this library */ +# define SIBR_MY_LIBRARY_EXPORT __declspec(dllimport) // Please refactor it with your library name +# endif +# endif +# ifndef SIBR_NO_EXPORT +# define SIBR_NO_EXPORT +# endif +# endif +# else +# define SIBR_MY_LIBRARY_EXPORT // Please refactor it with your library name +# endif + +#endif //__SIBR_MY_LIBRARY_CONFIG_HPP__ // Please refactor it with your library name + +@endcode + */ + diff --git a/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Creating_your_library.dox b/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Creating_your_library.dox new file mode 100644 index 0000000000..f2f29491c2 --- /dev/null +++ b/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Creating_your_library.dox @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page create_library Creating your library + +@ingroup setup_project + +@section ge_setup_library General setup + +The content of your library would basically be up to what you will need in this specific project.\n +However, we do implement core patterns that could be useful to create your view and handle the rendering of your scene. + +@section library_views Views + +basic example of a View: + +see: +- https://gitlab.inria.fr/mbenadel/sibr_simple/-/blob/master/renderer/SimpleView.hpp +- https://gitlab.inria.fr/mbenadel/sibr_simple/-/blob/master/renderer/SimpleView.cpp + +@section library_renderers Renderers + +basic example of a Renderer: + +see: +- https://gitlab.inria.fr/mbenadel/sibr_simple/-/blob/master/renderer/SimpleRenderer.hpp +- https://gitlab.inria.fr/mbenadel/sibr_simple/-/blob/master/renderer/SimpleRenderer.cpp + +@section library_shaders Shaders + +Shaders copy to binary folder is handled by the library CMake.\n +You can put your shaders files in `renderer/shaders` with the following extensions: + +- `.vert` +- `.frag` +- `.geom` +- `.vp` +- `.fp` +- `.gp` + +If unchanged, those shaders should be copied to `install/bin/shaders_rsc`.\n +To extend this behavior, please update `renderer/CMakeLists.txt`. + + */ + diff --git a/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Documenting_a_project.dox b/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Documenting_a_project.dox new file mode 100644 index 0000000000..dd573de1c1 --- /dev/null +++ b/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Documenting_a_project.dox @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + /*! +@page document_project Documenting projects + +@ingroup setup_project + +@section gendoc Writing +Each class created in one of the core SIBR modules (system, assets,...) should be properly documented. +Please try to document as many methods as possible (especially public ones). Don't forget to add each class to its module. +You will find below an example of a commented class. + +@verbatim + /* Represents a general view. + @ingroup sibr_view + */ + class SIBR_MY_LIBRARY_EXPORT MyView { + public: + + /* Loads everything. + @param flags the options to use. + @return a boolean denoting the success of the operation. + */ + bool load(const int flags); + + MyView(); + ~MyView(); + + private: + + /* Performs complex operations. + @param val the value to use. + */ + void performComplexOps(const float val); + + int _flags; ///< configuration flags + sibr::Vector2i _size; ///< The size of the view. + } +@endverbatim + + +If you need to create a new module and want it to appear in the Modules doxygen listing, you will need to create a `sibr_mymodule.dox` file in your module directory, with the following content: + +@verbatim +/*! + @defgroup sibr_mymodule + + @brief This is my module. + + This is a longer description of my module. It's mine. +*/ +@endverbatim + +You can also write general .dox pages to give more details on a process or a project.\n +Please add them to your project `documentation/` folder.\n +Here is an example of a dox file content:\n + +@verbatim +/*! +@page yourPageReference Your Page Name + +This is a Page.\n + +You can add ref to pages like this : @ref anotherPage\n +Or add a link to a subpage like this : @subpage yetAnotherPage\n +*/ +@endverbatim + +You can automatically link them as subpages in docs/pages/Projects.dox by providing a `_doc.cmake` file in your project `documentation/` folder.\n +Here you can see an example:\n + +@verbatim +/*! +set(PROJECT_PAGE "yourPageReference") +set(PROJECT_LINK "https://the.link.to.your.source.code.for.instance") +set(PROJECT_DESCRIPTION "A short description") +set(PROJECT_TYPE "OTHER") # this could be either SAMPLES, TOOLBOX, OURS or OTHERS. If not affiliated to SIBR, you might want to use OTHERS or TOOLBOX +*/ +@endverbatim + +@section compileDoc Generating + +To generate the documentation, enable the BUILD_DOCUMENTATION flag in cmake and build the DOCUMENTATION target in Visual Studio. The generated output html pages will be accessible from intall/docs/index.html. + +*/ diff --git a/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Project_structure.dox b/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Project_structure.dox new file mode 100644 index 0000000000..6aeebbd583 --- /dev/null +++ b/SIBR_viewers/docs/pages/Tutorials/How to setup your own project/Project_structure.dox @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page project_structure Project Structure + +@ingroup setup_project + +@section gen_struct General structure + +- Projects should follow the following hierarchy: + +@verbatim + apps/ + CMakeLists.txt # for listing apps to compile + my_app_1/ # one of your apps, named at your convenience + CMakeLists.txt + main.cpp + my_app_2/ + CMakeLists.txt + main.cpp + preprocess/ + CMakeLists.txt # for listing preprocesses to compile + my_preprocess_1/ # one of your preprocesses, named at your convenience + CMakeLists.txt + main.cpp + my_preprocess_2/ + CMakeLists.txt + main.cpp + renderer/ + CMakeLists.txt # for compiling your library + my_library_code.cpp + documentation/ # you can add optional documentation pages in this folder + my_doc.dox + CMakeLists.txt # project-wide configuration +@endverbatim + +- `renderer/`: contains your library code and configuration +- `preprocess/`: contains your preprocesses listed by directory, and the configuration CMake file to list them +- `apps/`: contains your apps listed by directory, and the configuration CMake file to list them +- `documentation/`: contains additional doxygen documentation + +*/ + diff --git a/SIBR_viewers/docs/pages/Tutorials/How_to_generate_your_dataset.dox b/SIBR_viewers/docs/pages/Tutorials/How_to_generate_your_dataset.dox new file mode 100644 index 0000000000..0a9a866b67 --- /dev/null +++ b/SIBR_viewers/docs/pages/Tutorials/How_to_generate_your_dataset.dox @@ -0,0 +1,176 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page howto_generate_dataset Dataset Structure and Generation + +Most *Projects* take as input a *multi-view dataset*, i.e., a set of images taken using a camera (phone, DSLR, videocamera such as GoPro etc). In almost all cases we assume that a Structure-from-Motion (SfM) algorithm has been run on the input images to generate *calibrated cameras*, and most often a second Multi-View Stereo (MVS) step has been run, to generate a reconstructed 3D mesh. Optionally, we may also use dense depth maps that come from MVS. + +In **SIBR** we have a ``native'' dataset format, described below, which was used traditionally for some of the original *Projects*. For most recent projects we have used the commercial tool RealityCapture for SfM/MVS, since it tends to produce the best overall reconstruction quality. In some recent projects (e.g., DeepBlending, or SemanticCars, see @ref projects), we have used *Colmap*, since the dense per-view depth maps are very useful. + +As a result, **SIBR** supports two types of dataset natively: + + @li Native **SIBR** datasets, created using the tools described below, from RealityCapture or Colmap. +We provide pre-processing documentation following which you can create SIBR compatible datasets from output of these two SfM/MVS systems: + - @subpage HowToCapreal + - @subpage HowToColmap + + @li Native Colmap datasets: we simply create a metadata file the first time the dataset is read. + +Different *Projects* often add additional information to their datasets, typically via multiple pre-processing utilities, some general, some specific to the *Project*. +Python scripts designed to process and prepare datasets are provided with each project along with instructions on how to use them in the corresponding documentation. + +@section howto_generate_dataset_sibr_format Basic SIBR Dataset Structure and Generation + +There are two main ways to generate a dataset for **SIBR**. The first is to use *colmap* (see @ref HowToColmap) to to SfM/MVS, and the second is using the commercial RealityCapture package (see @ref HowToCapreal). + +After running colmap **SIBR** can read the dataset natively. In this case the dataset will just contain the colmap directory: +``` +\dataset\ +\dataset\colmap\ +\dataset\colmap\sparse +\dataset\colmap\dataset.db +\dataset\colmap\stereo +\dataset\colmap\stereo\images +\dataset\colmap\stereo\sparse + +``` +SIBR expects camera calibration to be in colmap\stereo\sparse, and the MVS mesh in colmap\stereo\meshed-delaunay.ply. +Note that in this case, the images *do not have the same size*. Some IBR algorithms (e.g., ULR) can handle this, but others require that the input images all have the same size; this was historically the case for [Chaurasia 13], and **SIBR** handles this natively. + +Specifically, we run the colmap2sibr script to generate an **SIBR** dataset. +The basic structure of this **SIBR** dataset is shown below, generated from colmap with texture: +\n + +``` +\dataset\ +\dataset\colmap\ +\dataset\sibr_cm\scene_metadata.txt +\dataset\sibr_cm\cameras +\dataset\sibr_cm\meshes +\dataset\sibr_cm\images +\dataset\sibr_cm\cameras\bundle.out +\dataset\sibr_cm\cameras\list_images.txt +\dataset\sibr_cm\images\{img00000000.jpg,...,img000000NN.jpg} +\dataset\sibr_cm\meshes\recon.{ply,obj} +\dataset\capreal\ +\dataset\capreal\mesh.ply +\dataset\capreal\texture.png +``` + +\n + +The native **SIBR** directory structure in sibr_cm is as follows. +The colmap directory contains the colmap reconstruction, with the calibration, depthmap and mesh data. + +The capreal directory contains the textured mesh generated by the conversion pipeline. + +In the sibr_cm subdirectory: + +@li The *cameras* directory contains the calibrated cameras, using the *Bundler* format by default (\ref subsecDataSetFormatsBundle). + +@li The *images* directory that contains the undistorted images from the reconstruction and the list images file (\ref subsecDataSetFormatsListImg) + +@li The *meshes* directory that contains a *recon.ply* file that is the 3D reconstruction of the scene +\n + + +To generate a dataset after following the procedure for RealityCapture (@ref HowToCapreal), you need to perform the following steps: + +@li Generate and build the solution to generate executables for preprocessing applications (unless you already have the binary distribution). +@li Go to `install\scripts` +@li Run the python script using +``` +python ibr_preprocess_rc_to_sibr.py -i original_dataset_path -o original_dataset_path\sibr_rc --bin path_to_sibr_bin +``` +@li Specifying the binaries directory is optional. While compiling cmake automatically generates settings file which is parsed by the script to set bin directory. +@li The script calls the distordCrop, cropFromCenter, and clipping_planes app executables; make sure they are up to date. + - They crop the images to remove the black borders; the --ratio parameter to distordCrop (currently 0.2 (/.5)) sets the percentage of border which can be removed. Images that have larger black borders are removed from the dataset. + - They also copy the meshes (ply and obj if available) and modifies the bundle.out and list_images.txt to the new values of resolution, and removes the images excluded (the numbers can be found in Dataset\\SibrData\\raw\\excluded_images.txt) + - Next they compute the clipping planes for each camera corresponding to input images and stores them in a clipping_planes.txt file. + - Finally, they parse all data to create a scene_metadata.txt file which holds information of the images, clipping planes etc. and is used to create the scene. This file can be manually extended. +@li *[Recommended]* If you do not want to create a copy of the dataset, you can only specify the input directory with -i option. The dataset will be generated within the input directory itself. +\n + +The **SIBR** dataset will have the following structure, similar to the case above, but with sibr_rc instead of sibr_cm. + +``` +\dataset\ +\dataset\sibr_rc\scene_metadata.txt +\dataset\sibr_rc\cameras +\dataset\sibr_rc\meshes +\dataset\sibr_rc\images +\dataset\sibr_rc\cameras\bundle.out +\dataset\sibr_rc\cameras\list_images.txt +\dataset\sibr_rc\images\{img000.jpg,...,img0NN.jpg} +\dataset\sibr_rc\meshes\recon.ply +\dataset\sibr_rc\meshes\recon.ply +\dataset\capreal\ +\dataset\capreal\textured.obj +\dataset\capreal\textured.mtl +\dataset\capreal\textured_u1_v1.png +``` +\n + \subsection subsecInputDatasetFilesFormats Dataset Files and Formats +\n + The following sections contain documentation of the various files used in the dataset. Some are inherited from other SfM/MVS solutions. +\subsection subsecMetadataFile The scene_metadata.txt file + +Contains the list of images and their resolution as well as the near and far planes for each images. +\n + \subsection subsecDataSetFormatsBundle The bundle.out file +\n + Content: [the bundler documentation](http://www.cs.cornell.edu/~snavely/bundler/bundler-v0.4-manual.html) explain all what it contain \n + Description: [the output of the bundler](http://www.cs.cornell.edu/~snavely/bundler/bundler-v0.4-manual.html#S6) \n + Bundle file format is in plain text :\n + ~~~~~~~~~~~~~{.txt} + # Bundle file v0.3 + [two integers] + + + ... + + + + ... + + ~~~~~~~~~~~~~ + Where \ contain : + ~~~~~~~~~~~~~{.txt} + [the focal length, followed by two radial distortion coeffs] + [a 3x3 matrix representing the camera rotation] + [a 3-vector describing the camera translation] + ~~~~~~~~~~~~~ + And where \ contain : + ~~~~~~~~~~~~~{.txt} + [a 3-vector describing the 3D position of the point] + [a 3-vector describing the RGB color of the point] + [a list of views the point is visible in] + ~~~~~~~~~~~~~ + + + \subsection subsecDataSetFormatsListImg The list_images.txt file + Content: It a list of all input images sorted by order it was taken (renamed) with their resolution \n + Description: If you have [ImageMagick](http://www.imagemagick.org/script/command-line-options.php#format_identify_) you can do : `identify -format "%f %w %h\n" *.jpg` \n + ~~~~~~~~~~~~~{.txt} + <%8d.jpg> + ~~~~~~~~~~~~~ + Example: + ~~~~~~~~~~~~~{.txt} + 00000000.jpg 2256 1504 + 00000001.jpg 2256 1504 + 00000002.jpg 2256 1504 + ... + 00000026.jpg 2256 1504 + 00000027.jpg 2256 1504 + ~~~~~~~~~~~~~ + */ diff --git a/SIBR_viewers/docs/pages/Tutorials/How_to_setup_your_own_project.dox b/SIBR_viewers/docs/pages/Tutorials/How_to_setup_your_own_project.dox new file mode 100644 index 0000000000..56c5b064c0 --- /dev/null +++ b/SIBR_viewers/docs/pages/Tutorials/How_to_setup_your_own_project.dox @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page howto_setup_project How to setup your own project + +- @subpage project_structure +- @subpage configure_project +- @subpage create_library +- @subpage document_project + + */ \ No newline at end of file diff --git a/SIBR_viewers/docs/pages/Tutorials/Paths_and_cameras.dox b/SIBR_viewers/docs/pages/Tutorials/Paths_and_cameras.dox new file mode 100644 index 0000000000..14b181a089 --- /dev/null +++ b/SIBR_viewers/docs/pages/Tutorials/Paths_and_cameras.dox @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + +/*! +@page howto_cameras_paths Cameras, Paths and Dataset Alignment + +@section cameras_section Cameras + +Calibrated cameras come from the SfM method used. We support bundler .out (http://www.cs.cornell.edu/~snavely/bundler/bundler-v0.4-manual.html), Blender .lookat, Colmap cameras.txt/images.txt and to a certain extent VisualSFM .nvm files. +Each format has different constraints, and they are not always compatible. Internally, we convert to an sibr::InputCamera data structure. + + +@section paths_section Paths + +We can read paths, i.e., a sequence of cameras, in any of the above formats in the interactive viewers for most renderers, typically in the main "View" panel, and the "Load path" button. The path can be played either by interpolated between the views ("Play" button), or just playing the exact cameras ("Play (No Interp)"). We also have an internal .path binary path format. +You can define key cameras in the same menu using the "Add key" button. + +Paths can be played by most renderers by running the renderer in offscreen mode: +``` +SIBR_renderer_app.exe --offscreen --pathFile path.(out|lookat|tst|path) [--outPath optionalOutputPath --noExit] +``` + +By default, the application exits when this operation is performed. Rendering the same path is the easiest way to compare different algorithms, and works for most of the *Projects* provided. + + +@section align_section Aligning datasets and transforming paths + +We provide the alignMeshes tools to align two different reconstructions of the same multi-view dataset, see also the dataset tools page (@ref sibr_projects_dataset_tools). +If you need to align your dataset dataset2Align (e.g., a colmap reconstruction) to a reference dataset refDataset (e.g., a RealityCapture reconstruction) you can use the alignMeshes command (in install\bin). +*Important note: both datasets must have the same (or a subset of the same) images, calibrated cameras and a fully reconstructed mesh* +``` +alignMeshes_rwdi.exe --path2Align dataset2Align --pathRef refDataset --out outputPath +alignMeshes.exe --path2Align dataset2Align --pathRef refDataset --out outputPath +``` +This will align the two datasets, and write the aligned mesh in outputPath as well as the file transform.txt that contains the transformation matrix of the dataset2Align to refDataset. + +Please note that alignMeshes may not manage to completely align meshes: please lalways compare the aligned mesh with the target (e.g., using meshlab). If alignmeshes fails, an alternative is to use a manual tool such as CloudCompare or meshlab. + +You can then transform a camera path defined in the first dataset to the a path in the reference dataset: + +``` +cameraConverter_rwdi.exe --input inputPath.(out|lookat|path|tst) --output outputPath.(out|lookat|path|tst) +cameraConverter.exe --input inputPath.(out|lookat|path|tst) --output outputPath.(out|lookat|path|tst) +``` + + */ diff --git a/SIBR_viewers/docs/pages/Tutorials/Useful_sibr_elements.dox b/SIBR_viewers/docs/pages/Tutorials/Useful_sibr_elements.dox new file mode 100644 index 0000000000..191538c854 --- /dev/null +++ b/SIBR_viewers/docs/pages/Tutorials/Useful_sibr_elements.dox @@ -0,0 +1,150 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page howto_sibr_useful_objects Useful systems in SIBR + +@section multiviewmanager Using the windowing system + +SIBR provides tools to display multiple rendering algorithms in different subviews that can be resized and hidden on screen. This is handled by the `MultiViewManager`. once instantiated and tied to a system window, the multi view manager can keep track of multiple views, ensuring that their content is updated and that they receive the correct user inputs. Views can be hidden, resized, their content captured as a screenshot. + +Two modes can be used, mainly for legacy reasons: + +- IBR subviews, that have to implement onRenderIBR() (which was used to support anaglyph rendering previously) +- basic subviews, that have to implement onRender() + +It is possible to associate an interactive user camera to a view, so that the user can move around in the displayed content. Two views can use the same handler, for synchronized motion. + +Basic example: + +@code +Window window(PROGRAM_NAME, sibr::Vector2i(50, 50), myArgs); +MultiViewManager manager(window, false); + +// Register a first view, with an interactive user camera +MyView::Ptr myView(new MyView()); +InteractiveCameraHandler::Ptr userCam(new InteractiveCameraHandler()); +manager.addIBRSubView("My view", myView); +manager.addCameraForView("My view", userCam); + +// Register another view, which already handles the user motions by itself +DebugView::Ptr dbgView(new DebugView()); +manager.addSubView("Debug view", dbgView, usedResolution); + +while (window.isOpened()) { + + Input::poll(); + window.makeContextCurrent(); + if (Input::global().key().isPressed(Key::Escape)) { + window.close(); + } + + manager.onUpdate(Input::global()); + manager.onRender(window); + + window.swapBuffer(); +} +@endcode + +@image html multiviewmanager.png + +@section interactiveHandler Interactive user camera + +User interaction in a view are handled by an `InteractiveCameraHandler`, that supports many interaction modes such as a FPS camera or a trackball. +It can also snaps to predefined viewpoints or interpolate between them. You can adjust the field of view and frustum planes. +You can toggle between modes in the GUI or by pressing Y. + +- FPS : move around with WASD, down/up with Q/E, rotate with IJKL and roll with U/O. +- Trackball : rotate around a central point with the left click in the center of the view, roll with left click towards the view edges. Pan with righ click in the center region, move forward/backward with right click towards the view edges, or by scrolling. Ctrl+left click redefines the center of the trackball, this is very useful to focus on a specific region of the scene and zoom in. +- Orbit: rotate around using the numeric keypad. + +@subsection recordPaths Recording and replaying camera paths + +The handler can also records and playback paths. Once the `Record` button is pressed, all user camera motions are recorded. When pressing `Save path`, they will be saved to a file on disk. Types such as `.lookat`, `.path` and `.bundle` are supported, which is useful for comparison with other frameworks. A `.path` can be reloaded using the `Load path` button, and will start playing automatically. + +@subsection recordVideos Generating videos + +It is possible to record videos and dump images following a path in a view. In the camera handler GUI, you can check if you want to record videos or frames. If checked, the next start a path starts playing, each frame will be recorded and saved on disk. + +- for video recording, check the corresponding box, start playing the path. At the end, in the view manager, select "Capture > Export video" and select the output destination (supported export format: h264 with `.mp4` extension). +- for frames recording, hen checking the box you will have to select an output directory. once the path starts to play, frames are going to be saved in the directory. + +@section debugview Visualizing debug geometry + +It can be useful to visualize information such as the scene geometry, location of the cameras, rays, voxel-like structures in a view with an interactive camera. SIBR provides the `MultiMeshManager` for this prupose. It can be used to display multiple meshes, vertices, lines,... At runtime, a list of all elements is displayed and many attributes can be toggled. The same attributes can be edited from the code using chaining. Everything can be updated on the fly based on the objects names. +For instance: + +@code +debugView.addMeshAsLines("BBox", bbox).setColor({1.0f, 0.0f, 1.0f}).setDepthTest(false).setColormode(USER_DEFINED); +// Later in the code +debugView.addMeshAsLines("BBox", anotherBbox); // will replace the previous mesh +// Later again +debugView.getMeshData("BBox").setAlpha(0.5f); // dim the box +@endcode + +Because the MultiMeshManager conforms to the ViewBase interface, it can be added to the view manager as any other view. It comes with its own interactive camera. + +@note The `SceneDebugView` that can be used to visualize an IBR dataset including the geometry, cameras and images, is built on top of `MultiMeshManager`, with extra code generating geometry for the frusta and the image quads. + +@image html multimeshmanager.png + +@section commandlineargs Command line arguments + +To simplify the definition and parsing of arguments, SIBR provide tools to easily define and populate arguments. The system is based on `Arg` and `RequiredArg`, that can be used to define arguments anywhere. It is recommended to group them in a structure, especially as some existing structures can be reused to define command arguments (windowing options, dataset path, etc., see for instance `WindowAppArgs` or `BasicDatasetArgs`). + +Before anything, you have to make sure the raw input arguments have been parsed by calling `CommandLineArgs::parseMainArgs(argc, argv);` in your main. Any argument instantiated afterwards will then be able to fetch its user-provided value (if it exists). Default values and help messages can be provided when declaring arguments. Required arguments will raise an error when used if the user did not provide a value. + +Arguments will convert to their contained type when using them, it is also possible to access their value using `get()`. Arguments values can also be set directly in the code. + +@code +struct MyArgs : virtual WindowAppArgs, BasicDatasetArgs { + RequiredArg iterations = {"itcount", 5, "Number of smoothing iterations"}; + Arg logPath = {"log", "", "Path to log file"}; + Arg showResult = {"show", "Display results in a popup window"}; +} + +int main(int argc, char** argv){ + CommandLineArgs::parseMainArgs(argc, argv); + MyArgs args; + const std::string logFile = args.logPath.get() + "_test.log"; + Thing(args.iterations, logFile); + if(args.showResult){ + //... + } +} +@endcode + + +@section uniformsystem The uniform system + +When using OpenGL shaders, values are often passed from the CPU using uniforms. In the past, SIBR required the developer to maintain both a GLParameter object and the corresponding variable on the CPU to store the value and expose it. It is now recommended to use GLUniform, that wraps a CPU value while allowing you to update the GPU uniform easily. The GLUniform will automatically converts to its contained type in most cases ; if a reference to the CPU value is needed, you can use get(). + +@code +// In the header, as members of a renderer for instance +GLShader _shader; +GLuniform _val = 0.5; + +// At construction +_shader.init("My Shader", "vertex shader content", "fragment shader content"); +_val.init(_shader, "alpha"); // link the uniform to the shader, specify the name in the shader code + +// At some point in the code +_val += 0.3f; // Mofidy the CPU value + +// In the render loop +_shader.begin(); +_val.send(); // Send to the GPU +... +@endcode + + + */ \ No newline at end of file diff --git a/SIBR_viewers/src/CMakeLists.txt b/SIBR_viewers/src/CMakeLists.txt new file mode 100644 index 0000000000..eab58728e0 --- /dev/null +++ b/SIBR_viewers/src/CMakeLists.txt @@ -0,0 +1,176 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +################################################################################ +# This CMakeLists.txt manages which projects should be built and add their # +# dependencies. # +################################################################################ +set(SIBR_FOLDER "core") +set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "") + +option(BUILD_SIBR "Build core libs of SIBR (sibr_system, sibr_graphics, sibr_view, sibr_assets, ...)" ON) + +#https://stackoverflow.com/questions/7787823/cmake-how-to-get-the-name-of-all-subdirectories-of-a-directory +MACRO(SUBDIRLIST result curdir) + FILE(GLOB children RELATIVE ${curdir} ${curdir}/*) + SET(dirlist "") + foreach(child ${children}) + IF(IS_DIRECTORY ${curdir}/${child}) + LIST(APPEND dirlist ${child}) + ENDIF() + endforeach() + SET(${result} ${dirlist}) +ENDMACRO() + +set(SIBR_PROJECTS_FOLDER "${CMAKE_CURRENT_SOURCE_DIR}/projects") +SUBDIRLIST(SUBDIRS ${SIBR_PROJECTS_FOLDER}) + +list(APPEND PROJECT_SUBFOLDERS "apps" "preprocess" "renderer" "scripts" "library") + +# Moving ulr to the top of the list +list(PREPEND SUBDIRS "dataset_tools" "ulr" "basic") +list(REMOVE_DUPLICATES SUBDIRS) + +## DEPS ## +include(include_once) + +message(STATUS "\n\n****************** Handling core dependencies ******************") + +include_once(dependencies) ## Map/bind 3rdParty/external dependencies packages to cmake + +message(STATUS "****************************************************************\n\n") + +foreach(subdir ${SUBDIRS}) + set(${subdir}_ROOT_DIR "${SIBR_PROJECTS_FOLDER}/${subdir}") + set(PROJECT_NAME "BUILD_IBR_${subdir}") + string(TOUPPER ${PROJECT_NAME} PROJECT_NAME) + if(${${PROJECT_NAME}}) + foreach(PROJECT_SUBFOLDER ${PROJECT_SUBFOLDERS}) + if(EXISTS "${${subdir}_ROOT_DIR}/${PROJECT_SUBFOLDER}/cmake/Modules") + list(APPEND CMAKE_MODULE_PATH ${${subdir}_ROOT_DIR}/${PROJECT_SUBFOLDER}/cmake/Modules) + endif() + + if(EXISTS "${${subdir}_ROOT_DIR}/${PROJECT_SUBFOLDER}/cmake/dependencies.cmake") + message(STATUS "********* Handling ${subdir} ${PROJECT_SUBFOLDER} dependencies *********") + include_once("${${subdir}_ROOT_DIR}/${PROJECT_SUBFOLDER}/cmake/dependencies.cmake") + + message(STATUS "****************************************************************\n\n") + endif() + endforeach() + endif() +endforeach() + +Win3rdPartyGlobalCacheAction() + +include_directories(.) + +if (BUILD_SIBR) + add_subdirectory(core/system) + add_subdirectory(core/graphics) + add_subdirectory(core/renderer) + add_subdirectory(core/raycaster) + add_subdirectory(core/view) + add_subdirectory(core/scene) + add_subdirectory(core/assets) + add_subdirectory(core/imgproc) + add_subdirectory(core/video) +endif() + +set(PROJECTS_ON_AT_FIRST_BUILD "basic" "gaussianviewer" "remote") + +foreach(subdir ${SUBDIRS}) + message(STATUS "Adding ${subdir} project") + set(PROJECT_NAME "BUILD_IBR_${subdir}") + string(TOUPPER ${PROJECT_NAME} PROJECT_NAME) + + if(NOT (DEFINED ${PROJECT_NAME})) + foreach(PROJECT_SUBFOLDER ${PROJECT_SUBFOLDERS}) + if(EXISTS "${${subdir}_ROOT_DIR}/${PROJECT_SUBFOLDER}/CMakeLists.txt") + if(subdir IN_LIST PROJECTS_ON_AT_FIRST_BUILD) + option(${PROJECT_NAME} "Build project \"${subdir}\"" ON) + else() + option(${PROJECT_NAME} "Build project \"${subdir}\"" OFF) + endif() + break() + endif() + endforeach() + endif() + + message(STATUS "${PROJECT_NAME} is ${${PROJECT_NAME}}") + + if(${${PROJECT_NAME}}) + if(EXISTS "${${subdir}_ROOT_DIR}/CMakeLists.txt") + add_subdirectory("${${subdir}_ROOT_DIR}") + else() + foreach(PROJECT_SUBFOLDER ${PROJECT_SUBFOLDERS}) + if(EXISTS "${${subdir}_ROOT_DIR}/${PROJECT_SUBFOLDER}/CMakeLists.txt") + add_subdirectory("${${subdir}_ROOT_DIR}/${PROJECT_SUBFOLDER}") + endif() + endforeach() + endif() + + if(EXISTS "${${subdir}_ROOT_DIR}/documentation/" AND BUILD_DOCUMENTATION) + unset(PROJECT_PAGE) + unset(PROJECT_LINK) + unset(PROJECT_DESCRIPTION) + unset(PROJECT_TYPE) + include("${${subdir}_ROOT_DIR}/documentation/${subdir}_doc.cmake" OPTIONAL) + + if(NOT DEFINED PROJECT_PAGE) + set(PROJECT_PAGE "${subdir}Page") + endif() + + if(NOT DEFINED PROJECT_TYPE) + set(PROJECT_TYPE "OTHERS") + endif() + + set(PROJECT_SUBPAGE_REF " - @subpage ${PROJECT_PAGE}") + set(PROJECT_REF_REF " - @ref ${PROJECT_PAGE}") + + if(DEFINED PROJECT_LINK) + string(APPEND PROJECT_SUBPAGE_REF " (${PROJECT_LINK})") + string(APPEND PROJECT_REF_REF " (${PROJECT_LINK})") + endif() + + if(DEFINED PROJECT_DESCRIPTION) + string(APPEND PROJECT_SUBPAGE_REF ": ${PROJECT_DESCRIPTION}") + string(APPEND PROJECT_REF_REF " (${PROJECT_DESCRIPTION})") + endif() + + string(APPEND SIBR_PROJECTS_${PROJECT_TYPE}_SUBPAGE_REF_LOCAL "${PROJECT_SUBPAGE_REF}\n") + string(APPEND SIBR_PROJECTS_${PROJECT_TYPE}_REF_REF_LOCAL "${PROJECT_REF_REF}\n") + + if(EXISTS "${${subdir}_ROOT_DIR}/documentation/img") + set(DOXY_APP_SPECIFIC_IMG_PATH_LOCAL "${DOXY_APP_SPECIFIC_IMG_PATH_LOCAL} ${${subdir}_ROOT_DIR}/documentation/img") + endif() + + if(EXISTS "${${subdir}_ROOT_DIR}/LICENSE.md") + set(DOXY_DOC_EXCLUDE_PATTERNS_DIRS_LOCAL "${DOXY_DOC_EXCLUDE_PATTERNS_DIRS_LOCAL} ${${subdir}_ROOT_DIR}/LICENSE.md") + endif() + endif() + else() + set(DOXY_DOC_EXCLUDE_PATTERNS_DIRS_LOCAL "${DOXY_DOC_EXCLUDE_PATTERNS_DIRS_LOCAL} ${${subdir}_ROOT_DIR}") + endif() +endforeach() + +set(SIBR_PROJECTS_SAMPLES_SUBPAGE_REF "${SIBR_PROJECTS_SAMPLES_SUBPAGE_REF_LOCAL}" PARENT_SCOPE) +set(SIBR_PROJECTS_OURS_SUBPAGE_REF "${SIBR_PROJECTS_OURS_SUBPAGE_REF_LOCAL}" PARENT_SCOPE) +set(SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF "${SIBR_PROJECTS_TOOLBOX_SUBPAGE_REF_LOCAL}" PARENT_SCOPE) +set(SIBR_PROJECTS_OTHERS_SUBPAGE_REF "${SIBR_PROJECTS_OTHERS_SUBPAGE_REF_LOCAL}" PARENT_SCOPE) +set(SIBR_PROJECTS_SAMPLES_REF_REF "${SIBR_PROJECTS_SAMPLES_REF_REF_LOCAL}" PARENT_SCOPE) +set(SIBR_PROJECTS_OURS_REF_REF "${SIBR_PROJECTS_OURS_REF_REF_LOCAL}" PARENT_SCOPE) +set(SIBR_PROJECTS_TOOLBOX_REF_REF "${SIBR_PROJECTS_TOOLBOX_REF_REF_LOCAL}" PARENT_SCOPE) +set(SIBR_PROJECTS_OTHERS_REF_REF "${SIBR_PROJECTS_OTHERS_REF_REF_LOCAL}" PARENT_SCOPE) +set(DOXY_APP_SPECIFIC_IMG_PATH "${DOXY_APP_SPECIFIC_IMG_PATH_LOCAL}" PARENT_SCOPE) +set(DOXY_DOC_EXCLUDE_PATTERNS_DIRS "${DOXY_DOC_EXCLUDE_PATTERNS_DIRS_LOCAL}" PARENT_SCOPE) + +if (BUILD_IBR_TFGL_INTEROP) + add_subdirectory(projects/tfgl_interop/renderer/custom_ops) +endif() diff --git a/SIBR_viewers/src/core/assets/ActiveImageFile.cpp b/SIBR_viewers/src/core/assets/ActiveImageFile.cpp new file mode 100644 index 0000000000..620bbbe278 --- /dev/null +++ b/SIBR_viewers/src/core/assets/ActiveImageFile.cpp @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +# include +# include +# include "core/assets/ActiveImageFile.hpp" + +namespace sibr +{ + bool ActiveImageFile::load( const std::string& filename, bool verbose ) + { + + std::fstream file(filename, std::ios::in); + if(_numImages == 0 ) + SIBR_WRG << "No Images Loaded while loading '"<> imageId; + _active[imageId] = true; + } + + if( verbose ) + SIBR_FLOG << "'"<< filename <<"' successfully loaded." << std::endl; + else + std::cerr<< "." ; + return true; + } + else { + for(int i=0; i < _numImages; i++) + _active[i]=true; + if( verbose ) + SIBR_WRG << "file not found: '"<& active( void ) const { return _active; } + + + private: + std::vector _active; ///< Flags denoting which images are active. + int _numImages = 0; ///< Number of images. + + }; + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/assets/CMakeLists.txt b/SIBR_viewers/src/core/assets/CMakeLists.txt new file mode 100644 index 0000000000..e68317caab --- /dev/null +++ b/SIBR_viewers/src/core/assets/CMakeLists.txt @@ -0,0 +1,45 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(sibr_assets) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp" ) +source_group("Source Files" FILES ${SOURCES}) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") + + +## Specify target rules +add_library(${PROJECT_NAME} SHARED ${SOURCES}) + +include_directories( + ${Boost_INCLUDE_DIRS} + ${xatlas_INCLUDE_DIRS} +) +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + OpenMP::OpenMP_CXX + sibr_graphics + xatlas +) + +add_definitions(-DSIBR_ASSETS_EXPORTS -DBOOST_ALL_DYN_LINK) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER ${SIBR_FOLDER}) + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) +) diff --git a/SIBR_viewers/src/core/assets/CameraRecorder.cpp b/SIBR_viewers/src/core/assets/CameraRecorder.cpp new file mode 100755 index 0000000000..b821210d7f --- /dev/null +++ b/SIBR_viewers/src/core/assets/CameraRecorder.cpp @@ -0,0 +1,515 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include "core/assets/CameraRecorder.hpp" +#include "core/assets/InputCamera.hpp" +#include + +namespace sibr +{ + void CameraRecorder::use(Camera& cam) + { + if (_recording) { + _cameras.push_back(cam); + } + else if (_playing && _pos < _cameras.size() ) { + const float znear = cam.znear(); + const float zfar = cam.zfar(); + + if( !_playNoInterp ) { + //std::cout << _playing << std::endl; + // If we reach the last frame of the interpolation b/w two cameras, skip to next camera. + if (_interp > (1.0f - _speed)) + { + _interp = 0.0f; + _pos++; + } + // Interpolate between the two closest cameras. + const float k = std::min(std::max(_interp, 0.0f), 1.0f); + + sibr::Camera & camStart = _cameras[std::min(int(_pos), int(_cameras.size()) - 1)]; + sibr::Camera & camNext = _cameras[std::min(int(_pos) + 1, int(_cameras.size())-1)]; + + cam = sibr::Camera::interpolate(camStart, camNext, k); + + _interp += _speed; + } + else { + cam = _cameras[_pos]; + _pos++; + if (_pos == _cameras.size()) + _playNoInterp = false; + + } + + // Preserve the znear and zfar. + cam.znear(znear); + cam.zfar(zfar); + + if (_saving) { + std::ostringstream ssZeroPad; + ssZeroPad << std::setw(8) << std::setfill('0') << (_pos); + cam.setSavePath(_savingPath + "/" + ssZeroPad.str() + ".png"); + //std::cout << "Saving frame as: " << cam.savePath() << std::endl; + } + if (_savingVideo) { + cam.setDebugVideo(true); + } + if (_pos >= _cameras.size()) + { + stop(); + SIBR_LOG << "[CameraRecorder] - Playback Finished" << std::endl; + } + } + else { + //std::cout << _playing << std::endl; + cam.setSavePath(""); + cam.setDebugVideo(false); + } + } + + void CameraRecorder::playback(void) + { + stop(); + _playing = true; + SIBR_LOG << "[CameraRecorder] - Playing" << std::endl; + } + + void CameraRecorder::record(void) + { + stop(); + _recording = true; + SIBR_LOG << "[CameraRecorder] - Recording" << std::endl; + } + + void sibr::CameraRecorder::saving(std::string savePath) + { + _saving = true; + _savingPath = savePath; + SIBR_LOG << "[CameraRecorder] - Recording" << std::endl; + } + + void CameraRecorder::savingVideo(bool saveVideo) + { + _savingVideo = saveVideo; + } + + void sibr::CameraRecorder::stopSaving(void) + { + _saving = false; + _savingPath = ""; + } + + void CameraRecorder::stop(void) + { + _recording = _playing = false; + _pos = 0; + _interp = 0.0f; + } + + void CameraRecorder::reset(void) + { + stop(); + _cameras.clear(); + } + + bool CameraRecorder::load(const std::string& filename) + { + reset(); + + sibr::ByteStream stream; + + if (stream.load(filename) == false) + return false; + + int32 num = 0; + + std::cout << " CameraRecorder::load " << num << std::endl; + + stream >> num; + while (num > 0) + { + Camera cam; + stream >> cam; + _cameras.emplace_back(std::move(cam)); + --num; + } + SIBR_LOG << "[CameraRecorder] - Loaded from " << filename << std::endl; + return stream; + } + + void CameraRecorder::save(const std::string& filename) + { + sibr::ByteStream stream; + int32 num = (int32)_cameras.size(); + stream << num; + for (const Camera& cam : _cameras) + stream << cam; + + stream.saveToFile(filename); + SIBR_LOG << "[CameraRecorder] - Saved " << num << " cameras to " << filename << std::endl; + } + + bool CameraRecorder::safeLoad(const std::string & filename, int w, int h) + { + Path path = Path(filename); + + if (path.extension().string() == ".out") { + loadBundle(filename, w, h); + return true; + } else if (path.extension().string() == ".path") { + return load(filename); + } + SIBR_WRG << "Unable to load camera path" << std::endl; + return false; + } + + void CameraRecorder::loadBundle(const std::string & filePath, int w, int h) + { + const std::string bundlerFile = filePath; + SIBR_LOG << "Loading bundle path." << std::endl; + + // check bundler file + std::ifstream bundle_file(bundlerFile); + SIBR_ASSERT(bundle_file.is_open()); + + // read number of images + std::string line; + getline(bundle_file, line); // ignore first line - contains version + int numImages = 0; + bundle_file >> numImages; // read first value (number of images) + getline(bundle_file, line); // ignore the rest of the line + + std::vector cameras(numImages); + // Parse bundle.out file for camera calibration parameters + for (int i = 0; i < numImages; i++) { + + Matrix4f m; + bundle_file >> m(0) >> m(1) >> m(2) >> m(3) >> m(4); + bundle_file >> m(5) >> m(6) >> m(7) >> m(8) >> m(9); + bundle_file >> m(10) >> m(11) >> m(12) >> m(13) >> m(14); + + cameras[i] = InputCamera::Ptr(new InputCamera(i, w, h, m, true)); + + cameras[i]->znear(0.2f); cameras[i]->zfar(250.f); + + } + + for (const InputCamera::Ptr cam : cameras) + { + _cameras.push_back(*cam); + } + + } + + void CameraRecorder::loadColmap(const std::string &filePath, int w, int h) + { + SIBR_LOG << "Loading colmap path." << std::endl; + boost::filesystem::path colmapDir ( filePath ); + + SIBR_LOG << "DEBUG: colmap path dir " << colmapDir.parent_path().string() << std::endl; + + std::vector path = InputCamera::loadColmap(colmapDir.parent_path().string(), float(0.01), 1000, false ); + for (const InputCamera::Ptr cam : path) + { + _cameras.push_back(*cam); + } + } + + void CameraRecorder::loadLookat(const std::string &filePath, int w, int h) + { + SIBR_LOG << "Loading lookat path." << std::endl; + std::vector path = InputCamera::loadLookat(filePath, std::vector{Vector2u(w, h)}); + for (const InputCamera::Ptr cam : path) + { + _cameras.push_back(*cam); + } + } + + void CameraRecorder::saveAsBundle(const std::string & filePath, const int height, const int step) + { + + std::ofstream out(filePath.c_str(), std::ios::binary); + if (!out.good()) { + SIBR_LOG << "ERROR: cannot write to the file '" << filePath << "'" << std::endl; + return; + } + + if(_cameras.empty()) { + return; + } + + const int size = static_cast(_cameras.size() / step); + + out << "# Bundle file v0.3\n"; + out << size << " " << 0 << "\n"; + + for (int i = 0; i < _cameras.size(); i += step) { + + const sibr::Camera cam = _cameras[i]; + sibr::Quaternionf q = cam.rotation(); + sibr::Matrix3f m1 = q.toRotationMatrix(); + sibr::Vector3f pos = -m1.transpose() * cam.position(); + + float m[15]; + m[0] = 0.5f*height / tan(cam.fovy() / 2.f); m[1] = 0.0f; m[2] = 0.0f; + m[3] = m1(0, 0), m[4] = m1(1, 0), m[5] = m1(2, 0); + m[6] = m1(0, 1), m[7] = m1(1, 1), m[8] = m1(2, 1); + m[9] = m1(0, 2), m[10] = m1(1, 2), m[11] = m1(2, 2); + m[12] = pos.x(), m[13] = pos.y(), m[14] = pos.z(); + + out << m[0] << " " << m[1] << " " << m[2] << std::endl; + out << m[3] << " " << m[4] << " " << m[5] << std::endl; + out << m[6] << " " << m[7] << " " << m[8] << std::endl; + out << m[9] << " " << m[10] << " " << m[11] << std::endl; + out << m[12] << " " << m[13] << " " << m[14] << std::endl; + } + out << std::endl; + out.close(); + + SIBR_LOG << "[CameraRecorder] - Saved " << _cameras.size() << " cameras to " << filePath << " (using fovy " <<_cameras[0].fovy() << ")." << std::endl; + + } + + void CameraRecorder::saveAsColmap(const std::string& filePath, const int height, const int width) + { + + std::string basepath = parentDirectory(filePath); + std::cout << basepath << std::endl; + std::string images_filepath = basepath + "/images.txt"; + std::string cameras_filepath = basepath + "/cameras.txt"; + + std::ofstream out_images(images_filepath.c_str(), std::ios::binary); + std::ofstream out_cameras(cameras_filepath.c_str(), std::ios::binary); + + if (!out_images.good()) { + SIBR_LOG << "ERROR: cannot write to the file '" << filePath << "'" << std::endl; + return; + } + if (!out_cameras.good()) { + SIBR_LOG << "ERROR: cannot write to the file '" << filePath << "'" << std::endl; + return; + } + + if (_cameras.empty()) { + return; + } + + const int size = static_cast(_cameras.size()); + + sibr::Matrix3f converter; + converter << 1, 0, 0, + 0, -1, 0, + 0, 0, -1; + + + + out_images << "# Image list with two lines of data per image:" << std::endl; + out_images << "# IMAGE_ID, QW, QX, QY, QZ, TX, TY, TZ, CAMERA_ID, NAME" << std::endl; + out_images << "# POINTS2D[] as (X, Y, POINT3D_ID)" << std::endl; + for (int i = 0; i < _cameras.size(); i++) { + sibr::Matrix3f tmp = _cameras[i].rotation().toRotationMatrix() * converter; + sibr::Matrix3f Qinv = tmp.transpose(); + sibr::Quaternionf q = quatFromMatrix(Qinv); + sibr::Vector3f t = converter * _cameras[i].rotation().toRotationMatrix().transpose() * (-_cameras[i].position()); + + + out_images << i << " " << -_cameras[i].rotation().x() << " " << -_cameras[i].rotation().w() << " " << -_cameras[i].rotation().z() << " " << _cameras[i].rotation().y() << " " << + _cameras[i].view()(0, 3) << " " << -_cameras[i].view()(1, 3) << " " << -_cameras[i].view()(2, 3) << " " << i << " " << "00000000.png" << std::endl << std::endl; + + float focal = 0.5f * height / tan(_cameras[i].fovy() / 2.f); + //float focal = 1.0f / (tan(0.5f * cam.fovy()) * 2.0f / float(height)); + out_cameras << i << " " << "PINHOLE" << " " << width << " " << height << " " << focal << " " << focal << " " << width / 2.0 << " " << height / 2.0 << std::endl; + } + + out_images << std::endl; + out_images.close(); + out_cameras << std::endl; + out_cameras.close(); + SIBR_LOG << "[CameraRecorder] - Saved " << _cameras.size() << " cameras to " << filePath << " (using fovy " << _cameras[0].fovy() << ")." << std::endl; + + } + + + void CameraRecorder::saveAsFRIBRBundle(const std::string & dirPath, const int width, const int height) + { + const std::string bundlepath = dirPath + "/path.rd.out"; + const std::string listpath = dirPath + "/list.txt"; + const std::string imagesDir = dirPath + "/visualize/"; + sibr::makeDirectory(dirPath); + sibr::makeDirectory(imagesDir); + std::ofstream out(bundlepath); + std::ofstream outList(listpath); + if (out.good() && outList.good()) { + const int size = static_cast(_cameras.size() / 1); + out << "# Bundle file v0.3\n"; + out << size << " " << 0 << "\n"; + sibr::Matrix3f converter; + converter << 1, 0, 0, + 0, -1, 0, + 0, 0, -1; + sibr::Matrix3f from_cv; + from_cv << 1, 0, 0, + 0, -1, 0, + 0, 0, -1; + for (int i = 0; i < _cameras.size(); ++i) { + + const sibr::Camera cam = _cameras[i]; + + sibr::Matrix3f orientation = cam.rotation().toRotationMatrix(); + sibr::Vector3f position = cam.position(); + sibr::Matrix3f rotation_cv = converter.transpose() * orientation.transpose() * converter; + sibr::Matrix3f rotation_bundler = from_cv * rotation_cv; + sibr::Vector3f position_cv = converter.transpose() * position; + sibr::Vector3f translation_cv = -(rotation_cv * position_cv); + sibr::Vector3f pos = from_cv * translation_cv; + + sibr::Matrix3f m1 = rotation_bundler.transpose(); + float m[15]; + m[0] = 0.5f*height / tan(cam.fovy() / 2.f); m[1] = 0.0f; m[2] = 0.0f; + m[3] = m1(0, 0), m[4] = m1(1, 0), m[5] = m1(2, 0); + m[6] = m1(0, 1), m[7] = m1(1, 1), m[8] = m1(2, 1); + m[9] = m1(0, 2), m[10] = m1(1, 2), m[11] = m1(2, 2); + m[12] = pos.x(), m[13] = pos.y(), m[14] = pos.z(); + out << m[0] << " " << m[1] << " " << m[2] << std::endl; + out << m[3] << " " << m[4] << " " << m[5] << std::endl; + out << m[6] << " " << m[7] << " " << m[8] << std::endl; + out << m[9] << " " << m[10] << " " << m[11] << std::endl; + out << m[12] << " " << m[13] << " " << m[14] << std::endl; + + const std::string imageName = sibr::intToString<8>(i) + ".jpg"; + outList << "visualize/" + imageName << " 0 " << m[0] << std::endl; + + cv::Mat3b dummy(height, width); + cv::imwrite(imagesDir + imageName, dummy); + } + out << std::endl; + out.close(); + outList.close(); + + SIBR_LOG << "[CameraRecorder] - Saved " << _cameras.size() << " cameras to " << dirPath << "." << std::endl; + } + } + + void CameraRecorder::saveAsLookAt(const std::string & filePath) const + { + InputCamera::saveAsLookat(_cameras, filePath); + } + + // offline path rendering + bool CameraRecorder::loadPath(const std::string& pathFileName, int w, int h) { + _savingPath = parentDirectory(pathFileName); + if (!fileExists(pathFileName)) { + SIBR_WRG << "Camera path " << pathFileName << " doesnt exist. " << std::endl; + return false; + } + _ow = w, _oh = h; + if (boost::filesystem::extension(pathFileName) == ".out") + loadBundle(pathFileName, w, h); + else if (boost::filesystem::extension(pathFileName) == ".lookat") + loadLookat(pathFileName, w, h); + else if (boost::filesystem::extension(pathFileName) == ".txt") + loadColmap(pathFileName, w, h); + else + load(pathFileName); + return true; + } + + void CameraRecorder::recordOfflinePath(const std::string& outPathDir, ViewBase::Ptr view, const std::string& prefix) { + sibr::ImageRGBA32F::Ptr outImage; + outImage.reset(new ImageRGBA32F(_ow, _oh)); + std::string outpathd = outPathDir; + + sibr::RenderTargetRGBA32F::Ptr outFrame; + outFrame.reset(new RenderTargetRGBA32F(_ow, _oh)); + std::string outFileName; + + boost::filesystem::path dstFolder; + + outpathd = outPathDir; + + if (outPathDir == "pathOutput" && _savingPath != "") { // default to path parent, saved by loadPath + outpathd = _savingPath + "/" + "pathOutput"; + dstFolder = outpathd; + if (!directoryExists(outpathd) && !boost::filesystem::create_directories(dstFolder)) + SIBR_ERR << "Error creating directory " << dstFolder << std::endl; + } + + if( prefix != "" ) + dstFolder = outpathd = outpathd + "/" + prefix; + else + dstFolder = outpathd ; + + if (!directoryExists(outpathd) && !boost::filesystem::create_directories(dstFolder)) + SIBR_ERR << "Error creating directory " << dstFolder << std::endl; + + std::cout << "Rendering path with " << _cameras.size() << " cameras to " << outpathd << std::endl; + + for (int i = 0; i < _cameras.size(); ++i) { + outFrame->clear(); + std::ostringstream ssZeroPad; + ssZeroPad << std::setw(8) << std::setfill('0') << i; + outFileName = outpathd + "/" + ssZeroPad.str() + ".png"; + std::cout << outFileName << " " << std::endl; + view->onRenderIBR(*outFrame, _cameras[i]); + outFrame->readBack(*outImage); + outImage->save(outFileName, false); + } + std::cout << std::endl; + + std::cout << "Done rendering path. " << std::endl; + + } + + void CameraRecorder::saveImage(const std::string& outPathDir, const Camera& cam, int w, int h) { + sibr::ImageRGBA32F::Ptr outImage; + _ow = w, _oh = h; + outImage.reset(new ImageRGBA32F(_ow, _oh)); + std::string outpathd = outPathDir; + + sibr::RenderTargetRGBA32F::Ptr outFrame; + outFrame.reset(new RenderTargetRGBA32F(_ow, _oh)); + std::string outFileName; + + boost::filesystem::path dstFolder; + + outpathd = outPathDir; + + if (outPathDir == "") { // default to path parent, saved by loadPath + outpathd = _dsPath + "/" + "pathOutput"; + dstFolder = outpathd; + if (!directoryExists(outpathd) && !boost::filesystem::create_directories(dstFolder)) + SIBR_ERR << "Error creating directory " << dstFolder << std::endl; + } + + dstFolder = outpathd; + + if (!directoryExists(outpathd) && !boost::filesystem::create_directories(dstFolder)) + SIBR_ERR << "Error creating directory " << dstFolder << std::endl; + + std::cout << "Saving current camera to " << outpathd << std::endl; + + outFrame->clear(); + std::ostringstream ssZeroPad; + static int i = 0; + ssZeroPad << std::setw(8) << std::setfill('0') << i++; + outFileName = outpathd + "/" + ssZeroPad.str() + ".png"; + std::cout << outFileName << " " << std::endl; + _view->onRenderIBR(*outFrame, cam); + outFrame->readBack(*outImage); + outImage->save(outFileName, false); + std::cout << std::endl; + std::cout << "Done saving image. " << std::endl; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/assets/CameraRecorder.hpp b/SIBR_viewers/src/core/assets/CameraRecorder.hpp new file mode 100755 index 0000000000..44dd414495 --- /dev/null +++ b/SIBR_viewers/src/core/assets/CameraRecorder.hpp @@ -0,0 +1,236 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include "core/assets/Config.hpp" +# include "core/graphics/Camera.hpp" +# include "core/view/ViewBase.hpp" + + +# define SIBR_CAMERARECORDER_DEFAULTFILE "camera-record.bytes" + +namespace sibr +{ + /** This class handles the recording and replay of a stream of cameras. + \ingroup sibr_assets + */ + class SIBR_ASSETS_EXPORT CameraRecorder + { + public: + + /** + Default constructor. + */ + CameraRecorder(void) : + _pos(0), _recording(false), _playing(false), _saving(false), _savingPath(""), _savingVideo(false), _savingVideoPath(""), _speed(1.0f), _interp(0.0f), _playNoInterp(false) { + //load(); + } + /** + Default destructor. + */ + ~CameraRecorder( void ) { + } + + /** + This method supports two modes: if the recorder is currently recording, + the camera argument will be saved into the recording; else if the recorder + is playing, the camera argument will be set to the current replaid camera. + \param cam A reference to the camera to record/update. + */ + void use( Camera& cam ); + + /** + Start playing the recorded camera stream from the beginning, at a rate of one step for each "use" call. + */ + void playback( void ); + + /** + Start recording a new camera stream, at a rate of one camera saved for each "use" call. + */ + void record( void ); + + /** + Start asking the renderer to save the frames, at a rate of one image saved for each "use" call. + */ + void saving(std::string savePath); + + /** + Toggle the save flag for video frames when replaying. + \param saveVideo the new flag status + */ + void savingVideo(bool saveVideo); + + /** + Stop saving. + */ + void stopSaving(void); + + /** + Stop playing/recording. + */ + void stop( void ); + + /** + Clear the current recording. + */ + void reset( void ); + + /** + Set value of play no interpolation + */ + void playNoInterpolation( bool val ) { _playNoInterp = val; } + + /** + Load a recorded camera stream from a given file. + \param filename Optional path to the file to load from. By default will try to + load SIBR_CAMERARECORDER_DEFAULTFILE from the current directory. + \return a boolean denoting the loading success/failure. + */ + bool load( const std::string& filename=SIBR_CAMERARECORDER_DEFAULTFILE ); + + /** + Save the current recording stream to a given file. + \param filename Optional path to the file to write to. By default will try to + write to SIBR_CAMERARECORDER_DEFAULTFILE in the current directory. + */ + void save( const std::string& filename=SIBR_CAMERARECORDER_DEFAULTFILE ); + + /** Load recorded path based on file extension. + *\param filename the file to load + *\param w resoltuion width + *\param h resolution height + *\return a success boolean + *\note w and h are needed when loading a Bundle. + */ + bool safeLoad(const std::string& filename, int w = 1920, int h = 1080); + + /** + Load a recording stream saved as a bundle file (useful for path from FRIBR). + \param filePath Path to the bundle file to write to. + \param w the image width to use for Fov computation + \param h the image height + */ + void loadBundle(const std::string & filePath, int w = 1920, int h = 1080); + + /** + *Load a camera path generated by the camera editor / bledner plugin + *\param filePath Path to the .lookat file. + *\param w Width of the cameras to create. + *\param h Height of the cameras to create. + */ + void loadLookat(const std::string &filePath, int w = 1920, int h = 1080); + + /** + *Load a camera path generated by colmap requires filename images.txt for now TODO GD; fix this + *\param filePath Path to the images.txt file; assumes that a cameras.txt is "next to" it; + *\param w Width of the cameras to create. + *\param h Height of the cameras to create. + */ + void loadColmap(const std::string &filePath, int w = 1920, int h = 1080); + + + /** + Save the current recording stream as a bundle file. + \param filePath Path to the bundle file to write to. + \param height the height in pixels of the camera. Used to compute focal length in mm as expected by bundle. + \param step set to a value greater than 1 to save every "step" camera in the recording stream. + */ + void saveAsBundle(const std::string & filePath, const int height, const int step = 1); + void saveAsColmap(const std::string& filePath, const int height, const int width); + + /** + Save the current recording stream as a bundle file and a series of empty images for FRIBR compatibility. + \param dirPath Path to the directory to export to. + \param width the width in pixels of the camera. + \param height the height in pixels of the camera. + */ + void saveAsFRIBRBundle(const std::string & dirPath, const int width, const int height); + + /** + Save the current recording stream as a lookat file. + \param filePath Path to the lookat file to write to. + */ + void saveAsLookAt(const std::string& filePath) const; + + /** + \return a boolean denoting if the recorder is currently playing. + */ + bool isPlaying() const { return _playing; } + + /** + \return a boolean denoting if the recorder is currently recording. + */ + bool isRecording() const { return _recording; } + + /** + \return a boolean denoting if the recorder is currently asking frames to be saved. + */ + bool isSaving() const { return _saving; } + + /** + \return A reference to the current stream of recorded cameras. + */ + std::vector& cams() { return _cameras; } + + /** + Updates the cameras from a vector, usefull to play already loaded path. + */ + void cams(std::vector& cams) { _cameras = cams; } + + + /** + Load a path, based on file extension name. Cameras loaded into _cameras + */ + bool loadPath(const std::string& pathFileName, int w, int h); + + /** + Play path for offline rendering using abstract View interface + */ + void recordOfflinePath(const std::string& outPathDir, ViewBase::Ptr view, const std::string& prefix); + + /** + Save an image + */ + void setViewPath(ViewBase::Ptr view, const std::string& dataset_path) { _view = view; _dsPath = dataset_path; }; + + void saveImage(const std::string& outPathDir, const Camera& cam, int w, int h); + + /** + * \return the interpolation speed + */ + float & speed() { return _speed; } + + private: + std::string _dsPath; // path to dataset + ViewBase::Ptr _view; // view to save images + uint _pos; ///< Current camera ID for replay. + std::vector _cameras; ///< List of recorded cameras. + bool _recording; ///< Are we currently recording. + bool _playing; ///< Are we currently playing. + bool _saving; ///< Are we saving the path as images. + std::string _savingPath; ///< Destination base path for saved images. + bool _savingVideo; ///< Are we saving the path as video. + std::string _savingVideoPath; ///< Destination base path for saved video. + float _speed; ///< Playback speed. + float _interp; ///< Current interpoaltion factor. + bool _playNoInterp; ///< Just play the cameras, make sure focal is preserved + int _ow, _oh; ///< offline output path resolution + }; + + ///// DEFINITIONS ///// + + + +} // namespace sibr + diff --git a/SIBR_viewers/src/core/assets/Config.hpp b/SIBR_viewers/src/core/assets/Config.hpp new file mode 100644 index 0000000000..3386bc1325 --- /dev/null +++ b/SIBR_viewers/src/core/assets/Config.hpp @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Config.hpp" +# include + + +#ifdef SIBR_OS_WINDOWS +//// Export Macro (used for creating DLLs) //// +# ifdef SIBR_STATIC_DEFINE +# define SIBR_EXPORT +# define SIBR_NO_EXPORT +# else +# ifndef SIBR_ASSETS_EXPORT +# ifdef SIBR_ASSETS_EXPORTS + /* We are building this library */ +# define SIBR_ASSETS_EXPORT __declspec(dllexport) +# else + /* We are using this library */ +# define SIBR_ASSETS_EXPORT __declspec(dllimport) +# endif +# endif +# ifndef SIBR_NO_EXPORT +# define SIBR_NO_EXPORT +# endif +# endif +# else +# define SIBR_ASSETS_EXPORT +# endif + +namespace sibr +{ + /** + * Utility that converts an integer id to a string using + * the "most used" format. + * \param id the id to convert (fi 7) + * \return the corresponding string (fi "0000007") + * \ingroup sibr_assets + */ + inline std::string imageIdToString( int id ) { + std::ostringstream oss; + oss << std::setfill('0') << std::setw(8) << id; + return oss.str(); + } + + /** Generate a string representation of an integer, padded with zeros. + * \param id the integer + * \return the padded string + * \note The template int value determines the padding count. + * \ingroup sibr_assets + * */ + template std::string intToString(int id) { + std::ostringstream oss; + oss << std::setfill('0') << std::setw(N) << id; + return oss.str(); + } + + /** + * Get the default path and filename used for the proxy + * mesh. + * \param datasetPath the base path + * \return the mesh path + * \ingroup sibr_assets + */ + inline std::string getProxyFilename( const std::string& datasetPath ) { + return datasetPath + "/pmvs/models/pmvs_recon.ply"; + } + + /** + * Loading status for streaming. + * \todo Rename the following status into: NotLoaded, CPULoading, CPUReady, GPUReady, Failure. + * \ingroup sibr_assets + */ + namespace LoadingStatus + { + enum Enum + { + NotLoaded = 0, + InProgress, + CPUReady, + Successful, + Failure, + + Count + }; + } // namespace LoadingStatus + +} // namespace sibr diff --git a/SIBR_viewers/src/core/assets/IFileLoader.hpp b/SIBR_viewers/src/core/assets/IFileLoader.hpp new file mode 100644 index 0000000000..9d24dc2485 --- /dev/null +++ b/SIBR_viewers/src/core/assets/IFileLoader.hpp @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/assets/Config.hpp" + +namespace sibr +{ + /** General file loading interface. + \ingroup sibr_assets + */ + class SIBR_ASSETS_EXPORT IFileLoader + { + public: + + /** Destructor. */ + virtual ~IFileLoader( void ) { } + + /** Load the file content from disk. + \param filename path to the file + \param verbose display information + \return a boolean denoting success + */ + virtual bool load( const std::string& filename, bool verbose = true ) = 0; + }; + +} // namespace sibr diff --git a/SIBR_viewers/src/core/assets/ImageListFile.cpp b/SIBR_viewers/src/core/assets/ImageListFile.cpp new file mode 100644 index 0000000000..c354d75571 --- /dev/null +++ b/SIBR_viewers/src/core/assets/ImageListFile.cpp @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +# include +# include +# include "core/assets/ImageListFile.hpp" + +namespace sibr +{ + bool ImageListFile::load( const std::string& filename, bool verbose ) + { + + std::fstream file(filename, std::ios::in); + + _infos.clear(); + if (file) + { + while (file.eof() == false) + { + Infos i; + file >> i.filename >> i.width >> i.height; + if (i.filename.size()) + _infos.emplace_back(std::move(i)); + } + + // store basename + boost::filesystem::path path(filename); + _basename = path.parent_path().string(); + + if( verbose ) + SIBR_FLOG << "'"<< filename <<"' successfully loaded." << std::endl; + + return true; + } + else + SIBR_WRG << "file not found: '"<& infos( void ) const { return _infos; } + + /** Image absename. + *\return the basename + **/ + const std::string& basename( void ) const { return _basename; } + + /** Load images. + \return the loaded images + */ + template + std::vector loadImages( void ) const; + + /** Load images, applying an active images file filter. + \param ac the active list file + \return the loaded images + \note Non-active images are present but empty. + */ + template + std::vector loadImages( const ActiveImageFile& ac) const; + + + private: + std::vector _infos; ///< Image infos. + std::string _basename; ///< Root name. + + }; + + ///// DEFINITIONS ///// + + + template + std::vector ImageListFile::loadImages( const ActiveImageFile& ac ) const { + std::vector out; + + SIBR_LOG << "[ImageListFile] loading images"; + out.resize(_infos.size()); + if (_infos.empty() == false) + { + #pragma omp parallel for + for (int i = 0; i < _infos.size(); ++i) + if( ac.active()[i] ) + out[i].load(_basename + "/" + _infos.at(i).filename, false); + } + else + SIBR_WRG << "cannot load images (ImageListFile is empty. Did you use ImageListFile::load(...) before ?"; + + std::cout << std::endl; + return out; + } + + template + std::vector ImageListFile::loadImages( void ) const { + std::vector out; + + std::cerr << "[ImageListFile] loading images"; + out.resize(_infos.size()); + if (_infos.empty() == false) + { + #pragma omp parallel for + for (int i = 0; i < _infos.size(); ++i) + out[i].load(_basename + "/" + _infos.at(i).filename, false); + } + else + SIBR_WRG << "cannot load images (ImageListFile is empty. Did you use ImageListFile::load(...) before ?"; + + return out; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/assets/InputCamera.cpp b/SIBR_viewers/src/core/assets/InputCamera.cpp new file mode 100755 index 0000000000..97f07547f0 --- /dev/null +++ b/SIBR_viewers/src/core/assets/InputCamera.cpp @@ -0,0 +1,1577 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "core/assets/ActiveImageFile.hpp" +#include "core/assets/InputCamera.hpp" +#include +#include +#include "core/system/String.hpp" +#include "picojson/picojson.hpp" + + +// Colmap binary stuff +#include "colmapheader.h" +typedef uint32_t image_t; +typedef uint32_t camera_t; +typedef uint64_t point3D_t; +typedef uint32_t point2D_t; + +#define SIBR_INPUTCAMERA_BINARYFILE_VERSION 10 +#define IBRVIEW_TOPVIEW_SAVEVERSION "version002" +#define FOCAL_X_UNDEFINED -1 + +namespace sibr +{ + InputCamera::InputCamera(float f, float k1, float k2, int w, int h, int id) : + _focal(f), _k1(k1), _k2(k2), _w(w), _h(h), _id(id), _active(true), _name(""), _focalx(FOCAL_X_UNDEFINED) + { + // Update fov and aspect ratio. + float fov = 2.0f * atan(0.5f * h / f); + float aspect = float(w) / float(h); + + Camera::aspect(aspect); + Camera::fovy(fov); + + _id = id; + } + + InputCamera::InputCamera(float fy, float fx, float k1, float k2, int w, int h, int id) : + _focal(fy), _k1(k1), _k2(k2), _w(w), _h(h), _id(id), _active(true), _name(""), _focalx(fx) + { + // Update fov and aspect ratio. + float fovY = 2.0f * atan(0.5f * h / fy); + float fovX = 2.0f * atan(0.5f * w / fx); + + Camera::aspect(tan(fovX / 2) / tan(fovY / 2)); + Camera::fovy(fovY); + + _id = id; + } + + + InputCamera::InputCamera(int id, int w, int h, sibr::Matrix4f m, bool active) : + _active(active) + { + Vector3f t; + float r[9]; + + for (int i = 0; i < 9; i++) r[i] = m(3 + i); + for (int i = 0; i < 3; i++) t[i] = m(12 + i); + + _w = w; + _h = h; + + _focal = m(0); + _focalx = FOCAL_X_UNDEFINED; + _k1 = m(1); + _k2 = m(2); + + float fov = 2.0f * atan(0.5f * h / m(0)); + float aspect = float(w) / float(h); + + sibr::Matrix3f matRotation; + matRotation << + r[0], r[1], r[2], + r[3], r[4], r[5], + r[6], r[7], r[8] + ; + + Camera::aspect(aspect); + Camera::fovy(fov); + + // http://www.cs.cornell.edu/~snavely/bundler/bundler-v0.4-manual.html#S6 + // Do pos = -R' * t + const sibr::Matrix3f orientation = matRotation.transpose(); + sibr::Vector3f position = -orientation * t; + Camera::position(position); + Camera::rotation(Quaternionf(orientation)); + + + Camera::principalPoint({ 0.5f, 0.5f }); + + + _id = id; + _name = ""; + } + + + + InputCamera::InputCamera(int id, int w, int h, sibr::Vector3f& position, sibr::Matrix3f& orientation, float focal, float k1, float k2, bool active) : + _active(active) + { + + + _w = w; + _h = h; + + _focal = focal; + _focalx = FOCAL_X_UNDEFINED; + _k1 = k1; + _k2 = k2; + + float fov = 2.0f * atan(0.5f * h / _focal); + float aspect = float(w) / float(h); + + + + Camera::aspect(aspect); + Camera::fovy(fov); + + // http://www.cs.cornell.edu/~snavely/bundler/bundler-v0.4-manual.html#S6 + // Do pos = -R' * t + + Camera::position(position); + Camera::rotation(Quaternionf(orientation)); + + _id = id; + _name = ""; + } + + InputCamera::InputCamera(const Camera& c, int w, int h) : Camera(c) { + _focal = 1.0f / (tan(0.5f * fovy()) * 2.0f / float(h)); + _focalx = FOCAL_X_UNDEFINED; + _k1 = _k2 = 0; + _w = w; + _h = h; + _id = 0; + _name = ""; + _active = true; + aspect(float(_w) / float(_h)); + } + + // ------------------------------------------------------------------------ + + void InputCamera::size(uint w, uint h) { _w = w; _h = h; } + uint InputCamera::w(void) const { return _w; } + uint InputCamera::h(void) const { return _h; } + bool InputCamera::isActive(void) const { return _active; } + + /* compatibility for preprocess (depth) */ + + + Vector3f InputCamera::projectScreen(const Vector3f& pt) const { + Vector3f proj_pt = project(pt); + Vector3f screen_pt((proj_pt[0] + 1.f) * _w / 2.0f, (1.f - proj_pt[1]) * _h / 2.0f, proj_pt[2] * 0.5f + 0.5f); + + return screen_pt; + } + + float InputCamera::focal() const { return _focal; }; + float InputCamera::focalx() const { return _focalx; }; + float InputCamera::k1() const { return _k1; }; + float InputCamera::k2() const { return _k2; }; + + InputCamera InputCamera::resizedH(int h) const { + + int w = int(_aspect * h); + + float sibr_focal = h * _focal / _h; + float k1 = _k1; + float k2 = _k2; + int id = _id; + + sibr::Matrix4f m; + + sibr::InputCamera cam(sibr_focal, k1, k2, w, h, id); + + cam.rotation(rotation()); + cam.position(position()); + + cam.znear(znear()); + cam.zfar(zfar()); + cam.name(name()); + + return cam; + } + + InputCamera InputCamera::resizedW(int w) const { + + int h = int(float(w) / _aspect); + + float sibr_focal = h * _focal / _h; + float k1 = _k1; + float k2 = _k2; + int id = _id; + + sibr::Matrix4f m; + + sibr::InputCamera cam(sibr_focal, k1, k2, w, h, id); + + cam.rotation(rotation()); + cam.position(position()); + + cam.znear(znear()); + cam.zfar(zfar()); + cam.name(name()); + + return cam; + } + + + + std::vector InputCamera::load(const std::string& datasetPath, float zNear, float zFar, const std::string& bundleName, const std::string& listName) + { + const std::string bundlerFile = datasetPath + "/cameras/" + bundleName; + const std::string listFile = datasetPath + "/images/" + listName; + const std::string clipFile = datasetPath + "/clipping_planes.txt"; + + // Loading clipping planes if they are available. + SIBR_LOG << "Loading clipping planes from " << clipFile << std::endl; + + struct Z { + Z() {} + Z(float f, float n) : far(f), near(n) {} + float far; + float near; + }; + std::vector nearsFars; + + { // Load znear & zfar for unprojecting depth samples + + float z; + std::ifstream zfile(clipFile); + // During preprocessing clipping planes are not yet defined + // the preprocess utility "depth" defines this + // SIBR_ASSERT(zfile.is_open()); + if (zfile.is_open()) { + int num_z_values = 0; + while (zfile >> z) { + if (num_z_values % 2 == 0) { + nearsFars.push_back(Z()); + nearsFars[nearsFars.size() - 1].near = z; + } + else { + nearsFars[nearsFars.size() - 1].far = z; + } + ++num_z_values; + } + + if (num_z_values > 0 && num_z_values % 2 != 0) { + nearsFars.resize(nearsFars.size() - 1); + } + + if (nearsFars.size() == 0) { + SIBR_WRG << " Could not extract at leat 2 clipping planes from '" << clipFile << "' ." << std::endl; + } + } + else { + SIBR_WRG << "Cannot open '" << clipFile << "' (not clipping plane loaded)." << std::endl; + } + + } + + // Load cameras and images infos. + SIBR_LOG << "Loading input cameras." << std::endl; + auto cameras = InputCamera::loadBundle(bundlerFile, zNear, zFar, listFile); + + if (!nearsFars.empty()) { + for (int cid = 0; cid < cameras.size(); ++cid) { + const int zid = std::min(cid, int(nearsFars.size()) - 1); + cameras[cid]->znear(nearsFars[zid].near); + cameras[cid]->zfar(nearsFars[zid].far); + } + } + + // Load active images + ActiveImageFile activeImageFile; + activeImageFile.setNumImages((int)cameras.size()); + // load active image file and set (in)active + if (activeImageFile.load(datasetPath + "/active_images.txt", false)) { + for (int i = 0; i < (int)cameras.size(); i++) { + if (!activeImageFile.active()[i]) + cameras[i]->setActive(false); + } + } + + // Load excluded images + ActiveImageFile excludeImageFile; + excludeImageFile.setNumImages((int)cameras.size()); + // load exclude image file and set *in*active + if (excludeImageFile.load(datasetPath + "/exclude_images.txt", false)) { + for (int i = 0; i < (int)cameras.size(); i++) { + // Attn (GD): invert the meaning of active for exclude: + // only file numbers explicitly in exclude_images are set + // to active, and these are the only ones we set to *inactive* + // should really create a separate class or have a flag "invert" + if (excludeImageFile.active()[i]) + cameras[i]->setActive(false); + } + } + return cameras; + } + + std::vector InputCamera::loadNVM(const std::string& nvmPath, float zNear, float zFar, std::vector wh) + { + std::ifstream in(nvmPath); + std::vector cameras; + + if (in.is_open()) + { + int rotation_parameter_num = 4; + bool format_r9t = false; + std::string token; + if (in.peek() == 'N') + { + in >> token; //file header + if (strstr(token.c_str(), "R9T")) + { + rotation_parameter_num = 9; //rotation as 3x3 matrix + format_r9t = true; + } + } + + int ncam = 0, npoint = 0, nproj = 0; + // read # of cameras + in >> ncam; if (ncam <= 1) return std::vector(); + + //read the camera parameters + + std::function matrix = [](const double q[9]) + { + + Eigen::Matrix3f m; + double qq = sqrt(q[0] * q[0] + q[1] * q[1] + q[2] * q[2] + q[3] * q[3]); + double qw, qx, qy, qz; + if (qq > 0) + { + qw = q[0] / qq; + qx = q[1] / qq; + qy = q[2] / qq; + qz = q[3] / qq; + } + else + { + qw = 1; + qx = qy = qz = 0; + } + m(0, 0) = float(qw * qw + qx * qx - qz * qz - qy * qy); + m(0, 1) = float(2 * qx * qy - 2 * qz * qw); + m(0, 2) = float(2 * qy * qw + 2 * qz * qx); + m(1, 0) = float(2 * qx * qy + 2 * qw * qz); + m(1, 1) = float(qy * qy + qw * qw - qz * qz - qx * qx); + m(1, 2) = float(2 * qz * qy - 2 * qx * qw); + m(2, 0) = float(2 * qx * qz - 2 * qy * qw); + m(2, 1) = float(2 * qy * qz + 2 * qw * qx); + m(2, 2) = float(qz * qz + qw * qw - qy * qy - qx * qx); + + return m; + }; + + for (int i = 0; i < ncam; ++i) + { + double f, q[9], c[3], d[2]; + in >> token >> f; + for (int j = 0; j < rotation_parameter_num; ++j) in >> q[j]; + in >> c[0] >> c[1] >> c[2] >> d[0] >> d[1]; + + std::string image_path = sibr::parentDirectory(nvmPath) + "/" + token; + sibr::Vector2i resolution = sibr::IImage::imageResolution(image_path); + + if (resolution.x() < 0 || resolution.y() < 0) + { + std::cerr << "Could not get resolution for input image: " << image_path << std::endl; + return std::vector(); + } + + int wIm = 1, hIm = 1; + if (ncam == wh.size()) { + wIm = wh[i].x(); + hIm = wh[i].y(); + } + else { + wIm = resolution.x(); + hIm = resolution.y(); + } + + //camera_data[i].SetFocalLength(f); + cameras.emplace_back(new InputCamera((float)f, (float)d[0], (float)d[1], wIm, hIm, i)); + + float fov = 2.0f * atan(0.5f * hIm / (float)f); + float aspect = float(wIm) / float(hIm); + cameras[i]->aspect(aspect); + cameras[i]->fovy(fov); + + //translation + Vector3f posCam((float)c[0], (float)c[1], (float)c[2]); + + if (format_r9t) + { + + std::cout << " WARNING THIS PART OF THE CODE WAS NEVER TESTED. IT IS SUPPOSED NOT TO WORK PROPERLY" << std::endl; + Eigen::Matrix3f matRotation; + matRotation << + float(q[0]), float(q[1]), float(q[2]), + float(q[3]), float(q[4]), float(q[5]), + float(q[6]), float(q[7]), float(q[8]) + ; + matRotation.transposeInPlace(); + + + cameras[i]->position(posCam); + cameras[i]->rotation(Quaternionf(matRotation)); + + } + else + { + + Eigen::Matrix3f converter; + converter << + 1, 0, 0, + 0, -1, 0, + 0, 0, -1; + //older format for compability + Quaternionf quat((float)q[0], (float)q[1], (float)q[2], (float)q[3]); + Eigen::Matrix3f matRotation = converter.transpose() * quat.toRotationMatrix(); + matRotation.transposeInPlace(); + + cameras[i]->position(posCam); + cameras[i]->rotation(Quaternionf(matRotation)); + + } + //camera_data[i].SetNormalizedMeasurementDistortion(d[0]); + cameras[i]->name(token); + } + std::cout << ncam << " cameras; " << npoint << " 3D points; " << nproj << " projections\n"; + } + else { + SIBR_WRG << "Cannot open '" << nvmPath << std::endl; + } + + return cameras; + } + + std::vector InputCamera::loadLookat(const std::string& lookatPath, const std::vector& wh, float znear, float zfar) + { + + std::ifstream in(lookatPath); + std::vector cameras; + + if (in.is_open()) + { + int i = 0; + for (std::string line; safeGetline(in, line); i++) + { + int w = 1024, h = 768; + if (wh.size() > 0) { + int whI = std::min(i, (int)wh.size() - 1); + w = wh[whI].x(); + h = wh[whI].y(); + } + else { + std::cout << "Warning default image size of 1024*768 is supposed for camera" << std::endl; + } + + bool use_fovx = false; + std::string camName = line.substr(0, line.find(" ")); + size_t originPos = line.find("-D origin=") + 10; + size_t targetPos = line.find("-D target=") + 10; + size_t upPos = line.find("-D up=") + 6; + size_t fovPos = line.find("-D fovy=") + 8; + int delta_fov = 9; + if (fovPos < 8) { + std::cout << "Warning: Fovy not found, backing to Fovx mode" << std::endl; + fovPos = line.find("-D fov=") + 7; + use_fovx = true; + delta_fov = 8; + } + size_t clipPos = line.find("-D clip=") + 8; + size_t aspectPos = line.find("-D aspect=") + 10; + size_t endPos = line.size(); + + std::string originStr = line.substr(originPos, targetPos - originPos - 11); + std::string targetStr = line.substr(targetPos, upPos - targetPos - 7); + std::string upStr = line.substr(upPos, fovPos - upPos - delta_fov); + std::string fovStr = line.substr(fovPos, clipPos - fovPos - 9); + std::string clipStr = line.substr(clipPos, endPos - clipPos); + + std::vector vecVal; + boost::split(vecVal, originStr, [](char c) {return c == ','; }); + Vector3f Eye(std::strtof(vecVal[0].c_str(), 0), std::strtof(vecVal[1].c_str(), 0), std::strtof(vecVal[2].c_str(), 0)); + boost::split(vecVal, targetStr, [](char c) {return c == ','; }); + Vector3f At(std::strtof(vecVal[0].c_str(), 0), std::strtof(vecVal[1].c_str(), 0), std::strtof(vecVal[2].c_str(), 0)); + + boost::split(vecVal, upStr, [](char c) {return c == ','; }); + Vector3f Up(std::strtof(vecVal[0].c_str(), 0), std::strtof(vecVal[1].c_str(), 0), std::strtof(vecVal[2].c_str(), 0)); + + float fov = std::strtof(fovStr.c_str(), 0); + + boost::split(vecVal, clipStr, [](char c) {return c == ','; }); + Vector2f clip(std::strtof(vecVal[0].c_str(), 0), std::strtof(vecVal[1].c_str(), 0)); + + Vector3f zAxis((Eye - At).normalized()); + Vector3f xAxis((Up.cross(zAxis)).normalized()); + Vector3f yAxis(zAxis.cross(xAxis)); + + Vector3f transl(-Eye.dot(xAxis), -Eye.dot(yAxis), -Eye.dot(zAxis)); + + Eigen::Matrix3f rotation; + rotation << xAxis, yAxis, zAxis; + rotation.transposeInPlace(); + + Eigen::Matrix4f mLook; + mLook.setZero(); + mLook.block<3, 3>(0, 0) = rotation; + mLook.block<3, 1>(0, 3) = transl; + mLook(3, 3) = 1; + + float fovRad = fov * float(M_PI) / 180; + float sibr_focal = 0.5f * h / tan(fovRad / 2.0f); //Lookat file contain the vertical field of view now + if (use_fovx) { + sibr_focal = 0.5f * w / tan(fovRad / 2.0f); //Lookat file contain the vertical field of view now + } + + Eigen::Matrix4f r(mLook); + /*float m[15] = { + sibr_focal,0,0, + r(0,0),r(0,1),r(0,2), + r(1,0),r(1,1),r(1,2), + r(2,0),r(2,1),r(2,2), + r(0,3),r(1,3),r(2,3) + }; + */ + Eigen::Matrix4f m; + m(0) = sibr_focal; m(1) = 0; m(2) = 0; + m(3) = r(0, 0); m(4) = r(0, 1); m(5) = r(0, 2); + m(6) = r(1, 0); m(7) = r(1, 1); m(8) = r(1, 2); + m(9) = r(2, 0); m(10) = r(2, 1); m(11) = r(2, 2); + m(12) = r(0, 3); m(13) = r(1, 3); m(14) = r(2, 3); + + + bool isActive = true; + + cameras.emplace_back(new InputCamera((int)cameras.size(), w, h, m, isActive)); + + if (znear > 0) { + cameras[i]->znear(znear); + } + else { + cameras[i]->znear(clip.x()); + } + if (zfar > 0) { + cameras[i]->zfar(zfar); + } + else { + cameras[i]->zfar(clip.y()); + } + cameras[i]->name(camName); + } + + } + else { + SIBR_WRG << "Cannot open '" << lookatPath << std::endl; + } + + return cameras; + + } + + std::string InputCamera::lookatString() const { + std::string infos = std::string(" -D origin=") + + std::to_string(position()[0]) + + std::string(",") + + std::to_string(position()[1]) + + std::string(",") + + std::to_string(position()[2]) + + std::string(" -D target=") + + std::to_string(position()[0] + + dir()[0]) + + std::string(",") + + std::to_string(position()[1] + + dir()[1]) + + std::string(",") + + std::to_string(position()[2] + + dir()[2]) + + std::string(" -D up=") + + std::to_string(up()[0]) + + std::string(",") + + std::to_string(up()[1]) + + std::string(",") + + std::to_string(up()[2]) + + std::string(" -D fovy=") + + std::to_string(180 * fovy() / M_PI) + + std::string(" -D clip=") + + std::to_string(znear()) + + std::string(",") + + std::to_string(zfar()) + + std::string("\n"); + return infos; + } + + void InputCamera::saveAsLookat(const std::vector& cams, const std::string& fileName) { + + std::ofstream fileRender(fileName, std::ios::out | std::ios::trunc); + for (const auto& cam : cams) { + + fileRender << cam->name() << cam->lookatString(); + } + + fileRender.close(); + } + + void InputCamera::saveImageSizes(const std::vector& cams, const std::string& fileName) { + + std::ofstream fileRender(fileName, std::ios::out | std::ios::trunc); + for (const auto& cam : cams) { + + fileRender << cam->w() << "x" << cam->h() << "\n"; + } + + fileRender.close(); + } + + + + + std::vector InputCamera::loadColmap(const std::string& colmapSparsePath, const float zNear, const float zFar, const int fovXfovYFlag) + { + const std::string camerasListing = colmapSparsePath + "/cameras.txt"; + const std::string imagesListing = colmapSparsePath + "/images.txt"; + + const std::string camerasListing2 = colmapSparsePath + "/cameras.txt2"; + const std::string imagesListing2 = colmapSparsePath + "/images.txt2"; + + std::ifstream camerasFile(camerasListing); + std::ifstream imagesFile(imagesListing); + std::ofstream camerasFile2(camerasListing2); + std::ofstream imagesFile2(imagesListing2); + if (!camerasFile.is_open()) { + SIBR_ERR << "Unable to load camera colmap file" << std::endl; + } + if (!imagesFile.is_open()) { + SIBR_WRG << "Unable to load images colmap file" << std::endl; + } + + std::vector cameras; + + std::string line; + + struct CameraParametersColmap { + size_t id; + size_t width; + size_t height; + float fx; + float fy; + float dx; + float dy; + }; + + std::map cameraParameters; + + std::map> camidtokens; + + while (safeGetline(camerasFile, line)) { + if (line.empty() || line[0] == '#') { + continue; + } + + std::vector tokens = sibr::split(line, ' '); + if (tokens.size() < 8) { + SIBR_WRG << "Unknown line." << std::endl; + continue; + } + if (tokens[1] != "PINHOLE" && tokens[1] != "OPENCV") { + SIBR_WRG << "Unknown camera type." << std::endl; + continue; + } + + CameraParametersColmap params; + params.id = std::stol(tokens[0]); + params.width = std::stol(tokens[2]); + params.height = std::stol(tokens[3]); + params.fx = std::stof(tokens[4]); + params.fy = std::stof(tokens[5]); + params.dx = std::stof(tokens[6]); + params.dy = std::stof(tokens[7]); + + cameraParameters[params.id] = params; + + camidtokens[params.id] = tokens; + } + + // Now load the individual images and their extrinsic parameters + sibr::Matrix3f converter; + converter << 1, 0, 0, + 0, -1, 0, + 0, 0, -1; + + int camid = 0; + int valid = 0; + while (safeGetline(imagesFile, line)) { + if (line.empty() || line[0] == '#') { + continue; + } + std::vector tokens = sibr::split(line, ' '); + if (tokens.size() < 10) { + SIBR_WRG << "Unknown line." << std::endl; + continue; + } + + uint cId = std::stoi(tokens[0]) - 1; + float qw = std::stof(tokens[1]); + float qx = std::stof(tokens[2]); + float qy = std::stof(tokens[3]); + float qz = std::stof(tokens[4]); + float tx = std::stof(tokens[5]); + float ty = std::stof(tokens[6]); + float tz = std::stof(tokens[7]); + size_t id = std::stol(tokens[8]); + + std::string imageName = tokens[9]; + + if (cameraParameters.find(id) == cameraParameters.end()) + { + SIBR_ERR << "Could not find intrinsics for image: " + << tokens[9] << std::endl; + } + const CameraParametersColmap& camParams = cameraParameters[id]; + + const sibr::Quaternionf quat(qw, qx, qy, qz); + const sibr::Matrix3f orientation = quat.toRotationMatrix().transpose() * converter; + sibr::Vector3f translation(tx, ty, tz); + + sibr::Vector3f position = -(orientation * converter * translation); + + sibr::InputCamera::Ptr camera; + if (fovXfovYFlag) { + camera = std::make_shared(InputCamera(camParams.fy, camParams.fx, 0.0f, 0.0f, int(camParams.width), int(camParams.height), int(cId))); + } + else { + camera = std::make_shared(InputCamera(camParams.fy, 0.0f, 0.0f, int(camParams.width), int(camParams.height), int(cId))); + } + + camera->name(imageName); + camera->position(position); + camera->rotation(sibr::Quaternionf(orientation)); + camera->znear(zNear); + camera->zfar(zFar); + + if (camera->position().x() < 0) + { + camerasFile2 << ++valid; + for (int i = 1; i < camidtokens[id].size(); i++) + camerasFile2 << " " << camidtokens[id][i]; + camerasFile2 << "\n\n"; + + imagesFile2<< valid; + for (int i = 1; i < tokens.size() - 1; i++) + imagesFile2 << " " << tokens[i]; + imagesFile2 << " " << valid << std::endl; + imagesFile2 << "\n\n"; + } + + cameras.push_back(camera); + + ++camid; + // Skip the observations. + safeGetline(imagesFile, line); + } + + + return cameras; + } + + std::vector InputCamera::loadBundle(const std::string& bundlerPath, float zNear, float zFar, const std::string& listImagePath, bool path) + { + SIBR_LOG << "Loading input cameras." << std::endl; + + // check bundler file + std::ifstream bundle_file(bundlerPath); + if (!bundle_file.is_open()) { + SIBR_ERR << "Unable to load bundle file at path \"" << bundlerPath << "\"." << std::endl; + return {}; + } + + const std::string listImages = listImagePath.empty() ? (bundlerPath + "/../list_images.txt") : listImagePath; + std::ifstream list_images(listImages); + if (!list_images.is_open()) { + SIBR_ERR << "Unable to load list_images file at path \"" << listImages << "\"." << std::endl; + return {}; + } + + // read number of images + std::string line; + getline(bundle_file, line); // ignore first line - contains version + int numImages = 0; + bundle_file >> numImages; // read first value (number of images) + getline(bundle_file, line); // ignore the rest of the line + + // Read all filenames + struct ImgInfos + { + std::string name; + int id; + int w, h; + }; + std::vector imgInfos; + { + ImgInfos infos; + while (true) + { + list_images >> infos.name; + if (infos.name.empty()) break; + list_images >> infos.w >> infos.h; + infos.name.erase(infos.name.find_last_of("."), std::string::npos); + infos.id = atoi(infos.name.c_str()); + imgInfos.push_back(infos); + infos.name.clear(); + } + } + + ImgInfos infoPrevImage; + bool shortListImages = false; + // check if list images has the same number of cameras as path, else assume we read the dataset list_images.txt + if (path && imgInfos.size() != numImages) + shortListImages = true; + + + + + std::vector cameras(numImages); + // Parse bundle.out file for camera calibration parameters + for (int i = 0, infosId = 0; i < numImages; i++) { + + ImgInfos infos; + std::string camName; + + if (!shortListImages) { + infoPrevImage = infos = imgInfos[infosId]; + camName = infos.name; + if (infosId > imgInfos.size()) + break; + } + else { + // hack; use info of last available image, but (always) change name + if( i < imgInfos.size()) + infoPrevImage = infos = imgInfos[infosId]; + else + infos = infoPrevImage; + + std::stringstream ss; + ss << std::setw(10) << std::setfill('0') << i; + std::string s = ss.str(); + camName = std::string("path_camera") + s; + } + + Matrix4f m; // bundler params + + bundle_file >> m(0) >> m(1) >> m(2) >> m(3) >> m(4); + bundle_file >> m(5) >> m(6) >> m(7) >> m(8) >> m(9); + bundle_file >> m(10) >> m(11) >> m(12) >> m(13) >> m(14); + + cameras[infosId] = InputCamera::Ptr(new InputCamera(infosId, infos.w, infos.h, m, true)); + cameras[infosId]->name(camName); + cameras[infosId]->znear(zNear); cameras[infosId]->zfar(zFar); + + ++infosId; + } + + return cameras; + } + + std::vector InputCamera::loadBundleFRIBR(const std::string& bundlerPath, float zNear, float zFar, const std::string& listImagePath) + { + SIBR_LOG << "Loading input cameras." << std::endl; + + // check bundler file + std::ifstream bundle_file(bundlerPath); + if (!bundle_file.is_open()) { + SIBR_ERR << "Unable to load bundle file at path \"" << bundlerPath << "\"." << std::endl; + return {}; + } + + + // read number of images + std::string line; + getline(bundle_file, line); // ignore first line - contains version + int numImages = 0; + bundle_file >> numImages; // read first value (number of images) + getline(bundle_file, line); // ignore the rest of the line + + std::vector cameras(numImages); + + Eigen::Matrix3f to_cv, converter; + to_cv << 1.0f, 0.0f, 0.0f, + 0.0f, -1.0f, 0.0f, + 0.0f, 0.0f, -1.0f; + converter << + 1, 0, 0, + 0, -1, 0, + 0, 0, -1; + // Parse bundle.out file for camera calibration parameters + for (int i = 0; i < numImages; i++) { + + float f, k1, k2; + bundle_file >> f >> k1 >> k2; + + float r00, r01, r02; + float r10, r11, r12; + float r20, r21, r22; + bundle_file >> r00 >> r01 >> r02 + >> r10 >> r11 >> r12 + >> r20 >> r21 >> r22; + + Eigen::Matrix3f rotation; + rotation(0, 0) = r00; + rotation(0, 1) = r01; + rotation(0, 2) = r02; + rotation(1, 0) = r10; + rotation(1, 1) = r11; + rotation(1, 2) = r12; + rotation(2, 0) = r20; + rotation(2, 1) = r21; + rotation(2, 2) = r22; + + sibr::Matrix3f orientation = (to_cv * rotation).transpose(); + + float tx, ty, tz; + bundle_file >> tx >> ty >> tz; + sibr::Vector3f position = -orientation * (to_cv * Eigen::Vector3f(tx, ty, tz)); + + std::stringstream pad_stream; + pad_stream << std::setfill('0') << std::setw(10) << i - 2 << ".png"; + std::string image_path = sibr::parentDirectory(bundlerPath) + "/" + listImagePath + pad_stream.str(); + + sibr::Vector2u resolution(2, 2); + sibr::ImageRGB temp; + if (!temp.load(image_path)) { + + pad_stream.str(""); + pad_stream << std::setfill('0') << std::setw(8) << i << ".jpg"; + image_path = sibr::parentDirectory(bundlerPath) + "/" + listImagePath + pad_stream.str(); + temp.load(image_path); + } + resolution = temp.size(); + + if (resolution.x() < 0 || resolution.y() < 0) + { + std::cerr << "Could not get resolution for calibrated camera: " << image_path << std::endl; + return {}; + } + + float dx = resolution.x() * 0.5f; + float dy = resolution.y() * 0.5f; + + orientation = /*converter.transpose() **/ orientation * converter; + position = /*converter.transpose() **/ position; + + cameras[i] = InputCamera::Ptr(new InputCamera(i, resolution.x(), resolution.y(), position, orientation, f, k1, k2, true)); + cameras[i]->name(pad_stream.str()); + cameras[i]->znear(zNear); cameras[i]->zfar(zFar); + + } + + return cameras; + } + + std::vector InputCamera::loadMeshroom(const std::string& meshroomSFMPath, const float zNear, const float zFar) + { + + std::string file_path = meshroomSFMPath + "/cameras.sfm"; + + std::ifstream json_file(file_path, std::ios::in); + + if (!json_file) + { + std::cerr << "file loading failed: " << file_path << std::endl; + return std::vector(); + } + + std::vector cameras; + + picojson::value v; + picojson::set_last_error(std::string()); + std::string err = picojson::parse(v, json_file); + if (!err.empty()) { + picojson::set_last_error(err); + json_file.setstate(std::ios::failbit); + } + + picojson::array& views = v.get("views").get(); + picojson::array& intrinsincs = v.get("intrinsics").get(); + picojson::array& poses = v.get("poses").get(); + + int numCameras = int(poses.size()); + //meras.resize(numCameras); + + sibr::Matrix3f converter; + converter << 1.0f, 0, 0, + 0, -1, 0, + 0, 0, -1; + + size_t pose_idx, view_idx, intrinsic_idx; + std::vector splitS; + + + for (size_t i = 0; i < numCameras; ++i) + { + + Matrix4f m; + //std::vector splitS; + + pose_idx = i; + std::string pose_id = poses[pose_idx].get("poseId").get(); + + for (size_t j = 0; j < views.size(); j++) { + if (pose_id.compare(views[j].get("poseId").get()) == 0) { + view_idx = j; + break; + } + } + + std::string intrinsics_id = views[view_idx].get("intrinsicId").get(); + + for (size_t k = 0; k < intrinsincs.size(); k++) { + if (intrinsics_id.compare(intrinsincs[k].get("intrinsicId").get()) == 0) { + intrinsic_idx = k; + break; + } + } + + m(0) = std::stof(intrinsincs[intrinsic_idx].get("pxFocalLength").get()); + float dx = std::stof(intrinsincs[intrinsic_idx].get("principalPoint").get()[0].get()); + float dy = std::stof(intrinsincs[intrinsic_idx].get("principalPoint").get()[1].get()); + + //std::stof(intrinsincs[intrinsic_idx].get("distortionParams").get()[0].get()); + m(1) = dx; + //std::stof(intrinsincs[intrinsic_idx].get("distortionParams").get()[1].get()); + m(2) = dy; + + std::string camName = pose_id + ".exr"; + int width = std::stoi(views[view_idx].get("width").get()); + int height = std::stoi(views[view_idx].get("height").get()); + + uint camId = uint(i); + + picojson::array& center = poses[pose_idx].get("pose").get("transform").get("center").get(); + picojson::array& rotation = poses[pose_idx].get("pose").get("transform").get("rotation").get(); + + std::vector rows; + Eigen::Vector3f row; + Eigen::Vector3f position(std::stof(center[0].get()), std::stof(center[1].get()), std::stof(center[2].get())); + Eigen::Matrix3f orientation; + + for (int ii = 0; ii < 3; ++ii) { + for (int jj = 0; jj < 3; ++jj) + row(jj) = std::stof(rotation[jj + ii * 3].get()); + rows.push_back(row); + } + + orientation.row(0) = rows[0]; + orientation.row(1) = rows[1]; + orientation.row(2) = rows[2]; + orientation = orientation * converter; + + for (int ii = 0; ii < 9; ii++) { + m(3 + ii) = orientation(ii); + } + + const sibr::Vector3f finTrans = -orientation.transpose() * position; + for (int ii = 0; ii < 3; ii++) { + m(12 + ii) = finTrans[ii]; + } + + sibr::InputCamera::Ptr cam = std::make_shared(camId, width, height, m, true); + cam->name(camName); + cam->znear(zNear); + cam->zfar(zFar); + cameras.push_back(cam); + + } + return cameras; + } + + Vector3f InputCamera::unprojectImgSpaceInvertY(const sibr::Vector2i& pixelPos, const float& depth) const + { + sibr::Vector2f pos2dGL(2.0f * ((pixelPos.cast() + sibr::Vector2f(0.5, 0.5)).cwiseQuotient(sibr::Vector2f(w(), h()))) - sibr::Vector2f(1, 1)); //to [-1,1] + pos2dGL.y() = -pos2dGL.y(); + return unproject(sibr::Vector3f(pos2dGL.x(), pos2dGL.y(), depth)); + } + + Vector3f InputCamera::projectImgSpaceInvertY(const Vector3f& point3d) const + { + sibr::Vector3f pos2dGL = project(point3d); + pos2dGL.y() = -pos2dGL.y(); + sibr::Vector2f pos2dImg = (0.5f * (pos2dGL.xy() + sibr::Vector2f(1, 1))).cwiseProduct(sibr::Vector2f(w(), h())); + return sibr::Vector3f(pos2dImg.x(), pos2dImg.y(), pos2dGL.z()); + } + + bool InputCamera::loadFromBinary(const std::string& filename) + { + ByteStream bytes; + + if (bytes.load(filename)) + { + uint8 version; + float focal; + float k1; + float k2; + uint16 w; + uint16 h; + Vector3f pos; + Quaternionf rot; + float fov; + float aspect; + float znear; + float zfar; + + bytes + >> version; + + if (version != SIBR_INPUTCAMERA_BINARYFILE_VERSION) + { + // Maybe the file format has been updated, or your binary file is not about InputCamera... + SIBR_ERR << "incorrect file format (version number does not correspond)." << std::endl; + + return false; + } + + bytes + >> focal >> k1 >> k2 >> w >> h + >> pos.x() >> pos.y() >> pos.z() + >> rot.w() >> rot.x() >> rot.y() >> rot.z() + >> fov >> aspect >> znear >> zfar + ; + + _focal = focal; + _k1 = k1; + _k2 = k2; + _w = (uint)w; + _h = (uint)h; + Camera::position(pos); + Camera::rotation(rot); + Camera::fovy(fov); + Camera::aspect(aspect); + Camera::znear(znear); + Camera::zfar(zfar); + + return true; + } + else + { + SIBR_WRG << "cannot open file '" << filename << "'." << std::endl; + } + return false; + } + + void InputCamera::saveToBinary(const std::string& filename) const + { + ByteStream bytes; + + uint8 version = SIBR_INPUTCAMERA_BINARYFILE_VERSION; + float focal = _focal; + float k1 = _k1; + float k2 = _k2; + uint16 w = (uint16)_w; + uint16 h = (uint16)_h; + Vector3f pos = position(); + Quaternionf rot = rotation(); + float fov = _fov; + float aspect = _aspect; + float znear = _znear; + float zfar = _zfar; + + bytes + << version + << focal << k1 << k2 << w << h + << pos.x() << pos.y() << pos.z() + << rot.w() << rot.x() << rot.y() << rot.z() + << fov << aspect << znear << zfar + ; + + bytes.saveToFile(filename); + } + + void InputCamera::readFromFile(std::istream& infile) + { + std::string version; + infile >> version; + if (version != IBRVIEW_TOPVIEW_SAVEVERSION) + { + SIBR_WRG << "Sorry but your TopView camera configuration " + "is too old (we added new features since!)" << std::endl; + return; + } + + Vector3f v; + infile >> v.x() >> v.y() >> v.z(); + Quaternionf q; + infile >> q.x() >> q.y() >> q.z() >> q.w(); + set(v, q); + } + + void InputCamera::writeToFile(std::ostream& outfile) const + { + outfile << IBRVIEW_TOPVIEW_SAVEVERSION "\n"; + Vector3f v = transform().position(); + Quaternionf q = transform().rotation(); + outfile << " " << v.x() << " " << v.y() << " " << v.z() << " "; + outfile << q.x() << " " << q.y() << " " << q.z() << " " << q.w(); + } + + std::string InputCamera::toBundleString(bool negativeZ, bool recomputeFocal) const { + + std::stringstream ss; + ss << std::setprecision(16); + float focal; + if( recomputeFocal ) + focal = 0.5f * h() / tan(fovy() / 2.0f); // We cannot set the focal but we need to compute it + else + focal = _focal; + + Eigen::Matrix3f r = transform().rotation().toRotationMatrix(); + sibr::Vector3f t = -transform().rotation().toRotationMatrix().transpose() * position(); + + ss << focal << " " << k1() << " " << k2() << "\n"; // The focal is set to zero in the loading module we use fov=2.0f * atan( 0.5f*h / focal) here + if (!negativeZ) { + ss << r(0) << " " << r(1) << " " << r(2) << "\n"; + ss << r(3) << " " << r(4) << " " << r(5) << "\n"; + ss << r(6) << " " << r(7) << " " << r(8) << "\n"; + ss << t(0) << " " << t(1) << " " << t(2) << "\n"; + } + else { + ss << r(0) << " " << -r(2) << " " << r(1) << "\n"; + ss << r(3) << " " << -r(5) << " " << r(4) << "\n"; + ss << r(6) << " " << -r(8) << " " << r(7) << "\n"; + ss << t(0) << " " << t(1) << " " << t(2) << "\n"; + } + + return ss.str(); + } + + std::vector InputCamera::getImageCorners() const + { + return { {0,0}, {_w - 1, 0}, {_w - 1,_h - 1}, {0, _h - 1} }; + } + + void InputCamera::saveAsBundle(const std::vector& cams, const std::string& fileName, bool negativeZ, const bool exportImages, bool oldFocal) { + + std::ofstream outputBundleCam; + outputBundleCam.open(fileName); + outputBundleCam << "# Bundle file v0.3" << std::endl; + outputBundleCam << cams.size() << " " << 0 << std::endl; + + for (int c = 0; c < cams.size(); c++) { + auto& camIm = cams[c]; + outputBundleCam << camIm->toBundleString(negativeZ, oldFocal); + } + + outputBundleCam.close(); + + // Export the images list and empty images (useful for fribr). + if (exportImages) { + std::ofstream outList; + const std::string listpath = fileName + "/../list_images.txt"; + const std::string imagesDir = fileName + "/../visualize/"; + sibr::makeDirectory(imagesDir); + + outList.open(listpath); + if (outList.good()) { + for (int i = 0; i < cams.size(); ++i) { + const sibr::InputCamera::Ptr cam = cams[i]; + const std::string imageName = cam->name().empty() ? sibr::intToString<8>(i) + ".jpg" : cam->name(); + outList << "visualize/" << imageName << " " << cam->w() << " " << cam->h() << std::endl; + cv::Mat3b dummy(cam->h(), cam->w()); + cv::imwrite(imagesDir + imageName, dummy); + } + outList.close(); + } + else { + SIBR_WRG << "Unable to export images list to path \"" << listpath << "\"." << std::endl; + } + } + } + + void InputCamera::saveAsLookat(const std::vector& cams, const std::string& fileName) + { + + std::ofstream file(fileName, std::ios::out | std::ios::trunc); + if (!file.is_open()) { + SIBR_WRG << "Unable to save to file at path " << fileName << std::endl; + return; + } + // Get the padding count. + const int len = int(std::floor(std::log10(cams.size()))) + 1; + for (size_t cid = 0; cid < cams.size(); ++cid) { + const auto& cam = cams[cid]; + std::string id = std::to_string(cid); + const std::string pad = std::string(len - id.size(), '0'); + + const sibr::Vector3f& pos = cam.position(); + const sibr::Vector3f& up = cam.up(); + const sibr::Vector3f tgt = cam.position() + cam.dir(); + + + file << "Cam" << pad << id; + file << " -D origin=" << pos[0] << "," << pos[1] << "," << pos[2]; + file << " -D target=" << tgt[0] << "," << tgt[1] << "," << tgt[2]; + file << " -D up=" << up[0] << "," << up[1] << "," << up[2]; + file << " -D fovy=" << cam.fovy(); + file << " -D clip=" << cam.znear() << "," << cam.zfar(); + file << "\n"; + } + + file.close(); + } + + std::vector InputCamera::loadColmapBin(const std::string& colmapSparsePath, const float zNear, const float zFar, const int fovXfovYFlag) + { + const std::string camerasListing = colmapSparsePath + "/cameras.bin"; + const std::string imagesListing = colmapSparsePath + "/images.bin"; + + + std::ifstream camerasFile(camerasListing, std::ios::binary); + std::ifstream imagesFile(imagesListing, std::ios::binary); + + if (!camerasFile.is_open()) { + SIBR_ERR << "Unable to load camera colmap file" << camerasListing << std::endl; + } + if (!imagesFile.is_open()) { + SIBR_WRG << "Unable to load images colmap file" << imagesListing << std::endl; + } + + std::vector cameras; + + std::string line; + + struct CameraParametersColmap { + size_t id; + size_t width; + size_t height; + float fx; + float fy; + float dx; + float dy; + }; + + std::map cameraParameters; + const size_t num_cameras = ReadBinaryLittleEndian(&camerasFile); + + for (size_t i = 0; i < num_cameras ; ++i) { + + CameraParametersColmap params; + + params.id = ReadBinaryLittleEndian(&camerasFile); + int model_id = ReadBinaryLittleEndian(&camerasFile); + params.width = ReadBinaryLittleEndian(&camerasFile); + params.height = ReadBinaryLittleEndian(&camerasFile); + std::vector Params(4); + + ReadBinaryLittleEndian(&camerasFile, &Params); + params.fx = float(Params[0]); + params.fy = float(Params[1]); + params.dx = float(Params[2]); + params.dy = float(Params[3]); + cameraParameters[params.id] = params; + } + + // Now load the individual images and their extrinsic parameters + sibr::Matrix3f converter; + converter << 1, 0, 0, + 0, -1, 0, + 0, 0, -1; + + const size_t num_reg_images = ReadBinaryLittleEndian(&imagesFile); + for (size_t i = 0; i < num_reg_images; ++i) { + + uint cId = ReadBinaryLittleEndian(&imagesFile); + float qw = float(ReadBinaryLittleEndian(&imagesFile)); + float qx = float(ReadBinaryLittleEndian(&imagesFile)) ; + float qy = float(ReadBinaryLittleEndian(&imagesFile)) ; + float qz = float(ReadBinaryLittleEndian(&imagesFile)) ; + float tx = float(ReadBinaryLittleEndian(&imagesFile)); + float ty = float(ReadBinaryLittleEndian(&imagesFile)); + float tz = float(ReadBinaryLittleEndian(&imagesFile)); + size_t id = ReadBinaryLittleEndian(&imagesFile) ; + + + if (cameraParameters.find(id) == cameraParameters.end()) + { + /* code multi camera broken + SIBR_ERR << "Could not find intrinsics for image: " + << id << std::endl; + */ + id = 1; + } + const CameraParametersColmap& camParams = cameraParameters[id]; + + + const sibr::Quaternionf quat(qw, qx, qy, qz); + const sibr::Matrix3f orientation = quat.toRotationMatrix().transpose() * converter; + sibr::Vector3f translation(tx, ty, tz); + + sibr::Vector3f position = -(orientation * converter * translation); + + sibr::InputCamera::Ptr camera; + if (fovXfovYFlag) { + camera = std::make_shared(InputCamera(camParams.fy, camParams.fx, 0.0f, 0.0f, int(camParams.width), int(camParams.height), int(cId))); + } + else { + camera = std::make_shared(InputCamera(camParams.fy, 0.0f, 0.0f, int(camParams.width), int(camParams.height), int(cId))); + } + std::string image_name; + char name_char; + do { + imagesFile.read(&name_char, 1); + if (name_char != '\0') { + image_name += name_char; + } + } while (name_char != '\0'); + + camera->name(image_name); + camera->position(position); + camera->rotation(sibr::Quaternionf(orientation)); + camera->znear(zNear); + camera->zfar(zFar); + cameras.push_back(camera); + + + // ignore the 2d points + const size_t num_points2D = ReadBinaryLittleEndian(&imagesFile); + + for (size_t j = 0; j < num_points2D; ++j) { + const double x = ReadBinaryLittleEndian(&imagesFile); + const double y = ReadBinaryLittleEndian(&imagesFile); + point3D_t id = ReadBinaryLittleEndian(&imagesFile); + } + } + return cameras; + } + + std::vector InputCamera::loadJSON(const std::string& jsonPath, const float zNear, const float zFar) + { + std::ifstream json_file(jsonPath, std::ios::in); + + if (!json_file) + { + std::cerr << "file loading failed: " << jsonPath << std::endl; + return std::vector(); + } + + std::vector cameras; + + picojson::value v; + picojson::set_last_error(std::string()); + std::string err = picojson::parse(v, json_file); + if (!err.empty()) { + picojson::set_last_error(err); + json_file.setstate(std::ios::failbit); + } + + picojson::array& frames = v.get(); + + for (size_t i = 0; i < frames.size(); ++i) + { + int id = frames[i].get("id").get(); + std::string imgname = frames[i].get("img_name").get(); + int width = frames[i].get("width").get(); + int height = frames[i].get("height").get(); + float fy = frames[i].get("fy").get(); + float fx = frames[i].get("fx").get(); + + sibr::InputCamera::Ptr camera = std::make_shared(InputCamera(fy, fx, 0.0f, 0.0f, width, height, id)); + + picojson::array& pos = frames[i].get("position").get(); + sibr::Vector3f position(pos[0].get(), pos[1].get(), pos[2].get()); + + //position.x() = 0; + //position.y() = 0; + //position.z() = 1; + + picojson::array& rot = frames[i].get("rotation").get(); + sibr::Matrix3f orientation; + for (int i = 0; i < 3; i++) + { + picojson::array& row = rot[i].get(); + for (int j = 0; j < 3; j++) + { + orientation(i, j) = row[j].get(); + } + } + orientation.col(1) = -orientation.col(1); + orientation.col(2) = -orientation.col(2); + //orientation = sibr::Matrix3f::Identity(); + + camera->name(imgname); + camera->position(position); + camera->rotation(sibr::Quaternionf(orientation)); + camera->znear(zNear); + camera->zfar(zFar); + cameras.push_back(camera); + } + return cameras; + } + + std::vector InputCamera::loadTransform(const std::string& transformPath, int w, int h, std::string extension, const float zNear, const float zFar, const int offset, const int fovXfovYFlag) + { + std::ifstream json_file(transformPath, std::ios::in); + + if (!json_file) + { + std::cerr << "file loading failed: " << transformPath << std::endl; + return std::vector(); + } + + std::vector cameras; + + picojson::value v; + picojson::set_last_error(std::string()); + std::string err = picojson::parse(v, json_file); + if (!err.empty()) { + picojson::set_last_error(err); + json_file.setstate(std::ios::failbit); + } + + float fovx = v.get("camera_angle_x").get(); + picojson::array& frames = v.get("frames").get(); + + for (int i = 0; i < frames.size(); i++) + { + std::string imgname = frames[i].get("file_path").get() + "." + extension; + + auto mat = frames[i].get("transform_matrix").get(); + + Eigen::Matrix4f matrix; + for (int i = 0; i < 4; i++) + { + auto row = mat[i].get(); + for (int j = 0; j < 4; j++) + { + matrix(i, j) = row[j].get(); + } + } + + Eigen::Matrix3f R = matrix.block<3, 3>(0, 0); + Eigen::Vector3f T(matrix(0, 3), matrix(1, 3), matrix(2, 3)); + + float focalx = 0.5f * w / tan(fovx / 2.0f); + float focaly = (((float)h)/w) * focalx; + + sibr::InputCamera::Ptr camera; + if (fovXfovYFlag) { + camera = std::make_shared(InputCamera(focaly, focalx, 0.0f, 0.0f, int(w), int(h), i + offset)); + } + else { + camera = std::make_shared(InputCamera(focalx, 0.0f, 0.0f, int(w), int(h), i + offset)); + } + + camera->name(imgname); + camera->position(T); + camera->rotation(sibr::Quaternionf(R)); + camera->znear(zNear); + camera->zfar(zFar); + cameras.push_back(camera); + } + return cameras; + } + + +} diff --git a/SIBR_viewers/src/core/assets/InputCamera.hpp b/SIBR_viewers/src/core/assets/InputCamera.hpp new file mode 100644 index 0000000000..66dfdb804b --- /dev/null +++ b/SIBR_viewers/src/core/assets/InputCamera.hpp @@ -0,0 +1,333 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/graphics/Config.hpp" +#include "core/graphics/Camera.hpp" +#include "core/assets/Config.hpp" + +namespace sibr +{ + /** Input camera parameters. Inherits all basic camera functionality from Camera + * and adds functions for depth samples from multi-view stereo. + * + * \sa Camera, NovelCamera + * \ingroup sibr_assets + */ + class SIBR_ASSETS_EXPORT InputCamera : public Camera + { + public: + typedef std::shared_ptr Ptr; + + /** Near/far plane representation. */ + struct Z { + + /** Constructor. */ + Z() {} + + /** Constructor. + * \warning Ordering of the values is swapped. + * \param f far plane + * \param n near plane + */ + Z(float f, float n) : far(f), near(n) {} + + float far = 0.0f; ///< Far plane. + float near = 0.0f; ///< Near plane. + }; + + /** Default constructor. */ + InputCamera() : + _focal(0.f), _k1(0.f), _k2(0.f), _w(0), _h(0), _id(0), _active(true) + { } + + /** Partial constructor + * \param f focal length in mm + * \param k1 first distortion parameter + * \param k2 second distortion parameter + * \param w width of input image + * \param h height of input image + * \param id ID of input image + */ + InputCamera(float f, float k1, float k2, int w, int h, int id); + InputCamera(float fy, float fx, float k1, float k2, int w, int h, int id); + + /** Constructor, initialize the input camera. + * \param id ID of input image + * \param w width of input image + * \param h height of input image + * \param position camera position + * \param rotation camera rotation + * \param focal focal length in mm + * \param k1 first distortion parameter + * \param k2 second distortion parameter + * \param active input image active or not + */ + InputCamera(int id, int w, int h, sibr::Vector3f & position, sibr::Matrix3f & rotation, float focal, float k1, float k2, bool active); + + /** Constructor, initialize the input camera. + * \param id ID of input image + * \param w width of input image + * \param h height of input image + * \param m camera parameters resad from Bundler output file + * \param active input image active or not + * \param fovFromFocal: if true, compute fov from focal else use "standard sibr" convention + * \sa Bundler: http://phototour.cs.washington.edu/bundler/ + * \deprecated Avoid using this legacy constructor. + */ + InputCamera(int id, int w, int h, sibr::Matrix4f m, bool active); + + /** Constructor from a basic Camera. + * \param c camera + * \param w image width + * \param h image height + */ + InputCamera(const Camera& c, int w, int h); + + /** Copy constructor. */ + InputCamera(const InputCamera&) = default; + + /** Move constructor. */ + InputCamera(InputCamera&&) = default; + + /** Copy operator. */ + InputCamera& operator =(const InputCamera&) = default; + + /** Move operator. */ + InputCamera& operator =(InputCamera&&) = default; + + /** Input image width + * \return width of input image + */ + uint w(void) const; + + /** Input image height + * \return height of input image + */ + uint h(void) const; + + /** Check if the input camera active or inactive, + * camera is completely ignored if set to inactive. + * \return true if active, false otherwise + */ + bool isActive(void) const; + + /** Set camera active status + *\param active if true, camera is in use + */ + void setActive(bool active) { _active = active ; } + + /** \return the image name */ + inline const std::string& name(void) const { return _name; } + + /** Set camera name + * \param s the new name + */ + inline void name( const std::string& s ) { _name = s; } + + /** Update image dimensions. Calls \a update() after changing image width and height + * \param w image width + * \param h image height + */ + void size( uint w, uint h ); + + /** \return the camera id */ + uint id() const { return _id; } + + /** Project a world space point into screen space. + *\param pt 3d world point + *\return screen space position and depth, in (0,w)x(0,h)x(0,1) + */ + Vector3f projectScreen( const Vector3f& pt ) const; + + /** \return the focal length */ + float focal() const; + + /** \return the focal length x */ + float focalx() const; + + /** set the focal length ; to be used with caution; focal is usually inferred from the fov*/ + void setFocal(float focal) { _focal = focal; } + + /** \return the k1 distorsion parameter */ + float k1() const; + + /** \return the k2 distorsion parameter */ + float k2() const; + + /** Back-project pixel coordinates and depth. + * \param pixelPos pixel coordinates p[0],p[1] in [0,w-1]x[0,h-1] + * \param depth d in [-1,1] + * \returns 3D world point + */ + Vector3f unprojectImgSpaceInvertY( const sibr::Vector2i & pixelPos, const float & depth ) const; + + /** Project 3D point using perspective projection. + * \param point3d 3D point + * \returns pixel coordinates in [0,w-1]x[0,h-1] and depth d in [-1,1] + */ + Vector3f projectImgSpaceInvertY( const Vector3f& point3d ) const; + + /** Load from internal binary representation. + * \param filename file path + * \return success boolean + */ + bool loadFromBinary( const std::string& filename ); + + /** Save to disk using internal binary representation. + * \param filename file path + */ + void saveToBinary( const std::string& filename ) const; + + /** Save a file in the IBR TopView format. + * \param outfile the destination file + */ + void writeToFile(std::ostream& outfile) const; + + /** Load a file in the IBR TopView format. + * \param infile the input file + */ + void readFromFile(std::istream& infile); + + /** Conver to Bundle string. + * \param negativeZ should the Z axis be flipped + * \recomputeFocal recompute the focal or just set + * \return a string that can be used to create a bundle file from this camera + */ + std::string toBundleString(bool negativeZ = false, bool recomputeFocal = true) const; + + + /** \return A vector of four Vector2i corresponding to the pixels at the camera corners + */ + std::vector getImageCorners() const; + + /** Return a new camera resized to the specified height + */ + sibr::InputCamera resizedH(int h) const; + /** Return a new camera resized to the specified height + */ + sibr::InputCamera resizedW(int w) const; + + /** Return the lookat string of the camera + */ + std::string lookatString() const; + /** save a vector of cameras as lookat + */ + static void saveAsLookat(const std::vector & cams, const std::string & fileName); + /** save a vector of cameras sizes to a file to be read by mitsuba rendering script + */ + static void saveImageSizes(const std::vector & cams, const std::string & fileName); + + + /** Save a vector of cameras as a bundle file. + *\param cams the cameras + * \param fileName output bundle file path + * \param negativeZ should the Z axis be flipped + * \param exportImages should empty images with the proper dimensions be saved in a visualize subdirectory + * \param oldFocal: recompute focal, else assign that of camera TODO: fix this + */ + static void saveAsBundle(const std::vector & cams, const std::string & fileName, bool negativeZ = false, bool exportImages = false, bool recomputeFocal=true); + + /** Save a vector of cameras as a lookat file. + *\param cams the cameras + * \param fileName output lookat file path + */ + static void saveAsLookat(const std::vector & cams, const std::string & fileName); + + /** Load cameras from a bundler file. + *\param datasetPath path to the root of the dataset, should contain bundle.out, list_images.txt and optionally clipping_planes.txt + * \param zNear default near-plane value to use if the clipping_planes.txt file doesn't exist + * \param zFar default far-plane value to use if the clipping_planes.txt file doesn't exist + * \param bundleName name of the bundle file + * \param listName name of the list images file + * \returns the loaded cameras + */ + static std::vector load( const std::string& datasetPath, float zNear = 0.01f, float zFar = 1000.0f, const std::string & bundleName = "bundle.out", const std::string & listName = "list_images.txt"); + + /** Load cameras from a NVM file. + *\param nvmPath path to the NVM file + * \param zNear default near-plane value to use + * \param zFar default far-plane value to use. + * \param wh will contain the sizes of each camera image + * \returns the loaded cameras + */ + static std::vector loadNVM(const std::string& nvmPath, float zNear = 0.01f, float zFar = 1000.0f, std::vector wh = std::vector()); + + /** Load cameras from a .lookat file generated by our Blender plugin. + * \param lookatPath path to the lookAt file + * \param wh indicative size of each camera image + * \param zNear default near-plane value to use + * \param zFar default far-plane value to use. + * \returns the loaded cameras + */ + static std::vector loadLookat(const std::string& lookatPath, const std::vector& wh= std::vector(),float zNear= -1, float zFar= -1); + + static std::vector InputCamera::loadTransform(const std::string& transformPath, int w, int h, std::string extension, const float zNear = 0.01f, const float zFar = 1000.0f, const int offset = 0, const int fovXfovYFlag = 0); + + /** Load cameras from a Colmap txt file. + * \param colmapSparsePath path to the Colmap sparse directory, should contains cameras.txt and images.txt + * \param zNear default near-plane value to use + * \param zFar default far-plane value to use. + * \param fovXfovYFlag should we use two dimensional fov. + * \returns the loaded cameras + * \note the camera frame is internally transformed to be consistent with fribr and RC. + */ + static std::vector loadColmap(const std::string& colmapSparsePath, const float zNear = 0.01f, const float zFar = 1000.0f, const int fovXfovYFlag = 0); + + static std::vector loadColmapBin(const std::string& colmapSparsePath, const float zNear = 0.01f, const float zFar = 1000.0f, const int fovXfovYFlag = 0); + + static std::vector loadJSON(const std::string& jsonPath, const float zNear = 0.01f, const float zFar = 1000.0f); + + /** Load cameras from a bundle file. + * \param bundlerPath path to the bundle file. + * \param zNear default near-plane value to use + * \param zFar default far-plane value to use. + * \param listImagePath path to the list_images.txt file. Will default to a file in the same directory as the bundle.out file. + * \param path: if this is a path, then you can load more images that those defined in the list_images file of the datset; TODO: possibly should require a list_images.txt for the path + * \returns the loaded cameras + */ + static std::vector loadBundle(const std::string& bundlerPath, float zNear = 0.01f, float zFar = 1000.0f, const std::string & listImagePath = "", bool path = false); + + /** Load cameras from a bundle file. + * \param bundlerPath path to the bundle file. + * \param zNear default near-plane value to use + * \param zFar default far-plane value to use. + * \param listImagePath path to the list_images.txt file. Will default to a file in the same directory as the bundle.out file. + * \returns the loaded cameras + */ + static std::vector loadBundleFRIBR(const std::string& bundlerPath, float zNear = 0.01f, float zFar = 1000.0f, const std::string & listImagePath = ""); + + /** Load cameras from a Meshrrom SFM cameras.sfm txt file. + * \param meshroomSFMPath path to the Meshroom StructureFromMotion/{dd63cea98bda0e3b53ec76f17b0753b3e4dde589}/ directory, should contains cameras.sfm + * \param zNear default near-plane value to use + * \param zFar default far-plane value to use. + * \returns the loaded cameras + * \note the camera frame is internally transformed to be consistent with fribr and RC. + */ + static std::vector loadMeshroom(const std::string& meshroomSFMPath, const float zNear = 0.01f, const float zFar = 1000.0f); + + uint _id; ///< Input camera id + + protected: + + float _focal; ///< focal length + float _focalx; ///< focal length x, if there is one (colmap typically; -1 by default use with caution) + float _k1; ///< K1 bundler distorsion parameter + float _k2; ///< K2 bundler dist parameter + uint _w; ///< Image width + uint _h; ///< Image height + std::string _name; ///< Input image name + bool _active; ///< is the camera currently in use. + }; + +} // namespace sibr diff --git a/SIBR_viewers/src/core/assets/Resources.cpp b/SIBR_viewers/src/core/assets/Resources.cpp new file mode 100644 index 0000000000..7b43e90f4f --- /dev/null +++ b/SIBR_viewers/src/core/assets/Resources.cpp @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include +#include +#include +#include "core/assets/Resources.hpp" + +/// \todo TODO: If you care about security (did someone want to hack/use your app +/// to hide a virus/retrieve informations from this compiled code), comment +/// the following line and resolve warnings by finding new safe-functions. +#pragma warning(disable:4996) // affect this .cpp only + +namespace sibr +{ + + Resources* Resources::_instance = NULL; + + Resources* Resources::Instance() + { + if (_instance == 0) + _instance = new Resources; + return _instance; + } + + Resources::Resources() + { + _rscPaths.push_back(sibr::getInstallDirectory()); + std::ifstream rscFile(sibr::getInstallDirectory() + "/ibr_resources.ini"); + + if(rscFile.good()) + { + for(std::string line; safeGetline(rscFile, line); ) + { + _rscPaths.push_back(line); + } + } + else { + std::ifstream rscFile2(sibr::getInstallDirectory() + "/bin/ibr_resources.ini"); + for(std::string line; safeGetline(rscFile2, line); ) + _rscPaths.push_back(line); + } + + /// \todo WIP: used in prevision to load plugins (TODO: test under linux) + std::ifstream pathFile(sibr::getInstallDirectory() + "/ibr_paths.ini"); + if(pathFile.good()) + { + for(std::string line; safeGetline(pathFile, line); ) + { + std::string name = line.substr(0, line.find("=")); + std::string value = line.substr(line.find("=")+1, line.length()); + char* curEnv = getenv(name.c_str()); + std::string currentEnv; + if(curEnv!=NULL) + currentEnv = std::string(curEnv); +#ifdef SIBR_OS_WINDOWS + std::replace(value.begin(), value.end(), '/', '\\'); // linux to windows path + char delimiter = ';'; +#else + std::replace(value.begin(), value.end(), '\\', '/'); // windows to linux path + char delimiter = ':'; +#endif + std::stringstream ss; + ss << delimiter; + if(!currentEnv.empty()) + if (currentEnv.at(currentEnv.length()-1) != delimiter) + currentEnv.append(ss.str()); + + line = name + "=" + currentEnv + value; + putenv(const_cast(line.c_str())); + + std::cout<<"[Resources] env: "< +#include + +namespace sibr +{ + + /** Singleton used to store a list of plausible path to look for (based on the ibr_resources.ini) + \ingroup sibr_assets + */ + class SIBR_ASSETS_EXPORT Resources + { + public: + /// Our singleton + static Resources* Instance(); + + protected: + /// Constructor. + Resources(); + + /// Destructor + virtual ~Resources(); + + public: + /** Look for the filename into plausible resource paths. + * \param filename file name + * \param success was the file found in the registered locations + * \return the full file path + */ + std::string getResourceFilePathName(std::string const & filename, bool & success); + + /** Look for the filename into plausible resource paths. + * \param filename file name + * \return the full file path + */ + std::string getResourceFilePathName(std::string const & filename); + + protected: + std::vector _rscPaths; ///< List of directories to check into. + static Resources * _instance; ///< Singleton. + }; + +} // namespace sibr diff --git a/SIBR_viewers/src/core/assets/UVUnwrapper.cpp b/SIBR_viewers/src/core/assets/UVUnwrapper.cpp new file mode 100644 index 0000000000..500b572502 --- /dev/null +++ b/SIBR_viewers/src/core/assets/UVUnwrapper.cpp @@ -0,0 +1,276 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "UVUnwrapper.hpp" +#include +#include +#include "xatlas.h" + +int printCallback(const char * format, ...) { + va_list args; + va_start(args, format); + std::cout << "\r"; + const int res = vprintf(format, args); + va_end(args); + return res; +} + +bool progressCallback(xatlas::ProgressCategory category, int progress, void *userData){ + std::cout << "\r\t" << xatlas::StringForEnum(category) << "[" << std::flush; + for (int i = 0; i < 10; i++) + std::cout << (progress / ((i + 1) * 10) ? "*" : " "); + std::cout << "] " << progress << "%" << std::flush; + if(progress == 100) { + std::cout << std::endl; + } + return true; +} + +void setPixel(uint8_t *dest, int destWidth, int x, int y, const sibr::Vector3ub & color){ + uint8_t *pixel = &dest[x * 3 + y * (destWidth * 3)]; + pixel[0] = color[0]; + pixel[1] = color[1]; + pixel[2] = color[2]; +} + +// https://github.com/miloyip/line/blob/master/line_bresenham.c +// License: public domain. +static void rasterizeLine(uint8_t *dest, int destWidth, const int *p1, const int *p2, const sibr::Vector3ub & color) +{ + const int dx = abs(p2[0] - p1[0]), sx = p1[0] < p2[0] ? 1 : -1; + const int dy = abs(p2[1] - p1[1]), sy = p1[1] < p2[1] ? 1 : -1; + int err = (dx > dy ? dx : -dy) / 2; + int current[2]; + current[0] = p1[0]; + current[1] = p1[1]; + while(setPixel(dest, destWidth, current[0], current[1], color), current[0] != p2[0] || current[1] != p2[1]){ + const int e2 = err; + if (e2 > -dx) { err -= dy; current[0] += sx; } + if (e2 < dy) { err += dx; current[1] += sy; } + } +} + +/* +https://github.com/ssloy/tinyrenderer/wiki/Lesson-2:-Triangle-rasterization-and-back-face-culling +Copyright Dmitry V. Sokolov + +This software is provided 'as-is', without any express or implied warranty. +In no event will the authors be held liable for any damages arising from the use of this software. +Permission is granted to anyone to use this software for any purpose, +including commercial applications, and to alter it and redistribute it freely, +subject to the following restrictions: + +1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. +2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. +3. This notice may not be removed or altered from any source distribution. +*/ +void rasterizeTriangle(uint8_t *dest, int destWidth, const int *t0, const int *t1, const int *t2, const sibr::Vector3ub & color) +{ + if (t0[1] > t1[1]) std::swap(t0, t1); + if (t0[1] > t2[1]) std::swap(t0, t2); + if (t1[1] > t2[1]) std::swap(t1, t2); + const int total_height = t2[1] - t0[1]; + for (int i = 0; i < total_height; i++) { + const bool second_half = i > t1[1] - t0[1] || t1[1] == t0[1]; + const int segment_height = second_half ? t2[1] - t1[1] : t1[1] - t0[1]; + const float alpha = (float)i / total_height; + const float beta = (float)(i - (second_half ? t1[1] - t0[1] : 0)) / float(segment_height); + int A[2], B[2]; + for (int j = 0; j < 2; j++) { + A[j] = int(t0[j] + (t2[j] - t0[j]) * alpha); + B[j] = int(second_half ? t1[j] + (t2[j] - t1[j]) * beta : t0[j] + (t1[j] - t0[j]) * beta); + } + if (A[0] > B[0]) std::swap(A, B); + for (int j = A[0]; j <= B[0]; j++) { + setPixel(dest, destWidth, j, t0[1] + i, color); + } + } +} + +using namespace sibr; + +UVUnwrapper::UVUnwrapper(const sibr::Mesh& mesh, unsigned int res) : _mesh(mesh) { + _size = res; + // Create empty atlas. + xatlas::SetPrint(printCallback, false); + _atlas = xatlas::Create(); + xatlas::SetProgressCallback(_atlas, progressCallback, nullptr); + + // Add the mesh to the atlas. + SIBR_LOG << "[UVMapper] Adding one mesh with " << mesh.vertices().size() << " vertices and " << mesh.triangles().size() << " triangles." << std::endl; + // For now consider everything as one mesh. Splitting in components *might* help. + xatlas::MeshDecl meshDecl; + meshDecl.vertexCount = uint32_t(mesh.vertices().size()); + meshDecl.vertexPositionData = mesh.vertexArray(); + meshDecl.vertexPositionStride = sizeof(sibr::Vector3f); + if (mesh.hasNormals()) { + meshDecl.vertexNormalData = mesh.normalArray(); + meshDecl.vertexNormalStride = sizeof(sibr::Vector3f); + } + // UV can be used as a hint. + if (mesh.hasTexCoords()) { + meshDecl.vertexUvData = mesh.texCoordArray(); + meshDecl.vertexUvStride = sizeof(sibr::Vector2f); + } + meshDecl.indexCount = uint32_t(mesh.triangles().size() * 3); + meshDecl.indexData = mesh.triangleArray(); + meshDecl.indexFormat = xatlas::IndexFormat::UInt32; + const xatlas::AddMeshError error = xatlas::AddMesh(_atlas, meshDecl, 1); + if (error != xatlas::AddMeshError::Success) { + xatlas::Destroy(_atlas); + SIBR_ERR << "\r[UVMapper] Error adding mesh: " << xatlas::StringForEnum(error) << std::endl; + } + // Not necessary. Only called here so geometry totals are printed after the AddMesh progress indicator + xatlas::AddMeshJoin(_atlas); +} + + +sibr::Mesh::Ptr UVUnwrapper::unwrap() { + + // Generate atlas. + SIBR_LOG << "[UVMapper] Generating atlas.." << std::endl; + + xatlas::ChartOptions chartOptions = xatlas::ChartOptions(); + xatlas::PackOptions packOptions = xatlas::PackOptions(); + packOptions.bruteForce = false; + packOptions.resolution = uint32_t(_size); + Timer timer; + timer.tic(); + xatlas::Generate(_atlas, chartOptions, packOptions); + + SIBR_LOG << "[UVMapper] Generation took: " << timer.deltaTimeFromLastTic() << "s." << std::endl; + SIBR_LOG << "[UVMapper] Output resolution: " << _atlas->width << "x" << _atlas->height << std::endl; + SIBR_LOG << "[UVMapper] Generated " << _atlas->chartCount << " charts, " << _atlas->atlasCount << " atlases." << std::endl; + for (uint32_t i = 0; i < _atlas->atlasCount; i++) { + SIBR_LOG << "[UVMapper] \tAtlas " << i << ": utilisation: " << _atlas->utilization[i] * 100.0f << "%" << std::endl; + } + + + uint32_t totalVertices = 0; + uint32_t totalFaces = 0; + for (uint32_t i = 0; i < _atlas->meshCount; i++) { + const xatlas::Mesh& xmesh = _atlas->meshes[i]; + totalVertices += xmesh.vertexCount; + totalFaces += xmesh.indexCount / 3; + } + SIBR_LOG << "[UVMapper] Output geometry data: " << totalVertices << " vertices, " << totalFaces << " triangles." << std::endl; + // Write meshes. + uint32_t firstVertex = 0; + std::vector positions; + std::vector normals; + std::vector texcoords; + std::vector colors; + std::vector triangles; + + // We could preallocate and paraellize if needed. + for (uint32_t i = 0; i < _atlas->meshCount; i++) { + const xatlas::Mesh& xmesh = _atlas->meshes[i]; + for (uint32_t v = 0; v < xmesh.vertexCount; v++) { + const xatlas::Vertex& vertex = xmesh.vertexArray[v]; + const sibr::Vector3f& pos = _mesh.vertices()[vertex.xref]; + positions.emplace_back(pos); + if (_mesh.hasNormals()) { + const sibr::Vector3f& n = _mesh.normals()[vertex.xref]; + normals.emplace_back(n); + } + if (_mesh.hasColors()) { + const sibr::Vector3f& c = _mesh.colors()[vertex.xref]; + colors.emplace_back(c); + } + + _mapping.emplace_back(vertex.xref); + texcoords.emplace_back(vertex.uv[0] / float(_atlas->width), vertex.uv[1] / float(_atlas->height)); + } + for (uint32_t f = 0; f < xmesh.indexCount; f += 3) { + const uint32_t i0 = firstVertex + xmesh.indexArray[f + 0]; + const uint32_t i1 = firstVertex + xmesh.indexArray[f + 1]; + const uint32_t i2 = firstVertex + xmesh.indexArray[f + 2]; + triangles.emplace_back(i0, i1, i2); + } + firstVertex += xmesh.vertexCount; + } + Mesh::Ptr finalMesh(new Mesh(false)); + finalMesh->vertices(positions); + finalMesh->normals(normals); + finalMesh->texCoords(texcoords); + finalMesh->colors(colors); + finalMesh->triangles(triangles); + + SIBR_LOG << "[UVMapper] Done." << std::endl; + return finalMesh; +} + +const std::vector& UVUnwrapper::mapping() const +{ + return _mapping; +} + + +std::vector UVUnwrapper::atlasVisualization() const { + if(!_atlas || _atlas->width <= 0 || _atlas->height <= 0) { + SIBR_WRG << "[UVMapper] Atlas has not been created/processed." << std::endl; + return {}; + } + + SIBR_LOG << "[UVMapper] Rasterizing result maps..." << std::endl; + + // Rasterize unwrapped meshes. + // \todo port to SIBR image API. + std::vector outputChartsImage; + const uint32_t imageDataSize = _atlas->width * _atlas->height * 3; + outputChartsImage.resize(_atlas->atlasCount * imageDataSize); + for (uint32_t i = 0; i < _atlas->meshCount; i++) { + const xatlas::Mesh &xmesh = _atlas->meshes[i]; + const sibr::Vector3ub white = { 255, 255, 255 }; + // Rasterize mesh charts. + for (uint32_t j = 0; j < xmesh.chartCount; j++) { + const xatlas::Chart *chart = &xmesh.chartArray[j]; + const sibr::Vector3ub color = sibr::randomColor(); + for (uint32_t k = 0; k < chart->faceCount; k++) { + int verts[3][2]; + for (int l = 0; l < 3; l++) { + const xatlas::Vertex &v = xmesh.vertexArray[xmesh.indexArray[chart->faceArray[k] * 3 + l]]; + verts[l][0] = int(v.uv[0]); + verts[l][1] = int(v.uv[1]); + } + uint8_t *imageData = &outputChartsImage[chart->atlasIndex * imageDataSize]; + rasterizeTriangle(imageData, _atlas->width, verts[0], verts[1], verts[2], color); + rasterizeLine(imageData, _atlas->width, verts[0], verts[1], white); + rasterizeLine(imageData, _atlas->width, verts[1], verts[2], white); + rasterizeLine(imageData, _atlas->width, verts[2], verts[0], white); + } + } + } + + // Convert raw vectors to images. + std::vector views(_atlas->meshCount); + for (uint32_t i = 0; i < _atlas->meshCount; i++) { + views[i].reset(new ImageRGB(_atlas->width, _atlas->height)); + uint8_t *imageData = &outputChartsImage[i * imageDataSize]; +#pragma omp parallel for + for(int y = 0; y < int(_atlas->height); ++y) { + for(int x = 0; x < int(_atlas->width); ++x) { + const size_t baseId = (y * _atlas->width + x)*3; + for(int j = 0; j < 3; ++j) { + views[i](x, y)[j] = imageData[baseId + j]; + } + } + } + views[i]->flipH(); + } + return views; +} + +UVUnwrapper::~UVUnwrapper() { + xatlas::Destroy(_atlas); +} + diff --git a/SIBR_viewers/src/core/assets/UVUnwrapper.hpp b/SIBR_viewers/src/core/assets/UVUnwrapper.hpp new file mode 100644 index 0000000000..760724b84b --- /dev/null +++ b/SIBR_viewers/src/core/assets/UVUnwrapper.hpp @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include +#include + +namespace xatlas { + struct Atlas; +} + +namespace sibr +{ + /** Unwraps a mesh onto a plane, generating texture coordinates for each vertex. + * Internaly relies on xatlas for unwrapping. + \ingroup sibr_assets + */ + class SIBR_ASSETS_EXPORT UVUnwrapper { + public: + + /** Constructor. + *\param mesh the mesh to unwrap, if UVs are already present they will be used as a guide + *\param res the target texture width, will determine UV accuracy + */ + UVUnwrapper(const sibr::Mesh& mesh, unsigned int res); + + /** Unwrap the mesh, return a copy with UV coordinates. Note that some vertices might be duplicated if they are assigned different UVs in two faces. + * \return the unwrapped mesh + */ + sibr::Mesh::Ptr unwrap(); + + /** For each vertex of the unwrapped mesh, the mapping give the index of the corresponding vertex in the input mesh. + * \return a reference to the mapping vector + */ + const std::vector & mapping() const; + + /** Generate debug visualization by rasterizing the meshes in texture space. + * \return a set of images, one per atlas + */ + std::vector atlasVisualization() const; + + /// Destructor. + ~UVUnwrapper(); + + private: + + const sibr::Mesh& _mesh; ///< Unwrapped mesh. + unsigned int _size; ///< Width of the atlas, detemrine the accuracy of the estimated UVs. + xatlas::Atlas* _atlas; ///< Atlas object. + std::vector _mapping; ///< Mapping from the new vertices to the old (some might be duplicated with different UV values). + + }; +} diff --git a/SIBR_viewers/src/core/assets/colmapheader.h b/SIBR_viewers/src/core/assets/colmapheader.h new file mode 100644 index 0000000000..4917e56fe0 --- /dev/null +++ b/SIBR_viewers/src/core/assets/colmapheader.h @@ -0,0 +1,196 @@ +// Copyright (c) 2022, ETH Zurich and UNC Chapel Hill. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// +// * Redistributions in binary form must reproduce the above copyright +// notice, this list of conditions and the following disclaimer in the +// documentation and/or other materials provided with the distribution. +// +// * Neither the name of ETH Zurich and UNC Chapel Hill nor the names of +// its contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +// POSSIBILITY OF SUCH DAMAGE. +// +// Author: Johannes L. Schoenberger (jsch-at-demuc-dot-de) + +#ifndef COLMAP_SRC_UTIL_ENDIAN_H_ +#define COLMAP_SRC_UTIL_ENDIAN_H_ + +#include +#include +#include + +//namespace colmap { + +// Reverse the order of each byte. +template +T ReverseBytes(const T& data); + +// Check the order in which bytes are stored in computer memory. +bool IsLittleEndian(); +bool IsBigEndian(); + +// Convert data between endianness and the native format. Note that, for float +// and double types, these functions are only valid if the format is IEEE-754. +// This is the case for pretty much most processors. +template +T LittleEndianToNative(const T x); +template +T BigEndianToNative(const T x); +template +T NativeToLittleEndian(const T x); +template +T NativeToBigEndian(const T x); + +// Read data in little endian format for cross-platform support. +template +T ReadBinaryLittleEndian(std::istream* stream); +template +void ReadBinaryLittleEndian(std::istream* stream, std::vector* data); + +// Write data in little endian format for cross-platform support. +template +void WriteBinaryLittleEndian(std::ostream* stream, const T& data); +template +void WriteBinaryLittleEndian(std::ostream* stream, const std::vector& data); + +//////////////////////////////////////////////////////////////////////////////// +// Implementation +//////////////////////////////////////////////////////////////////////////////// + +template +T ReverseBytes(const T& data) { + T data_reversed = data; + std::reverse(reinterpret_cast(&data_reversed), + reinterpret_cast(&data_reversed) + sizeof(T)); + return data_reversed; +} + +inline bool IsLittleEndian() { +#ifdef BOOST_BIG_ENDIAN + return false; +#else + return true; +#endif +} + +inline bool IsBigEndian() { +#ifdef BOOST_BIG_ENDIAN + return true; +#else + return false; +#endif +} + +template +T LittleEndianToNative(const T x) { + if (IsLittleEndian()) { + return x; + } else { + return ReverseBytes(x); + } +} + +template +T BigEndianToNative(const T x) { + if (IsBigEndian()) { + return x; + } else { + return ReverseBytes(x); + } +} + +template +T NativeToLittleEndian(const T x) { + if (IsLittleEndian()) { + return x; + } else { + return ReverseBytes(x); + } +} + +template +T NativeToBigEndian(const T x) { + if (IsBigEndian()) { + return x; + } else { + return ReverseBytes(x); + } +} + +template +T ReadBinaryLittleEndian(std::istream* stream) { + T data_little_endian; + stream->read(reinterpret_cast(&data_little_endian), sizeof(T)); + return LittleEndianToNative(data_little_endian); +} + +template +void ReadBinaryLittleEndian(std::istream* stream, std::vector* data) { + for (size_t i = 0; i < data->size(); ++i) { + (*data)[i] = ReadBinaryLittleEndian(stream); + } +} + +template +void WriteBinaryLittleEndian(std::ostream* stream, const T& data) { + const T data_little_endian = NativeToLittleEndian(data); + stream->write(reinterpret_cast(&data_little_endian), sizeof(T)); +} + +template +void WriteBinaryLittleEndian(std::ostream* stream, const std::vector& data) { + for (const auto& elem : data) { + WriteBinaryLittleEndian(stream, elem); + } +} + +//} // namespace colmap + +#include +#include +#include +#include + +bool IsNotWhiteSpace(const int character) { + return character != ' ' && character != '\n' && character != '\r' && + character != '\t'; +} + +bool StringStartsWith(const std::string& str, const std::string& prefix) { + return !prefix.empty() && prefix.size() <= str.size() && + str.substr(0, prefix.size()) == prefix; +} + +void StringLeftTrim(std::string* str) { + str->erase(str->begin(), + std::find_if(str->begin(), str->end(), IsNotWhiteSpace)); +} + +void StringRightTrim(std::string* str) { + str->erase(std::find_if(str->rbegin(), str->rend(), IsNotWhiteSpace).base(), + str->end()); +} + +void StringTrim(std::string* str) { + StringLeftTrim(str); + StringRightTrim(str); +} + +#endif // COLMAP_SRC_UTIL_ENDIAN_H_ diff --git a/SIBR_viewers/src/core/assets/sibr_assets.dox b/SIBR_viewers/src/core/assets/sibr_assets.dox new file mode 100644 index 0000000000..7c5f30fc03 --- /dev/null +++ b/SIBR_viewers/src/core/assets/sibr_assets.dox @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! + \defgroup sibr_assets sibr_assets + + \brief Assets and files utilities. + +*/ diff --git a/SIBR_viewers/src/core/graphics/CMakeLists.txt b/SIBR_viewers/src/core/graphics/CMakeLists.txt new file mode 100644 index 0000000000..870fa1a8cf --- /dev/null +++ b/SIBR_viewers/src/core/graphics/CMakeLists.txt @@ -0,0 +1,71 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(sibr_graphics) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +file(GLOB RESOURCES "resources/*.ini") +source_group("Resources Files" FILES ${RESOURCES}) + +## Specify target rules +add_library(${PROJECT_NAME} SHARED ${SOURCES}) + +include_directories( + ${Boost_INCLUDE_DIRS} + ${imgui_INCLUDE_DIRS} +) +if(WIN32) +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + OpenMP::OpenMP_CXX + imgui + glfw3 + sibr_system +) +else() +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + OpenMP::OpenMP_CXX + imgui + ${GLFW_LIBRARY} + sibr_system +) +endif() + +if (NOT WIN32) + target_link_libraries(${PROJECT_NAME} + #GLEW + rt m dl X11 pthread Xrandr Xinerama Xxf86vm Xcursor + # X11 Xi Xrandr Xxf86vm Xinerama Xcursor dl rt m pthread + ) +endif() + +add_definitions(-DSIBR_GRAPHICS_EXPORTS -DIMGUI_EXPORTS -DBOOST_ALL_DYN_LINK) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER ${SIBR_FOLDER}) + + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + RESOURCES ${RESOURCES} + RSC_FOLDER "core" +) diff --git a/SIBR_viewers/src/core/graphics/Camera.cpp b/SIBR_viewers/src/core/graphics/Camera.cpp new file mode 100644 index 0000000000..15a9c95d20 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Camera.cpp @@ -0,0 +1,158 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "core/graphics/Camera.hpp" + +namespace sibr +{ + + ByteStream& operator << (ByteStream& stream, const Camera& c ) + { + Camera::Transform3f t = c.transform(); + float fovy = c.fovy(); + float aspect = c.aspect(); + float znear = c.znear(); + float zfar = c.zfar(); + return stream + << t << fovy << aspect << znear << zfar; + } + + ByteStream& operator >> (ByteStream& stream, Camera& c ) + { + Camera::Transform3f t; + float fovy = 0.f; + float aspect = 0.f; + float znear = 0.f; + float zfar = 0.f; + stream + >> t >> fovy >> aspect >> znear >> zfar; + c.transform(t); + c.fovy(fovy); + c.aspect(aspect); + c.znear(znear); + c.zfar(zfar); + return stream; + } + + void Camera::perspective( float fovRad, float ratio, float znear, float zfar ) + { + _fov = fovRad; + _aspect = ratio; + _znear = znear; + _zfar = zfar; + _dirtyViewProj = true; + } + + Vector3f Camera::project( const Vector3f& p3d ) const + { + Vector4f p4d; + p4d[0] = p3d[0]; p4d[1] = p3d[1]; p4d[2] = p3d[2]; p4d[3] = 1.0; + Vector4f p3d_t = viewproj() * p4d; + p3d_t = p3d_t / p3d_t[3]; + //p3d_t[2] = p3d_t[2]*0.5f + 0.5f; // [-1;1] to [0;1] // not used + return Vector3f(p3d_t[0], p3d_t[1], p3d_t[2]); // so return [-1;1] + + //p3d_t[2] = p3d_t[2]*0.5f + 0.5f; // [-1;1] to [0;1] // not used + //return Vector3f(p3d_t[0], p3d_t[1], p3d_t[2]); // so return [-1;1] + } + + Vector3f Camera::unproject( const Vector3f& p3d ) const + { + Vector4f p4d; + p4d[0] = p3d[0]; p4d[1] = p3d[1]; p4d[2] = p3d[2]; p4d[3] = 1.0; + //p4d[2] = p4d[2]*2.f - 1.f; // [0;1] to [-1;1] // not used + Vector4f p3d_t = invViewproj() * p4d;//;viewproj().inverse() * p4d; + return Vector3f(p3d_t[0],p3d_t[1],p3d_t[2])/p3d_t[3]; + } + + bool Camera::frustumTest(const Vector3f& position3d, const Vector2f& pixel2d) const + { + return (pixel2d.cwiseAbs().array() < (1.0f-1e-5f) ).all() && (dir().dot(position3d - position()) > 0); + } + + bool Camera::frustumTest(const Vector3f& position3d) const + { + return frustumTest(position3d, project(position3d).xy()); + } + + void Camera::forceUpdateViewProj( void ) const + { + _matViewProj = sibr::Matrix4f(proj()*view()); + //_matViewProj = proj()*view(); + _invMatViewProj = _matViewProj.inverse(); + _dirtyViewProj = false; + } + + Vector3f Camera::dir( void ) const + { + return quatRotateVec(rotation(), Vector3f( 0.f, 0.f,-1.f)); + } + + Vector3f Camera::up( void ) const + { + return quatRotateVec(rotation(), Vector3f( 0.f, 1.f, 0.f)); + } + + Vector3f Camera::right( void ) const + { + return quatRotateVec(rotation(), Vector3f( 1.f, 0.f, 0.f)); + } + + Matrix4f Camera::proj( void ) const + { + //std::cout << "FOV: " << _fov << "Aspect" << _aspect << "ZNEAR" << _znear << "ZFAR" << _zfar << std::endl << std::flush; + if (ortho()) + return sibr::orthographic(_right, _top, _znear, _zfar); + else + return sibr::perspective(_fov, _aspect, _znear, _zfar, _p); + } + + /*static*/ Camera Camera::interpolate( const Camera& from, const Camera& to, float dist01 ) + { + dist01 = std::max(0.f, std::min(1.f, dist01)); + Transform3f t = Transform3f::interpolate(from._transform, to._transform, dist01); + Camera out = from; + out._transform = t; + out.fovy(dist01*from.fovy() + (1.0f-dist01)*to.fovy()); + out.aspect(dist01*from.aspect() + (1.0f-dist01)*to.aspect()); + out.zfar(dist01*from.zfar() + (1.0f-dist01)*to.zfar()); + out.znear(dist01*from.znear() + (1.0f-dist01)*to.znear()); + if (from.ortho()) { + out.orthoRight(dist01*from.orthoRight() + (1.0f-dist01)*to.orthoRight()); + out.orthoTop(dist01*from.orthoTop() + (1.0f-dist01)*to.orthoTop()); + } + return out; + } + + void Camera::setStereoCam(bool isLeft, float focal, float iod) + { + _matViewProj = sibr::perspectiveStereo(_fov, _aspect, _znear, _zfar, focal, iod, isLeft)*view(); + _invMatViewProj = _matViewProj.inverse(); + } + + void Camera::setOrthoCam(float right, float top) + { + _matViewProj = sibr::orthographic(right,top,_znear,_zfar)*view(); + _invMatViewProj = _matViewProj.inverse(); + _dirtyViewProj = false; + _isOrtho = true; + _right = right; + _top = top; + } + + void Camera::transform( const Transform3f& t ) + { + _transform = t; + _dirtyViewProj = true; + } + +} // namespace sibr \ No newline at end of file diff --git a/SIBR_viewers/src/core/graphics/Camera.hpp b/SIBR_viewers/src/core/graphics/Camera.hpp new file mode 100644 index 0000000000..d4e470e0c2 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Camera.hpp @@ -0,0 +1,426 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Config.hpp" +# include "core/system/Transform3.hpp" + + +namespace sibr +{ + /** Represent a basic camera. + \note In practice, InputCamera is used most of the time + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT Camera + { + public: + SIBR_CLASS_PTR(Camera); + typedef Transform3 Transform3f; + + public: + + /// Default constructor. + Camera( void ): + _matViewProj(Matrix4f::Identity()), _invMatViewProj(Matrix4f::Identity()), + _dirtyViewProj(true), _savePath(""), _debugVideoFrames(false), + _fov(70.f/180.0f*float(M_PI)), _aspect(1.f), _znear(0.01f), _zfar(1000.f), _right(1.0f), _top(1.0f), _isOrtho(false), _p(0.5f, 0.5f) { } + + /** Set the camera pose. + \param translation the camera translation + \param rotation the camera rotation + */ + void set( const Vector3f& translation, const Quaternionf& rotation ); + + /** Set the camera pose based on two points and a up vector. + \param eye the camera position + \param center the camera target point + \param up the camera up vector + */ + void setLookAt( const Vector3f& eye, const Vector3f& center, const Vector3f& up ); + + /** Translate the camera. + \param v the translation + */ + void translate( const Vector3f& v ); + + /** Translate the camera with respect to a reference frame. + \param v the translation + \param ref the reference frame + */ + void translate( const Vector3f& v, const Transform3f& ref ); + + /** Set the camera position. + \param v the new position + */ + void position( const Vector3f& v ); + + /** \return the camer position. */ + const Vector3f& position( void ) const; + + /** Rotate the camera. + \param rotation the quaternion rotation to apply + */ + void rotate( const Quaternionf& rotation ); + + /** Rotate the camera. + \param v the euler angles to apply + */ + void rotate( const Vector3f& v ); + + /** Rotate the camera with respect to a reference frame. + \param v the rotation euler angles + \param ref the reference frame + */ + void rotate( const Vector3f& v, const Transform3f& ref ); + + /** Set the camera rotation. + \param v the new rotation euler angles + */ + void rotation( const Vector3f& v ); + + /** Set the camera rotation. + \param q the new rotation + */ + void rotation( const Quaternionf& q ); + + /** \return the camera rotation. */ + const Quaternionf& rotation( void ) const; + + /** Set the camera transform. + \param t the new transform + */ + void transform( const Transform3f& t ); + + /** \return the camera transform. */ + const Transform3f& transform( void ) const; + + ///////////////////////////////////////////////////////////////// + ///// ==================== Projection ==================== ///// + ///////////////////////////////////////////////////////////////// + + /** Set the vertical field of view (in radians). + \param value the new value + */ + void fovy( float value ); + + /** \return the vertical field of view (in radians). */ + float fovy( void ) const; + + /** Set the aspect ratio. + \param value the new value + */ + void aspect( float value ); + + /** \return the aspect ratio. */ + float aspect( void ) const; + + /** Set the near plane. + \param value the new value + */ + void znear( float value ); + + /** \return the near plane distance */ + float znear( void ) const; + + /** Set the far plane. + \param value the new value + */ + void zfar( float value ); + + /** \return the far plane distance */ + float zfar( void ) const; + + /** Set the right frustum extent. + \param value the new value + */ + void orthoRight( float value ); + + /** \return the right frustum distance */ + float orthoRight( void ) const; + + /** Set the top frustum extent. + \param value the new value + */ + void orthoTop( float value ); + + /** \return the top frustum distance */ + float orthoTop( void ) const; + + /** \return true if the camera is orthographic. */ + bool ortho(void) const; + + /** \return the camera direction vector. */ + Vector3f dir( void ) const; + + /** \return the camera up vector. */ + Vector3f up( void ) const; + + /** \return the camera right vector. */ + Vector3f right( void ) const; + + /** Project 3D point using perspective projection. + * \param point3d 3D point + * \return pixel coordinates in [-1,1] and depth in [-1,1] + */ + Vector3f project( const Vector3f& point3d ) const; + + /** Back-project pixel coordinates and depth. + * \param pixel2d pixel coordinates p[0],p[1] in [-1,1] and depth p[2] in [-1,1] + * \return 3D point + */ + Vector3f unproject( const Vector3f& pixel2d ) const; + + /** Update the projection parameters of the camera. + \param fovRad the vertical field ov view in radians + \param ratio the aspect ratio + \param znear the near plane distance + \param zfar the far plane distance + */ + void perspective( float fovRad, float ratio, float znear, float zfar ); + + /** Check if a point falls inside the camera frustum. + \param position3d the point location in 3D + \return true if the point falls inside + */ + bool frustumTest(const Vector3f& position3d) const; + + /** Check if a point falls inside the camera frustum. Use this version if you already have the projected point. + \param position3d the point location in 3D + \param pixel2d the projection location of the point in image space ([-1,1]) + \return true if the point falls inside + */ + bool frustumTest(const Vector3f& position3d, const Vector2f& pixel2d) const; + + /** \return the camera model matrix (for camera stub rendering for instance). */ + Matrix4f model( void ) const { return _transform.matrix(); } + + /** \return the camera view matrix. */ + Matrix4f view( void ) const { return _transform.invMatrix(); } + + /** \return the camera projection matrix. */ + virtual Matrix4f proj( void ) const; + + /** \return the camera view-proj matrix (cached). */ + const Matrix4f& viewproj( void ) const; + + /** \return the camera inverse view-proj matrix (cached). */ + const Matrix4f& invViewproj( void ) const; + + /** Set the camera principal point. + \param p the principal point, expressed in [0,1] + */ + void principalPoint(const sibr::Vector2f & p); + + /** Interpolate between two cameras. + \param from start camera + \param to end camera + \param dist01 the interpolation factor + \return a camera with interpolated parameters + */ + static Camera interpolate( const Camera& from, const Camera& to, float dist01 ); + + /** Set stereo camera projection parameters. + \param isLeft is the camera for the left eye (else right) + \param focal the focal distance + \param iod the inter ocular distance + */ + void setStereoCam(bool isLeft, float focal, float iod); + + /** Set orthographic camera projection parameters. + \param right the right frustum extent + \param top the top frustum extent + */ + void setOrthoCam(float right, float top); + + /** \return true if the rendering generated with the camera be saved. */ + bool needSave() const { return _savePath!=""; } + + /**\return true if the rendering generated with the camera be saved as a frame. */ + bool needVideoSave() const { return _debugVideoFrames; } + + /** \return the save destination path for renderings */ + std::string savePath() const { return _savePath; } + + /** Set the save destination path for renderings. + \param savePath the new path + */ + void setSavePath(std::string savePath) { _savePath = savePath; } + + /** Toggle video saving. + \todo Cleanup naming. + \param debug if true, saving frames + */ + void setDebugVideo(const bool debug) { _debugVideoFrames = debug; } + + protected: + + /** Trigger a viewproj matrix udpate. */ + void forceUpdateViewProj( void ) const; + + std::string _savePath; ///< Save destination path when reocrding images. + bool _debugVideoFrames; ///< Is video saving enabled or not. \todo Cleanup. + mutable Matrix4f _matViewProj; ///< View projection matrix. + mutable Matrix4f _invMatViewProj; ///< Inverse projection matrix. + mutable bool _dirtyViewProj; ///< Does the camera matrix need an update. + + Transform3f _transform; ///< The camera pose. + float _fov; ///< The vertical field of view (radians) + float _aspect; ///< Aspect ratio. + float _znear; ///< Near plane. + float _zfar; ///< Far plane. + float _right; ///< Frustum half width. + float _top; ///< Frustum half height. + sibr::Vector2f _p = {0.5f, 0.5}; ///< Principal point. + bool _isOrtho; ///< Is the camera orthographic. + }; + + /** Write a camera to a byte stream. + \param stream the stream to write to + \param c the camera + \return the stream (for chaining). + */ + SIBR_GRAPHICS_EXPORT ByteStream& operator << (ByteStream& stream, const Camera& c ); + + /** Read a camera from a byte stream. + \param stream the stream to read from + \param c the camera + \return the stream (for chaining). + */ + SIBR_GRAPHICS_EXPORT ByteStream& operator >> (ByteStream& stream, Camera& c ); + + ///// DEFINITIONS ///// + + ///////////////////////////////////////////////////////////////// + inline const Transform3f& Camera::transform( void ) const { + return _transform; + } + + inline void Camera::set( const Vector3f& translation, const Quaternionf& rotation ) { + _dirtyViewProj = true; _transform.set(translation, rotation); + } + + inline void Camera::setLookAt( const Vector3f& eye, const Vector3f& at, const Vector3f& up ) { + const Vector3f zAxis( (eye - at).normalized() ); + const Vector3f xAxis( (up.normalized().cross(zAxis)).normalized() ); + const Vector3f yAxis( zAxis.cross(xAxis).normalized() ); + + Eigen::Matrix3f rotation; + rotation << xAxis, yAxis, zAxis; + Quaternionf q(rotation); + + _transform.set(eye,q); + forceUpdateViewProj(); + } + + inline void Camera::translate( const Vector3f& v ) { + _dirtyViewProj = true; _transform.translate(v); + } + inline void Camera::translate( const Vector3f& v, const Transform3f& ref ) { + _dirtyViewProj = true; _transform.translate(v, ref); + } + inline void Camera::position( const Vector3f& v ) { + _dirtyViewProj = true; _transform.position(v); + } + inline const Vector3f& Camera::position( void ) const { + return _transform.position(); + } + + inline void Camera::rotate( const Quaternionf& rotation ) { + _dirtyViewProj = true; _transform.rotate(rotation); + } + inline void Camera::rotate( const Vector3f& v ) { + _dirtyViewProj = true; _transform.rotate(v); + } + inline void Camera::rotate( const Vector3f& v, const Transform3f& ref ) { + _dirtyViewProj = true; _transform.rotate(v, ref); + } + + inline void Camera::rotation( const Vector3f& v ) { + _dirtyViewProj = true; _transform.rotation(v); + } + inline void Camera::rotation( const Quaternionf& q ) { + _dirtyViewProj = true; _transform.rotation(q); + } + + inline const Quaternionf& Camera::rotation( void ) const { + return _transform.rotation(); + } + + ///////////////////////////////////////////////////////////////// + + inline void Camera::fovy( float value ) { + _fov = value; _dirtyViewProj = true; + } + inline float Camera::fovy( void ) const { + return _fov; + } + + inline void Camera::aspect( float value ) { + _aspect = value; _dirtyViewProj = true; + } + inline float Camera::aspect( void ) const { + return _aspect; + } + + inline void Camera::znear( float value ) { + _znear = value; _dirtyViewProj = true; + } + inline float Camera::znear( void ) const { + return _znear; + } + + inline void Camera::zfar( float value ) { + _zfar = value; _dirtyViewProj = true; + } + inline float Camera::zfar( void ) const { + return _zfar; + } + + inline void Camera::principalPoint(const sibr::Vector2f & p) { + _p = p; _dirtyViewProj = true; + } + + inline void Camera::orthoRight( float value ) { + _right = value; _dirtyViewProj = true; + } + inline float Camera::orthoRight( void ) const { + return _right; + } + + inline void Camera::orthoTop( float value ) { + _top = value; _dirtyViewProj = true; + } + inline float Camera::orthoTop( void ) const { + return _top; + } + inline bool Camera::ortho(void) const { + return _isOrtho; + } + + + inline const Matrix4f& Camera::viewproj( void ) const { + if (_dirtyViewProj) + forceUpdateViewProj(); + + return _matViewProj; + } + + inline const Matrix4f& Camera::invViewproj( void ) const { + if (_dirtyViewProj) + forceUpdateViewProj(); + + return _invMatViewProj; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Config.hpp b/SIBR_viewers/src/core/graphics/Config.hpp new file mode 100644 index 0000000000..254eb97bbb --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Config.hpp @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/system/Config.hpp" +# include "core/system/Utils.hpp" + +//#define GLEW_STATIC +#include + +# include + +# define GLFW_INCLUDE_GLU +# include + + +// (used by Image) +# pragma warning(push, 0) +# include +# include +# include +# pragma warning(pop) + + + +# ifdef SIBR_OS_WINDOWS +//// Export Macro (used for creating DLLs) //// +# ifdef SIBR_STATIC_DEFINE +# define SIBR_EXPORT +# define SIBR_NO_EXPORT +# else +# ifndef SIBR_GRAPHICS_EXPORT +# ifdef SIBR_GRAPHICS_EXPORTS + /* We are building this library */ +# define SIBR_GRAPHICS_EXPORT __declspec(dllexport) +# else + /* We are using this library */ +# define SIBR_GRAPHICS_EXPORT __declspec(dllimport) +# endif +# endif +# ifndef SIBR_NO_EXPORT +# define SIBR_NO_EXPORT +# endif +# endif +# else +# define SIBR_GRAPHICS_EXPORT +# endif + + +/** Macro to check OpenGL error and throw \p std::runtime_error if found */ +# undef CHECK_GL_ERROR +# define CHECK_GL_ERROR { \ + GLenum err = glGetError(); \ + if (err) { \ + std::string errorStr = "Unknown"; \ + switch (err) { \ + case GL_INVALID_ENUM: \ + errorStr = "GL_INVALID_ENUM"; \ + break; \ + case GL_INVALID_VALUE: \ + errorStr = "GL_INVALID_VALUE"; \ + break; \ + case GL_INVALID_OPERATION: \ + errorStr = "GL_INVALID_OPERATION"; \ + break; \ + case GL_STACK_OVERFLOW: \ + errorStr = "GL_STACK_OVERFLOW"; \ + break; \ + case GL_STACK_UNDERFLOW: \ + errorStr = "GL_STACK_UNDERFLOW"; \ + break; \ + case GL_OUT_OF_MEMORY: \ + errorStr = "GL_OUT_OF_MEMORY"; \ + break; \ + case GL_INVALID_FRAMEBUFFER_OPERATION: \ + errorStr = "GL_INVALID_FRAMEBUFFER_OPERATION"; \ + break; \ + default: \ + break; \ + } \ + SIBR_ERR << "OpenGL error 0x0" << std::hex << err << std::dec << " (" << int(err) << ") " << errorStr << " at " << __FILE__ << ":" << __LINE__ << std::endl; \ + } \ +} + +#define SIBR_GLSL(version, shader) "#version " #version "\n" #shader + + +namespace sibr +{ + /** Clamp a value. + \param value value to clamp + \param min min value + \param max max value + \return min(max(value, min), max) + \ingroup sibr_graphics + */ + template + inline T clamp( T value, T min, T max ) { + return std::max(min, std::min(max, value)); + } + +} // namespace sibr + diff --git a/SIBR_viewers/src/core/graphics/Frustum.cpp b/SIBR_viewers/src/core/graphics/Frustum.cpp new file mode 100644 index 0000000000..6f79daae64 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Frustum.cpp @@ -0,0 +1,111 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +// Partially based on: +// http://www.lighthouse3d.com/tutorials/view-frustum-culling + +#include "core/graphics/Camera.hpp" +#include "core/graphics/Frustum.hpp" + +namespace sibr +{ + Frustum::Frustum(const Camera& cam) + { + float ratio = cam.aspect(); + float angle = cam.fovy(); + float nearD = cam.znear(); + float farD = cam.zfar(); + + // compute width and height of the near and far plane sections + float tang = (float)tan(SIBR_DEGTORAD(angle) * 0.5); + float nh = nearD * tang; + float nw = nh * ratio; + float fh = farD * tang; + float fw = fh * ratio; + + Vector3f nc, fc, X, Y, Z; + const Vector3f& p = cam.position(); + + // compute the Z axis of camera + // this axis points in the opposite direction from + // the looking direction + Z = -cam.dir(); + + // X axis of camera with given "up" vector and Z axis + X = cam.up().cross(Z); + X.normalize(); + + // the real "up" vector is the cross product of Z and X + Y = cam.up(); + + // compute the centers of the near and far planes + nc = p - Z * nearD; + fc = p - Z * farD; + + _planes[NEARP].buildFrom( -Z, nc ); + _planes[FARP].buildFrom( Z, fc ); + + Vector3f aux, normal; + + aux = (nc + Y*nh) - p; + aux.normalize(); + normal = aux.cross(X); + _planes[TOP].buildFrom( normal, nc + Y*nh ); + + aux = (nc - Y*nh) - p; + aux.normalize(); + normal = X.cross(aux); + _planes[BOTTOM].buildFrom( normal, nc - Y*nh ); + + aux = (nc - X*nw) - p; + aux.normalize(); + normal = aux.cross(Y); + _planes[LEFT].buildFrom( normal, nc - X*nw ); + + aux = (nc + X*nw) - p; + aux.normalize(); + normal = Y.cross(aux); + _planes[RIGHT].buildFrom( normal, nc + X*nw ); + } + + Frustum::TestResult Frustum::testSphere(const Vector3f& p, float radius) + { + float distance; + TestResult result = INSIDE; + + for (int i = 0; i < 6; i++) { + distance = _planes[i].distanceWithPoint(p); + if (distance < -radius) + return OUTSIDE; + else if (distance < radius) + result = INTERSECT; + } + return result; + } + + float Frustum::Plane::distanceWithPoint(const Vector3f& p) + { + // dist = A*rx + B*ry + C*rz + D = n . r + D + return A*p.x() + B*p.y() + C*p.z() + D; + } + void Frustum::Plane::buildFrom(const Vector3f& normal, const Vector3f& point) + { + Vector3f n = normal; + n.normalize(); + A = n.x(); + B = n.y(); + C = n.z(); + D = -n.dot(point); + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Frustum.hpp b/SIBR_viewers/src/core/graphics/Frustum.hpp new file mode 100644 index 0000000000..f30654cc34 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Frustum.hpp @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" + +namespace sibr +{ + class Camera; + + /** Represent a 3D frustum defined by 6 planes. + * \warning This class has not been strongly tested! + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT Frustum + { + public: + + /// Result of intersection test. + enum TestResult + { + OUTSIDE = 0, + INTERSECT, + INSIDE + }; + + /// Frustum plane representation. + struct Plane + { + float A; + float B; + float C; + float D; + + /** Get the distance from a point to the plane. + \param p 3D point + \return distance + */ + float distanceWithPoint(const Vector3f& p); + + /** Build a plane from a normal and a point. + \param normal the normal + \param point a point belonging to the plane + */ + void buildFrom(const Vector3f& normal, const Vector3f& point); + }; + + public: + + /** Construct the furstum associated to a camera. + \param cam the camera + */ + Frustum(const Camera& cam); + + /** Test if a sphere intersects the frustum or is contained in it. + \param sphere sphere center + \param radius sphere radis + \return if the sphere is inside, intersecting or outside the frustum + */ + TestResult testSphere(const Vector3f& sphere, float radius); + + private: + + /// Location of each plane. + enum + { + TOP = 0, + BOTTOM, + LEFT, + RIGHT, + NEARP, + FARP, + + COUNT + }; + + + std::array _planes; ///< Frustum planes. + + }; + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/GPUQuery.cpp b/SIBR_viewers/src/core/graphics/GPUQuery.cpp new file mode 100644 index 0000000000..9ee4b1abc3 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/GPUQuery.cpp @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "GPUQuery.hpp" + +using namespace sibr; + +GPUQuery::GPUQuery(GLenum type, size_t count) : _count(count), _type(type){ + if(count < 2) { + SIBR_WRG << "Using a buffer of size >= 2 is recommended to avoid synchronization problems." << std::endl; + } + _ids.resize(count); + glGenQueries(GLsizei(_ids.size()), &_ids[0]); + _current = _count - 1; + // Dummy initial query. + for (int i = 0; i < _count; ++i) + { + begin(); + end(); + } +} + +void GPUQuery::begin() { + if(_observing) { + SIBR_WRG << "Query already started..." << std::endl; + return; + } + _current = (_current + 1) % _count; + glBeginQuery(_type, _ids[_current]); + _observing = true; +} + +void GPUQuery::end() { + if (!_observing) { + SIBR_WRG << "Query not running..." << std::endl; + return; + } + glEndQuery(_type); + _observing = false; +} + +uint64 GPUQuery::value() { + if (_observing) { + SIBR_WRG << "Query still running, ending it first..." << std::endl; + end(); + } + // We want the ID of the previous frame, taking into account that we have incremented the counter once more when ending it. So minus 1. + // Except if you have only one query, in which case we query this one, but it will stall the GPU. + const size_t previous = (_current - 1) % _count; + GLuint64 data = 0; + glGetQueryObjectui64v(_ids[previous], GL_QUERY_RESULT, &data); + //CHECK_GL_ERROR; + return data; +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/graphics/GPUQuery.hpp b/SIBR_viewers/src/core/graphics/GPUQuery.hpp new file mode 100644 index 0000000000..11f00b0246 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/GPUQuery.hpp @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once +#include +#include + +namespace sibr { + + /** + * Provide a buffered wrapper around an OpenGL query object, avoiding manual synchronization. + * See section 4.2 of the OpenGL 4.6 specification for more details on the types of queries available + * (time elapsed, number of primitives, number of fragment writes...). + * + * For example, to get the processing time of a mesh draw call, you can use the following. + * In renderer initialisation: + * GPUQuery query(GL_TIME_ELAPSED); + * In the rendering loop: + * query.begin(); + * mesh.draw(); + * query.end(); + * In your GUI loop: + * const uint64 time = query.value(); + * //... display it. + * + * \warning Because the query is using buffering to avoid stalling when querying the value, + * you SHOULD NOT use the same query object for multiple timings in the same frame. + * It should also be use for multiple consecutive frames ; because of buffering again, + * the first time value() is queried, it might be erroneous. + * + * \note If you want to create a query inline (for a one shot measurement), set the buffer + * count to 1, and know that it will introduce a stall when querying the value. + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT GPUQuery + { + SIBR_CLASS_PTR(GPUQuery); + + public: + + /** Create a query of a given type. + \param type the OpenGL enum type + \param count number of buffered internal queries (ideally >= 2). + */ + GPUQuery(GLenum type, size_t count = 2); + + /** Start measuring. */ + void begin(); + + /** Stop measuring. */ + void end(); + + /** Obtain the raw value (time in nanoseconds, number of primitives,...) for the query before last. + This allows for buffering from one frame to the next and avoid stalls (except if count is set to 1). + \return the query value. + */ + uint64 value(); + + private: + + std::vector _ids; ///< Internal queries IDs. + const size_t _count; ///< Number of queries. + GLenum _type; ///< Type of query. + size_t _current = 0; ///< Current internla query used. + bool _observing = false; ///< Are we currently measuring. + }; + +} diff --git a/SIBR_viewers/src/core/graphics/GUI.cpp b/SIBR_viewers/src/core/graphics/GUI.cpp new file mode 100644 index 0000000000..5b4b2fa032 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/GUI.cpp @@ -0,0 +1,436 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/Window.hpp" +#include "core/graphics/GUI.hpp" +#include "core/graphics/Mesh.hpp" + +// We extend ImGui functionality so we need the internal definitions. +#define IMGUI_DEFINE_MATH_OPERATORS +#include + +namespace sibr +{ + + bool showImGuiWindow(const std::string& windowTitle, const IRenderTarget& rt, ImGuiWindowFlags flags, Viewport & viewport, bool invalidTexture, bool updateLayout, int handle ) + { + bool isWindowFocused = false; + // If we are asked to, we need to update the viewport at launch. + if (updateLayout) { + ImGui::SetNextWindowPos(ImVec2(viewport.finalLeft(), viewport.finalTop())); + ImGui::SetNextWindowSize(ImVec2(0, 0)); + ImGui::SetNextWindowContentSize(ImVec2(viewport.finalWidth(), viewport.finalHeight())); + } + + if (::ImGui::Begin(windowTitle.c_str(), NULL, flags)) + { + // Get the current cursor position (where your window is) + ImVec2 pos = /*ImGui::GetItemRectMin() + */::ImGui::GetCursorScreenPos(); + Vector2f offset, size; + Vector2i availRegionSize(::ImGui::GetContentRegionAvail().x, ::ImGui::GetContentRegionAvail().y); + + fitImageToDisplayRegion(viewport.finalSize(), availRegionSize, offset, size); + + size = size.cwiseMax( sibr::Vector2f( 1.0f,1.0f) ); + + + pos.x += offset.x(); + pos.y += offset.y(); + + + ImGui::SetCursorPos(ImVec2(offset.x(), ImGui::GetTitleBarHeight()+offset.y())); + ImGui::InvisibleButton((windowTitle + "--TEXTURE-INVISIBLE_BUTTON").c_str(), ImVec2(size.x(), size.y())); + if (!invalidTexture) { + ::ImGui::GetWindowDrawList()->AddImage((void*)(intptr_t)(rt.handle(handle)), + pos, ImVec2(pos.x + size.x(), pos.y + size.y()), + ImVec2(0, 1), ImVec2(1, 0)); + } + + isWindowFocused = ImGui::IsWindowFocused(); + + viewport = Viewport(pos.x, pos.y, pos.x+size.x(), pos.y+size.y()); + + // Hand back the inputs to sibr. + if (ImGui::IsItemHovered()) { + ImGui::CaptureKeyboardFromApp(false); + ImGui::CaptureMouseFromApp(false); + } + } + ::ImGui::End(); + + return isWindowFocused; + } + + Mesh::Ptr generateMeshForText(const std::string & text, unsigned int & separationIndex){ + // Technically we don't care if we already are in the middle of a ImGui frame. + // as long as we clear the draw list. ImGui will detect the empty draw lists and cull them. + ImGui::PushID(1234567809); + ImGui::SetNextWindowPos(ImVec2(0,0)); + ImGui::Begin(text.c_str(), nullptr, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoInputs); + ImGui::SetWindowFontScale(ImGui::GetIO().FontGlobalScale); + + ImGui::Text(text.c_str()); + // Get back the draw list. + ImDrawList * drawlist = ImGui::GetWindowDrawList(); + const int vertCount = drawlist->VtxBuffer.Size; + const int indexCount = drawlist->IdxBuffer.Size; + // We generate one mesh from the draw list. + std::vector vertices(vertCount); + std::vector uvs(vertCount); + std::vector colors(vertCount); + std::vector faces(indexCount / 3); + + sibr::Vector3f centroid(0.0f, 0.0f, 0.0f); + for (int k = 0; k < vertCount; ++k) { + const auto & vtx = drawlist->VtxBuffer[k]; + vertices[k][0] = (vtx.pos.x)*2.0f; + vertices[k][1] = -vtx.pos.y*2.0f; + uvs[k][0] = vtx.uv.x; uvs[k][1] = vtx.uv.y; + ImVec4 col = ImGui::ColorConvertU32ToFloat4(vtx.col); + colors[k][0] = col.x; colors[k][1] = col.y; + colors[k][2] = col.z; vertices[k][2] = col.w; + centroid += vertices[k]; + } + for (int k = 0; k < indexCount; k += 3) { + faces[k / 3][0] = (unsigned int)drawlist->IdxBuffer[k]; + faces[k / 3][1] = (unsigned int)drawlist->IdxBuffer[k + 1]; + faces[k / 3][2] = (unsigned int)drawlist->IdxBuffer[k + 2]; + } + // Center the mesh? + centroid /= float(vertices.size()); + for (int k = 0; k < vertices.size(); ++k) { + vertices[k] -= centroid; + } + Mesh::Ptr mesh = std::make_shared(); + mesh->vertices(vertices); + mesh->colors(colors); + mesh->texCoords(uvs); + mesh->triangles(faces); + // Store the separation idnex between the background and the text foreground. + separationIndex = drawlist->CmdBuffer[0].ElemCount; + + // Finish the window, then clear the draw list. + ImGui::End(); + ImGui::PopID(); + drawlist->Clear(); + return mesh; + } + + + void fitImageToDisplayRegion(const Vector2f & imgSize, const Vector2i & regionSize, Vector2f& offset, Vector2f& size) + { + + Vector2f ratios = imgSize.cwiseQuotient(regionSize.cast()); + if (ratios.x() < ratios.y()) + { + float aspect = imgSize.x() / imgSize.y(); + size.y() = float(regionSize.y()); + size.x() = size.y() * aspect; + } + else + { + float aspect = imgSize.y() / imgSize.x(); + size.x() = float(regionSize.x()); + size.y() = size.x() * aspect; + } + offset = regionSize.cast() / 2 - size / 2; + } + + + + sibr::Vector2f ZoomData::topLeft() const { return center - diagonal; } + sibr::Vector2f ZoomData::bottomRight() const { return center + diagonal; } + + sibr::Vector2f ZoomData::uvFromBoxPos(const sibr::Vector2f& pos) const + { + return topLeft() + 2.0f*diagonal.cwiseProduct(pos); + } + + ZoomData ZoomData::scaled(const sibr::Vector2f& size) const + { + ZoomData out; + out.center = center.cwiseProduct(size); + out.diagonal = diagonal.cwiseProduct(size); + return out; + } + + void ZoomInterraction::updateZoom(const sibr::Vector2f& canvasSize) + { + const auto & d = callBackData; + if (d.ctrlPressed) { + return; + } + + sibr::Vector2f posF = zoomData.uvFromBoxPos(d.positionRatio); + + if (d.isHoovered && d.isClickedRight && !zoomData.underMofidication) { + zoomData.underMofidication = true; + zoomData.tmpTopLeft = posF; + zoomData.firstClickPixel = d.mousePos; + } + if (d.isHoovered && zoomData.underMofidication) { + zoomData.tmpBottonRight = posF; + zoomData.secondClickPixel = d.mousePos; + } + + if (zoomData.underMofidication) { + ImGui::GetWindowDrawList()->AddRect( + ImVec2(zoomData.firstClickPixel[0], zoomData.firstClickPixel[1]), + ImVec2(zoomData.secondClickPixel[0], zoomData.secondClickPixel[1]), + IM_COL32(255, 0, 0, 255), 0, 0, 2 + ); + } + + if (d.isReleasedRight && zoomData.underMofidication) { + zoomData.underMofidication = false; + if ((zoomData.tmpBottonRight - zoomData.tmpTopLeft).cwiseProduct(canvasSize).cwiseAbs().minCoeff() > 10) { + zoomData.center = 0.5f*(zoomData.tmpBottonRight + zoomData.tmpTopLeft); + zoomData.diagonal = 0.5f*(zoomData.tmpBottonRight - zoomData.tmpTopLeft).cwiseAbs(); + auto scaledBox = zoomData.scaled(canvasSize); + float target_ratio = canvasSize[0] / canvasSize[1]; + float current_ratio = scaledBox.diagonal[0] / scaledBox.diagonal[1]; + if (current_ratio > target_ratio) { + scaledBox.diagonal.y() = scaledBox.diagonal.x() / target_ratio; + } else { + scaledBox.diagonal.x() = scaledBox.diagonal.y() * target_ratio; + } + zoomData.diagonal = scaledBox.diagonal.cwiseQuotient(canvasSize); + } + } + + if (d.isHoovered && d.scroll != 0) { + zoomData.diagonal = zoomData.diagonal.cwiseProduct(pow(1.15f, -d.scroll)*sibr::Vector2f(1, 1)); + } + + + + zoomData.diagonal = zoomData.diagonal.cwiseMin(sibr::Vector2f(0.5, 0.5)); + using Box = Eigen::AlignedBox2f; + using Corner = Box::CornerType; + + Box target(sibr::Vector2f(0, 0), sibr::Vector2f(1, 1)); + Box current(zoomData.topLeft(), zoomData.bottomRight()); + + if (!target.contains(current)) { + Box inside = current; + inside.clamp(target); + for (int c = 0; c < 4; ++c) { + Corner cType = (Corner)c; + if ( (current.corner(cType)-inside.corner(cType)).isZero() ) { + Corner opposite = (Corner)(3 - c); + zoomData.center += (inside.corner(opposite) - current.corner(opposite)); + break; + } + } + } + + } + + + void SegmentSelection::update(const CallBackData & callback, const sibr::Vector2i & size, const ZoomData & zoom) + { + sibr::Vector2i pos = zoom.scaled(size.cast()).uvFromBoxPos(callback.positionRatio).cast(); + + if (callback.isHoovered && callback.isClickedRight && callback.ctrlPressed && (!first || valid)) { + firstPosScreen = callback.mousePos.cast(); + firstPosIm = pos.cast(); + secondPosScreen = firstPosScreen; + first = true; + } else if (callback.isHoovered && first) { + secondPosScreen = callback.mousePos.cast(); + secondPosIm = pos.cast(); + + if (callback.isClickedRight) { + first = false; + valid = true; + computeRasterizedLine(); + } + } + } + + void SegmentSelection::computeRasterizedLine() + { + if (!valid) { + return; + } + + sibr::Vector2i diff = secondPosIm - firstPosIm; + int l = diff.cwiseAbs().maxCoeff(); + rasterizedLine.resize(l + 1); + for (int i = 0; i <= l; ++i) { + rasterizedLine[i] = (firstPosIm.cast() + (i / (float)l)*diff.cast()).cast(); + } + } + + void DisplayImageGui( + GLuint texture, + const sibr::Vector2i & displaySize, + const sibr::Vector2f& uv0, + const sibr::Vector2f& uv1 + ) { + ImGui::Image((void*)(intptr_t)(texture), ImVec2(float(displaySize[0]), float(displaySize[1])), ImVec2(uv0[0], uv0[1]), ImVec2(uv1[0], uv1[1])); + } + + void ImageWithCallback( + GLuint texture, + const sibr::Vector2i & displaySize, + CallBackData & callbackDataOut, + const sibr::Vector2f & uv0, + const sibr::Vector2f & uv1 + ) { + CallBackData & data = callbackDataOut; + + data.itemPos = toSIBR(ImGui::GetCursorScreenPos()); + DisplayImageGui(texture, displaySize, uv0, uv1); + + data.itemSize = toSIBR(ImGui::GetItemRectSize()); + data.isHoovered = ImGui::IsItemHovered(); + data.isClickedLeft = ImGui::IsMouseClicked(0); + data.isReleasedLeft = ImGui::IsMouseReleased(0); + data.isClickedRight = ImGui::IsItemClicked(1); + data.isReleasedRight = ImGui::IsMouseReleased(1); + data.ctrlPressed = ImGui::GetIO().KeyCtrl; + data.scroll = ImGui::GetIO().MouseWheel; + + if (data.isHoovered) { + data.mousePos = toSIBR(ImGui::GetIO().MousePos); + data.positionRatio = (data.mousePos - data.itemPos).cwiseQuotient(data.itemSize); + } + } + + void ImageWithZoom(GLuint texture, const sibr::Vector2i & displaySize, ZoomInterraction & zoom) + { + ImageWithCallback(texture, displaySize, zoom.callBackData, zoom.zoomData.topLeft(), zoom.zoomData.bottomRight()); + zoom.updateZoom(displaySize.template cast()); + } + +} // namespace sibr + + +namespace ImGui { + + const float GetTitleBarHeight() { return GetTextLineHeight() + GetStyle().FramePadding.y * 2.0f; } + + void PushScaledItemWidth(float item_width) + { + ImGui::PushItemWidth(ImGui::GetIO().FontGlobalScale * item_width); + } + + bool TabButton(const char * label, bool highlight, const ImVec2 & size) + { + if (highlight) { + ImGui::PushStyleColor(ImGuiCol_Button, (ImVec4)ImColor::HSV(0, 0.8f, 0.8f)); + ImGui::PushStyleColor(ImGuiCol_ButtonHovered, (ImVec4)ImColor::HSV(0, 0.6f, 0.6f)); + } + bool b = ImGui::Button(label, size); + if (highlight) { + ImGui::PopStyleColor(2); + } + return b; + } + + void PlotMultiLines(const char* label, std::vector values, int values_count, const std::vector& colors, float scale_min, float scale_max, ImVec2 graph_size) { + // Note: code extracted from ImGui and udpated to display multiple lines on the same graph. + ImGuiWindow* window = GetCurrentWindow(); + if (window->SkipItems) + return; + + ImGuiContext& g = *GImGui; + const ImGuiStyle& style = g.Style; + // Force the plot type. + ImGuiPlotType plot_type = ImGuiPlotType_Lines; + const ImVec2 label_size = CalcTextSize(label, NULL, true); + if (graph_size.x == 0.0f) + graph_size.x = CalcItemWidth(); + if (graph_size.y == 0.0f) + graph_size.y = label_size.y + (style.FramePadding.y * 2); + + const ImRect frame_bb(window->DC.CursorPos, window->DC.CursorPos + ImVec2(graph_size.x, graph_size.y)); + const ImRect inner_bb(frame_bb.Min + style.FramePadding, frame_bb.Max - style.FramePadding); + const ImRect total_bb(frame_bb.Min, frame_bb.Max + ImVec2(label_size.x > 0.0f ? style.ItemInnerSpacing.x + label_size.x : 0.0f, 0)); + ItemSize(total_bb, style.FramePadding.y); + if (!ItemAdd(total_bb, 0, &frame_bb)) + return; + const bool hovered = ItemHoverable(inner_bb, 0); + + // Determine scale from values if not specified + if (scale_min == FLT_MAX || scale_max == FLT_MAX) + { + float v_min = FLT_MAX; + float v_max = -FLT_MAX; + for (int j = 0; j < values.size(); ++j) { + for (int i = 0; i < values_count; i++) + { + const float v = values[j][i]; + v_min = ImMin(v_min, v); + v_max = ImMax(v_max, v); + } + } + if (scale_min == FLT_MAX) + scale_min = v_min; + if (scale_max == FLT_MAX) + scale_max = v_max; + } + + RenderFrame(frame_bb.Min, frame_bb.Max, GetColorU32(ImGuiCol_FrameBg), true, style.FrameRounding); + int values_offset = 0; + + if (values_count > 0) + { + int res_w = ImMin((int)graph_size.x, values_count) + ((plot_type == ImGuiPlotType_Lines) ? -1 : 0); + int item_count = values_count + ((plot_type == ImGuiPlotType_Lines) ? -1 : 0); + + // No tooltip for now. + + const float t_step = 1.0f / (float)res_w; + const float inv_scale = (scale_min == scale_max) ? 0.0f : (1.0f / (scale_max - scale_min)); + + for (int vid = 0; vid < values.size(); ++vid) { + float v0 = values[vid][(0 + values_offset) % values_count]; + float t0 = 0.0f; + ImVec2 tp0 = ImVec2(t0, 1.0f - ImSaturate((v0 - scale_min) * inv_scale)); // Point in the normalized space of our target rectangle + float histogram_zero_line_t = (scale_min * scale_max < 0.0f) ? (-scale_min * inv_scale) : (scale_min < 0.0f ? 0.0f : 1.0f); // Where does the zero line stands + + const ImU32 col_base = GetColorU32(colors[vid >= colors.size() ? 0 : vid]); + const ImU32 col_hovered = col_base; + + for (int n = 0; n < res_w; n++) + { + const float t1 = t0 + t_step; + const int v1_idx = (int)(t0 * item_count + 0.5f); + IM_ASSERT(v1_idx >= 0 && v1_idx < values_count); + const float v1 = values[vid][(v1_idx + values_offset + 1) % values_count]; + const ImVec2 tp1 = ImVec2(t1, 1.0f - ImSaturate((v1 - scale_min) * inv_scale)); + + // NB: Draw calls are merged together by the DrawList system. Still, we should render our batch are lower level to save a bit of CPU. + ImVec2 pos0 = ImLerp(inner_bb.Min, inner_bb.Max, tp0); + ImVec2 pos1 = ImLerp(inner_bb.Min, inner_bb.Max, (plot_type == ImGuiPlotType_Lines) ? tp1 : ImVec2(tp1.x, histogram_zero_line_t)); + if (plot_type == ImGuiPlotType_Lines) + { + window->DrawList->AddLine(pos0, pos1, col_base); + } + else if (plot_type == ImGuiPlotType_Histogram) + { + if (pos1.x >= pos0.x + 2.0f) + pos1.x -= 1.0f; + window->DrawList->AddRectFilled(pos0, pos1, col_base); + } + + t0 = t1; + tp0 = tp1; + } + } + } + } + +} diff --git a/SIBR_viewers/src/core/graphics/GUI.hpp b/SIBR_viewers/src/core/graphics/GUI.hpp new file mode 100644 index 0000000000..171fb3957a --- /dev/null +++ b/SIBR_viewers/src/core/graphics/GUI.hpp @@ -0,0 +1,207 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" +# include "core/graphics/Image.hpp" +# include "core/graphics/RenderTarget.hpp" +# include "core/graphics/Window.hpp" + +#include + +namespace sibr +{ + + /** Show the content of a rendertarget in an ImGui window. + \param windowTitle the window name (unique) + \param rt the rendrtarget to display + \param flags ImGui flags + \param viewport will contain the window extent on screen + \param invalidTexture ignore the RT + \param updateLayout force update the camera location on screen + \param handle the texture index to display from the input RT + \return true if window is focused (useful for managing interactions). + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT bool showImGuiWindow(const std::string& windowTitle, const IRenderTarget& rt, ImGuiWindowFlags flags, Viewport & viewport, bool invalidTexture, bool updateLayout, int handle = 0); + + /** + Helper that compute the location and extent to display an image in a given region without cropping or distorting it + \param imgSize the image size + \param regionSize the region size + \param offset will containg the top-left corner location + \param size will contain the size to use + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT void fitImageToDisplayRegion(const Vector2f & imgSize, const Vector2i & regionSize, Vector2f& offset, Vector2f& size); + + /** Generate a mesh for a given label, using ImGui internally. This will generate a mesh that contain both the background and foreground geometry packed together sequentially. + \param text the text to generate the label of + \param separationIndex will contain the location of the first triangle of the foreground mesh + \return the mesh containing first the background triangles then the foreground triangles + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT Mesh::Ptr generateMeshForText(const std::string & text, unsigned int & separationIndex); + +} // namespace sibr + +namespace ImGui { + + /** \return the height of the title bar (for layout) + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT const float GetTitleBarHeight(); + + /** + * Push a width for item which is HiDPI aware. + * \param item_width The with to push, in regular pixels. + * \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT void PushScaledItemWidth(float item_width); + + /** Helper to create a tab button item. + \param label the button text + \param highlight should the button be highlit + \param size the size of the button (0,0 will autosize). + \return true if the tab is active + * \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT bool TabButton(const char* label, bool highlight, const ImVec2& size = ImVec2(0, 0)); + + /** Plot multiple curves on a graph. All curves should have the same number of samples. + Only lines are supported, code is based on internal ImGui implementation for one curve. + \param label the graph ImGui label + \param values a list of pointers to list of values + \param values_count number of samples in each list + \param colors one or mulitple colors to use for each curve + \param scale_min the value corresponding to the bottom of the graph + \param scale_max the value corresponding to the top of the graph + \param graph_size size of the graph widget + */ + SIBR_GRAPHICS_EXPORT void PlotMultiLines(const char* label, std::vector values, int values_count, const std::vector& colors, float scale_min = FLT_MAX, float scale_max = FLT_MAX, ImVec2 graph_size = ImVec2(0.0f, 0.0f)); +} + +namespace sibr { + + /** Display an image using ImGui::image, with additional options. + \param texture the ID of the texture to display + \param displaySize the target size + \param uv0 bottom-left corner of the image to display + \param uv1 top-right corner of the image to display + */ + SIBR_GRAPHICS_EXPORT void DisplayImageGui( + GLuint texture, + const sibr::Vector2i & displaySize, + const sibr::Vector2f& uv0 = { 0, 0 }, + const sibr::Vector2f& uv1 = { 1, 1 } + ); + + /** Store user interaction information to be returned when displaying an image. */ + struct SIBR_GRAPHICS_EXPORT CallBackData { + sibr::Vector2f positionRatio; ///< Position ratio. + sibr::Vector2f itemPos, itemSize, mousePos; ///< Mouse information. + float scroll = 0.0f; ///< Scroll amount. + bool isHoovered = false, isClickedRight = false, isClickedLeft = false, + isReleasedRight = false, isReleasedLeft = false, ctrlPressed = false; ///< Is the image currently: hovered, right-clicked pressed, left-click pressed , right-click released, left-click released, is the ctrl key pressed. + }; + + /** Display an image using ImGui::image with support for returning interaction information (did the user click the image, etc.). + \param texture the ID of the texture to display + \param displaySize the target size + \param callbackDataOut will contain interaction information for the current frame + \param uv0 bottom-left corner of the image to display + \param uv1 top-right corner of the image to display + */ + SIBR_GRAPHICS_EXPORT void ImageWithCallback( + GLuint texture, + const sibr::Vector2i & displaySize, + CallBackData & callbackDataOut, + const sibr::Vector2f& uv0 = { 0, 0 }, + const sibr::Vector2f& uv1 = { 1, 1 } + ); + + /** Store additional user zoom information to be returned when displaying an image. */ + struct SIBR_GRAPHICS_EXPORT ZoomData { + + /** \return the zoomed region top left corner in image space. */ + sibr::Vector2f topLeft() const; + + /** \return the zoomed region bottom right corner in image space. */ + sibr::Vector2f bottomRight() const; + + /** Convert pixel coordinates in UV, taking the zoom into account. + \param pos the pixel position + \return the corresponding UVs + */ + sibr::Vector2f uvFromBoxPos(const sibr::Vector2f& pos) const; + + /** Rescale zoom data using a reference region size. + \param size the region size + \return the resized data + */ + ZoomData scaled(const sibr::Vector2f& size) const; + + sibr::Vector2f center = sibr::Vector2f(0.5f, 0.5f), diagonal = sibr::Vector2f(0.5f, 0.5f), + tmpTopLeft, tmpBottonRight, firstClickPixel, secondClickPixel; ///< Zoomed region corners and location. + bool underMofidication = false; ///< Is the user currently zooming. + }; + + /** Store user interaction and zooming information to be returned when displaying an image. */ + struct SIBR_GRAPHICS_EXPORT ZoomInterraction { + /** Update zoom information. + \param canvasSize size ot the displayed region of the image + */ + void updateZoom(const sibr::Vector2f& canvasSize); + + CallBackData callBackData; ///< Interaction data. + ZoomData zoomData; ///< Zoom data. + }; + + /** Display an image using ImGui::image with support for returning user zoom information. + \param texture the ID of the texture to display + \param displaySize the target size + \param zoom will contain zoom information for the current frame + */ + SIBR_GRAPHICS_EXPORT void ImageWithZoom( + GLuint texture, + const sibr::Vector2i & displaySize, + ZoomInterraction & zoom + ); + + /** Represent a segment defined by the user by clicking on screen. */ + struct SIBR_GRAPHICS_EXPORT SegmentSelection { + + /** Update based on user interaction data. + \param callback user interaction data + \param size the region size + \param zoom optional zoom interaction data + */ + void update(const CallBackData& callback, const sibr::Vector2i& size, const ZoomData& zoom = {}); + + /** Generate a rasterized line as a list of pixels.*/ + void computeRasterizedLine(); + + sibr::Vector2i firstPosScreen, secondPosScreen, firstPosIm, secondPosIm; ///< Segment endpoints in image and screen space. + std::vector rasterizedLine; ///< List of pixel covered by the rasterized line. + bool first = false, valid = false; ///< Current interactions state. + }; +} + +/** Convert an ImGui vector to a sibr vector. +\param v the vector to convert +\return the corresponding sibr vector. +*/ +template sibr::Vector toSIBR(const ImVec2 & v) { + return sibr::Vector(v.x, v.y); +} diff --git a/SIBR_viewers/src/core/graphics/Image.cpp b/SIBR_viewers/src/core/graphics/Image.cpp new file mode 100644 index 0000000000..a411418e33 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Image.cpp @@ -0,0 +1,398 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/Image.hpp" +#include + +namespace sibr +{ + namespace opencv + { + + + float imageTypeCVRange(int cvDepth) + { + // keep in mind + //enum { CV_8U=0, CV_8S=1, CV_16U=2, CV_16S=3, CV_32S=4, CV_32F=5, CV_64F=6 }; + static float ranges[] = { + imageTypeRange(), + imageTypeRange(), + imageTypeRange(), + imageTypeRange(), + imageTypeRange(), + imageTypeRange(), + imageTypeRange() + }; + return ranges[cvDepth]; + } + + void convertBGR2RGB(cv::Mat& img) + { + switch (img.channels()) + { + case 3: + cv::cvtColor(img, img, cv::COLOR_BGR2RGB); + break; + case 4: + cv::cvtColor(img, img, cv::COLOR_BGRA2RGBA); + break; + default: + break; + } + } + + void convertRGB2BGR(cv::Mat& img) + { + switch (img.channels()) + { + case 3: + cv::cvtColor(img, img, cv::COLOR_RGB2BGR); + break; + case 4: + cv::cvtColor(img, img, cv::COLOR_RGBA2BGRA); + break; + default: + break; + } + } + + } // namespace opencv + + sibr::ImageRGBA convertL32FtoRGBA(const sibr::ImageL32F & imgF) + { + sibr::ImageRGBA out(imgF.w(), imgF.h()); + for (uint y = 0; y < out.h(); ++y) { + for (uint x = 0; x < out.w(); ++x) { + unsigned char const * p = reinterpret_cast(&imgF(x, y).x()); + for (std::size_t i = 0; i != sizeof(float); ++i) { + out(x, y)[i] = p[i]; + } + } + } + return out; + } + + sibr::ImageL32F convertRGBAtoL32F(const sibr::ImageRGBA & imgRGBA) + { + sibr::ImageL32F out(imgRGBA.w(), imgRGBA.h()); +#pragma omp parallel for + for (int y = 0; y < int(out.h()); ++y) { + for (uint x = 0; x < out.w(); ++x) { + unsigned char * p = reinterpret_cast(&out(x, y).x()); + for (std::size_t i = 0; i != sizeof(float); ++i) { + p[i] = imgRGBA(x, y)[i]; + } + } + } + return out; + } + + sibr::ImageRGBA convertRGB32FtoRGBA(const sibr::ImageRGB32F & imgF) + { + sibr::ImageRGBA out(3*imgF.w(), imgF.h()); +#pragma omp parallel for + for (int y = 0; y < int(imgF.h()); ++y) { + for (uint x = 0; x < imgF.w(); ++x) { + for (int k = 0; k < 3; k++) { + unsigned char const * p = reinterpret_cast(&imgF(x, y)[k]); + for (std::size_t i = 0; i != sizeof(float); ++i) { + out(k*imgF.w() + x, y)[i] = p[i]; + } + } + } + } + return out; + } + + sibr::ImageRGB32F convertRGBAtoRGB32F(const sibr::ImageRGBA& imgRGBA) + { + sibr::ImageRGB32F out(imgRGBA.w() / 3, imgRGBA.h()); +#pragma omp parallel for + for (int y = 0; y < int(out.h()); ++y) { + for (uint x = 0; x < out.w(); ++x) { + for (int k = 0; k < 3; k++) { + unsigned char* p = reinterpret_cast(&out(x, y)[k]); + for (std::size_t i = 0; i != sizeof(float); ++i) { + p[i] = imgRGBA(k * out.w() + x, y)[i]; + } + } + } + } + return out; + } + + sibr::ImageRGBA convertNormalMapToSphericalHalf(const sibr::ImageRGB32F & imgF) + { + uint phi_uint; + uint theta_uint; + unsigned char * phi_ptr = reinterpret_cast(&phi_uint); + unsigned char * theta_ptr = reinterpret_cast(&theta_uint); + + ImageRGBA out(imgF.w(),imgF.h()); + + for (uint i = 0; i < out.h(); ++i) { + for (uint j = 0; j < out.w(); ++j) { + const double phi = std::acos((double)imgF(j, i)[2]); + const double theta = std::atan2((double)imgF(j, i)[1], (double)imgF(j, i)[0]); + phi_uint = (uint)((phi / M_PI) * (1 << 16)); + theta_uint = (uint)((0.5*(theta / M_PI + 1.0)) * (1 << 16)); + + unsigned char * out_ptr = reinterpret_cast(&out(j, i)[0]); + out_ptr[0] = phi_ptr[0]; + out_ptr[1] = phi_ptr[1]; + out_ptr[2] = theta_ptr[0]; + out_ptr[3] = theta_ptr[1]; + } + } + + return out; + } + + sibr::ImageRGB32F convertSphericalHalfToNormalMap(const sibr::ImageRGBA & imgRGBA) + { + uint phi_uint; + uint theta_uint; + unsigned char * phi_ptr = reinterpret_cast(&phi_uint); + unsigned char * theta_ptr = reinterpret_cast(&theta_uint); + + ImageRGB32F out(imgRGBA.w(), imgRGBA.h()); + + for (uint i = 0; i < out.h(); ++i) { + for (uint j = 0; j < out.w(); ++j) { + unsigned char const * out_ptr = reinterpret_cast(&imgRGBA(j, i)[0]); + phi_ptr[0] = out_ptr[0]; + phi_ptr[1] = out_ptr[1]; + theta_ptr[2] = out_ptr[0]; + theta_ptr[3] = out_ptr[1]; + + float theta = ((float)phi_uint*2.0f / (1 << 16) - 1.0f)*float(M_PI); + float phi = ((float)theta_uint /(1 << 16))*float(M_PI); + float sin_t = std::sin(theta); + float cos_t = std::cos(theta); + float sin_p = std::sin(phi); + float cos_p = std::cos(phi); + out(j, i) = sibr::Vector3f(sin_t*cos_p, sin_t*sin_p, cos_t); + } + } + + return out; + } + + Image coloredClass(const Image::Ptr imClass) { + + const int color_list[25][3] = { + {255, 179, 0},{128, 62, 117},{166, 189, 215} ,{193, 0, 32},{0,128,255},{0, 125, 52}, + {246, 118, 142},{0, 83, 138},{255, 122, 92} ,{0, 255, 0},{255, 142, 0},{179, 40, 81}, + {244, 200, 0},{127, 24, 13},{147, 170, 0} ,{89, 51, 21},{241, 58, 19},{35, 44, 22}, + {83, 55, 122},{255,0,128},{128,255,0} ,{128,0,255},{206, 162, 98},{128,128,128},{255,255,255} + }; + + std::vector colors(256); + for (int i = 0; i < 255; i++) { + colors[i] = Vector3ub(color_list[i % 25][0], color_list[i % 25][1], color_list[i % 25][2]); + } + colors[255] = Vector3ub(0, 0, 0); + Image imClassColor(imClass->w(), imClass->h()); + + for (unsigned int i = 0; i < imClass->w(); i++) { + for (unsigned int j = 0; j < imClass->h(); j++) { + imClassColor(i, j) = colors[imClass(i, j).x() % 256]; + } + } + return imClassColor; + } + + Image coloredClass(const Image::Ptr imClass) { + + const int color_list[25][3] = { + { 255, 179, 0 },{ 128, 62, 117 },{ 166, 189, 215 } ,{ 193, 0, 32 },{ 0,128,255 },{ 0, 125, 52 }, + { 246, 118, 142 },{ 0, 83, 138 },{ 255, 122, 92 } ,{ 0, 255, 0 },{ 255, 142, 0 },{ 179, 40, 81 }, + { 244, 200, 0 },{ 127, 24, 13 },{ 147, 170, 0 } ,{ 89, 51, 21 },{ 241, 58, 19 },{ 35, 44, 22 }, + { 83, 55, 122 },{ 255,0,128 },{ 128,255,0 } ,{ 128,0,255 },{ 206, 162, 98 },{ 128,128,128 },{ 255,255,255 } + }; + + std::vector colors(256); + for (int i = 0; i < 255; i++) { + colors[i] = Vector3ub(color_list[i % 25][0], color_list[i % 25][1], color_list[i % 25][2]); + } + colors[255] = Vector3ub(0, 0, 0); + Image imClassColor(imClass->w(), imClass->h()); + + for (unsigned int j = 0; j < imClass->h(); j++) { + for (unsigned int i = 0; i < imClass->w(); i++) { + + Vector3ub color; + if (imClass(i, j).x() < 0) + color = colors[255]; + else + color = colors[imClass(i, j).x() % 256]; + + imClassColor(i, j) = color; + } + } + return imClassColor; + } + + void showFloat(const Image & im, bool logScale, double min, double max) { + Image imIntensity(im.w(), im.h()); + Image imColor(im.w(), im.h()); + + if (min == -DBL_MAX && max == DBL_MAX) { + cv::minMaxLoc(im.toOpenCV(), &min, &max); + } + else if (min == -DBL_MAX) { + double drop; + cv::minMaxLoc(im.toOpenCV(), &min, &drop); + } + else if (max == DBL_MAX) { + double drop; + cv::minMaxLoc(im.toOpenCV(), &drop, &max); + } + + if (logScale) { + min = log(min); + max = log(max); + } + + for (unsigned int j = 0; j < im.h(); j++) { + for (unsigned int i = 0; i < im.w(); i++) { + if (logScale) + imIntensity(i, j).x() = static_cast(std::max(0.0, std::min((log(im(i, j).x()) - min) * 255 / (max - min), 255.0))); + else + imIntensity(i, j).x() = static_cast(std::max(0.0, std::min((im(i, j).x() - min) * 255 / (max - min), 255.0))); + } + } + cv::Mat colorMat; + cv::applyColorMap(imIntensity.toOpenCV(), colorMat, cv::COLORMAP_PARULA); + imColor.fromOpenCVBGR(colorMat); + show(imColor); + } + + cv::Mat duplicate3(cv::Mat c) { + cv::Mat out; + cv::Mat in[] = { c, c, c }; + cv::merge(in, 3, out); + return out; + } + + // Adopted from http://www.64lines.com/jpeg-width-height. Gets the JPEG size from the file stream passed + // to the function, file reference: http://www.obrador.com/essentialjpeg/headerinfo.htm + sibr::Vector2i IImage::get_jpeg_size(std::ifstream& file) + { + // Check for valid JPG + if (file.get() != 0xFF || file.get() != 0xD8) + return Eigen::Vector2i(-1, -1); + file.get(); file.get(); // Skip the rest of JPG identifier. + + std::streampos block_length = static_cast(file.get() * 256 + file.get() - 2); + for (;;) + { + // Skip the first block since it doesn't contain the resolution + file.seekg(file.tellg() + block_length); + + // Check if we are at the start of another block + if (!file.good() || file.get() != 0xFF) + break; + + // If the block is not the "Start of frame", skip to the next block + if (file.get() != 0xC0) + { + block_length = static_cast(file.get() * 256 + file.get() - 2); + continue; + } + + // Found the appropriate block. Extract the dimensions. + for (int i = 0; i < 3; ++i) file.get(); + + int height = file.get() * 256 + file.get(); + int width = file.get() * 256 + file.get(); + return sibr::Vector2i(width, height); + } + return sibr::Vector2i(-1, -1); + } + + // Adopted from http://stackoverflow.com/questions/22638755/image-dimensions-without-loading + // kudos to Lukas (http://stackoverflow.com/users/643315/lukas). + sibr::Vector2i IImage::imageResolution(const std::string& file_path) + { + enum ValidFormats { + PNG = 0, + BMP, + TGA, + JPG, + JPEG, + VALID_COUNT + }; + + std::string valid_extensions[] = { + "png", + "bmp", + "tga", + "jpg", + "jpeg" + }; + + std::string extension = sibr::to_lower(sibr::getExtension(file_path)); + + int extension_id = 0; + while (extension_id < VALID_COUNT && + extension != valid_extensions[extension_id]) + extension_id++; + + if (extension_id == VALID_COUNT) + return Eigen::Vector2i(-1, -1); + + std::ifstream file(file_path, std::ios::binary); + if (!file.good()) + return Eigen::Vector2i(-1, -1); + + uint32_t temp = 0; + int32_t width = -1; + int32_t height = -1; + switch (extension_id) + { + case PNG: + file.seekg(16); + file.read(reinterpret_cast(&width), 4); + file.read(reinterpret_cast(&height), 4); + width = sibr::ByteStream::ntohl(width); + height = sibr::ByteStream::ntohl(height); + break; + case BMP: + file.seekg(14); + file.read(reinterpret_cast(&temp), 4); + if (temp == 40) // Windows Format + { + file.read(reinterpret_cast(&width), 4); + file.read(reinterpret_cast(&height), 4); + } + else if (temp == 20) // MAC Format + { + file.read(reinterpret_cast(&width), 2); + file.read(reinterpret_cast(&height), 2); + } + break; + case TGA: + file.seekg(12); + file.read(reinterpret_cast(&width), 2); + file.read(reinterpret_cast(&height), 2); + break; + case JPG: + case JPEG: + return get_jpeg_size(file); + break; + } + return sibr::Vector2i(width, height); + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Image.hpp b/SIBR_viewers/src/core/graphics/Image.hpp new file mode 100644 index 0000000000..0016514f27 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Image.hpp @@ -0,0 +1,1312 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" +# include "core/system/ByteStream.hpp" + +# pragma warning(push, 0) +# include +# include +# include +# include +# pragma warning(pop) + +#include +#include + +namespace cv +{ + /** Extend OpenCV support for Eigen types. + \ingroup sibr_graphics + */ + /*template + class DataType > + { + public: + typedef Eigen::Matrix value_type; ///< Vector type. + typedef Eigen::Matrix::work_type, cn, 1, Eigen::DontAlign> work_type; ///< Wrapper type. + typedef T_Type channel_type; ///< Component type. + typedef value_type vec_type; ///< Vector type. + enum { generic_type = 0, depth = DataDepth::value, channels = cn, fmt = ((channels - 1) << 8) + DataDepth::fmt, type = CV_MAKETYPE(depth, channels) }; + };*/ +} + +namespace sibr +{ + + /** + * \addtogroup sibr_graphics + * @{ + */ + + namespace opencv + { + /** \return the OpenCV type corresponding to a C type. */ + template + SIBR_GRAPHICS_EXPORT int imageType(void);// { return -1; } // default, unknown + /** \return the OpenCV type corresponding to a C type. */ + template <> SIBR_GRAPHICS_EXPORT inline int imageType< uint8 >(void) { return CV_8U; } + /** \return the OpenCV type corresponding to a C type. */ + template <> SIBR_GRAPHICS_EXPORT inline int imageType< int8 >(void) { return CV_8S; } + /** \return the OpenCV type corresponding to a C type. */ + template <> SIBR_GRAPHICS_EXPORT inline int imageType< uint16>(void) { return CV_16U; } + /** \return the OpenCV type corresponding to a C type. */ + template <> SIBR_GRAPHICS_EXPORT inline int imageType< int16 >(void) { return CV_16S; } + /** \return the OpenCV type corresponding to a C type. */ + template <> SIBR_GRAPHICS_EXPORT inline int imageType< int32 >(void) { return CV_32S; } + /** \return the OpenCV type corresponding to a C type. */ + template <> SIBR_GRAPHICS_EXPORT inline int imageType< float >(void) { return CV_32F; } + /** \return the OpenCV type corresponding to a C type. */ + template <> SIBR_GRAPHICS_EXPORT inline int imageType< double>(void) { return CV_64F; } + + /** \return the size of the range of values a type can take when used in OpenCV. */ + template + inline float imageTypeRange(void) { + return (float)std::numeric_limits::max();//-std::numeric_limits::min(); + } + /** \return the size of the range of values a type can take when used in OpenCV. */ + template <> SIBR_GRAPHICS_EXPORT inline float imageTypeRange< float >(void) { return 1.f; } + /** \return the size of the range of values a type can take when used in OpenCV. */ + template <> SIBR_GRAPHICS_EXPORT inline float imageTypeRange< double>(void) { return 1.f; } + + /** Get the size of the range of values an OpenCV type can take. + \param cvDepth the OpenCV type depth + \return the size of the range + */ + SIBR_GRAPHICS_EXPORT float imageTypeCVRange(int cvDepth); + + /** Convert a BGR cv::Mat into a RGB cv::Mat, in-place. + \param dst the matrix to convert + */ + SIBR_GRAPHICS_EXPORT void convertBGR2RGB(cv::Mat& dst); + + /** Convert a BGR cv::Mat into a RGB cv::Mat, in-place. + \param dst the matrix to convert + */ + SIBR_GRAPHICS_EXPORT void convertRGB2BGR(cv::Mat& dst); + } + + typedef Vector4f ColorRGBA; + + /** @} */ + + /** + * Interface virtual class for all the templated image classes. + * Contains all functions not making reference to the internal type or numComp in their signature/return type + * \sa Image + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT IImage { + public: + SIBR_CLASS_PTR(IImage); + + /** Load an image from the disk (png, jpeg, exr, etc., see OpenCV cv::imread documentation for more details). + \param filename the path to the file + \param verbose display additional informations + \param warning_if_not_found log if the file doesn't exist, even if verbose is set to false + \return a success flag + */ + virtual bool load(const std::string& filename, bool verbose = true, bool warning_if_not_found = true) = 0; + + /** Load an image from the disk (stored as a raw binary blob). + \param filename the path to the file + \param verbose display additional informations + \return a success flag + */ + virtual bool loadByteStream(const std::string& filename, bool verbose = true) = 0; + + /** Save an image to the disk (png, jpeg, see OpenCV cv::imwrite documentation for more details). + \param filename the path to the file + \param verbose display additional informations + \warning HDR images will be converted to LDR, \sa saveHDR . + \warning Some image formats can't be stored in some file formats. + */ + virtual void save(const std::string& filename, bool verbose = true) const = 0; + + /** Save an image to the disk (as a raw binary blob). + \param filename the path to the file + \param verbose display additional informations + */ + virtual void saveByteStream(const std::string& filename, bool verbose = true) const = 0; + + /** Save an HDR image to the disk (exr, hdr, see OpenCV cv::imwrite documentation for more details). + \param filename the path to the file + \param verbose display additional informations + */ + virtual void saveHDR(const std::string& filename, bool verbose = true) const = 0; + + /** \return the image width. */ + virtual uint w(void) const = 0; + + /** \return the image height. */ + virtual uint h(void) const = 0; + + /** \return the image size. */ + virtual sibr::Vector2u size(void) const = 0; + + /** Check if a pixel (x,y) is inside the image boundaries. + \param xy the pixel coordinates + \return true if 0<=x + class ImagePtr; + + /** + * This class is used to store images. Internally, a cv::Mat + * is used. The template parameter define a fixed size/format that + * will be used to convert automatically the image format when + * you load or copy from another image. + * \warning We disallow copy as we would have to do a costly in-depth copy of the underlying cv::Mat. + * If you store images in a vector attribute of a class, you might have to SIBR_DISALLOW_COPY of your class. + * \note OpenCV uses generally BGR channels (e.g. after loading an image file). + * However the internal cv::Mat of this class stores + * RGB channels. You can get RGB cv::Mat with toOpenCV() or use + * toOpenCVBGR(). (Most of OpenCV's features works with RGB too but + * not imshow, imwrite, imread.) + * \ingroup sibr_graphics + */ + template + class Image : public IImage { + public: + typedef T_Type Type; + typedef ImagePtr Ptr; + + typedef Eigen::Matrix Pixel; + enum { e_NumComp = T_NumComp }; + + public: + + /// Default constructor. + Image(void); + + /** Constructor. + \param width image width + \param height image height + \warning The image content will be undefined. + */ + Image(uint width, uint height); + + /** Constructor. + \param width image width + \param height image height + \param init default value to use for all components of all pixels + */ + Image(uint width, uint height, const T_Type& init); + + /** Constructor. + \param width image width + \param height image height + \param init default value to use for all pixels + */ + Image(uint width, uint height, const Pixel& init); + + /** Move constructor. + \param other image to move, don't use after move + */ + Image(Image&& other); + + /** Move operator. + \param other image to move, don't use after move + */ + Image& operator=(Image&& other) noexcept; + + Image& fill(Pixel const& value); + + /** + \copydoc IImage::load + */ + bool load(const std::string& filename, bool verbose = true, bool warning_if_not_found = true); + + /** + \copydoc IImage::loadByteStream + */ + bool loadByteStream(const std::string& filename, bool verbose = true); + + /** + \copydoc IImage::save + */ + void save(const std::string& filename, bool verbose = true) const; + + /** + \copydoc IImage::saveByteStream + */ + void saveByteStream(const std::string& filename, bool verbose = true) const; + + /** + \copydoc IImage::saveHDR + */ + void saveHDR(const std::string& filename, bool verbose = true) const; + + /** Pixel accessor. + \param x x coordinate + \param y y coordinate + \return a reference to the pixel value. + */ + const Pixel& operator()(uint x, uint y) const; + + /** Pixel accessor. + \param x x coordinate + \param y y coordinate + \return a reference to the pixel value. + */ + Pixel& operator()(uint x, uint y); + + /** Pixel accessor. + \param xy pixel coordinates + \return a reference to the pixel value. + */ + const Pixel& operator()(const sibr::Vector2i & xy) const; + + /** Pixel accessor. + \param xy pixel coordinates + \return a reference to the pixel value. + */ + Pixel& operator()(const sibr::Vector2i & xy); + + /** Pixel accessor. + \param xy pixel coordinates + \return a reference to the pixel value. + */ + const Pixel& operator()(const ::sibr::Vector2f & xy) const; + + /** Pixel accessor. + \param xy pixel coordinates + \return a reference to the pixel value. + */ + Pixel& operator()(const ::sibr::Vector2f & xy); + + /** \copydoc IImage::pixelStr */ + virtual std::string pixelStr(const ::sibr::Vector2i & xy) const; + + /** \return a pointer to the raw image data. */ + const void* data(void) const; + + /** \return a pointer to the raw image data. */ + void* data(void); + + + /** Convert a pixel value to a 4 components float vector (in 0,1). + \param x x coordinate + \param y y coordinate + \return the normalized expanded value + */ + ColorRGBA color(uint x, uint y) const; + + /** Set a pixel value from 4 components float vector (in 0,1). + \param x x coordinate + \param y y coordinate + \param c the new value + */ + void color(uint x, uint y, const ColorRGBA& c); + + /** Helper to convert a 4 components float vector (in 0,1) to the proper pixel format. + \param rgba the value to convert + \return the converted value + */ + static Pixel color(const ColorRGBA& rgba); + + /** Generate a resized version of the current image. + \param width the target width + \param height the target height + \param cv_interpolation_method the up/down scaling method + \return the resized image + */ + Image resized(int width, int height, int cv_interpolation_method = cv::INTER_LINEAR) const; + + /** Generate a resized version of the current image so that the maximum + dimension (either width or height) is now equal to maxlen. Preserve the original ratio. + Example: src is 2048x1024, resizedMax(1024) -> dst is 1024x512 + \param maxlen the target maximum dimension value + \return the resized image + */ + Image resizedMax(int maxlen) const; + + /** \return a deep copy of the image. */ + Image clone(void) const; + + /** \return a pointer to a deep copy of the image. */ + ImagePtr clonePtr(void) const; + + /** \return the image width. */ + uint w(void) const; + + /** \return the image height. */ + uint h(void) const; + + /** \return the image size. */ + sibr::Vector2u size(void) const; + + /** Check if a pixel (x,y) is inside the image boundaries. + \param x x coordinate + \param y y coordinate + \return true if 0<=x + bool isInRange(T x, T y) const { return (x >= 0 && y >= 0 && x < (T)w() && y < (T)h()); } + + /** Check if a pixel (x,y) is inside the image boundaries. + \param x x coordinate + \param y y coordinate + \return true if 0<=x + bool inRange(T x, T y) const { return isInRange(x, y); } + + /** Check if a pixel (x,y) is inside the image boundaries. + \param xy the pixel coordinates + \return true if 0<=x= 0 && xy.y() >= 0 && xy.x() < (int)w() && xy.y() < (int)h()); } + + /** Check if a pixel (x,y) is inside the image boundaries. + \param xy the pixel coordinates + \return true if 0<=x= 0 && xy.y() >= 0 && xy.x() < (float)w() && xy.y() < (float)h()); } + + /** \copydoc IImage::numComp */ + uint numComp(void) const; + + /** \copydoc IImage::sizeOfComp */ + uint sizeOfComp(void) const; + + /** \copydoc IImage::flipH */ + void flipH(void); + + /** \copydoc IImage::flipV */ + void flipV(void); + + /** \copydoc IImage::opencvType */ + int opencvType(void) const { return CV_MAKETYPE(opencv::imageType(), T_NumComp); } + + /** \copydoc IImage::toOpenCV */ + const cv::Mat& toOpenCV(void) const { return _pixels; } + + /** \copydoc IImage::toOpenCVnonConst */ + cv::Mat& toOpenCVnonConst(void) { return _pixels; } + + /** \copydoc IImage::toOpenCVBGR */ + cv::Mat toOpenCVBGR(void) const; + + /** \copydoc IImage::fromOpenCV */ + void fromOpenCV(const cv::Mat& img); + + /** \copydoc IImage::fromOpenCVBGR */ + void fromOpenCVBGR(const cv::Mat& img); + + /** Find the component-wise minimum and maximum values contained in the image. + \param minImage will contain the minimum value + \param maxImage will contain the maximum value + */ + void findMinMax(Pixel& minImage, Pixel& maxImage); + + /** Rescale an image content in a defined range. + \param minValue the lower value of the range + \param maxValue the upper value of the range + */ + void remap(const Pixel& minValue, const Pixel& maxValue); + + /** Cast into another image type. + \return the converted image + */ + template T_Image cast() const { + T_Image b; + b.fromOpenCV(toOpenCV()); + return b; + } + + /** Fetch bilinear interpolated value from floating point pixel coordinates. + \param pixel query position in [0,w[x[0,h[ + \return the interpolated value + */ + Pixel bilinear(const sibr::Vector2f & pixel) const; + + /** Fetch bicubic interpolated value from floating point pixel coordinates. + \param pixelPosition query position in [0,w[x[0,h[ + \return the interpolated value + */ + Pixel bicubic(const sibr::Vector2f & pixelPosition) const; + + /** Disallow copy constructor. + \param other image to copy + */ + Image( const Image& other) = delete; + + /** Disallow copy operator. + \param other image to copy + */ + Image& operator =(const Image& other) = delete; + + protected: + + /** Helper for bicubic interpolation. + \param t blend factor + \param colors colors at the four corners + \return interpolated value + */ + static Eigen::Matrix monoCubic(float t, const Eigen::Matrix& colors); + + cv::Mat _pixels; ///< Pixels stored in RGB format + }; + + /** Provides a wrapper around a pointer to an image. + \ingroup sibr_graphics + */ + template + class ImagePtr { + public: + + using ImageType = Image; ///< Underlying image type. + + std::shared_ptr> imPtr; ///< Pointer type. + + /// Default constructor. + ImagePtr() { imPtr = std::shared_ptr>(); }; + + /** Constructor from a raw pointer. + \param imgPtr the raw pointer to wrap + */ + ImagePtr(Image* imgPtr) { imPtr = std::shared_ptr>(imgPtr); }; + + /** Constructor from a shared pointer. + \param imgPtr the shared pointer to wrap + */ + ImagePtr(const std::shared_ptr>& imgPtr) {imPtr = std::shared_ptr>(imgPtr); }; + + /** Generate a pointer by cloning an image. + \param img the image to clone + \return the pointer + */ + static ImagePtr fromImg(const ImageType & img) { return ImagePtr(std::make_shared>(img.clone())); }; + + /** Set a new pointee. + \param ptr the new image pointer + */ + void reset(ImageType * ptr) { imPtr.reset(ptr); }; + + /** \return the image */ + Image* get() { return imPtr.get(); }; + + /** Pixel accessor. + \param x x coordinate + \param y y coordinate + \return a reference to the pixel value. + */ + const typename Image::Pixel& operator()(uint x, uint y) const; + + /** Pixel accessor. + \param x x coordinate + \param y y coordinate + \return a reference to the pixel value. + */ + typename Image::Pixel& operator()(uint x, uint y); + + /** Pixel accessor. + \param xy pixel coordinates + \return a reference to the pixel value. + */ + const typename Image::Pixel& operator()(const sibr::Vector2i & xy) const; + + /** Pixel accessor. + \param xy pixel coordinates + \return a reference to the pixel value. + */ + typename Image::Pixel& operator()(const sibr::Vector2i & xy); + + /** \return the dereferenced image */ + Image& operator * () { return imPtr.operator*(); }; + + /** \return the dereferenced image */ + const Image& operator * () const { return imPtr.operator*(); }; + + /** \return raw pointer to the image */ + Image* operator -> () { return imPtr.operator->(); }; + + /** \return raw pointer to the image */ + const Image* operator -> () const { return imPtr.operator->(); }; + + /** Assign a shared ptr. + \param imgShPtr the shared pointer + \return a reference to the updated pointer + */ + std::shared_ptr> & operator = (std::shared_ptr> & imgShPtr) { imPtr = imgShPtr; return &imPtr; }; + + /** \return true if the image pointer is initialized. */ + operator bool() { return imPtr.get() != nullptr; }; + + /** \return true if the image pointer is initialized. */ + operator bool() const { return imPtr.get() != nullptr; }; + + }; + + /** + * \addtogroup sibr_graphics + * @{ + */ + + /// Standard image types + typedef Image ImageRGB; + typedef Image ImageRGBA; + typedef Image ImageL8; + typedef Image ImageUV8; + typedef Image ImageRGB16; + typedef Image ImageL16; + typedef Image ImageRGB32F; + typedef Image ImageFloat3; + typedef Image ImageRGBA32F; + typedef Image ImageFloat4; + typedef Image ImageL32F; + typedef Image ImageFloat1; + typedef Image ImageFloat2; + typedef Image ImageUV32F; + typedef Image ImageBool1; + typedef Image ImageDouble1; + typedef Image ImageDouble2; + typedef Image ImageDouble3; + typedef Image ImageDouble4; + typedef Image ImageInt1; + typedef Image ImageInt2; + typedef Image ImageInt3; + typedef Image ImageInt4; + + + /** Convert an integer ID map to a colored image using a different random color for each ID. Note that 255 is black. + \param imClass the ID map + \return a color coded map + */ + SIBR_GRAPHICS_EXPORT Image coloredClass(const Image::Ptr imClass); + + /** Convert an integer ID map to a colored image using a different random color for each ID. Note that 255 is black. + \param imClass the ID map + \return a color coded map + */ + SIBR_GRAPHICS_EXPORT Image coloredClass(const Image::Ptr imClass); + + /** Display a 32F image in a debug window, using the Parula colormap after normalizing the values. + \param im the float image to display + \param logScale display log(img) + \param min optional lower bound for the normalization + \param max optional upper bound for the normalization + */ + SIBR_GRAPHICS_EXPORT void showFloat(const Image & im, bool logScale = false, double min = -DBL_MAX, double max = DBL_MAX); + + /** Convert a L32F into a RGBA image while preserving bit-level representation. + Useful to save float maps as PNG, and benefit from PNG compression on disk. + \param imgF the image to convert + \return the packed RGBA image + */ + SIBR_GRAPHICS_EXPORT sibr::ImageRGBA convertL32FtoRGBA(const sibr::ImageL32F & imgF); + + /** Convert a RGBA into a L32F image while preserving bit-level representation. + Useful to decode float maps stored as as PNG. + \param imgRGBA the image to convert + \return the unpacked float image + */ + SIBR_GRAPHICS_EXPORT sibr::ImageL32F convertRGBAtoL32F(const sibr::ImageRGBA & imgRGBA); + + /** Convert a RGB32F into a RGBA image (3 times wider) while preserving bit-level representation. + Useful to save float maps as PNG, and benefit from PNG compression on disk. + \param imgF the image to convert + \return the packed RGBA image + */ + SIBR_GRAPHICS_EXPORT sibr::ImageRGBA convertRGB32FtoRGBA(const sibr::ImageRGB32F & imgF); + + /** Convert a RGBA into a RGB32F image while preserving bit-level representation. + Useful to decode float maps stored as as PNG. + \param imgRGBA the image to convert + \return the unpacked float image + */ + SIBR_GRAPHICS_EXPORT sibr::ImageRGB32F convertRGBAtoRGB32F(const sibr::ImageRGBA & imgRGBA); + + /** Convert a RGB32 normal map into a UV16 map storing theta and phi as half floats, packed into a RGBA8. + \param imgF the XYZ normal map + \return the packed theta,phi normal map + */ + SIBR_GRAPHICS_EXPORT sibr::ImageRGBA convertNormalMapToSphericalHalf(const sibr::ImageRGB32F & imgF); + + /** Convert a RGBA map, packing theta and phi as half floats, into a RGB32 normal map. + \param imgF packed theta,phi normal map + \return the XYZ normal map + */ + SIBR_GRAPHICS_EXPORT sibr::ImageRGB32F convertSphericalHalfToNormalMap(const sibr::ImageRGBA & imgF); + + /** Create a three channels cv::Mat by repeating a single channel cv::Mat. + \param c the input cv::Mat + \return a three channels cv::Mat + */ + SIBR_GRAPHICS_EXPORT cv::Mat duplicate3(cv::Mat c); + + /** Display an image into a popup OpenCV window. + \param img the image to display + \param windowTitle the window title + \param closeWindow close the window after key presses + */ + template + static void show(const Image & img, const std::string& windowTitle = "sibr::show()", bool closeWindow = true) { + cv::namedWindow(windowTitle, cv::WINDOW_AUTOSIZE | cv::WINDOW_KEEPRATIO | cv::WINDOW_GUI_EXPANDED); + // Note: CV_GUI_EXPANDED does only work with Qt + + cv::imshow(windowTitle, img.toOpenCVBGR()); + cv::waitKey(0); + if (closeWindow) { + cv::destroyWindow(windowTitle); + } + } + + /*** @} */ + + // ----- DEFINITIONS ------------- + + template + Image::Image(void) : + _pixels(0, 0, opencvType()) { } + + template + Image::Image(uint width, uint height) : + _pixels(height, width, opencvType()) { } + + template + Image::Image(uint width, uint height, const T_Type& init) : + _pixels(height, width, opencvType(), init) { } + + template + Image::Image(uint width, uint height, const Pixel& init) + { + cv::Scalar scal(0); + for (int i = 0; i < T_NumComp; i++) + scal(i) = init(i); + + _pixels = cv::Mat(height, width, opencvType(), scal); + + } + + template + Image::Image(Image&& other) { + operator =(std::move(other)); + } + + template + Image& Image::operator=(Image&& other) noexcept { + _pixels = std::move(other._pixels); + return *this; + } + + template + Image& Image::fill(Pixel const& value) { + std::fill(_pixels.begin(), _pixels.end(), value); + return *this; + } + + template + const void* Image::data(void) const { + SIBR_ASSERT(_pixels.isContinuous() == true); // if not true, you don't want to use this function + return _pixels.ptr(); + } + + template + void* Image::data(void) { + SIBR_ASSERT(_pixels.isContinuous() == true); // if not true, you don't want to use this function + return _pixels.ptr(); + } + + template + cv::Mat Image::toOpenCVBGR(void) const { + cv::Mat out = toOpenCV().clone(); + opencv::convertRGB2BGR(out); + return out; + } + + template + void Image::fromOpenCVBGR(const cv::Mat& imgSrc) { + cv::Mat img = imgSrc.clone(); + opencv::convertBGR2RGB(img); + fromOpenCV(img); + } + + template + void Image::fromOpenCV(const cv::Mat& imgSrc) { + cv::Mat img = imgSrc.clone(); + + if (img.depth() != opencv::imageType()) + { + img.convertTo(img, opencv::imageType(), + opencv::imageTypeRange() / opencv::imageTypeCVRange(img.depth())); + } + + cv::Vec p; + if (img.channels() != T_NumComp) + { + _pixels = cv::Mat(img.rows, img.cols, opencvType()); + for (int y = 0; y < img.rows; ++y) + { + for (int x = 0; x < img.cols; ++x) + { + const T_Type* ptr = img.ptr(y, x); + assert(ptr != nullptr); + uint i; + for (i = 0; i < (uint)img.channels() && i < T_NumComp; ++i) + p[i] = ptr[i]; + for (; i < T_NumComp && i < 3; ++i) + p[i] = p[0]; + for (; i < T_NumComp && i < 4; ++i) + p[i] = static_cast(opencv::imageTypeRange()); + + _pixels.at>(y, x) = p; + } + } + } + else + _pixels = img; + } + + template + Image Image::clone(void) const { + Image img; + img._pixels = _pixels.clone(); + return img; + } + + template + ImagePtr Image::clonePtr(void) const { + ImagePtr img(new Image()); + img->_pixels = _pixels.clone(); + return img; + } + + template + bool Image::load(const std::string& filename, bool verbose, bool warning_if_not_found) { + if (verbose) + SIBR_LOG << "Loading image file '" << filename << "'." << std::endl; + else + std::cerr << "."; + cv::Mat img = cv::imread(filename, cv::IMREAD_UNCHANGED | cv::IMREAD_ANYDEPTH | cv::IMREAD_ANYCOLOR); + if (img.data == nullptr) + { + operator =(Image()); // reset mat + + if (warning_if_not_found) { + SIBR_WRG << "Image file not found '" << filename << "'." << std::endl; + } + + return false; + } + opencv::convertBGR2RGB(img); + fromOpenCV(img); + return true; + } + + template + bool Image::loadByteStream(const std::string& filename, bool verbose) { + if (verbose) + SIBR_LOG << "Loading image file '" << filename << "'." << std::endl; + else + std::cerr << "."; + + + cv::Vec p; + + sibr::ByteStream bs; + if (!bs.load(filename)) + SIBR_WRG << "Image file not found '" << filename << "'." << std::endl; + + int wIm; + int hIm; + bs >> wIm >> hIm; + + _pixels = cv::Mat(hIm, wIm, opencvType()); + for (int y = 0; y < hIm; ++y) + { + for (int x = 0; x < wIm; ++x) + { + uint i; + for (i = 0; i < T_NumComp; ++i) + bs >> p[i]; + + _pixels.at>(y, x) = p; + } + } + + return true; + } + + template + void Image::save(const std::string& filename, bool verbose) const { + { // Create the output dir if doesn't exists + boost::filesystem::path outdir = boost::filesystem::path(filename).parent_path(); + if (outdir.empty() == false) + boost::filesystem::create_directories(outdir); + } + + // Important Note: + // If you have a problem when saving an image (e.g. black image) then + // check the targeted image file format manages correctly the T_Type and + // T_NumpComp you provide. + // OpenCV doesn't seem to check always for such incompatibility (and just + // save empty pixels) + + if (verbose) + SIBR_LOG << "Saving image file '" << filename << "'." << std::endl; + + cv::Mat img; + if (T_NumComp == 1) { + cv::cvtColor(toOpenCVBGR(), img, cv::COLOR_GRAY2BGR); + } /// \todo TODO: support for 2 channels images. + else { + // For 3 and 4 channels, leave the image untouched. + img = toOpenCVBGR(); + } + + cv::Mat finalImage; + if (T_NumComp == 4) { + cv::Mat4b imageF_8UC4; + double scale = 255.0 / (double)opencv::imageTypeRange(); + img.convertTo(imageF_8UC4, CV_8UC4, scale); + finalImage = imageF_8UC4; + } + else { + cv::Mat3b imageF_8UC3; + double scale = 255.0 / (double)opencv::imageTypeRange(); + img.convertTo(imageF_8UC3, CV_8UC3, scale); + finalImage = imageF_8UC3; + } + + if (img.cols > 0 && img.rows > 0) + { + if (cv::imwrite(filename, finalImage) == false) + SIBR_ERR << "unknown error while saving image '" << filename << "'" + << " (do the targeted file format manages correctly the bpc ?)" << std::endl; + } + else + SIBR_WRG << "failed to save (image is empty)" << std::endl; + } + + template + void Image::saveHDR(const std::string& filename, bool verbose) const { + { // Create the output dir if doesn't exists + boost::filesystem::path outdir = boost::filesystem::path(filename).parent_path(); + if (outdir.empty() == false) + boost::filesystem::create_directories(outdir); + } + + if (verbose) + SIBR_LOG << "Saving image file '" << filename << "'." << std::endl; + + cv::Mat img; + if (T_NumComp == 1) { + cv::cvtColor(toOpenCVBGR(), img, cv::COLOR_GRAY2BGR); + } /// \todo TODO: support for 2 channels images. + else { + // For 3 and 4 channels, leave the image untouched. + img = toOpenCVBGR(); + } + + cv::Mat finalImage; + if (T_NumComp == 4) { + cv::Mat4f imageF_32FC4; + double scale = 1.0 / (double)opencv::imageTypeRange(); + img.convertTo(imageF_32FC4, CV_32FC4, scale); + finalImage = imageF_32FC4; + } + else { + cv::Mat3f imageF_32FC3; + double scale = 1.0 / (double)opencv::imageTypeRange(); + img.convertTo(imageF_32FC3, CV_32FC3, scale); + finalImage = imageF_32FC3; + } + + if (img.cols > 0 && img.rows > 0) + { + if (cv::imwrite(filename, finalImage) == false) + SIBR_ERR << "unknown error while saving image '" << filename << "'" + << " (do the targeted file format manages correctly the bpc ?)" << std::endl; + } + else + SIBR_WRG << "failed to save (image is empty)" << std::endl; + } + + template + void Image::saveByteStream(const std::string& filename, bool verbose) const { + { // Create the output dir if doesn't exists + boost::filesystem::path outdir = boost::filesystem::path(filename).parent_path(); + if (outdir.empty() == false) + boost::filesystem::create_directories(outdir); + } + if (verbose) + SIBR_LOG << "Saving image file '" << filename << "'." << std::endl; + + sibr::ByteStream bs; + + int wIm = w(); + int hIm = h(); + + if (wIm > 0 && hIm > 0) { + bs << wIm << hIm; + for (int j = 0; j < hIm; j++) { + for (int i = 0; i < wIm; i++) { + for (int k = 0; k < T_NumComp; k++) { + bs << _pixels.at>(j, i)[k]; + } + } + } + bs.saveToFile(filename); + } + else + SIBR_WRG << "failed to save (image is empty)" << std::endl; + } + + template + inline const typename Image::Pixel& Image::operator()(uint x, uint y) const { +#ifndef NDEBUG + if (!(x < w() && y < h())) { + std::cout << " access (" << x << " , " << y << ") while size is " << w() << " x " << h() << std::endl; +} +#endif + SIBR_ASSERT(x < w() && y < h()); + return _pixels.at::Pixel>(y, x); + } + + template + inline const typename Image::Pixel & ImagePtr::operator()(uint x, uint y) const + { + return (*imPtr)(x, y); + } + + template + inline typename Image::Pixel& Image::operator()(uint x, uint y) { +#ifndef NDEBUG + if (!(x < w() && y < h())) { + std::cout << " access (" << x << " , " << y << ") while size is " << w() << " x " << h() << std::endl; + } +#endif + SIBR_ASSERT(x < w() && y < h()); + return _pixels.at::Pixel>(y, x); + } + + template + inline typename Image::Pixel & ImagePtr::operator()(uint x, uint y) + { + return (*imPtr)(x, y); + } + + + template + inline const typename Image::Pixel& Image::operator()(const sibr::Vector2i & xy) const { + return operator()(xy[0], xy[1]); + } + template + inline const typename Image::Pixel & ImagePtr::operator()(const sibr::Vector2i & xy) const + { + return (*imPtr)(xy[0], xy[1]); + } + + template + inline typename Image::Pixel& Image::operator()(const sibr::Vector2i & xy) { + return operator()(xy[0], xy[1]); + } + template + inline typename Image::Pixel & ImagePtr::operator()(const sibr::Vector2i & xy) + { + return (*imPtr)(xy[0], xy[1]); + } + + template + inline typename Image::Pixel& Image::operator()(const sibr::Vector2f & xy) { + return operator()((int)xy[0], (int)xy[1]); + } + template + inline const typename Image::Pixel& Image::operator() (const sibr::Vector2f & xy) const { + return operator()((int)xy[0], (int)xy[1]); + } + + template + ColorRGBA Image::color(uint x, uint y) const { + SIBR_ASSERT(x < w() && y < h()); + float scale = 1.f / opencv::imageTypeRange(); + cv::Vec v = _pixels.at>(y, x); + + return ColorRGBA(v.val[0] * scale, v.val[1] * scale, v.val[2] * scale, + (T_NumComp > 3) ? v.val[3] * scale : 1.f); + } + template + void Image::color(uint x, uint y, const ColorRGBA& rgba) { + SIBR_ASSERT(x < w() && y < h()); + float scale = opencv::imageTypeRange(); + cv::Vec v;//(p.data(), T_NumComp); + for (uint i = 0; i < T_NumComp; ++i) v[i] = T_Type(rgba[i] * scale); + _pixels.at>(y, x) = v; + } + + template + Image Image::resized(int width, int height, int cv_interpolation_method) const + { + if (width == w() && height == h()) + return clone(); + Image dst; + cv::resize(toOpenCV(), dst._pixels, cv::Size(width, height), 0, 0, cv_interpolation_method); + return dst; + } + + template + Image Image::resizedMax(int maxlen) const + { + float newWidth = (w() >= h()) ? maxlen : maxlen * ((float)w() / (float)h()); + float newHeight = (h() >= w()) ? maxlen : maxlen * ((float)h() / (float)w()); + + return resized((int)newWidth, (int)newHeight); + } + + template + typename Image::Pixel Image::color(const ColorRGBA& rgba) { + float scale = opencv::imageTypeRange(); + Pixel v;//(p.data(), T_NumComp); + for (uint i = 0; i < T_NumComp; ++i) v[i] = T_Type(rgba[i] * scale); + return v; + } + + template + std::string Image::pixelStr(const ::sibr::Vector2i & xy) const { + if (isInRange(xy)) { + std::stringstream ss; +// ss << "( " << operator()(xy).cast, int, T_Type>::type>().transpose() << " )"; +std::cerr << "PIXEL STR PB" << std::endl; +exit(1); + return ss.str(); + } + return ""; + } + + template + uint Image::w(void) const { + return _pixels.cols; + } + + template + uint Image::h(void) const { + return _pixels.rows; + } + + template + sibr::Vector2u Image::size(void) const { + return sibr::Vector2u(w(), h()); + } + + template + uint Image::numComp(void) const { + return T_NumComp; + } + + template + uint Image::sizeOfComp(void) const { + return sizeof(T_Type)*T_NumComp; + } + + template + void Image::flipH(void) { + cv::flip(_pixels, _pixels, 0 /*!=0 means horizontal*/); + } + template + void Image::flipV(void) { + cv::flip(_pixels, _pixels, 1 /*!=1 means vertical*/); + } + + template + void Image::findMinMax(Pixel& minImage, Pixel& maxImage) { + for (uint c = 0; c < T_NumComp; ++c) { + minImage[c] = T_Type(opencv::imageTypeRange()); + maxImage[c] = T_Type(-opencv::imageTypeRange()); + } + + Pixel p; + for (uint y = 0; y < h(); ++y) { + for (uint x = 0; x < w(); ++x) { + Pixel v = operator()(x, y); + for (uint c = 0; c < T_NumComp; ++c) { + minImage[c] = std::min(v[c], minImage[c]); + maxImage[c] = std::max(v[c], maxImage[c]); + } + } + } + } + + template + void Image::remap(const Pixel& minVal, const Pixel& maxVal) { + Pixel minImage; + Pixel maxImage; + findMinMax(minImage, maxImage); + + Pixel p; + for (uint y = 0; y < h(); ++y) { + for (uint x = 0; x < w(); ++x) { + Pixel v = operator()(x, y); + for (uint i = 0; i < T_NumComp; ++i) + p[i] = minVal[i] + ((maxVal[i] - minVal[i])*(v[i] - minImage[i])) / (maxImage[i] - minImage[i]); + operator()(x, y) = p; + } + } + } + + template + Eigen::Matrix Image::bilinear(const sibr::Vector2f & queryPosition) const + { + if (w() < 2 || h() < 2) { + return Eigen::Matrix(); + } + + const sibr::Vector2i cornerPixel = sibr::Vector2f((queryPosition - 0.5f*sibr::Vector2f(1, 1)).unaryExpr([](float f) { return std::floor(f); })).template cast(); + + const sibr::Vector2f ts = queryPosition - (cornerPixel.cast() + 0.5f*sibr::Vector2f(1, 1)); + + const sibr::Vector2i topLeft(0, 0), bottomRight(w() - 1, h() - 1); + + const sibr::Vector2i mm = sibr::clamp(cornerPixel + sibr::Vector2i(0, 0), topLeft, bottomRight); + const sibr::Vector2i pm = sibr::clamp(cornerPixel + sibr::Vector2i(1, 0), topLeft, bottomRight); + const sibr::Vector2i mp = sibr::clamp(cornerPixel + sibr::Vector2i(0, 1), topLeft, bottomRight); + const sibr::Vector2i pp = sibr::clamp(cornerPixel + sibr::Vector2i(1, 1), topLeft, bottomRight); + return ( + operator()(mm).template cast() * (1.0f - ts[0]) * (1.0f - ts[1]) + + operator()(pm).template cast() * ts[0] * (1.0f - ts[1]) + + operator()(mp).template cast() * (1.0f - ts[0]) * ts[1] + + operator()(pp).template cast() * ts[0] * ts[1] + ).template cast(); + } + + template + Eigen::Matrix Image::monoCubic(float t, const Eigen::Matrix & colors) + { + static const Eigen::Matrix M = 0.5f* (Eigen::Matrix() << + 0, 2, 0, 0, + -1, 0, 1, 0, + 2, -5, 4, -1, + -1, 3, -3, 1 + ).finished().transpose(); + + return colors * (M*Eigen::Matrix(1, t, t*t, t*t*t)); + } + + template + Eigen::Matrix Image::bicubic(const sibr::Vector2f & queryPosition) const + { + static const std::vector > offsets = { + { { -1,-1 },{ 0,-1 } ,{ 1,-1 },{ 2,-1 } }, + { { -1,0 },{ 0,0 } ,{ 1,0 },{ 2,0 } }, + { { -1,1 },{ 0,1 } ,{ 1,1 },{ 2,1 } }, + { { -1,2 },{ 0,2 } ,{ 1,2 },{ 2,2 } } + }; + + typedef Eigen::Matrix ColorStack; + + if (w() < 4 || h() < 4) { + return Vector(); + } + + const sibr::Vector2i cornerPixel = (queryPosition - 0.5f*sibr::Vector2f(1, 1)).unaryExpr([](float f) { return std::floor(f); }).template cast(); + const sibr::Vector2f ts = queryPosition - (cornerPixel.cast() + 0.5f*sibr::Vector2f(1, 1)); + + ColorStack colorsGrid[4]; + const sibr::Vector2i topLeft(0, 0), bottomRight(w() - 1, h() - 1); + for (int i = 0; i < 4; ++i) { + for (int j = 0; j < 4; ++j) { + const sibr::Vector2i pixelPosition = cornerPixel + offsets[i][j]; + colorsGrid[i].col(j) = operator()(sibr::clamp(pixelPosition, topLeft, bottomRight)).template cast(); + } + } + + ColorStack bs; + for (int i = 0; i < 4; ++i) { + bs.col(i) = monoCubic(ts[0], colorsGrid[i]); + } + + Vector resultFloat = monoCubic(ts[1], bs); + return (resultFloat.unaryExpr([](float f) { return sibr::clamp(f, 0.0f, sibr::opencv::imageTypeRange()); })).template cast(); + } + + template + inline Vector fromOpenCV(const cv::Vec & vec) { + Vector out; + for (int i = 0; i < N; ++i) { + out[i] = static_cast(vec[i]); + } + return out; + } + + template + inline cv::Vec toOpenCV(const Vector & vec) { + cv::Vec out; + for (int i = 0; i < N; ++i) { + out[i] = static_cast(vec[i]); + } + return out; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Input.cpp b/SIBR_viewers/src/core/graphics/Input.cpp new file mode 100644 index 0000000000..ffbdacdcfc --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Input.cpp @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/Input.hpp" + +namespace sibr +{ + + /*static*/ Input& Input::global( void ) + { + /// \todo TODO: add warning if no windows have been created + static Input instance; + instance._empty = false; + return instance; + } + + /*static*/ void Input::poll( void ) + { + sibr::Input::global().swapStates(); + glfwPollEvents(); + } + + Input Input::subInput(const sibr::Input & global, const sibr::Viewport & viewport, const bool mouseOutsideDisablesKeyboard) + { + Input sub = global; + sub._mousePrevPos -= sibr::Vector2i(viewport.finalLeft(), viewport.finalTop()); + sub._mousePos -= sibr::Vector2i(viewport.finalLeft(), viewport.finalTop()); + + if (!global.isInsideViewport(viewport)) { + sub._mouseButton = MouseButton(); + sub._mouseScroll = 0; + + if (mouseOutsideDisablesKeyboard) { + sub._keyboard = Keyboard(); + } + return sub; + } + + return sub; + } + + bool Input::isInsideViewport(const sibr::Viewport & viewport) const + { + Eigen::AlignedBox2i subBox; + subBox.extend(Vector2i(viewport.finalLeft(), viewport.finalTop())); + subBox.extend(Vector2i(viewport.finalRight(), viewport.finalBottom())); + + return subBox.contains(mousePosition()); + } + + KeyCombination::KeyCombination() : numKeys(0), isTrue(true) { } + KeyCombination::KeyCombination(int n, bool b) : numKeys(n), isTrue(b) { } + + KeyCombination::operator bool() const + { + return isTrue && ( numKeys == sibr::Input::global().key().getNumActivated() ); + } + + KeyCombination operator&& ( const KeyCombination & combA, const KeyCombination & combB) + { + return KeyCombination(combA.numKeys + combB.numKeys, combA.isTrue && combB.isTrue); + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Input.hpp b/SIBR_viewers/src/core/graphics/Input.hpp new file mode 100644 index 0000000000..d835badbbf --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Input.hpp @@ -0,0 +1,443 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include + +//#define GLEW_STATIC +#include +# define GLFW_INCLUDE_GLU +# include + +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" +# include "core/graphics/Viewport.hpp" + +namespace sibr +{ + namespace Key + { + /** Key codes (based on GLFW codes). */ + enum Code + { + Unknown = 0 /*GLFW_KEY_UNKNOWN*/, + Space = GLFW_KEY_SPACE, + Apostrophe = GLFW_KEY_APOSTROPHE, + Comma = GLFW_KEY_COMMA, + Minus = GLFW_KEY_MINUS, + Period = GLFW_KEY_PERIOD, + Slash = GLFW_KEY_SLASH, + Num0 = GLFW_KEY_0, + Num1 = GLFW_KEY_1, + Num2 = GLFW_KEY_2, + Num3 = GLFW_KEY_3, + Num4 = GLFW_KEY_4, + Num5 = GLFW_KEY_5, + Num6 = GLFW_KEY_6, + Num7 = GLFW_KEY_7, + Num8 = GLFW_KEY_8, + Num9 = GLFW_KEY_9, + Semicolon = GLFW_KEY_SEMICOLON, + Equal = GLFW_KEY_EQUAL, + A = GLFW_KEY_A, + B = GLFW_KEY_B, + C = GLFW_KEY_C, + D = GLFW_KEY_D, + E = GLFW_KEY_E, + F = GLFW_KEY_F, + G = GLFW_KEY_G, + H = GLFW_KEY_H, + I = GLFW_KEY_I, + J = GLFW_KEY_J, + K = GLFW_KEY_K, + L = GLFW_KEY_L, + M = GLFW_KEY_M, + N = GLFW_KEY_N, + O = GLFW_KEY_O, + P = GLFW_KEY_P, + Q = GLFW_KEY_Q, + R = GLFW_KEY_R, + S = GLFW_KEY_S, + T = GLFW_KEY_T, + U = GLFW_KEY_U, + V = GLFW_KEY_V, + W = GLFW_KEY_W, + X = GLFW_KEY_X, + Y = GLFW_KEY_Y, + Z = GLFW_KEY_Z, + LeftBracket = GLFW_KEY_LEFT_BRACKET, + Backslash = GLFW_KEY_BACKSLASH, + RightBracket = GLFW_KEY_RIGHT_BRACKET, + GraveAccent = GLFW_KEY_GRAVE_ACCENT, + World1 = GLFW_KEY_WORLD_1, + World2 = GLFW_KEY_WORLD_2, + Escape = GLFW_KEY_ESCAPE, + Enter = GLFW_KEY_ENTER, + Tab = GLFW_KEY_TAB, + Backspace = GLFW_KEY_BACKSPACE, + Insert = GLFW_KEY_INSERT, + Delete = GLFW_KEY_DELETE, + Right = GLFW_KEY_RIGHT, + Left = GLFW_KEY_LEFT, + Down = GLFW_KEY_DOWN, + Up = GLFW_KEY_UP, + Page_up = GLFW_KEY_PAGE_UP, + Page_down = GLFW_KEY_PAGE_DOWN, + Home = GLFW_KEY_HOME, + End = GLFW_KEY_END, + CapsLock = GLFW_KEY_CAPS_LOCK, + ScrollLock = GLFW_KEY_SCROLL_LOCK, + NumLock = GLFW_KEY_NUM_LOCK, + PrintScreen = GLFW_KEY_PRINT_SCREEN, + Pause = GLFW_KEY_PAUSE, + F1 = GLFW_KEY_F1, + F2 = GLFW_KEY_F2, + F3 = GLFW_KEY_F3, + F4 = GLFW_KEY_F4, + F5 = GLFW_KEY_F5, + F6 = GLFW_KEY_F6, + F7 = GLFW_KEY_F7, + F8 = GLFW_KEY_F8, + F9 = GLFW_KEY_F9, + F10 = GLFW_KEY_F10, + F11 = GLFW_KEY_F11, + F12 = GLFW_KEY_F12, + F13 = GLFW_KEY_F13, + F14 = GLFW_KEY_F14, + F15 = GLFW_KEY_F15, + F16 = GLFW_KEY_F16, + F17 = GLFW_KEY_F17, + F18 = GLFW_KEY_F18, + F19 = GLFW_KEY_F19, + F20 = GLFW_KEY_F20, + F21 = GLFW_KEY_F21, + F22 = GLFW_KEY_F22, + F23 = GLFW_KEY_F23, + F24 = GLFW_KEY_F24, + F25 = GLFW_KEY_F25, + KPNum0 = GLFW_KEY_KP_0, + KPNum1 = GLFW_KEY_KP_1, + KPNum2 = GLFW_KEY_KP_2, + KPNum3 = GLFW_KEY_KP_3, + KPNum4 = GLFW_KEY_KP_4, + KPNum5 = GLFW_KEY_KP_5, + KPNum6 = GLFW_KEY_KP_6, + KPNum7 = GLFW_KEY_KP_7, + KPNum8 = GLFW_KEY_KP_8, + KPNum9 = GLFW_KEY_KP_9, + KPDecimal = GLFW_KEY_KP_DECIMAL, + KPDivide = GLFW_KEY_KP_DIVIDE, + KPMultiply = GLFW_KEY_KP_MULTIPLY, + KPSubtract = GLFW_KEY_KP_SUBTRACT, + KPAdd = GLFW_KEY_KP_ADD, + KPEnter = GLFW_KEY_KP_ENTER, + KPEqual = GLFW_KEY_KP_EQUAL, + LeftShift = GLFW_KEY_LEFT_SHIFT, + LeftControl = GLFW_KEY_LEFT_CONTROL, + LeftAlt = GLFW_KEY_LEFT_ALT, + LeftSuper = GLFW_KEY_LEFT_SUPER, + RightShift = GLFW_KEY_RIGHT_SHIFT, + RightControl = GLFW_KEY_RIGHT_CONTROL, + RightAlt = GLFW_KEY_RIGHT_ALT, + RightSuper = GLFW_KEY_RIGHT_SUPER, + Menu = GLFW_KEY_MENU, + + count // this one is a 'tricks' to automatically get the number + // of elements in this enum (just type sibr::Key::count). + }; + } // namespace Key + + namespace Mouse + { + /** Mouse button codes (based on GLFW codes). */ + enum Code + { + Button1 = GLFW_MOUSE_BUTTON_1, + Button2 = GLFW_MOUSE_BUTTON_2, + Button3 = GLFW_MOUSE_BUTTON_3, + Button4 = GLFW_MOUSE_BUTTON_4, + Button5 = GLFW_MOUSE_BUTTON_5, + Button6 = GLFW_MOUSE_BUTTON_6, + Button7 = GLFW_MOUSE_BUTTON_7, + Button8 = GLFW_MOUSE_BUTTON_8, + Last = GLFW_MOUSE_BUTTON_LAST, + + Left = GLFW_MOUSE_BUTTON_LEFT, + Middle = GLFW_MOUSE_BUTTON_MIDDLE, + Right = GLFW_MOUSE_BUTTON_RIGHT, + + Unknown, + count + }; + } // namespace Mouse + + /** Helper keeping track of the number of keys currently pressed. */ + struct SIBR_GRAPHICS_EXPORT KeyCombination + { + /// Default constructor. + KeyCombination(); + + /** Constructor. + \param n number of keys pressed + \param b are they active or not + */ + KeyCombination(int n, bool b); + + /** \return true if they are numKeys pressed keys and their combination is active. */ + operator bool() const; + + int numKeys; ///< Number of pressed keys. + bool isTrue; ///< Activations status. + }; + + /** Merge two set of pressed keys. + \param combA first set + \param combB second set + \return the union set + */ + KeyCombination SIBR_GRAPHICS_EXPORT operator&&( const KeyCombination & combA, const KeyCombination & combB); + + /** Keep track of the pressed/active/released state of a set of keys/buttons. + \sa Key::Code, Mouse::Code + */ + template + class InputState + { + public: + + /** Is an item currently active. + \param code the item code (key or mouse) + \return true if the item is active at this frame + */ + bool isActivated( TEnum code ) const { + return _currentStates[(size_t)code]; + } + + /** Is an item released (lasts one frame). + \param code the item code (key or mouse) + \return true if the item is released at this frame + */ + bool isReleased( TEnum code ) const { + return _lastStates[(size_t)code] \ + && !_currentStates[(size_t)code]; + } + + /** Is an item pressed at this frame (lasts one frame). + \sa isActivated + \param code the item code (key or mouse) + \return true if the item is pressed at this frame + */ + bool isPressed( TEnum code ) const { + return !_lastStates[(size_t)code] \ + && _currentStates[(size_t)code]; + } + + /** Is an item currently pressed and only this one (lasts one frame). + \sa isActivated + \param code the item code (key or mouse) + \return true if the item is the only one pressed + */ + KeyCombination isPressedOnly( TEnum code ) const { + return KeyCombination(1,isPressed(code)); + } + + /** Is an item currently active and only this one. + \param code the item code (key or mouse) + \return true if the item is the only one active + */ + KeyCombination isActivatedOnly( TEnum code ) const { + return KeyCombination(1,isActivated(code)); + } + + /** Declare an item as pressed at this frame. + \param code the item code (Key or Mouse). + */ + void press( TEnum code ) { + _currentStates[(size_t)code] = true; + } + + /** Declare an item as released at this frame. + \param code the item code (Key or Mouse). + */ + void release( TEnum code ) { + _currentStates[(size_t)code] = false; + _lastStates[(size_t)code] = true; + } + + /** Mute an item. + \param code the item code (Key or Mouse). + */ + void silent( TEnum code ) { + _currentStates[(size_t)code] = \ + _lastStates[(size_t)code] = false; + } + + /** Reset all items state. + */ + void clearStates( void ) { + std::fill(_currentStates.begin(), _currentStates.end(), false); + std::fill(_lastStates.begin(), _lastStates.end(), false); + } + + /** Update previous frame states with the current frame ones. */ + void swapStates( void ) { + _lastStates = _currentStates; + } + + /** \return the number of keys currently activated. */ + int getNumActivated( void ) const { + int n=0; + for(int i=0; i _currentStates; ///< Current frame state. + std::array _lastStates; ///< Last frame state. + }; + + /** Maintain the complete state of user interactions (mouse, keyboard) for a given view or window. + All coordinates are recaled with respect to the associated view. + To check if the B key is currently held: + input.key().isActivated(Key::B); + To check if the right mouse was just released: + input.mouseButton().isReleased(Mouse::Right); + + \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT Input + { + public: + typedef InputState Keyboard; + typedef InputState MouseButton; + + public: + + /** \return the global system input (all others are derived from this one) */ + static Input& global( void ); + + /** Generate a new Input object based on a parent one and a viewport. Events (clicks) happening outside + the viewport will be ignored, mouse coordinates will be recentered with respect to the viewport. + \param global the parent input + \param viewport the viewport to retrict the input to + \param mouseOutsideDisablesKeyboard if set to true, keyboard inputs are ignored when the mouse is outside the viewport + \return the new restricted input + */ + static Input subInput(const sibr::Input & global, const sibr::Viewport & viewport, const bool mouseOutsideDisablesKeyboard = true); + + /** Is the mouse inside a given viewport. + \param viewport the viewport to test against + \return true if the mouse is inside. + */ + bool isInsideViewport(const sibr::Viewport & viewport) const; + + /** Update internal state based on GLFW, call once per frame. */ + static void poll( void ); + + /** \return the keyboard state. */ + const Keyboard& key( void ) const { + return _keyboard; + } + + /** \return the keyboard state. */ + Keyboard& key( void ) { + return _keyboard; + } + + /** \return the mouse buttons state. */ + const MouseButton& mouseButton( void ) const { + return _mouseButton; + } + + /** \return the mouse buttons state. */ + MouseButton& mouseButton( void ) { + return _mouseButton; + } + + /** \return the current mouse position */ + const Vector2i& mousePosition( void ) const { + return _mousePos; + } + + /** Set the current mouse position. + \param mousePos the new position + */ + void mousePosition( Vector2i mousePos ) { + _mousePos = mousePos; + } + + /** \return the change in mouse position since last frame. */ + Vector2i mouseDeltaPosition( void ) const { + return _mousePrevPos-_mousePos; + } + + /** If any number key is pressed, return the lowest one. + \return the smallest pressed number, or -1 if none is pressed. + */ + int pressedNumber() const { + static const std::vector keys = { + Key::Num0, Key::Num1, Key::Num2, Key::Num3, Key::Num4, + Key::Num5, Key::Num6, Key::Num7, Key::Num8, Key::Num9 + }; + + for (int i = 0; i < 10; ++i){ + if (_keyboard.isPressed(keys[i]) ){ + return i; + } + } + return -1; + } + + /** Update last frame state with the current one. Call at the end of each frame. */ + void swapStates( void ) { + key().swapStates(); + mouseButton().swapStates(); + _mousePrevPos = _mousePos; + _mouseScroll = 0.0; + } + + /** \return the scroll amount along the vertical axis. */ + double mouseScroll( void ) const { + return _mouseScroll; + } + + /** Set the scroll amount. + \param v the scroll amount. + */ + void mouseScroll(double v) { + _mouseScroll = v; + } + + /** \return true if the input is associated to an empty view/window. */ + bool empty() const { + return _empty; + } + + private: + + Keyboard _keyboard; ///< Keyboard state. + MouseButton _mouseButton; ///< Mouse state. + + Vector2i _mousePos = {0, 0}; ///< Current mouse position. + Vector2i _mousePrevPos = { 0, 0 }; ///< Previous mouse position. + double _mouseScroll = 0.0; ///< Current scroll amount. + bool _empty = true; ///< Is the input associated to an empty view/window. + + }; + + ///// DEFINITIONS ///// + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/MaterialMesh.cpp b/SIBR_viewers/src/core/graphics/MaterialMesh.cpp new file mode 100755 index 0000000000..c0d147d9de --- /dev/null +++ b/SIBR_viewers/src/core/graphics/MaterialMesh.cpp @@ -0,0 +1,1746 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include +#include +#include + +#include // C++ importer interface +#include // Output data structure +#include // Post processing flags +#include +#include + +#include "core/system/ByteStream.hpp" +#include "core/graphics/MaterialMesh.hpp" +#include "core/system/Transform3.hpp" +#include "boost/filesystem.hpp" +#include "core/system/XMLTree.h" +#include "core/system/Matrix.hpp" +#include +#include + +namespace sibr +{ + bool MaterialMesh::load(const std::string& filename) + { + + srand(static_cast (time(0))); + Assimp::Importer importer; + importer.SetPropertyBool(AI_CONFIG_PP_FD_REMOVE, true); + // cause Assimp to remove all degenerated faces as soon as they are detected + const aiScene* scene = importer.ReadFile(filename, + aiProcess_Triangulate | aiProcess_JoinIdenticalVertices | + aiProcess_FindDegenerates); + + if (!scene) + { + SIBR_WRG << "error: can't load mesh '" << filename + << "' (" << importer.GetErrorString() << ")." << std::endl; + return false; + } + + if (scene->mNumMeshes == 0) + { + SIBR_WRG << "error: the loaded model file ('" << filename + << "') contains zero or more than one mesh. Number of meshes : " << + scene->mNumMeshes << std::endl; + return false; + } + + auto convertVec = [](const aiVector3D& v) { + return Vector3f(v.x, v.y, v.z); }; + _triangles.clear(); + + uint offsetVertices = 0; + uint offsetFaces = 0; + uint matId = 0; // Material + std::map matName2Id; // Material + + _maxMeshId = size_t(int(scene->mNumMeshes) - 1); + + SIBR_LOG << "Mesh with " << scene->mNumMeshes << " elements." << std::endl; + for (uint meshId = 0; meshId < scene->mNumMeshes; ++meshId) { + const aiMesh* mesh = scene->mMeshes[meshId]; + + _vertices.resize(offsetVertices + mesh->mNumVertices); + _meshIds.resize(offsetVertices + mesh->mNumVertices); + for (uint i = 0; i < mesh->mNumVertices; ++i) { + _vertices[offsetVertices + i] = convertVec(mesh->mVertices[i]); + _meshIds[offsetVertices + i] = meshId; + } + + if (mesh->HasVertexColors(0) && mesh->mColors[0]) + { + _colors.resize(offsetVertices + mesh->mNumVertices); + for (uint i = 0; i < mesh->mNumVertices; ++i) + { + _colors[offsetVertices + i] = Vector3f( + mesh->mColors[0][i].r, + mesh->mColors[0][i].g, + mesh->mColors[0][i].b); + } + } + + if (mesh->HasVertexColors(0) && mesh->mColors[0]) + { + _colors.resize(offsetVertices + mesh->mNumVertices); + for (uint i = 0; i < mesh->mNumVertices; ++i) + { + _colors[offsetVertices + i] = Vector3f( + mesh->mColors[0][i].r, + mesh->mColors[0][i].g, + mesh->mColors[0][i].b); + } + } + + if (mesh->HasNormals()) + { + _normals.resize(offsetVertices + mesh->mNumVertices); + for (uint i = 0; i < mesh->mNumVertices; ++i) { + _normals[offsetVertices + i] = convertVec(mesh->mNormals[i]); + } + + } + + bool randomUV = true; + + if (mesh->HasTextureCoords(0)) + { + _texcoords.resize(offsetVertices + mesh->mNumVertices); + for (uint i = 0; i < mesh->mNumVertices; ++i) { + _texcoords[offsetVertices + i] = + convertVec(mesh->mTextureCoords[0][i]).xy(); + if (convertVec(mesh->mTextureCoords[0][i]).xy().x() != 0.f || + convertVec(mesh->mTextureCoords[0][i]).xy().y() != 0.f) + { + randomUV = false; + } + } + + } + + if (randomUV) { + SIBR_LOG << "using random UVs." << std::endl; + _texcoords.resize(offsetVertices + mesh->mNumVertices); + for (uint i = 0; i < mesh->mNumVertices; ++i) { + float u = static_cast(rand()) / static_cast(RAND_MAX); + float v = static_cast(rand()) / static_cast(RAND_MAX); + _texcoords[offsetVertices + i] = + Vector2f(u * 5.f, v * 5.f); + } + } + + + if (meshId == 0) { + SIBR_LOG << "Mesh contains: colors: " << mesh->HasVertexColors(0) + << ", normals: " << mesh->HasNormals() + << ", texcoords: " << mesh->HasTextureCoords(0) << std::endl; + } + + //----------------------------- FULL MATERIAL ------------------------ + uint currentMatId = matId; + aiString aiMatName; + + if (AI_SUCCESS != scene->mMaterials[mesh->mMaterialIndex]-> + Get(AI_MATKEY_NAME, aiMatName)) { + SIBR_LOG << "material not found " << mesh->mMaterialIndex + << std::endl; + } + + std::string matName = aiMatName.C_Str(); + + if (matName2Id.find(matName) == matName2Id.end()) { + + matName2Id[matName] = matId; + _matId2Name.push_back(matName); + + matId++; + } + else { + currentMatId = matName2Id[matName]; + } + + //-------------------------- END FULL MATERIAL --------------------- + + _triangles.reserve(offsetFaces + mesh->mNumFaces); + _matIds.reserve(offsetFaces + mesh->mNumFaces); //material + _matIdsVertices.resize(_vertices.size()); + for (uint i = 0; i < mesh->mNumFaces; ++i) + { + const aiFace* f = &mesh->mFaces[i]; + if (f->mNumIndices != 3) + SIBR_WRG << "Discarding a face (not a triangle, num indices: " + << f->mNumIndices << ")" << std::endl; + else + { + Vector3u tri = Vector3u(offsetVertices + f->mIndices[0], offsetVertices + f->mIndices[1], offsetVertices + f->mIndices[2]); + if (tri[0] < 0 || tri[0] >= _vertices.size() + || tri[1] < 0 || tri[1] >= _vertices.size() + || tri[2] < 0 || tri[2] >= _vertices.size()) + SIBR_WRG << "Face num [" << i << "] contains invalid vertex id(s)" << std::endl; + else { + _triangles.push_back(tri); + _matIds.push_back(currentMatId); //material + + } + + } + } + + offsetFaces = (uint)_triangles.size(); + offsetVertices = (uint)_vertices.size(); + + } + + SIBR_LOG << "Mesh '" << filename << " successfully loaded. " << scene->mNumMeshes << " meshes were loaded with a total of " + << " (" << _triangles.size() << ") faces and " + << " (" << _vertices.size() << ") vertices detected." << std::endl; + SIBR_LOG << "Init material part complete." << std::endl; + + _gl.dirtyBufferGL = true; + return true; + } + + sibr::Matrix4f parseTransform(const rapidxml::xml_node<>* nodeTrans) + { + sibr::Matrix4f objectToWorld = sibr::Matrix4f::Identity(); + if (nodeTrans) + { + // Helper functions + const auto getfValue = [&](rapidxml::xml_node<>* n, std::string const& name, float& value) { + if (n && n->first_attribute(name.c_str())) { + value = std::stof(n->first_attribute(name.c_str())->value()); + } + }; + const auto getVector = [&](rapidxml::xml_node<>* n, std::string const& name, sibr::Vector3f& vec) { + const auto isNonFloat = [](const char c) { + return c == ',' || c == ' ' || c == '\t' || c == '\r' || c == '\n' || c == '"' || c == 0; + }; + const auto eatNonFloat = [&](const char* str, int& i) { + while (isNonFloat(str[i])) ++i; + }; + const auto eatFloat = [&](const char* str, int& i) { + while (!isNonFloat(str[i])) ++i; + }; + if (n && n->first_attribute(name.c_str())) { + int index = 0; + const char* value = n->first_attribute(name.c_str())->value(); + for (int i = 0; i < vec.size(); ++i) { + eatNonFloat(value, index); + vec[i] = std::atof(value + index); + eatFloat(value, index); + } + } + }; + const auto getAxesValues = [&](rapidxml::xml_node<>* n, float& x, float& y, float& z) { + getfValue(n, "x", x); + getfValue(n, "y", y); + getfValue(n, "z", z); + }; + + // Loop through all the transform commands, + // and "accumulate" the transform matrices into "objectToWorld" + for (rapidxml::xml_node<>* node = nodeTrans->first_node(); node; node = node->next_sibling()) { + sibr::Matrix4f nodeMatrix = sibr::Matrix4f::Identity(); + const char* transformType = node->name(); + if (strcmp(transformType, "matrix") == 0) { + std::string matrixValue = node->first_attribute("value")->value(); + std::istringstream issMatrix(matrixValue); + std::vector split( + std::istream_iterator{issMatrix}, + std::istream_iterator()); + nodeMatrix << + std::stof(split[0]), std::stof(split[1]), std::stof(split[2]), std::stof(split[3]), + std::stof(split[4]), std::stof(split[5]), std::stof(split[6]), std::stof(split[7]), + std::stof(split[8]), std::stof(split[9]), std::stof(split[10]), std::stof(split[11]), + std::stof(split[12]), std::stof(split[13]), std::stof(split[14]), std::stof(split[15]); + } + else if (strcmp(transformType, "translate") == 0) { + getAxesValues(node, nodeMatrix(0, 3), nodeMatrix(1, 3), nodeMatrix(2, 3)); + } + else if (strcmp(transformType, "scale") == 0) { + float scale = 1.f; + getfValue(node, "value", scale); + getAxesValues(node, nodeMatrix(0, 0), nodeMatrix(1, 1), nodeMatrix(2, 2)); + nodeMatrix(0, 0) *= scale; + nodeMatrix(1, 1) *= scale; + nodeMatrix(2, 2) *= scale; + } + else if (strcmp(transformType, "rotate") == 0) { + float rotateX = 0.f, rotateY = 0.f, rotateZ = 0.f; + float angleDegrees = 0.f; + getAxesValues(node, rotateX, rotateY, rotateZ); + getfValue(node, "angle", angleDegrees); + float angleRadians = angleDegrees * (float)M_PI / 180.f; + sibr::Transform3 transform; + transform.rotate(Eigen::Quaternionf( + Eigen::AngleAxisf(angleRadians, + Eigen::Vector3f(rotateX, rotateY, rotateZ)))); + nodeMatrix = transform.matrix(); + } + else if (strcmp(transformType, "lookat") == 0) { + sibr::Vector3f eye{ 0, 0, 0 }, target{ 0, 0, 1 }, up{ 0, 1, 0 }; + getVector(node, "origin", eye); + getVector(node, "target", target); + getVector(node, "up", up); + // WTF why inverse the lookat??? + nodeMatrix = sibr::lookAt(eye, target, up).inverse(); + } + else { + throw std::runtime_error(std::string("Mitsuba xml parser: Unknown tranform type: ") + transformType); + } + objectToWorld = nodeMatrix * objectToWorld; + } + } + return objectToWorld; + } + + // Extracts Name from (can accept node == nullptr) + // + std::string parseMatID(const rapidxml::xml_node<>* node) + { + std::string res; + if (node) + { + const rapidxml::xml_attribute<>* id = node->first_attribute("id"); + res = id->value(); + } + return res; + } + + bool shouldFlipNormals(const rapidxml::xml_node<>* shape) + { + assert(shape != nullptr); + for (const rapidxml::xml_node<>* node = shape->first_node("boolean"); node; node = node->next_sibling("boolean")) + { + if (node->first_attribute("name")->value() == std::string("flipNormals")) + { + return node->first_attribute("value")->value() == std::string("true"); + } + } + return false; + } + + std::string parseFilename(const rapidxml::xml_node<>* shape) + { + assert(shape); + for (const rapidxml::xml_node<>* node = shape->first_node("string"); node; node = node->next_sibling("string")) + { + if (node->first_attribute("name")->value() == std::string("filename")) + { + return node->first_attribute("value")->value(); + } + } + return ""; + } + + bool MaterialMesh::loadMtsXML(const std::string& xmlFile, bool loadTextures) + { + srand(static_cast (time(0))); + bool allLoaded = true; + std::string pathFolder = boost::filesystem::path(xmlFile).parent_path() + .string(); + sibr::XMLTree doc(xmlFile); + std::map meshes; + + struct ShapeGroup { + struct Shape + { + std::string filename; + std::string matname; + sibr::Matrix4f toWorld = sibr::Matrix4f::Identity(); + Shape& operator=(Shape const&) = default; + bool flipNormals = false; + }; + std::vector shapes; + sibr::Matrix4f objectToWorld = sibr::Matrix4f::Identity(); + }; + + std::map idToShapegroups; + + rapidxml::xml_node<> *nodeScene = doc.first_node("scene"); + + // First parse all the shapegroups + for (rapidxml::xml_node<> *node = nodeScene->first_node("shape"); + node; node = node->next_sibling("shape")) + { + if (strcmp(node->first_attribute()->name(), "type") == 0 && + strcmp(node->first_attribute()->value(), "shapegroup") == 0) { + + //std::cout << "Found : " << node->first_attribute("id")->value() << std::endl; + + std::string id = node->first_attribute("id")->value(); + ShapeGroup shapeGroup; + for (rapidxml::xml_node<>* shapeNode = node->first_node("shape");shapeNode;shapeNode=shapeNode->next_sibling()) + { + ShapeGroup::Shape shape; + shape.filename = parseFilename(shapeNode); + shape.toWorld = parseTransform(shapeNode->first_node("transform")); + shape.matname = parseMatID(shapeNode->first_node("ref")); + shape.flipNormals = shouldFlipNormals(shapeNode); + shapeGroup.shapes.push_back(shape); + } + rapidxml::xml_node<>* tNode = node->first_node("transform"); + shapeGroup.objectToWorld = parseTransform(tNode); + idToShapegroups[id] = shapeGroup; + } + } + // Second: Create all the actual shapes + for (rapidxml::xml_node<> *node = nodeScene->first_node("shape"); + node; node = node->next_sibling("shape")) + { + for (rapidxml::xml_attribute<> *browserAttributes = node-> + first_attribute(); + browserAttributes; + browserAttributes = browserAttributes->next_attribute()) { + // Create the instances of the shapegroups + if (strcmp(browserAttributes->name(), "type") == 0 && + strcmp(browserAttributes->value(), "instance") == 0 + ) { + rapidxml::xml_node<>* nodeRef = node->first_node("ref"); + const std::string _id = nodeRef->first_attribute("id")->value(); + SIBR_LOG << "Instancing " << _id << std::endl; + if (idToShapegroups.find(_id) == idToShapegroups.end()) + { + SIBR_WRG << "Could not find shapegroup " << _id << "!!!" << std::endl; + continue; + } + const ShapeGroup& shapeGroup = idToShapegroups[_id]; + rapidxml::xml_node<>* nodeTrans = node->first_node("transform"); + // I am not 100% sure of the order of the matrices + sibr::Matrix4f objectToWorld = shapeGroup.objectToWorld * parseTransform(nodeTrans); + sibr::MaterialMesh instance; + for (const auto& shape : shapeGroup.shapes) + { + std::cout << shape.filename; + const std::string meshPath = pathFolder + "/" + shape.filename; + + if (meshes.find(meshPath) == meshes.end()) + { + meshes[meshPath] = MaterialMesh(); + meshes[meshPath].load(meshPath); + } + + sibr::MaterialMesh toWorldMesh = meshes[meshPath]; + + if (shape.flipNormals && toWorldMesh.hasNormals()) + { + const auto& refNormals = toWorldMesh.normals(); + sibr::Mesh::Normals normals(refNormals.size()); + for (int nid = 0; nid < refNormals.size(); ++nid) + { + normals[nid] = -refNormals[nid]; + } + toWorldMesh.normals(normals); + } + // Convert to world coordinates + sibr::Matrix4f matrix = shape.toWorld * objectToWorld; + { + sibr::MaterialMesh::Vertices vertices(toWorldMesh.vertices().size()); + for (int v = 0; v < toWorldMesh.vertices().size(); v++) { + sibr::Vector4f v4(toWorldMesh.vertices()[v].x(), + toWorldMesh.vertices()[v].y(), + toWorldMesh.vertices()[v].z(), 1.0); + vertices[v] = (matrix* v4).xyz(); + } + + toWorldMesh.vertices(vertices); + } + + // If the mesh has normals, we should transform them also. + if (toWorldMesh.hasNormals()) { + sibr::Mesh::Normals normals(toWorldMesh.normals().size()); + const sibr::Matrix3f normalTMatrix = matrix.block(0, 0, 3, 3).inverse().transpose(); + for (int v = 0; v < toWorldMesh.normals().size(); v++) { + const sibr::Vector3f& ln = toWorldMesh.normals()[v]; + normals[v] = (normalTMatrix * ln).xyz(); + } + toWorldMesh.normals(normals); + } + + if (!shape.matname.empty()) + { + toWorldMesh.matId2Name({ shape.matname }); + } + + instance.merge(toWorldMesh); + } + merge(instance); + } + // Create the "unique" shapes + else if (strcmp(browserAttributes->name(), "type") == 0 && + (strcmp(browserAttributes->value(), "obj") == 0 || + strcmp(browserAttributes->value(), "ply") == 0)) { + + rapidxml::xml_node<> *nodeRef = node->first_node("string"); + const std::string filename = nodeRef->first_attribute("value") + ->value(); + const std::string meshPath = pathFolder + "/" + filename; + // Search for any normal options: + rapidxml::xml_node<> *nodeOpt = node->first_node("boolean"); + bool flipNormals = false; + while (nodeOpt) { + const std::string name = nodeOpt->first_attribute("name")->value(); + const std::string value = nodeOpt->first_attribute("value")->value(); + if (name == "flipNormals" && value == "true") { + flipNormals = true; + } + nodeOpt = nodeOpt->next_sibling("boolean"); + } + + + if (meshes.find(filename) == meshes.end()) { + meshes[filename] = sibr::MaterialMesh(); + if (!meshes[filename].load(meshPath)) { + return false; + } + if (meshes[filename].matIds().empty()) + { + SIBR_WRG << "Material (" << filename << ") not present ..." << std::endl; + } + + } + + SIBR_LOG << "Adding one instance of: " << filename + << std::endl; + + rapidxml::xml_node<> *nodeRefMat = node->first_node("ref"); + if (nodeRefMat) { + const std::string matName = nodeRefMat + ->first_attribute("id")->value(); + + MatId2Name newmatIdtoName; + newmatIdtoName.push_back(matName); + meshes[filename].matId2Name(newmatIdtoName); + } + + rapidxml::xml_node<> *nodeTrans = node + ->first_node("transform"); + + sibr::Matrix4f objectToWorld = parseTransform(nodeTrans); + + sibr::MaterialMesh toWorldMesh = meshes[filename]; + + // Apply normals transformation if needed. + if (flipNormals && toWorldMesh.hasNormals()) { + const auto & refNormals = toWorldMesh.normals(); + sibr::Mesh::Normals normals(refNormals.size()); + for (int nid = 0; nid < refNormals.size(); nid++) { + normals[nid] = -refNormals[nid]; + } + toWorldMesh.normals(normals); + } + + if (nodeTrans) { + // Transform the vertices position + { + sibr::Mesh::Vertices vertices(toWorldMesh.vertices().size()); + for (int v = 0; v < toWorldMesh.vertices().size(); v++) { + sibr::Vector4f v4(toWorldMesh.vertices()[v].x(), + toWorldMesh.vertices()[v].y(), + toWorldMesh.vertices()[v].z(), 1.0); + vertices[v] = (objectToWorld*v4).xyz(); + + } + toWorldMesh.vertices(vertices); + } + + // Transform the normals too + if (toWorldMesh.hasNormals()) { + sibr::Mesh::Normals normals(toWorldMesh.normals().size()); + const sibr::Matrix3f normalTMatrix = objectToWorld.block(0, 0, 3, 3).inverse().transpose(); + for (int v = 0; v < toWorldMesh.normals().size(); v++) { + const sibr::Vector3f& ln = toWorldMesh.normals()[v]; + normals[v] = (normalTMatrix * ln); + } + toWorldMesh.normals(normals); + } + } + + merge(toWorldMesh); + } + } + } + + SIBR_LOG << "Loaded mesh: " << vertices().size() << " verts, " << meshIds().size() << " ids." << std::endl; + // Load all the materials + for (rapidxml::xml_node<> *node = nodeScene->first_node("bsdf"); + node; node = node->next_sibling("bsdf")) + { + //getting id + rapidxml::xml_attribute<> *attribute = node->first_attribute("id"); + if (attribute != nullptr) { + + std::string nameMat = attribute->value(); + + + // Check if a texture exists in our node with diffuse reflectance + // If none is found, explore each BRDF until found. + std::vector *> queue; + queue.push_back(node); + + bool breakBool = false; + + while (!queue.empty()) { + + + //Texture Case + for (rapidxml::xml_node<> *nodeTexture = + queue.front()->first_node("texture"); + nodeTexture; + nodeTexture = nodeTexture->next_sibling("texture")) { + + if (strcmp(nodeTexture->first_attribute("name")->value(), + "diffuseReflectance") == 0 || + strcmp(nodeTexture->first_attribute("name")->value(), + "reflectance") == 0 || + strcmp(nodeTexture->first_attribute("name")->value(), + "specularReflectance") == 0 + ) + { + //std::cout << "DiffuseReflectance Texture found" << std::endl; + rapidxml::xml_node<> *firstTexture = nodeTexture-> + first_node("texture"); + if (firstTexture == nullptr) { + firstTexture = nodeTexture; + } + for (rapidxml::xml_node<> *nodeString = firstTexture-> + first_node("string"); + nodeString; + nodeString = nodeString->next_sibling("string")) + { + std::string textureName = + nodeString->first_attribute("value")->value(); + sibr::ImageRGBA::Ptr texture(new sibr::ImageRGBA()); + // If we skip loading the textures, still set them as empty images. + if (!loadTextures || texture->load(pathFolder + "/" + textureName)) { + /*std::cout << "Diffuse " << pathFolder + "/" + + textureName << std::endl;*/ + _diffuseMaps[nameMat] = texture; + breakBool = true; + break; + } + else { + SIBR_ERR << "Diffuse layer for: " << + nameMat << " not found" << std::endl; + } + + } + if (breakBool) + break; + } + } + + + //Color case + + if (!breakBool) { + std::list colorsFormatList; + colorsFormatList.push_back("rgb"); + colorsFormatList.push_back("srgb"); + for (std::string colorsFormat : colorsFormatList) + for (rapidxml::xml_node<> *nodeTexture = + queue.front()->first_node(colorsFormat.c_str()); + nodeTexture; + nodeTexture = nodeTexture->next_sibling( + colorsFormat.c_str())) { + + if (strcmp(nodeTexture->first_attribute("name")->value(), + "diffuseReflectance") == 0 || + strcmp(nodeTexture->first_attribute("name")->value(), + "reflectance") == 0 || + strcmp(nodeTexture->first_attribute("name")->value(), + "specularReflectance") == 0 + ) + { + /*std::cout << "DiffuseReflectance Color found" + << std::endl;*/ + rapidxml::xml_node<> *firstTexture = nodeTexture-> + first_node(colorsFormat.c_str()); + if (firstTexture == nullptr) { + firstTexture = nodeTexture; + } + std::string colorString = + nodeTexture->first_attribute("value")->value(); + sibr::Vector3f colorMaterial; + float redComponent, greenComponent, blueComponent; +#ifdef SIBR_OS_WINDOWS + sscanf_s(colorString.c_str(), "%f, %f, %f", + &redComponent, &greenComponent, &blueComponent); +#else + sscanf(colorString.c_str(), "%f, %f, %f", + &redComponent, &greenComponent, &blueComponent); +#endif + const sibr::ImageRGBA::Pixel color( + static_cast(redComponent * 255), + static_cast(greenComponent * 255), + static_cast(blueComponent * 255), + 255); + sibr::ImageRGBA::Ptr texture(new sibr::ImageRGBA( + 1, 1, color)); + if (texture) { + /*std::cout << "Diffuse color : " << + redComponent << ", " << blueComponent << + ", " << greenComponent << ", " << std::endl;*/ + _diffuseMaps[nameMat] = texture; + _tagsCoveringMaps[nameMat] = nullptr; + + breakBool = true; + break; + } + else { + SIBR_ERR << "Diffuse layer for: " << nameMat + << " not found" << std::endl; + } + + if (breakBool) + break; + } + } + } + + queue.erase(queue.begin()); + + for (rapidxml::xml_node<> *node = queue.front()-> + first_node("bsdf"); + node; node = node->next_sibling("bsdf")) + { + queue.push_back(node); + } + + } + if (_diffuseMaps[nameMat].get() == nullptr) { + + float r = static_cast(rand()) / static_cast(RAND_MAX); + float g = static_cast(rand()) / static_cast(RAND_MAX); + float b = static_cast(rand()) / static_cast(RAND_MAX); + + const sibr::ImageRGBA::Pixel color( + static_cast(r * 255), + static_cast(g * 255), + static_cast(b * 255), + static_cast (255) + ); + sibr::ImageRGBA::Ptr texture(new sibr::ImageRGBA( + 1, 1, color)); + SIBR_WRG << "Warning: No color and no texture found for " << nameMat << ", " << + "material will be chosen randomly." << std::endl; + _diffuseMaps[nameMat] = texture; + + _tagsCoveringMaps[nameMat] = nullptr; + /*if (_hasTagsCoveringFile) { + _tagsCoveringMaps[nameMat] = _listCoveringImagesTags.at( + _tagsCoveringMaps.size() % _listCoveringImagesTags.size()); + }*/ + } + + + + } + } + + bool breakBool = false; + for (rapidxml::xml_node<> *node = nodeScene->first_node("bsdf"); + node; node = node->next_sibling("bsdf")) + { + if (node != nullptr && node->first_attribute("id") != nullptr) + { + std::string nameMat = node->first_attribute("id")->value(); + + bool breakBool = false; + for (rapidxml::xml_node<> *nodeTexture = node-> + first_node("texture"); + nodeTexture; nodeTexture = nodeTexture-> + next_sibling("texture")) { + + if (strcmp(nodeTexture->first_attribute("name")->value(), + "opacity") == 0 && + nodeTexture->first_attribute("type") && + strcmp(nodeTexture->first_attribute("type")->value(), + "scale") == 0) { + //std::cout << "Found opacity mask:" << nameMat << std::endl; + + for (rapidxml::xml_node<> *nodeString = nodeTexture-> + first_node("texture")->first_node("string"); + nodeString; nodeString = nodeString-> + next_sibling("string")) + { + std::string textureName = nodeString-> + first_attribute("value")->value(); + sibr::ImageRGB::Ptr texture(new sibr::ImageRGB()); + if (!loadTextures || texture->load(pathFolder + "/" + textureName)) { + _opacityMaps[nameMat] = texture; + breakBool = true; + break; + } + else { + SIBR_ERR << "Opacity layer for: " << + nameMat << " not found" << std::endl; + } + + + } + if (breakBool) + break; + } + + } + if (!breakBool) { + const sibr::ImageRGB::Pixel color(255, 255, 255); + sibr::ImageRGB::Ptr texture(new sibr::ImageRGB(1, 1, color)); + _opacityMaps[nameMat] = texture; + + } + } + } + + createSubMeshes(); + return true; + + } + + void MaterialMesh::loadCoveringTagsTexture( + const std::vector& listFilesTags) { + + for (const std::string filename : listFilesTags) { + + sibr::ImageRGB::Ptr textureTag(new sibr::ImageRGB()); + if (textureTag->load(filename)) { + _listCoveringImagesTags.push_back(textureTag); + } + else { + SIBR_ERR << "Diffuse layer for: " << + filename << " not found" << std::endl; + } + } + if (_listCoveringImagesTags.size() > 0) + _hasTagsCoveringFile = true; + + if (_hasTagsCoveringFile) { + unsigned int counter = 0; + for (auto it = matId2Name().begin(); it != matId2Name().end(); ++it) { + if (_tagsCoveringMaps.find(*it) != _tagsCoveringMaps.end()) { + _tagsCoveringMaps[*it] = _listCoveringImagesTags.at( + counter % _listCoveringImagesTags.size()); + counter++; + } + } + } + + } + + void MaterialMesh::fillColorsWithIndexMaterials(void) + { + sibr::Mesh::Colors colorsIdsMaterials(vertices().size()); + + sibr::Mesh::Colors randomsColors; + + srand(static_cast (time(0))); + for (std::string material : _matId2Name) { + float r = static_cast(rand()) / static_cast(RAND_MAX); + float g = static_cast(rand()) / static_cast(RAND_MAX); + float b = static_cast(rand()) / static_cast(RAND_MAX); + + randomsColors.push_back(sibr::Vector3f(r, g, b)); + } + + for (unsigned int i = 0; i < _matIds.size(); i++) + { + colorsIdsMaterials.at(_triangles.at(i)[0]) = randomsColors.at( + _matIds.at(i)); + colorsIdsMaterials.at(_triangles.at(i)[1]) = randomsColors.at + (_matIds.at(i)); + colorsIdsMaterials.at(_triangles.at(i)[2]) = randomsColors.at + (_matIds.at(i)); + } + + colors(colorsIdsMaterials); + } + + + void MaterialMesh::fillColorsWithMatIds() + { + sibr::Mesh::Colors colorsIdsMaterials(vertices().size()); + + for (unsigned int i = 0; i < _matIds.size(); i++) + { + const uint matId = uint(_matIds.at(i) + 1); + const sibr::Vector3u col = { uchar(matId & 0xff), uchar((matId >> 8) & 0xff) , uchar((matId >> 16) & 0xff) }; + const sibr::Vector3f finalCol = col.cast() / 255.0f; + colorsIdsMaterials.at(_triangles.at(i)[0]) = finalCol; + colorsIdsMaterials.at(_triangles.at(i)[1]) = finalCol; + colorsIdsMaterials.at(_triangles.at(i)[2]) = finalCol; + } + + colors(colorsIdsMaterials); + } + + Mesh MaterialMesh::generateSubMaterialMesh(int material) const + { + + sibr::Mesh::Vertices newVertices; + sibr::Mesh::Triangles newTriangles; + + sibr::Mesh::Colors newColors; + sibr::Mesh::Normals newNormals; + sibr::Mesh::UVs newTexCoords; + + std::map mapIdVert; + + int cmptValidVert = 0; + int cmptVert = 0; + + sibr::Mesh::Colors oldColors; + if (hasColors()) + oldColors = colors(); + + sibr::Mesh::Normals oldNormals; + if (hasNormals()) + oldNormals = normals(); + + sibr::Mesh::UVs oldTexCoords; + if (hasTexCoords()) + oldTexCoords = texCoords(); + + for (int i = 0; i < matIds().size(); i++) + { + if (matIds().at(i) == material) { + + uint v1, v2, v3; + v1 = triangles().at(i)[0]; + v2 = triangles().at(i)[1]; + v3 = triangles().at(i)[2]; + + auto search = mapIdVert.find(v1); + if (search == mapIdVert.end()) { + newVertices.push_back(vertices()[v1]); + if (hasColors()) { + newColors.push_back(oldColors[v1]); + } + if (hasNormals()) { + newNormals.push_back(oldNormals[v1]); + } + if (hasTexCoords()) { + newTexCoords.push_back(oldTexCoords[v1]); + } + mapIdVert[v1] = cmptValidVert; + cmptValidVert++; + } + + search = mapIdVert.find(v2); + if (search == mapIdVert.end()) { + newVertices.push_back(vertices()[v2]); + if (hasColors()) { + newColors.push_back(oldColors[v2]); + } + if (hasNormals()) { + newNormals.push_back(oldNormals[v2]); + } + if (hasTexCoords()) { + newTexCoords.push_back(oldTexCoords[v2]); + } + mapIdVert[v2] = cmptValidVert; + cmptValidVert++; + } + + search = mapIdVert.find(v3); + if (search == mapIdVert.end()) { + newVertices.push_back(vertices()[v3]); + if (hasColors()) { + newColors.push_back(oldColors[v3]); + } + if (hasNormals()) { + newNormals.push_back(oldNormals[v3]); + } + if (hasTexCoords()) { + newTexCoords.push_back(oldTexCoords[v3]); + } + mapIdVert[v3] = cmptValidVert; + cmptValidVert++; + } + newTriangles.push_back(sibr::Vector3u(mapIdVert[v1], mapIdVert[v2] + , mapIdVert[v3])); + + } + } + + Mesh newMesh; + newMesh.vertices(newVertices); + newMesh.triangles(newTriangles); + if (hasColors()) + newMesh.colors(newColors); + if (hasNormals()) + newMesh.normals(newNormals); + if (hasTexCoords()) + newMesh.texCoords(newTexCoords); + + return newMesh; + } + + void MaterialMesh::forceBufferGLUpdate(void) const + { + if (!_gl.bufferGL) { SIBR_ERR << "Tried to forceBufferGL on a non OpenGL Mesh" << std::endl; return; } + _gl.dirtyBufferGL = false; + _gl.bufferGL->build(*this); + } + + void MaterialMesh::freeBufferGLUpdate(void) const + { + _gl.dirtyBufferGL = false; + _gl.bufferGL->free(); + } + + void MaterialMesh::subdivideMesh2(float threshold) { + + auto areaHeronsFormula = [](sibr::Vector3f A, sibr::Vector3f B, + sibr::Vector3f C) -> float { + float a = distance(A, B); + float b = distance(B, C); + float c = distance(C, A); + return sqrtf((a + (b + c))*(c - (a - b))*(c + (a - b))* + (a + (b - c))) / 4.f; + }; + + bool mustChange = true; + while (mustChange) { + mustChange = false; + sibr::Mesh::Colors newColors(colors()); + sibr::Mesh::Normals newNormals(normals()); + sibr::Mesh::UVs newTexCoords(texCoords()); + sibr::Mesh::Vertices newVertices(vertices()); + sibr::MaterialMesh::MeshIds newMeshIds(meshIds()); + + sibr::Mesh::Triangles newTriangles; + sibr::MaterialMesh::MatIds newMatIds; + std::cout << triangles().size() << " triangles" << std::endl; + for (unsigned int i = 0; i < triangles().size(); i++) { + sibr::Vector3u t = triangles().at(i); + + int tMatId; + if (i < matIds().size()) + tMatId = matIds().at(i); + + sibr::Vector3f a = vertices().at(t.x()); + sibr::Vector3f b = vertices().at(t.y()); + sibr::Vector3f c = vertices().at(t.z()); + + if (areaHeronsFormula(a, b, c) >= (_averageArea*threshold)) { + mustChange = true; + + sibr::Vector3f aColor, bColor, cColor, aNormal, bNormal, cNormal; + sibr::Vector2f aTexCoords, bTexCoords, cTexCoords; + + sibr::Vector3f newColor, newNormal; + sibr::Vector2f newTexCoord; + sibr::Vector3f newVertex; + + if (hasColors()) { + newColor = (colors().at(t.x()) + colors().at(t.y()) + + colors().at(t.z())) / 3.f; + } + + if (hasNormals()) { + newNormal = (normals().at(t.x()) + normals().at(t.y()) + + normals().at(t.z())) / 3.f; + } + + if (hasTexCoords()) { + newTexCoord = (texCoords().at(t.x()) + texCoords().at(t.y()) + + texCoords().at(t.z())) / 3.f; + } + + + newVertex = (vertices().at(t.x()) + vertices().at(t.y()) + + vertices().at(t.z())) / 3.f; + + newVertices.push_back(newVertex); + + if (hasColors()) { + newColors.push_back(newColor); + } + + if (hasNormals()) { + newNormals.push_back(newNormal); + } + + if (hasTexCoords()) { + newTexCoords.push_back(newTexCoord); + } + + if (hasMeshIds()) { + // Pick the first referenced vertex as the provoking vertex. + newMeshIds.push_back(meshIds().at(t.x())); + } + + int newIndexVertex = static_cast (newVertices.size()) - 1; + newTriangles.push_back(sibr::Vector3u(t.x(), + t.y(), + newIndexVertex)); + newTriangles.push_back(sibr::Vector3u(t.y(), + t.z(), + newIndexVertex)); + newTriangles.push_back(sibr::Vector3u(t.z(), + t.x(), + newIndexVertex)); + if (i < matIds().size()) { + for (unsigned int n = 0; n < 3; ++n) + newMatIds.push_back(tMatId); + } + } + else { + newTriangles.push_back(t); + if (i < matIds().size()) + newMatIds.push_back(tMatId); + } + } + vertices(newVertices); + colors(newColors); + normals(newNormals); + texCoords(newTexCoords); + triangles(newTriangles); + matIds(newMatIds); + meshIds(newMeshIds); + } + } + + void MaterialMesh::subdivideMesh(float threshold) { + + bool mustChange = true; + while (mustChange) { + mustChange = false; + sibr::Mesh::Colors newColors(colors()); + sibr::Mesh::Normals newNormals(normals()); + sibr::Mesh::UVs newTexCoords(texCoords()); + sibr::Mesh::Vertices newVertices(vertices()); + sibr::MaterialMesh::MeshIds newMeshIds(meshIds()); + + sibr::Mesh::Triangles newTriangles; + sibr::MaterialMesh::MatIds newMatIds; + + + std::cout << triangles().size() << " triangles" << std::endl; + + for (unsigned int i = 0; i < triangles().size(); i++) { + sibr::Vector3u t = triangles().at(i); + + int tMatId; + if (i < matIds().size()) + tMatId = matIds().at(i); + + sibr::Vector3f a = vertices().at(t.x()); + sibr::Vector3f b = vertices().at(t.y()); + sibr::Vector3f c = vertices().at(t.z()); + + float localMaximum = 0.f; + int longestSide; + + float d = distance(a, b); + if (d > localMaximum) { + localMaximum = d; longestSide = 0; + } + d = distance(b, c); + if (d > localMaximum) { + localMaximum = d; longestSide = 1; + } + d = distance(c, a); + if (d > localMaximum) { + localMaximum = d; longestSide = 2; + } + + + if (localMaximum >= (_averageSize*threshold)) { + mustChange = true; + + sibr::Vector3f aColor, bColor, cColor, aNormal, bNormal, + cNormal; + sibr::Vector2f aTexCoords, bTexCoords, cTexCoords; + + sibr::Vector3f *v1Pos, *v2Pos, *v1Color, *v2Color, + *v1Normal, *v2Normal; + sibr::Vector2f *v1TexCoords, *v2TexCoords; + + sibr::Vector3f newColor, newNormal; + sibr::Vector2f newTexCoord; + sibr::Vector3f newVertex; + + if (hasColors()) { + aColor = colors().at(t.x()); + bColor = colors().at(t.y()); + cColor = colors().at(t.z()); + } + + if (hasNormals()) { + aNormal = normals().at(t.x()); + bNormal = normals().at(t.y()); + cNormal = normals().at(t.z()); + } + + if (hasTexCoords()) { + aTexCoords = texCoords().at(t.x()); + bTexCoords = texCoords().at(t.y()); + cTexCoords = texCoords().at(t.z()); + } + if (longestSide == 0) { + v1Pos = &a; v2Pos = &b; + v1Color = &aColor; v2Color = &bColor; + v1Normal = &aNormal; v2Normal = &bNormal; + v1TexCoords = &aTexCoords; v2TexCoords = &bTexCoords; + } + else if (longestSide == 1) { + v1Pos = &b; v2Pos = &c; + v1Color = &bColor; v2Color = &cColor; + v1Normal = &bNormal; v2Normal = &cNormal; + v1TexCoords = &bTexCoords; v2TexCoords = &cTexCoords; + } + else if (longestSide == 2) { + v1Pos = &c; v2Pos = &a; + v1Color = &cColor; v2Color = &aColor; + v1Normal = &cNormal; v2Normal = &aNormal; + v1TexCoords = &cTexCoords; v2TexCoords = &aTexCoords; + } + newVertex = sibr::Vector3f((v1Pos->x() + v2Pos->x()) / 2.f, + (v1Pos->y() + v2Pos->y()) / 2.f, + (v1Pos->z() + v2Pos->z()) / 2.f); + newColor = sibr::Vector3f((v1Color->x() + v2Color->x()) / 2.f, + (v1Color->y() + v2Color->y()) / 2.f, + (v1Color->z() + v2Color->z()) / 2.f); + newNormal = sibr::Vector3f((v1Normal->x() + v2Normal->x()) / 2.f, + (v1Normal->y() + v2Normal->y()) / 2.f, + (v1Normal->z() + v2Normal->z()) / 2.f); + newTexCoord = sibr::Vector2f((v1TexCoords->x() + + v2TexCoords->x()) / 2.f, + (v1TexCoords->y() + v2TexCoords->y()) / 2.f); + + newVertices.push_back(newVertex); + + if (hasColors()) { + newColors.push_back(newColor); + } + + if (hasNormals()) { + newNormals.push_back(newNormal); + } + + if (hasTexCoords()) { + newTexCoords.push_back(newTexCoord); + } + + if (hasMeshIds()) { + // Use the first referenced vertex as the provoking vertex. + newMeshIds.push_back(meshIds().at(t.x())); + } + + int newIndexVertex = static_cast (newVertices.size()) - 1; + if (i < matIds().size()) { + newMatIds.push_back(tMatId); + newMatIds.push_back(tMatId); + } + if (longestSide == 0) { + newTriangles.push_back(sibr::Vector3u(t.x(), + newIndexVertex, + t.z())); + newTriangles.push_back(sibr::Vector3u(newIndexVertex, + t.y(), + t.z())); + } + else if (longestSide == 1) { + newTriangles.push_back(sibr::Vector3u(t.x(), + t.y(), + newIndexVertex)); + newTriangles.push_back(sibr::Vector3u(t.x(), + newIndexVertex, + t.z())); + } + else if (longestSide == 2) { + newTriangles.push_back(sibr::Vector3u(t.x(), + t.y(), + newIndexVertex)); + newTriangles.push_back(sibr::Vector3u(newIndexVertex, + t.y(), + t.z())); + } + } + else { + newTriangles.push_back(t); + if (i < matIds().size()) + newMatIds.push_back(tMatId); + } + } + vertices(newVertices); + colors(newColors); + normals(newNormals); + texCoords(newTexCoords); + triangles(newTriangles); + matIds(newMatIds); + meshIds(newMeshIds); + } + // We can now subdivide the large triangles with sub-Triangles + } + + void MaterialMesh::ambientOcclusion(const MaterialMesh::AmbientOcclusion & ao) + { + if (!_aoInitialized) { + + _ambientOcclusion = ao; + colors(_aoFunction(*this, 64)); + createSubMeshes(); + float averageDistance = 0.f; + for (sibr::Vector3u t : triangles()) { + + float maximumDistance = 0.f; + + sibr::Vector3f a = vertices().at(t.x()); + sibr::Vector3f b = vertices().at(t.y()); + sibr::Vector3f c = vertices().at(t.z()); + + float d = distance(a, b); + if (d > maximumDistance) maximumDistance = d; + d = distance(b, c); + if (d > maximumDistance) maximumDistance = d; + d = distance(a, c); + if (d > maximumDistance) maximumDistance = d; + + averageDistance += maximumDistance; + } + + + const auto areaHeronsFormula = [](sibr::Vector3f A, sibr::Vector3f B, + sibr::Vector3f C) -> float { + float a = distance(A, B); + float b = distance(B, C); + float c = distance(C, A); + return sqrtf((a + (b + c))*(c - (a - b))*(c + (a - b))* + (a + (b - c))) / 4.f; + }; + + float averageArea = 0.f; + for (sibr::Vector3u t : triangles()) { + + averageArea += areaHeronsFormula(vertices().at(t.x()), + vertices().at(t.y()), + vertices().at(t.z())); + } + + + + averageDistance /= triangles().size(); + _averageSize = averageDistance; + averageArea /= triangles().size(); + _averageArea = averageArea; + std::cout << "Average distance SIZE = " << _averageSize << std::endl; + std::cout << "Average distance SIZE = " << _averageArea << std::endl; + _aoInitialized = true; + } + if (ao.AttenuationDistance != _ambientOcclusion.AttenuationDistance) { + _ambientOcclusion = ao; + colors(_aoFunction(*this, 64)); + createSubMeshes(); + } + if (ao.SubdivideThreshold < _ambientOcclusion.SubdivideThreshold) { + _ambientOcclusion = ao; + subdivideMesh(_ambientOcclusion.SubdivideThreshold); + colors(_aoFunction(*this, 64)); + createSubMeshes(); + } + _ambientOcclusion = ao; + } + + + void MaterialMesh::initAlbedoTextures(void) { + + //Creates textures for albedo + if (_albedoTexturesInitialized) { + return; + } + + _albedoTextures.resize(matId2Name().size()); + _idTextures.resize(matId2Name().size()); + _opacityTextures.resize(matId2Name().size()); + _idTexturesOpacity.resize(matId2Name().size()); + unsigned int i = 0; + for (auto it = matId2Name().begin(); + it != matId2Name().end(); + ++it) + { + sibr::ImageRGBA::Ptr texturePtr = diffuseMap(*it); + if (texturePtr) { + _albedoTextures[i] = std::shared_ptr( + new sibr::Texture2DRGBA(*texturePtr,SIBR_GPU_LINEAR_SAMPLING)); + _idTextures[i] = _albedoTextures[i]->handle(); + } + else { + _albedoTextures[i] = std::shared_ptr( + new sibr::Texture2DRGBA()); + _idTextures[i] = _albedoTextures[i]->handle(); + } + + sibr::ImageRGB::Ptr texturePtrOpacity = opacityMap(*it); + if (texturePtrOpacity && texturePtr) { + _opacityTextures[i] = std::shared_ptr( + new sibr::Texture2DRGB(*texturePtrOpacity,SIBR_GPU_LINEAR_SAMPLING)); + _idTexturesOpacity[i] = _opacityTextures[i]->handle(); + } + else { + _opacityTextures[i] = std::shared_ptr( + new sibr::Texture2DRGB()); + _idTexturesOpacity[i] = _opacityTextures[i]->handle(); + } + + if (_hasTagsCoveringFile && _tagsCoveringMaps[*it]) { + sibr::ImageRGB::Ptr texturePtrTag = tagsCoveringMap(*it); + _tagsCoveringTexture[*it] = std::shared_ptr( + new sibr::Texture2DRGB(*texturePtrTag,SIBR_GPU_LINEAR_SAMPLING)); + _idTagsCoveringTexture[*it] = _tagsCoveringTexture[*it]->handle(); + } + + _switchTags[*it] = false; + + i++; + } + if (_hasTagsFile) { + sibr::ImageRGB::Ptr texturePtr = _tagsMap; + _tagTexture = std::shared_ptr( + new sibr::Texture2DRGB(*texturePtr,SIBR_GPU_LINEAR_SAMPLING)); + _idTagTexture = _tagTexture->handle(); + } + + + _albedoTexturesInitialized = true; + } + + void MaterialMesh::renderAlbedo(bool depthTest, bool backFaceCulling, + RenderMode mode, bool frontFaceCulling, bool invertDepthTest, + bool specificMaterial, std::string nameOfSpecificMaterial + ) const + { + if (_subMeshes.empty()) { + return; + } + + unsigned int i = 0; + bool textureFound = false; + std::string texName; + for (auto it = matId2Name().begin(); it != matId2Name().end() && !textureFound; ++it) { + + if (_albedoTextures[i] != nullptr) { + + sibr::ImageRGB::Ptr coveringTagImage = tagsCoveringMap(*it); + if (_hasTagsCoveringFile && coveringTagImage + && tagsCoveringMaps().find(*it) != tagsCoveringMaps().end()) { + texName = *it; + textureFound = true; + } + } + i++; + } + + i = 0; + for (auto it = matId2Name().begin(); it != matId2Name().end(); ++it) + { + if (!specificMaterial || *it == nameOfSpecificMaterial) + if (_albedoTextures[i] != nullptr) { + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, _idTextures[i]); + + sibr::ImageRGB::Ptr coveringTagImage = tagsCoveringMap(*it); + if (_hasTagsCoveringFile && coveringTagImage + && tagsCoveringMaps().find(*it) != tagsCoveringMaps().end()) { + glActiveTexture(GL_TEXTURE1); + if (_switchTags.find(*it) != _switchTags.end() && _switchTags.at(*it) + && _hasTagsFile && _tagTexture) + glBindTexture(GL_TEXTURE_2D, _idTagTexture); + else + glBindTexture(GL_TEXTURE_2D, _idTagsCoveringTexture.at(*it)); + } + else if (_hasTagsFile && _tagTexture != nullptr) { + + glActiveTexture(GL_TEXTURE1); + if (_switchTags.find(*it) != _switchTags.end() && _switchTags.at(*it) + && _idTagsCoveringTexture.size() > 0) + glBindTexture(GL_TEXTURE_2D, _idTagsCoveringTexture.at(texName)); + else + glBindTexture(GL_TEXTURE_2D, _idTagTexture); + } + + glActiveTexture(GL_TEXTURE2); + glBindTexture(GL_TEXTURE_2D, _idTexturesOpacity[i]); + _subMeshes[i].render(depthTest, backFaceCulling, mode, + frontFaceCulling, invertDepthTest); + } + i++; + } + + + } + + + void MaterialMesh::renderThreeSixty(bool depthTest, bool backFaceCulling, + RenderMode mode, bool frontFaceCulling, bool invertDepthTest) const + { + + Mesh::render(depthTest, backFaceCulling, mode, frontFaceCulling, + invertDepthTest, true); + } + + void MaterialMesh::render(bool depthTest, bool backFaceCulling, + RenderMode mode, bool frontFaceCulling, bool invertDepthTest, + bool tessellation, bool adjacency) const + { + if (_typeOfRender == RenderCategory::classic) + { + Mesh::render(depthTest, backFaceCulling, mode, frontFaceCulling, + invertDepthTest, adjacency); + } + else if (_typeOfRender == RenderCategory::diffuseMaterials) + { + renderAlbedo(depthTest, backFaceCulling, mode, frontFaceCulling, + invertDepthTest); + } + else if (_typeOfRender == RenderCategory::threesixtyMaterials || + _typeOfRender == RenderCategory::threesixtyDepth) + { + renderThreeSixty(depthTest, backFaceCulling, mode, frontFaceCulling, + invertDepthTest); + } + } + + void MaterialMesh::merge(const MaterialMesh& other) + { + + if (_vertices.empty()) + { + this->operator = (other); + return; + } + + const size_t oldVerticesCount = vertices().size(); + const bool thisHasIds = hasMeshIds(); + + sibr::Mesh::merge(other); + + uint matIdsOffset = static_cast (_matId2Name.size()); + MatIds matIds = other.matIds(); + MatId2Name matId2Name; + + unsigned int nbOfSimilarity = 0; + for (unsigned int i = 0; i < other.matId2Name().size(); ++i) { + bool foundSimilarity = false; + unsigned int indexSimilarMaterial = 0; + for (unsigned int j = 0; j < _matId2Name.size() + && !foundSimilarity; ++j) { + + if (other.matId2Name().at(i).compare(_matId2Name.at(j)) == 0) { + //We find a similar material present on the two meshes + //Now we modify all triangles ids corresponding to this + // material + foundSimilarity = true; + nbOfSimilarity++; + indexSimilarMaterial = j; + } + } + if (!foundSimilarity) { + //It's a new material. + //We have found a new material, We will merge it in our list + //of materials later + matId2Name.push_back(other.matId2Name().at(i)); + //We substract the number of similarity to avoid + //the "gap" about the materials index + for (unsigned int j = 0; j < other.matIds().size(); ++j) { + unsigned int id = other.matIds().at(j); + if (id == i) { + matIds[j] = id + matIdsOffset - nbOfSimilarity; + } + } + } + else { + for (unsigned int j = 0; j < other.matIds().size(); ++j) { + unsigned int id = other.matIds().at(j); + if (id == i) { + matIds[j] = indexSimilarMaterial; + } + } + } + } + + _matIds.insert(_matIds.end(), matIds.begin(), matIds.end()); + _matId2Name.insert(_matId2Name.end(), matId2Name.begin(), + matId2Name.end()); + _opacityMaps.insert(other.opacityMaps().begin(), + other.opacityMaps().end()); + _diffuseMaps.insert(other.diffuseMaps().begin(), + other.diffuseMaps().end()); + + // We have to shift all meshes ids. + const bool otherHasIds = other.hasMeshIds(); + if (thisHasIds && otherHasIds) { + // Shift all other IDs by _maxMeshId+1. + _maxMeshId += 1; + MaterialMesh::MeshIds oIds(other.meshIds()); + const int shift = int(_maxMeshId); + for (size_t vid = 0; vid < oIds.size(); ++vid) { + oIds[vid] = shift + oIds[vid]; + } + _meshIds.insert(_meshIds.end(), oIds.begin(), oIds.end()); + _maxMeshId += other._maxMeshId; + + + } + else if (thisHasIds) { + // In that case other has no IDs. + _maxMeshId += 1; + MaterialMesh::MeshIds newMeshIds(other.vertices().size(), int(_maxMeshId)); + _meshIds.insert(_meshIds.end(), newMeshIds.begin(), newMeshIds.end()); + + } + else if (otherHasIds) { + // in that case give a new ID to the current mesh and insert the other IDs. + _maxMeshId = other._maxMeshId + 1; + _meshIds = MaterialMesh::MeshIds(oldVerticesCount, int(_maxMeshId)); + _meshIds.insert(_meshIds.end(), other.meshIds().begin(), other.meshIds().end()); + + } + } + + void MaterialMesh::makeWhole(void) + { + sibr::Mesh::makeWhole(); + if (!hasMatIds()) { + _matIds = MatIds(triangles().size(), 0); + _matIdsVertices = MatIds(vertices().size(), 0); + _matId2Name.push_back("emptyMat"); + } + if (!hasMeshIds()) { + _meshIds = MatIds(vertices().size(), 0); + _maxMeshId = 0; + } + } + + void MaterialMesh::createSubMeshes(void) { + + _subMeshes.clear(); + + for (unsigned int i = 0; i < _matId2Name.size(); i++) + { + _subMeshes.push_back(generateSubMaterialMesh(i)); + } + } + + sibr::MaterialMesh::Ptr MaterialMesh::invertedFacesMesh2() const + { + const auto invertedFacesMesh = sibr::Mesh::invertedFacesMesh2(); + auto invertedFacesMaterialMesh = std::make_shared + (*invertedFacesMesh); + // If we have some mesh IDs, just clone them as-is, no need for doubling. + if (hasMeshIds()) { + invertedFacesMaterialMesh->meshIds(meshIds()); + } + + const int nVertices = (int)vertices().size(); + const int nTriangles = (int)triangles().size(); + + Mesh::Triangles Ntriangles(2 * nTriangles); + MaterialMesh::MatIds NmatIds(hasMatIds() ? (2 * nTriangles) : 0); + + int v_id = 0; + sibr::Vector3u shift(nVertices, nVertices, nVertices); + int t_id = 0; + for (const auto & t : triangles()) { + Ntriangles[t_id] = t; + Ntriangles[t_id + nTriangles] = t.yxz() + shift; + ++t_id; + } + invertedFacesMaterialMesh->triangles(Ntriangles); + + if (hasMatIds()) { + int m_id = 0; + for (const auto & m : matIds()) { + NmatIds[m_id] = m; + NmatIds[m_id + nTriangles] = m; + ++m_id; + } + } + + invertedFacesMaterialMesh->matIds(NmatIds); + invertedFacesMaterialMesh->matId2Name(_matId2Name); + invertedFacesMaterialMesh->opacityMaps(_opacityMaps); + invertedFacesMaterialMesh->diffuseMaps(_diffuseMaps); + + return invertedFacesMaterialMesh; + } + + void MaterialMesh::addEnvironmentMap(float* forcedCenterX, + float* forcedCenterY, + float* forcedCenterZ, + float* forcedRadius) + { + sibr::Vector3f center; + float radius; + getBoundingSphere(center, radius); + + if (forcedCenterX) center.x() = *forcedCenterX; + if (forcedCenterY) center.y() = *forcedCenterY; + if (forcedCenterZ) center.z() = *forcedCenterZ; + if (forcedRadius) radius = *forcedRadius; + + //std::vector partsOfSphere; + std::vector partsOfSphere = { PartOfSphere::BOTTOM, PartOfSphere::UP }; + //partsOfSphere.push_back("bottom"); + //partsOfSphere.push_back("up"); + + for (PartOfSphere part : partsOfSphere) { + std::shared_ptr pSphere = getEnvSphere(center, radius, + Vector3f(0.f, 1.f, 0.f), + Vector3f(1.f, 0.f, 0.f), + part + ); + + sibr::MaterialMesh sphere(*pSphere); + + MatId2Name materialNames; + MatIds materialIds; + + std::string matName; + if (part == PartOfSphere::BOTTOM) + matName = std::string("SibrSkyEmissivebottom"); + else + matName = std::string("SibrSkyEmissiveup"); + materialNames.push_back(matName); + + std::vector matIdsSphere; + for (unsigned int i = 0; i < sphere.triangles().size(); ++i) { + matIdsSphere.push_back(0); + } + sphere.matId2Name(materialNames); + sphere.matIds(matIdsSphere); + + const sibr::ImageRGBA::Pixel color(0, + 255, + 255, + 255); + sibr::ImageRGBA::Ptr textureDiffuse(new sibr::ImageRGBA(1, 1, color)); + _diffuseMaps[matName] = textureDiffuse; + + const sibr::ImageRGB::Pixel opacityAlpha(255, 255, 255); + sibr::ImageRGB::Ptr textureOpacity(new sibr::ImageRGB( + 1, 1, opacityAlpha)); + _opacityMaps[matName] = textureOpacity; + sphere.generateNormals(); + merge(sphere); + } + + } + + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/MaterialMesh.hpp b/SIBR_viewers/src/core/graphics/MaterialMesh.hpp new file mode 100755 index 0000000000..c6d10161dc --- /dev/null +++ b/SIBR_viewers/src/core/graphics/MaterialMesh.hpp @@ -0,0 +1,690 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include + +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" +# include "core/graphics/Image.hpp" +# include "core/graphics/Mesh.hpp" +# include "core/graphics/MeshBufferGL.hpp" +# include "core/graphics/Texture.hpp" + +namespace sibr +{ + + + /** Store both CPU and GPU data for a geometric mesh. + Specifically designed for synthetic scenes with material information. + Provide many processing and display methods. + \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT MaterialMesh : public sibr::Mesh + { + public: + typedef std::vector MatIds; + typedef std::vector MeshIds; + typedef std::vector MatId2Name; + + typedef std::map OpacityMaps; + typedef std::map DiffuseMaps; + + typedef sibr::ImageRGB::Ptr TagsMap; + typedef std::map TagsCoveringMaps; + + typedef std::vector SubMeshes; + typedef std::vector AlbedoTextures; + + typedef std::map SwitchTagsProperty; + + SIBR_CLASS_PTR(MaterialMesh); + + /** Synthetic data rendering options. */ + enum class RenderCategory + { + classic, + diffuseMaterials, + threesixtyMaterials, + threesixtyDepth + }; + + /** Ambient occlusion options. */ + struct AmbientOcclusion { + bool AoIsActive = false; + float AttenuationDistance = 1.f; + float IlluminanceCoefficient = 1.f; + float SubdivideThreshold = 10.f; + }; + typedef struct AmbientOcclusion AmbientOcclusion; + + std::string vertexShaderAlbedo = + "#version 450 \n" + "layout(location = 0) in vec3 in_vertex; \n" + "layout(location = 1) in vec3 in_colors; \n" + "layout(location = 2) in vec2 in_uvCoords; \n" + "layout(location = 3) in vec3 in_normal; \n" + "layout(location = 4) in float in_ao; \n" + "//layout(location = 4) in float in_material; \n" + "layout (location = 2) out vec2 uvCoords; \n" + "//out float material; \n" + "layout (location = 3) out vec3 normal; \n" + "out float ao ; \n" + "out vec3 pos_vertex; \n" + "layout (location = 1) out vec3 colors; \n" + "uniform mat4 MVP; \n" + "uniform bool lightIsPresent; \n" + "uniform vec3 lightPos; \n" + "void main(void) { \n" + " normal = in_normal; \n" + " ao = in_ao; \n" + " uvCoords = in_uvCoords; \n" + " colors= in_colors; \n" + " pos_vertex= in_vertex; \n" + " //material= float(in_material); \n" + " gl_Position = MVP*vec4(in_vertex,1) ; \n" + "} \n"; + + std::string fragmentShaderAlbedo = + "#version 450 \n" + "layout(binding = 0) uniform sampler2D tex; \n" + "layout(binding = 2) uniform sampler2D opacity; \n" + "uniform int layer; \n" + "uniform bool AoIsActive; \n" + "uniform vec2 grid; \n" + "uniform float IlluminanceCoefficient; \n" + "uniform bool lightIsPresent; \n" + "uniform float scaleTags; \n" + "uniform float intensityLight; \n" + "uniform vec3 lightPos; \n" + "layout (location = 2) in vec2 uvCoords; \n" + "layout (location = 3) in vec3 normal ; \n" + "layout (location = 1) in vec3 colors; \n" + "out vec4 out_color; \n" + "void main(void) { \n" + " vec4 opacityColor; \n" + " vec3 colorsModified = colors;\n" + " float lighter_ao = colors.x * IlluminanceCoefficient; \n" + " if (lighter_ao > 1.f ) lighter_ao = 1.f;\n" + " colorsModified.x = lighter_ao;\n" + " colorsModified.y = lighter_ao;\n" + " colorsModified.z = lighter_ao;\n" + " opacityColor = texture(opacity,vec2(uvCoords.x,1.0-uvCoords.y));\n" + " if (opacityColor.x < 0.1f && opacityColor.y < 0.1f && opacityColor.z < 0.1f ) discard;\n" + " \n" + " out_color = texture(tex,vec2(uvCoords.x,1.0-uvCoords.y));\n" + //" if (out_color.a != 0.f ) discard; \n" + //" \n" + " if (AoIsActive ) { \n" + " out_color = out_color * vec4(colorsModified,1);\n}" + " out_color = vec4(out_color.x,out_color.y,out_color.z,out_color.a);\n" + "} \n"; + + + std::string fragmentShaderAlbedoTag = + "#version 450 \n" + "layout(binding = 0) uniform sampler2D tex; \n" + "layout(binding = 1) uniform sampler2D tags; \n" + "layout(binding = 2) uniform sampler2D opacity; \n" + "uniform int layer; \n" + "uniform float scaleTags; \n" + "uniform bool AoIsActive; \n" + "uniform vec2 grid; \n" + "uniform float IlluminanceCoefficient; \n" + "uniform bool lightIsPresent; \n" + "uniform float intensityLight; \n" + "uniform vec3 lightPos; \n" + "layout (location = 2) in vec2 uvCoords; \n" + "layout (location = 3) in vec3 normal ; \n" + "layout (location = 1) in vec3 colors; \n" + "out vec4 out_color; \n" + "in vec3 pos_vertex; \n" + "void main(void) { \n" + " vec4 opacityColor; \n" + " vec3 colorsModified = colors;\n" + " float lighter_ao = colors.x * IlluminanceCoefficient; \n" + " if (lighter_ao >= 1.f ) lighter_ao = 1.f;\n" + " colorsModified.x = lighter_ao;\n" + " colorsModified.y = lighter_ao;\n" + " colorsModified.z = lighter_ao;\n" + " opacityColor = texture(opacity,vec2(uvCoords.x,1.0-uvCoords.y));\n" + " if (opacityColor.x < 0.1f || opacityColor.y < 0.1f || opacityColor.z < 0.1f ) discard;\n" + " \n" + " \n" + " out_color = texture(tex,vec2(uvCoords.x,1.0-uvCoords.y));\n" + " if (out_color.a < 0.1f ) discard; \n" + //" \n" + " out_color = texture(tags,vec2((uvCoords.x)*scaleTags,(1.0-(uvCoords.y))*scaleTags));\n" + " \n" + " if (out_color.x == 1.f && out_color.y == 1.f && out_color.z == 1.f) \n" + " out_color = texture(tex,vec2(uvCoords.x,1.0-uvCoords.y));\n" + " \n" + " \n" + " float coeffLight = 1.f; \n" + " if( lightIsPresent) { \n" + " vec3 vertexToLight = normalize( lightPos - pos_vertex );\n" + " coeffLight = abs(intensityLight*dot( vertexToLight, normal )) ; \n" + //" coeffLight = max(0.0,powerLight* dot( vertexToLight, normal )) ; \n" + " coeffLight = 0.50+coeffLight/2.0 ; \n" + " \n" + " \n" + " \n" + " } \n" + " \n" + " if (AoIsActive ) { \n" + " out_color = out_color * vec4(colorsModified,1);\n}" + " out_color = out_color * vec4(coeffLight,coeffLight,coeffLight,1);\n" + " out_color = vec4(out_color.x,out_color.y,out_color.z,out_color.a);\n" + //" if (out_color.x < 0.01f && out_color.y < 0.01f && out_color.z < 0.01f) discard; \n" + "} \n"; + + public: + + /** Constructor. + \param withGraphics init associated OpenGL buffers object (requires an openGL context) + */ + MaterialMesh(bool withGraphics = true) : Mesh(withGraphics) { + } + + /** Constructor from a basic mesh. + \param mesh the mesh to copy + */ + MaterialMesh(sibr::Mesh& mesh) : Mesh(mesh) {} + + /** Set material IDs (per triangle) + \param matIds the new ids + */ + inline void matIds(const MatIds& matIds); + + /** \return a reference to the per-triangle material IDs. */ + inline const MatIds& matIds(void) const; + + /** \return a reference to the per-vertex material IDs. */ + inline const MatIds& matIdsVertices(void) const; + + /** \return true if each triangle has a material ID assigned. */ + inline bool hasMatIds(void) const; + + /** \return the mapping between IDs and material names. */ + inline const MatId2Name& matId2Name(void) const; + + /** Set the mapping between IDs and material names. + \param matId2Name the new mapping + */ + inline void matId2Name(const MatId2Name& matId2Name); + + /** Set the mesh ID of each vertex. + \param meshIds the new ids + */ + inline void meshIds(const MeshIds& meshIds); + + /** \return a reference to the per-vertex mesh IDs. */ + inline const MeshIds& meshIds(void) const; + + /** \return true if source mesh information is available for each vertex. */ + inline bool hasMeshIds(void) const; + + /** Query a material opacity map. + \param matName the material name + \return the opacity texture if it exist + */ + inline sibr::ImageRGB::Ptr opacityMap(const std::string& matName) const; + + /** Set all material opacity maps. + \param maps the new maps + */ + inline void opacityMaps(const OpacityMaps & maps); + + /** \return all opacity maps. */ + inline const OpacityMaps& opacityMaps(void) const; + + /// Set the switchTag + inline void switchTag(const SwitchTagsProperty& switchTag); + /// get the switchTag + inline const SwitchTagsProperty& switchTag(void) const; + + /// Return the pointer to oppacity texture if it exist + /** Query a material diffuse map. + \param matName the material name + \return the diffuse texture if it exist + */ + inline sibr::ImageRGBA::Ptr diffuseMap(const std::string& matName) const; + + /** Set all material diffuse maps. + \param maps the new maps + */ + inline void diffuseMaps(const DiffuseMaps & maps); + + /** \return all diffuse maps. */ + inline const DiffuseMaps& diffuseMaps(void) const; + + /** Indicate if the mesh has an associated tag file (for calibration). + \param hasOrNot the flag + */ + inline void hasTagsFile(bool hasOrNot); + + /** \return true if the mesh has an associated tag file. */ + inline const bool hasTagsFile(void) const; + + /** Set the tag map. + \param map the new map + */ + inline void tagsMap(const TagsMap & map); + + /** \return the current tag map. */ + inline const TagsMap& tagsMap(void) const; + + /** Indicate if the mesh has an associated covering tag file (for calibration). + \param hasOrNot the flag + */ + inline void hasTagsCoveringFile(bool hasOrNot); + + /** \return true if the mesh has an associated covering tag file. */ + inline const bool hasTagsCoveringFile(void) const; + + /** Set the covering tag map. + \param map the new map + */ + inline void tagsCoveringMaps(const TagsCoveringMaps & map); + + /** \return the current covering tag map. */ + inline const TagsCoveringMaps& tagsCoveringMaps(void) const; + /// Return the pointer to oppacity texture if it exist + inline sibr::ImageRGB::Ptr tagsCoveringMap(const std::string& matName) const; + + /** Set the sub meshes. + \param subMeshes a list of submeshes + */ + inline void subMeshes(const SubMeshes& subMeshes); + + /** \return the list of submeshes. */ + inline const SubMeshes& subMeshes(void) const; + + /** Set the synthetic rendering mode. + \param type the new mode + */ + inline void typeOfRender(const RenderCategory& type); + + /** \return the current synthetic rendering mode. */ + inline const RenderCategory& typeOfRender(void) const; + + /** Set the ambient occlusion options and compute AO values, storing them in the vertex colors. + \param ao the new options + */ + void ambientOcclusion(const AmbientOcclusion& ao); + + /** \return the current ambient occlusion options. */ + inline const AmbientOcclusion& ambientOcclusion(void); + + /** Set the function used to compute ambient occlusion at each vertex. + \param aoFunction the new function to use + */ + inline void aoFunction(std::function& aoFunction); + + /** Load a mesh from the disk. + \param filename the file path + \return a success flag + \note Supports OBJ and PLY for now. + */ + bool load(const std::string& filename); + + /** Load a scene from a set of mitsuba XML scene files (referencing multiple OBJs/PLYs). + It handles instances (duplicating the geometry and applying the per-instance transformation). + \param xmlFile the file path + \param loadTextures should the material textures be loaded + \return a success flag + */ + bool loadMtsXML(const std::string& xmlFile, bool loadTextures = true); + + /* + Load tags image files from a list of file paths. + \param listFilesTags a list of image paths + */ + void loadCoveringTagsTexture(const std::vector& listFilesTags); + + /** Attribute a random color at each vertex based on the material IDs of the faces it belongs to. */ + void fillColorsWithIndexMaterials(); + + /** Store the material ID of each vertex in its color attribute (R: bits 0-7, G: 8-15, B: 16-23). */ + void fillColorsWithMatIds(); + + /** Merge another mesh into this one. + \param other the mesh to merge + \sa makeWhole + */ + void merge(const MaterialMesh& other); + + /** Make the mesh whole, ie it will have default values for all components (texture, materials, colors, etc) + It is useful when merging two meshes. If the second one is missing some attributes, the merging will break the mesh state if it isn't made whole. + */ + void makeWhole(void); + + /** Split the mesh geometry in multiple submeshes based on each vertex material ID. */ + void createSubMeshes(void); + + /** \return a copy of the mesh with "doubled" faces (obtained by merging the current mesh with a copy with inverted faces. */ + sibr::MaterialMesh::Ptr invertedFacesMesh2() const; + + /** Force upload of data to the GPU. */ + void forceBufferGLUpdate(void) const; + + /** Delete GPU mesh data. */ + void freeBufferGLUpdate(void) const; + + /** Subdivide a mesh triangles until a triangle area threshold is reached. + \param threshold the maximum deviation from the average triangle area allowed + */ + void subdivideMesh2(float threshold); + + /** Subdivide a mesh triangles until an edge length threshold is reached. + \param threshold the maximum deviation from the average edge length allowed + */ + void subdivideMesh(float threshold); + + /** Add an environment sphere to the mesh, surrounding the existing geometry. + \param forcedCenterX optional sphere center x coordinate + \param forcedCenterY optional sphere center y coordinate + \param forcedCenterZ optional sphere center z coordinate + \param forcedRadius optional sphere radius + */ + void addEnvironmentMap(float* forcedCenterX = nullptr, + float* forcedCenterY = nullptr, + float* forcedCenterZ = nullptr, + float* forcedRadius = nullptr); + + /** Render the geometry using OpenGL. + \param depthTest should depth testing be performed + \param backFaceCulling should culling be performed + \param mode the primitives rendering mode + \param frontFaceCulling should the culling test be flipped + \param invertDepthTest should the depth test be flipped (GL_GREATER_THAN) + \param tessellation should the rendering call tesselation shaders + \param adjacency should we get adjacent triangles info in geometry shader + */ + void render( + bool depthTest = true, + bool backFaceCulling = true, + RenderMode mode = FillRenderMode, + bool frontFaceCulling = false, + bool invertDepthTest = false, + bool tessellation = false, + bool adjacency = false + ) const; + + /** Render the geometry with albedo and tag textures. + \param depthTest should depth testing be performed + \param backFaceCulling should culling be performed + \param mode the primitives rendering mode + \param frontFaceCulling should the culling test be flipped + \param invertDepthTest should the depth test be flipped (GL_GREATER_THAN) + \param specificMaterial should we use a specific material + \param nameOfSpecificMaterial name of the specific material + */ + void renderAlbedo( + bool depthTest = true, + bool backFaceCulling = true, + RenderMode mode = FillRenderMode, + bool frontFaceCulling = false, + bool invertDepthTest = false, + bool specificMaterial = false, + std::string nameOfSpecificMaterial = "" + ) const; + + /** Render the geometry for 360 environment maps. + \param depthTest should depth testing be performed + \param backFaceCulling should culling be performed + \param mode the primitives rendering mode + \param frontFaceCulling should the culling test be flipped + \param invertDepthTest should the depth test be flipped (GL_GREATER_THAN) + */ + void renderThreeSixty( + bool depthTest, + bool backFaceCulling, + RenderMode mode, + bool frontFaceCulling, + bool invertDepthTest + ) const; + + /** Upload the material textures to the GPU. */ + void initAlbedoTextures(void); + + /** Generate a mesh containing all triangles with a given material. + \param material the material ID + \return the submesh + */ + Mesh generateSubMaterialMesh(int material) const; + + private: + + + MatIds _matIds; ///< Per triangle material ID. + MatIds _matIdsVertices; ///< Per vertex material ID. + MatId2Name _matId2Name; ///< ID to name material mapping. + + MeshIds _meshIds; ///< Per-vertex submesh ID. + size_t _maxMeshId = 0; ///< Maximum submesh ID encounter. + + OpacityMaps _opacityMaps; ///< Material opacity images. + DiffuseMaps _diffuseMaps; ///< Material diffuse images. + + //std::vector _uniformColorMtlList; + TagsMap _tagsMap; ///< Material tag images. + TagsCoveringMaps _tagsCoveringMaps; ///< Material covering tag images. + std::vector uniformColorMtlList; ///< List of materials with a diffuse map. + + SubMeshes _subMeshes; ///< Submeshes, one per material, for rendering them separately. + RenderCategory _typeOfRender = RenderCategory::diffuseMaterials; ///< Synthetic rendering mode. + + bool _albedoTexturesInitialized = false; ///< Are the texture initialized. + std::vector _albedoTextures; ///< Albedo textures. + std::vector _idTextures; ///< Texture handles. + std::vector _opacityTextures;///< Opacity textures. + std::vector _idTexturesOpacity;///< Opacity texture handles. + + bool _hasTagsFile = false; ///< Is a tag file associated to the mesh. + sibr::Texture2DRGB::Ptr _tagTexture; ///< Tag texture. + GLuint _idTagTexture = 0; ///< Tag texture handle. + + bool _hasTagsCoveringFile = false; ///< Is a covering tag file associated to the mesh. + sibr::Texture2DRGB::Ptr _tagCoveringTexture;///< Convering tag texture. + GLuint _idTagCoveringTexture = 0; ///< Covering tag texture handle. + + std::vector _listCoveringImagesTags; + std::map _tagsCoveringTexture; + std::map _idTagsCoveringTexture; + + SwitchTagsProperty _switchTags; + + //AO attributes + float _currentThreshold; + AmbientOcclusion _ambientOcclusion; ///< AO options. + std::function _aoFunction; ///< AO generation function. + bool _aoInitialized = false; ///< Is AO data initialized. + float _averageSize = 0.0f; ///< Average maximum edge length. + float _averageArea = 0.0f; ///< Average triangle area. + + }; + + ///// DEFINITION ///// + + + + void MaterialMesh::matIds(const MatIds& matIds) { + _matIds = matIds; + } + const MaterialMesh::MatIds& MaterialMesh::matIds(void) const { + return _matIds; + } + bool MaterialMesh::hasMatIds(void) const { + return (_triangles.size() > 0 && _triangles.size() == _matIds.size()); + } + const MaterialMesh::MatIds& MaterialMesh::matIdsVertices(void) const { + return _matIdsVertices; + } + const MaterialMesh::MatId2Name& MaterialMesh::matId2Name(void) const { + return _matId2Name; + } + void MaterialMesh::matId2Name(const MatId2Name & matId2Name) + { + _matId2Name = matId2Name; + } + + void MaterialMesh::meshIds(const MeshIds& meshIds) { + _meshIds = meshIds; + } + const MaterialMesh::MeshIds& MaterialMesh::meshIds(void) const { + return _meshIds; + } + bool MaterialMesh::hasMeshIds(void) const { + return (!_meshIds.empty() && _meshIds.size() == _vertices.size()); + } + + // Opacity map function + ImageRGB::Ptr MaterialMesh::opacityMap(const std::string& matName) const + { + std::map, sibr::ImagePtr >::const_iterator el = _opacityMaps.find(matName); + if (el != _opacityMaps.end()) { + return el->second; + } + return nullptr; + } + const MaterialMesh::OpacityMaps& MaterialMesh::opacityMaps(void) const + { + return _opacityMaps; + } + + void MaterialMesh::hasTagsFile(bool hasOrNot) + { + _hasTagsFile = hasOrNot; + } + + const bool MaterialMesh::hasTagsFile(void) const + { + return _hasTagsFile; + } + + void MaterialMesh::hasTagsCoveringFile(bool hasOrNot) + { + _hasTagsCoveringFile = hasOrNot; + } + + const bool MaterialMesh::hasTagsCoveringFile(void) const + { + return _hasTagsCoveringFile; + } + + void MaterialMesh::opacityMaps(const OpacityMaps& maps) + { + _opacityMaps = maps; + } + + void MaterialMesh::tagsMap(const TagsMap & map) { + _tagsMap = map; + } + + const MaterialMesh::TagsMap& MaterialMesh::tagsMap(void) const { + return _tagsMap; + } + + void MaterialMesh::tagsCoveringMaps(const TagsCoveringMaps & map) { + _tagsCoveringMaps = map; + } + + const MaterialMesh::TagsCoveringMaps& MaterialMesh::tagsCoveringMaps(void) const { + return _tagsCoveringMaps; + } + + sibr::ImageRGB::Ptr MaterialMesh::tagsCoveringMap(const std::string& matName) const { + std::map, sibr::ImagePtr >::const_iterator el = _tagsCoveringMaps.find(matName); + + if (el != _tagsCoveringMaps.end()) { + return el->second; + } + else return nullptr; + } + + /// Set the switchTag + void MaterialMesh::switchTag(const SwitchTagsProperty& switchTag) { + _switchTags = switchTag; + } + /// get the switchTag + const MaterialMesh::SwitchTagsProperty& MaterialMesh::switchTag(void) const { + return _switchTags; + } + + ImageRGBA::Ptr MaterialMesh::diffuseMap(const std::string& matName) const + { + std::map, sibr::ImagePtr >::const_iterator el = _diffuseMaps.find(matName); + + if (el != _diffuseMaps.end()) { + return el->second; + } + else return nullptr; + } + + /*ImageRGB MaterialMesh::diffuseMap(const std::string& matName) + { + auto & el =_diffuseMaps.find(matName); + if (el != _diffuseMaps.end()) { + return el->second; + } + }*/ + + const MaterialMesh::DiffuseMaps& MaterialMesh::diffuseMaps(void) const + { + return _diffuseMaps; + } + + void MaterialMesh::diffuseMaps(const DiffuseMaps& maps) + { + _diffuseMaps = maps; + } + + const MaterialMesh::SubMeshes& MaterialMesh::subMeshes(void) const + { + return _subMeshes; + } + + + void MaterialMesh::subMeshes(const SubMeshes& subMeshes) + { + _subMeshes = subMeshes; + } + + const MaterialMesh::RenderCategory& MaterialMesh::typeOfRender(void) const { + return _typeOfRender; + } + + + inline const MaterialMesh::AmbientOcclusion & MaterialMesh::ambientOcclusion(void) + { + return _ambientOcclusion; + } + + inline void MaterialMesh::aoFunction(std::function& + aoFunction) + { + _aoFunction = aoFunction; + } + + void MaterialMesh::typeOfRender(const RenderCategory& type) { + _typeOfRender = type; + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Mesh.cpp b/SIBR_viewers/src/core/graphics/Mesh.cpp new file mode 100644 index 0000000000..9411834938 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Mesh.cpp @@ -0,0 +1,2423 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include +#include +#include + +#include // C++ importer interface +#include // Output data structure +#include // Post processing flags +#include +#include + +#include "core/system/ByteStream.hpp" +#include "core/graphics/Mesh.hpp" + +#include "boost/filesystem.hpp" +#include "core/system/XMLTree.h" +#include "core/system/Matrix.hpp" +#include +#include +#include "core/assets/colmapheader.h" + +namespace sibr +{ + typedef uint32_t image_t; + typedef uint32_t camera_t; + typedef uint64_t point3D_t; + typedef uint32_t point2D_t; + + void ReadPoints3DBinary(const std::string& path, Mesh::Vertices& verts, Mesh::Colors& cols, int& numverts) { + std::ifstream file(path, std::ios::binary); + // CHECK(file.is_open()) << path; + + const size_t num_points3D = ReadBinaryLittleEndian(&file); + numverts = num_points3D; + std::cerr << "Num 3D pts " << num_points3D << std::endl; + for (size_t i = 0; i < num_points3D; ++i) { + //class Point3D point3D; + + const uint64_t point3D_id = ReadBinaryLittleEndian(&file); + // num_added_points3D_ = std::max(num_added_points3D_, point3D_id); + + // point3D.XYZ()(0) = ReadBinaryLittleEndian(&file); + // point3D.XYZ()(1) = ReadBinaryLittleEndian(&file); + // point3D.XYZ()(2) = ReadBinaryLittleEndian(&file); + // point3D.Color(0) = ReadBinaryLittleEndian(&file); + // point3D.Color(1) = ReadBinaryLittleEndian(&file); + // point3D.Color(2) = ReadBinaryLittleEndian(&file); + // point3D.SetError(ReadBinaryLittleEndian(&file)); + + double x = ReadBinaryLittleEndian(&file); + double y = ReadBinaryLittleEndian(&file); + double z = ReadBinaryLittleEndian(&file); + Vector3f vert(x,y,z); + + verts.push_back(vert); + + float r = float(ReadBinaryLittleEndian(&file))/255.f; + float g = float(ReadBinaryLittleEndian(&file))/255.f; + float b = float(ReadBinaryLittleEndian(&file))/255.f; + + Vector3f c(r, g, b); + + cols.push_back(c); + double err = ReadBinaryLittleEndian(&file); + + const size_t track_length = ReadBinaryLittleEndian(&file); + //std::cerr << "Track length " << track_length << std::endl; + // read and include + for (size_t j = 0; j < track_length; ++j) { + const image_t image_id = ReadBinaryLittleEndian(&file); + const point2D_t point2D_idx = ReadBinaryLittleEndian(&file); + //point3D.Track().AddElement(image_id, point2D_idx); + } + //point3D.Track().Compress(); + + //points3D_.emplace(point3D_id, point3D); + } + } + + void ReadPoints3DText(const std::string& path, Mesh::Vertices& verts, Mesh::Vertices& cols) { + // points3D_.clear(); + std::ifstream file(path); + // CHECK(file.is_open()) << path; + std::string line; + std::string item; + while (std::getline(file, line)) { + StringTrim(&line); + if (line.empty() || line[0] == '#') { + continue; + } + std::stringstream line_stream(line); + // ID + std::getline(line_stream, item, ' '); + const point3D_t point3D_id = std::stoll(item); + + // Make sure, that we can add new 3D points after reading 3D points + // without overwriting existing 3D points. + // num_added_points3D_ = std::max(num_added_points3D_, point3D_id); + + // XYZ + std::getline(line_stream, item, ' '); + std::cerr << "point3D.XYZ(0) = " << std::stold(item) << std::endl; + + std::getline(line_stream, item, ' '); + std::cerr << "point3D.XYZ(1) = " << std::stold(item) << std::endl; + + std::getline(line_stream, item, ' '); + std::cerr << "point3D.XYZ(2) = " << std::stold(item) << std::endl; + + // Color + std::getline(line_stream, item, ' '); + std::cerr << "point3D.Color(0) = " << static_cast(std::stoi(item)) << std::endl; + + std::getline(line_stream, item, ' '); + std::cerr << "point3D.Color(1) = " << static_cast(std::stoi(item)) << std::endl; + + std::getline(line_stream, item, ' '); + std::cerr << "point3D.Color(2) = " << static_cast(std::stoi(item)) << std::endl; + + // ERROR + std::getline(line_stream, item, ' '); + std::cerr << "point3D.SetError(" << std::stold(item) << std::endl; + + // TRACK + while (!line_stream.eof()) { + // TrackElement track_el; + + std::getline(line_stream, item, ' '); + StringTrim(&item); + if (item.empty()) { + break; + } + std::cerr << "track_el.image_id = " << std::stoul(item) << std::endl; + + std::getline(line_stream, item, ' '); + std::cerr << "track_el.point2D_idx = " << std::stoul(item) << std::endl; + // point3D.Track().AddElement(track_el); + } + // point3D.Track().Compress(); + // points3D_.emplace(point3D_id, point3D); + } + } + + Mesh::Mesh(bool withGraphics) : _meshPath("") { + if (withGraphics) { + _gl.bufferGL.reset(new MeshBufferGL); + } + else { + _gl.bufferGL = nullptr; + } + } + + bool Mesh::saveToObj(const std::string& filename) const + { + aiScene scene; + scene.mRootNode = new aiNode(); + + scene.mMaterials = new aiMaterial * [1]; + scene.mMaterials[0] = nullptr; + scene.mNumMaterials = 1; + + scene.mMaterials[0] = new aiMaterial(); + + scene.mMeshes = new aiMesh * [1]; + scene.mNumMeshes = 1; + + scene.mMeshes[0] = new aiMesh(); + scene.mMeshes[0]->mMaterialIndex = 0; + + scene.mRootNode->mMeshes = new unsigned int[1]; + scene.mRootNode->mMeshes[0] = 0; + scene.mRootNode->mNumMeshes = 1; + + auto pMesh = scene.mMeshes[0]; + + const auto& vVertices = _vertices; + + pMesh->mVertices = new aiVector3D[vVertices.size()]; + pMesh->mNumVertices = static_cast(vVertices.size()); + + if (hasNormals()) { + pMesh->mNormals = new aiVector3D[vVertices.size()]; + } + else { + pMesh->mNormals = nullptr; + } + + if (hasTexCoords()) { + pMesh->mTextureCoords[0] = new aiVector3D[vVertices.size()]; + pMesh->mNumUVComponents[0] = 2; + } + else { + pMesh->mTextureCoords[0] = nullptr; + pMesh->mNumUVComponents[0] = 0; + } + + int j = 0; + for (auto itr = vVertices.begin(); itr != vVertices.end(); ++itr) + { + pMesh->mVertices[itr - vVertices.begin()] = aiVector3D(vVertices[j].x(), vVertices[j].y(), vVertices[j].z()); + if (hasNormals()) + pMesh->mNormals[itr - vVertices.begin()] = aiVector3D(_normals[j].x(), _normals[j].y(), _normals[j].z()); + if (hasTexCoords()) + pMesh->mTextureCoords[0][itr - vVertices.begin()] = aiVector3D(_texcoords[j][0], _texcoords[j][1], 0); + j++; + } + + pMesh->mFaces = new aiFace[_triangles.size()]; + pMesh->mNumFaces = (unsigned int)(_triangles.size()); + + for (uint i = 0; i < _triangles.size(); ++i) + { + const Vector3u& tri = _triangles[i]; + aiFace& face = pMesh->mFaces[i]; + face.mIndices = new unsigned int[3]; + face.mNumIndices = 3; + + face.mIndices[0] = tri[0]; + face.mIndices[1] = tri[1]; + face.mIndices[2] = tri[2]; + } + Assimp::Exporter mAiExporter; + const aiScene* s = (const aiScene*)&(scene); + + SIBR_LOG << "Saving (via ASSIMP) " << filename << "'..." << std::endl; + mAiExporter.Export(s, "obj", filename); + + // mesh and scene destructors free memory + + + return true; + } + + + bool Mesh::saveToBinaryPLY(const std::string& filename, bool universal, const std::string& textureName) const + { + assert(_vertices.size()); + + SIBR_LOG << "Saving '" << filename << "'..." << std::endl; + + // Note that Assimp supports also export for some formats. However, + // when I tried with the current Assimp version (3.0) it failed to + // do a good export for .ply (using binary version). + // In addition, at this time there is no control/ExportProperties. + // Thus I just do it myself. + + std::ofstream file(filename.c_str(), std::ios::out | std::ios::trunc | std::ios::binary); + + if (file) + { + file << "ply" << std::endl; + file << "format binary_big_endian 1.0" << std::endl; + file << "comment Created by SIBR project" << std::endl; + if (hasTexCoords()) + { + file << "comment TextureFile " << textureName << std::endl; + } + file << "element vertex " << _vertices.size() << std::endl; + file << "property float x" << std::endl; + file << "property float y" << std::endl; + file << "property float z" << std::endl; + if (hasColors()) + { + if (universal) + { + file << "property uchar red" << std::endl; + file << "property uchar green" << std::endl; + file << "property uchar blue" << std::endl; + } + else + { + file << "property ushort red" << std::endl; + file << "property ushort green" << std::endl; + file << "property ushort blue" << std::endl; + } + + } + if (hasNormals()) + { + file << "property float nx" << std::endl; + file << "property float ny" << std::endl; + file << "property float nz" << std::endl; + } + if (hasTexCoords()) + { + file << "property float texture_u" << std::endl; + file << "property float texture_v" << std::endl; + } + + file << "element face " << _triangles.size() << std::endl; + file << "property list uchar uint vertex_indices" << std::endl; + file << "end_header" << std::endl; + + /// BINARY version ///// + ByteStream bytes; + + for (uint i = 0; i < _vertices.size(); ++i) + { + const Vector3f& v = _vertices[i]; + + bytes << float(v[0]) << float(v[1]) << float(v[2]); + + if (hasColors()) + { + const Vector3f& c = _colors[i]; + if (universal) + bytes + << uint8(c[0] * (UINT8_MAX - 1)) + << uint8(c[1] * (UINT8_MAX - 1)) + << uint8(c[2] * (UINT8_MAX - 1)); // ! converting colors explicitly + else + bytes + << uint16(c[0] * (UINT16_MAX - 1)) + << uint16(c[1] * (UINT16_MAX - 1)) + << uint16(c[2] * (UINT16_MAX - 1)); // ! converting colors explicitly + } + + if (hasNormals()) + { + const Vector3f& n = _normals[i]; + + bytes << float(n[0]) << float(n[1]) << float(n[2]); + } + + if (hasTexCoords()) + { + const Vector2f& uv = _texcoords[i]; + + bytes << float(uv[0]) << float(uv[1]); + } + } + + for (uint i = 0; i < _triangles.size(); ++i) + { + const Vector3u& tri = _triangles[i]; + + bytes << uint8(3); + for (uint j = 0; j < 3; ++j) + bytes << uint32(tri[j]); + } + + file.write(reinterpret_cast(bytes.buffer()), bytes.bufferSize()); + file.close(); + SIBR_LOG << "Saving '" << filename << "'... done" << std::endl; + return true; + } + SIBR_LOG << "error: cannot write to file '" << filename << "'." << std::endl; + return false; + + } + + bool Mesh::saveToASCIIPLY(const std::string& filename, bool universal, const std::string& textureName) const + { + assert(_vertices.size()); + + // Note that Assimp supports also export for some formats. However, + // when I tried with the current Assimp version (3.0) it failed to + // do a good export for .ply (using binary version). + // In addition, at this time there is no control/ExportProperties. + // Thus I just do it myself. + + std::ofstream file(filename.c_str(), std::ios::out | std::ios::trunc | std::ios::binary); + + if (file) + { + file << "ply" << std::endl; + file << "format ascii 1.0" << std::endl; + file << "comment Created by SIBR project" << std::endl; + if (hasTexCoords()) + { + file << "comment TextureFile " << textureName << std::endl; + } + file << "element vertex " << _vertices.size() << std::endl; + file << "property float x" << std::endl; + file << "property float y" << std::endl; + file << "property float z" << std::endl; + + if (hasColors()) + { + if (universal) + { + file << "property uchar red" << std::endl; + file << "property uchar green" << std::endl; + file << "property uchar blue" << std::endl; + } + else + { + file << "property ushort red" << std::endl; + file << "property ushort green" << std::endl; + file << "property ushort blue" << std::endl; + } + } + + if (hasNormals()) + { + file << "property float nx" << std::endl; + file << "property float ny" << std::endl; + file << "property float nz" << std::endl; + } + + if (hasTexCoords()) + { + file << "property float texture_u" << std::endl; + file << "property float texture_v" << std::endl; + } + + file << "element face " << _triangles.size() << std::endl; + file << "property list uchar uint vertex_indices" << std::endl; + file << "end_header" << std::endl; + + /////// ASCII version ///// + + for (uint i = 0; i < _vertices.size(); ++i) + { + const Vector3f& v = _vertices[i]; + + file << v[0] << " " << v[1] << " " << v[2] << " "; + + if (hasColors()) + { + const Vector3f& c = _colors[i]; + + if (universal) + { + file << int(c[0] * (UINT8_MAX - 1)) << " " + << int(c[1] * (UINT8_MAX - 1)) << " " + << int(c[2] * (UINT8_MAX - 1)) << " "; + } + else + { + file << int(c[0] * (UINT16_MAX - 1)) << " " + << int(c[1] * (UINT16_MAX - 1)) << " " + << int(c[2] * (UINT16_MAX - 1)) << " "; + } + } + + if (hasNormals()) + { + const Vector3f& n = _normals[i]; + + file << n[0] << " " << n[1] << " " << n[2] << " "; + } + + if (hasTexCoords()) + { + const Vector2f& uv = _texcoords[i]; + + file << uv[0] << " " << uv[1] << " "; + } + + file << std::endl; + } + + for (uint i = 0; i < _triangles.size(); ++i) + { + const Vector3u& tri = _triangles[i]; + + file << 3; + for (uint j = 0; j < 3; ++j) + file << " " << tri[j]; + file << std::endl; + } + + file.close(); + SIBR_LOG << "'" << filename << "' saved." << std::endl; + return true; + } + SIBR_LOG << "error: cannot write to file '" << filename << "'." << std::endl; + return false; + + } + bool Mesh::load(const std::string& filename, const std::string& dataset_path ) + { + // Does the file exists? + if (!sibr::fileExists(filename)) { + SIBR_LOG << "Error: can't load mesh '" << filename << "." << std::endl; + return false; + } + Assimp::Importer importer; + //importer.SetPropertyBool(AI_CONFIG_PP_FD_REMOVE, true); // cause Assimp to remove all degenerated faces as soon as they are detected + const aiScene* scene = importer.ReadFile(filename, aiProcess_Triangulate | aiProcess_JoinIdenticalVertices | aiProcess_FindDegenerates); + + if (!scene) + { + SIBR_LOG << "error: can't load mesh '" << filename + << "' (" << importer.GetErrorString() << ")." << std::endl; + return false; + } + + // check for texture + aiMaterial *material; + if( scene->mNumMaterials > 0 ) { + material = scene->mMaterials[0]; + aiString Path; + if(material->GetTexture(aiTextureType_DIFFUSE, 0, &Path, NULL, NULL, NULL, NULL, NULL) == AI_SUCCESS ) { + _textureImageFileName = Path.data; + std::cerr << "Texture name " << _textureImageFileName << std::endl; + } + + } + + if (scene->mNumMeshes == 0) + { + SIBR_LOG << "error: the loaded model file ('" << filename + << "') contains zero or more than one mesh. Number of meshes : " << scene->mNumMeshes << std::endl; + return false; + } + + auto convertVec = [](const aiVector3D& v) { return Vector3f(v.x, v.y, v.z); }; + _triangles.clear(); + + uint offsetVertices = 0; + uint offsetFaces = 0; + uint matId = 0; + std::map matName2Id; + Matrix3f converter; + converter << + 1, 0, 0, + 0, 1, 0, + 0, 0, 1; + + for (uint meshId = 0; meshId < scene->mNumMeshes; ++meshId) { + const aiMesh* mesh = scene->mMeshes[meshId]; + + _vertices.resize(offsetVertices + mesh->mNumVertices); + for (uint i = 0; i < mesh->mNumVertices; ++i) + _vertices[offsetVertices + i] = converter * convertVec(mesh->mVertices[i]); + + + if (mesh->HasVertexColors(0) && mesh->mColors[0]) + { + _colors.resize(offsetVertices + mesh->mNumVertices); + for (uint i = 0; i < mesh->mNumVertices; ++i) + { + _colors[offsetVertices + i] = Vector3f( + mesh->mColors[0][i].r, + mesh->mColors[0][i].g, + mesh->mColors[0][i].b); + } + } + + if (mesh->HasNormals()) + { + _normals.resize(offsetVertices + mesh->mNumVertices); + for (uint i = 0; i < mesh->mNumVertices; ++i) { + _normals[offsetVertices + i] = converter * convertVec(mesh->mNormals[i]); + } + + } + + if (mesh->HasTextureCoords(0)) + { + _texcoords.resize(offsetVertices + mesh->mNumVertices); + for (uint i = 0; i < mesh->mNumVertices; ++i) + _texcoords[offsetVertices + i] = convertVec(mesh->mTextureCoords[0][i]).xy(); + // TODO: make a clean function + std::string texFileName = dataset_path + "/capreal/" + _textureImageFileName; + if( !fileExists(texFileName)) + texFileName = parentDirectory(parentDirectory(dataset_path)) + "/capreal/" + _textureImageFileName; + if( !fileExists(texFileName)) + texFileName = parentDirectory(dataset_path) + "/capreal/" + _textureImageFileName; + + if (!mesh->HasVertexColors(0) && fileExists(texFileName)) { + // Sample the texture + sibr::ImageRGB texImg; + texImg.load(texFileName); + std::cout << "Computing vertex colors .."; + _colors.resize(offsetVertices + mesh->mNumVertices); + for (uint ci = 0; ci < mesh->mNumVertices; ++ci) + { + Vector2f uv = _texcoords[offsetVertices + ci]; + Vector3ub col = texImg((uv[0]*texImg.w()), uint((1-uv[1])*texImg.h())); + _colors[offsetVertices + ci] = Vector3f(float(col[0]) / 255.0, float(col[1]) / 255.0, float(col[2]) / 255.0); + } + SIBR_WRG << "Done." << std::endl; + } + } + if (meshId == 0) { + SIBR_LOG << "Mesh contains: colors: " << mesh->HasVertexColors(0) + << ", normals: " << mesh->HasNormals() + << ", texcoords: " << mesh->HasTextureCoords(0) << std::endl; + } + + _triangles.reserve(offsetFaces + mesh->mNumFaces); + for (uint i = 0; i < mesh->mNumFaces; ++i) + { + const aiFace* f = &mesh->mFaces[i]; + if (f->mNumIndices != 3) + SIBR_LOG << "warning: discarding a face (not a triangle, num indices: " + << f->mNumIndices << ")" << std::endl; + else + { + Vector3u tri = Vector3u(offsetVertices + f->mIndices[0], offsetVertices + f->mIndices[1], offsetVertices + f->mIndices[2]); + if (tri[0] < 0 || tri[0] >= _vertices.size() + || tri[1] < 0 || tri[1] >= _vertices.size() + || tri[2] < 0 || tri[2] >= _vertices.size()) + SIBR_WRG << "face num [" << i << "] contains invalid vertex id(s)" << std::endl; + else { + _triangles.push_back(tri); + } + + } + } + + offsetFaces = (uint)_triangles.size(); + offsetVertices = (uint)_vertices.size(); + + } + + _meshPath = filename; + + SIBR_LOG << "Mesh '" << filename << " successfully loaded. " << scene->mNumMeshes << " meshes were loaded with a total of " + << " (" << _triangles.size() << ") faces and " + << " (" << _vertices.size() << ") vertices detected. Init GL ..." << std::endl; + SIBR_LOG << "Init GL mesh complete " << std::endl; + + _gl.dirtyBufferGL = true; + return true; + } + + bool Mesh::loadSfM(const std::string& filename, const std::string& dataset_path ) + { + // Does the file exist? + + std::string fname = dataset_path + "points3D.bin"; + + std::cerr << "LOADSFM: Try to open " << fname << std::endl; + + if (!sibr::fileExists(fname)) { + SIBR_LOG << "Error: can't load mesh '" << fname << "." << std::endl; + return false; + } + Vertices verts; + Colors cols; + int numverts; + + ReadPoints3DBinary(fname, verts, cols, numverts); + _triangles.clear(); + + uint matId = 0; + + _vertices.resize(numverts); + + for (uint i = 0; i < numverts; ++i) + _vertices[i] = verts[i]; + + _colors.resize(numverts); + + for (uint i = 0; i < numverts; ++i) + _colors[i] = Vector3f( + cols[i].x(), cols[i].y(), cols[i].z()); + + _meshPath = dataset_path + "/points3D.bin"; + _renderingOptions.mode = PointRenderMode; + + SIBR_LOG << "SfM Mesh '" << filename << " successfully loaded. " << " (" << _vertices.size() << ") vertices detected. Init GL ..." << std::endl; + SIBR_LOG << "Init GL mesh complete " << std::endl; + + _gl.dirtyBufferGL = true; + return true; + } + + + bool sibr::Mesh::loadMtsXML(const std::string& xmlFile) + { + bool allLoaded = true; + std::string pathFolder = boost::filesystem::path(xmlFile).parent_path().string(); + sibr::XMLTree doc(xmlFile); + + std::map meshes; + std::map idToFilename; + + rapidxml::xml_node<>* nodeScene = doc.first_node("scene"); + + for (rapidxml::xml_node<>* node = nodeScene->first_node("shape"); + node; node = node->next_sibling("shape")) + { + if (strcmp(node->first_attribute()->name(), "type") == 0 && + strcmp(node->first_attribute()->value(), "shapegroup") == 0) { + + std::cout << "Found : " << node->first_attribute("id")->value() << std::endl; + + std::string id = node->first_attribute("id")->value(); + std::string filename = node->first_node("shape")->first_node("string")->first_attribute("value")->value(); + idToFilename[id] = filename; + } + } + + for (rapidxml::xml_node<>* node = nodeScene->first_node("shape"); + node; node = node->next_sibling("shape")) + { + + if (strcmp(node->first_attribute()->name(), "type") == 0 && + strcmp(node->first_attribute()->value(), "instance") == 0 + ) { + rapidxml::xml_node<>* nodeRef = node->first_node("ref"); + const std::string id = nodeRef->first_attribute("id")->value(); + const std::string filename = idToFilename[id]; + const std::string meshPath = pathFolder + "/" + filename; + + if (meshes.find(filename) == meshes.end()) { + meshes[filename] = sibr::Mesh(); + if (!meshes[filename].load(meshPath)) { + return false; + } + + } + + std::cout << "Adding one instance of : " << filename << std::endl; + + rapidxml::xml_node<>* nodeTrans = node->first_node("transform"); + if (nodeTrans) { + sibr::Mesh toWorldMesh = meshes[filename]; + rapidxml::xml_node<>* nodeM1 = nodeTrans->first_node("matrix"); + std::string matrix1 = nodeM1->first_attribute("value")->value(); + rapidxml::xml_node<>* nodeM2 = nodeM1->next_sibling("matrix"); + std::string matrix2 = nodeM2->first_attribute("value")->value(); + + + std::istringstream issM1(matrix1); + std::vector splitM1(std::istream_iterator{issM1}, + std::istream_iterator()); + sibr::Matrix4f m1; + m1 << + std::stof(splitM1[0]), std::stof(splitM1[1]), std::stof(splitM1[2]), std::stof(splitM1[3]), + std::stof(splitM1[4]), std::stof(splitM1[5]), std::stof(splitM1[6]), std::stof(splitM1[7]), + std::stof(splitM1[8]), std::stof(splitM1[9]), std::stof(splitM1[10]), std::stof(splitM1[11]), + std::stof(splitM1[12]), std::stof(splitM1[13]), std::stof(splitM1[14]), std::stof(splitM1[15]); + + std::istringstream issM2(matrix2); + std::vector splitM2(std::istream_iterator{issM2}, + std::istream_iterator()); + sibr::Matrix4f m2; + m2 << + std::stof(splitM2[0]), std::stof(splitM2[1]), std::stof(splitM2[2]), std::stof(splitM2[3]), + std::stof(splitM2[4]), std::stof(splitM2[5]), std::stof(splitM2[6]), std::stof(splitM2[7]), + std::stof(splitM2[8]), std::stof(splitM2[9]), std::stof(splitM2[10]), std::stof(splitM2[11]), + std::stof(splitM2[12]), std::stof(splitM2[13]), std::stof(splitM2[14]), std::stof(splitM2[15]); + + sibr::Mesh::Vertices vertices; + for (int v = 0; v < toWorldMesh.vertices().size(); v++) { + sibr::Vector4f v4(toWorldMesh.vertices()[v].x(), toWorldMesh.vertices()[v].y(), toWorldMesh.vertices()[v].z(), 1.0); + vertices.push_back((m2 * (m1 * v4)).xyz()); + + } + + toWorldMesh.vertices(vertices); + merge(toWorldMesh); + + } + else { + merge(meshes[filename]); + } + + + } + else if (strcmp(node->first_attribute()->name(), "type") == 0 && + strcmp(node->first_attribute()->value(), "obj") == 0 + ) { + rapidxml::xml_node<>* nodeRef = node->first_node("string"); + const std::string filename = nodeRef->first_attribute("value")->value(); + const std::string meshPath = pathFolder + "/" + filename; + + if (meshes.find(filename) == meshes.end()) { + meshes[filename] = sibr::Mesh(); + if (!meshes[filename].load(meshPath)) { + return false; + } + + } + + std::cout << "Adding one instance of : " << filename << std::endl; + + rapidxml::xml_node<>* nodeTrans = node->first_node("transform"); + if (nodeTrans) { + sibr::Mesh toWorldMesh = meshes[filename]; + rapidxml::xml_node<>* nodeM1 = nodeTrans->first_node("matrix"); + std::string matrix1 = nodeM1->first_attribute("value")->value(); + + + std::istringstream issM1(matrix1); + std::vector splitM1(std::istream_iterator{issM1}, + std::istream_iterator()); + sibr::Matrix4f m1; + m1 << + std::stof(splitM1[0]), std::stof(splitM1[1]), std::stof(splitM1[2]), std::stof(splitM1[3]), + std::stof(splitM1[4]), std::stof(splitM1[5]), std::stof(splitM1[6]), std::stof(splitM1[7]), + std::stof(splitM1[8]), std::stof(splitM1[9]), std::stof(splitM1[10]), std::stof(splitM1[11]), + std::stof(splitM1[12]), std::stof(splitM1[13]), std::stof(splitM1[14]), std::stof(splitM1[15]); + + + sibr::Mesh::Vertices vertices; + for (int v = 0; v < toWorldMesh.vertices().size(); v++) { + sibr::Vector4f v4(toWorldMesh.vertices()[v].x(), toWorldMesh.vertices()[v].y(), toWorldMesh.vertices()[v].z(), 1.0); + vertices.push_back((m1 * v4).xyz()); + + } + + toWorldMesh.vertices(vertices); + merge(toWorldMesh); + + } + else { + merge(meshes[filename]); + } + + + } + } + + return true; + + } + + void Mesh::save(const std::string& filename, bool universal, const std::string &textureName) const + { + if (vertices().empty()) + SIBR_ERR << "cannot save this mesh (no vertices found)" << std::endl; + // This function is a just a switch (so we can change format details + // internally). + + const std::string ext = sibr::getExtension(filename); + if (ext == "obj") { + saveToObj(filename); + } + else { + // If you encounter problem with the resulting mesh, you can switch + // to the ASCII version for easy reading + // Meshlab does not support uint16 colors, if you want to use the mesh in such + // program, set 'universal' = true + if (universal) { + saveToASCIIPLY(filename, true, textureName); + } + else { + saveToBinaryPLY(filename, false); + } + } + + } + + void Mesh::vertices(const std::vector& vertices) + { + _gl.dirtyBufferGL = true; + _vertices.clear(); + + // iterator for values + std::vector::const_iterator it = vertices.begin(); + + // + while (it != vertices.end()) + { + Vector3f vertex; + + for (int i = 0; i < 3; ++i, ++it) + vertex[i] = (*it); + + _vertices.push_back(vertex); + } + } + + void Mesh::triangles(const std::vector& triangles) + { + _gl.dirtyBufferGL = true; + _triangles.clear(); + + // iterator for values + std::vector::const_iterator it = triangles.begin(); + + // + while (it != triangles.end()) + { + Vector3u triangle; + + for (int i = 0; i < 3; ++i, ++it) + triangle[i] = (*it); + + _triangles.push_back(triangle); + } + } + + void Mesh::texCoords(const std::vector& texcoords) + { + _gl.dirtyBufferGL = true; + _texcoords.clear(); + + // iterator for values + std::vector::const_iterator it = texcoords.begin(); + + // + while (it != texcoords.end()) + { + Vector2f texcoord; + + for (int i = 0; i < 2; ++i, ++it) + texcoord[i] = (*it); + + _texcoords.push_back(texcoord); + } + } + + void Mesh::normals(const std::vector& normals) + { + _gl.dirtyBufferGL = true; + _normals.clear(); + + // iterator for values + std::vector::const_iterator it = normals.begin(); + + // + while (it != normals.end()) + { + Vector3f normal; + + for (int i = 0; i < 3; ++i, ++it) + normal[i] = (*it); + + _normals.push_back(normal); + } + } + + void Mesh::generateNormals(void) + { + + // will store a list of normals (of all triangles around each vertex) + std::vector> vertexNormals(_vertices.size()); + + auto normalizeNormal = [](const Vector3f& normal) -> Vector3f { + float len = normal.norm(); + if (len > std::numeric_limits::epsilon()) + return normal / len; + //else // may happen on tiny sharp edge, in this case points up + return Vector3f(0.f, 1.f, 0.f); + }; + + int i = 0; + for (const Vector3u& tri : _triangles) + { + i++; + if (tri[0] > _vertices.size() || tri[1] > _vertices.size() || + tri[2] > _vertices.size()) { + SIBR_ERR << "Incorrect indices (" << i << ") " << tri[0] << ":" << tri[1] << ":" << tri[2] << std::endl; + } + else { + Vector3f u = _vertices[tri[0]] - _vertices[tri[2]]; + Vector3f v = _vertices[tri[0]] - _vertices[tri[1]]; + Vector3f normal = normalizeNormal(u.cross(v)); + + vertexNormals[tri[0]].push_back(normal); + vertexNormals[tri[1]].push_back(normal); + vertexNormals[tri[2]].push_back(normal); + } + } + + _normals.resize(vertexNormals.size()); + for (uint i = 0; i < _normals.size(); ++i) + { + Vector3f n = std::accumulate(vertexNormals[i].begin(), vertexNormals[i].end(), Vector3f(0.f, 0.f, 0.f)); + n = (n / (float)vertexNormals.size()); + n = normalizeNormal(n); + _normals[i] = -n; + } + + _gl.dirtyBufferGL = true; + } + + void Mesh::generateSmoothNormals(int numIter) + { + SIBR_LOG << "Generate vertex normals..." << std::endl; + // will store a list of normals (of all triangles around each vertex) + std::vector> vertexNormals(_vertices.size()); + + auto normalizeNormal = [](const Vector3f& normal) -> Vector3f { + float len = normal.norm(); + if (len > std::numeric_limits::epsilon()) + return normal / len; + //else // may happen on tiny sharp edge, in this case points up + return Vector3f(0.f, 1.f, 0.f); + }; + + + for (int i = 0; i < _triangles.size(); i++) + { + const Vector3u& tri = _triangles[i]; + if (tri[0] > _vertices.size() || tri[1] > _vertices.size() || + tri[2] > _vertices.size()) { + SIBR_ERR << "Incorrect indices (" << i << ") " << tri[0] << ":" << tri[1] << ":" << tri[2] << std::endl; + } + else { + Vector3f u = _vertices[tri[1]] - _vertices[tri[0]]; + Vector3f v = _vertices[tri[2]] - _vertices[tri[0]]; + Vector3f normal = u.cross(v); + + vertexNormals[tri[0]].push_back(normal); + vertexNormals[tri[1]].push_back(normal); + vertexNormals[tri[2]].push_back(normal); + } + } + + _normals.resize(vertexNormals.size()); + //#pragma omp parallel for + for (int i = 0; i < _normals.size(); ++i) + { + Vector3f n = std::accumulate(vertexNormals[i].begin(), vertexNormals[i].end(), Vector3f(0.f, 0.f, 0.f)); + if (numIter == 0)//no iteration + n = normalizeNormal(n); + _normals[i] = n; + } + + //Here we computed normals based on surrounding triangles + + for (int it = 0; it < numIter; it++) { + + std::vector> vertexNormalsIter(_vertices.size()); + + for (int i = 0; i < _triangles.size(); i++) + { + const Vector3u& tri = _triangles[i]; + if (tri[0] > _vertices.size() || tri[1] > _vertices.size() || + tri[2] > _vertices.size()) { + SIBR_ERR << "Incorrect indices (" << i << ") " << tri[0] << ":" << tri[1] << ":" << tri[2] << std::endl; + } + else { + for (int tId = 0; tId < 3; tId++) { + Vector3f normal = _normals[tri[tId]]; + vertexNormalsIter[tri[(tId + 1) % 3]].push_back(normal); + vertexNormalsIter[tri[(tId + 2) % 3]].push_back(normal); + } + } + } + + float maxLength = 0.0f; + for (int i = 0; i < _normals.size(); ++i) + { + Vector3f n = std::accumulate(vertexNormalsIter[i].begin(), vertexNormalsIter[i].end(), Vector3f(0.f, 0.f, 0.f)); + if (it + 1 == numIter)//last iteration + n = normalizeNormal(n); + _normals[i] = n; + maxLength = std::max(maxLength, _normals[i].norm()); + } + + // To avoid float overflow after multiple iterations, we need to normalize. + // But we can't just normalize each normal separately because we want to + // preserve the relative triangle area weighting. + // So instead we just send everything in [0,1] each time apart from the last iteration. + if (maxLength > 0.0f && (it + 1 < numIter)) { + for (int i = 0; i < _normals.size(); ++i) + { + _normals[i] /= maxLength; + } + } + + } + + _gl.dirtyBufferGL = true; + } + + void Mesh::generateSmoothNormalsDisconnected(int numIter) + { + SIBR_LOG << "Generate vertex normals..." << std::endl; + // will store a list of normals (of all triangles around each vertex) + std::vector> vertexNormals(_vertices.size()); + + auto normalizeNormal = [](const Vector3f& normal) -> Vector3f { + float len = normal.norm(); + if (len > std::numeric_limits::epsilon()) + return normal / len; + //else // may happen on tiny sharp edge, in this case points up + return Vector3f(0.f, 1.f, 0.f); + }; + + std::vector> vertCopy; + for (int i = 0; i < _vertices.size(); ++i) + { + vertCopy.push_back(std::make_pair(_vertices[i], i)); + } + + std::sort(vertCopy.begin(), vertCopy.end()); + + for (int i = 0; i < 100; ++i) + { + std::cout << "\t " << vertCopy[i].first << std::endl; + } + + std::vector v2firstCopy(_vertices.size(), -1); + int dupCount = 0; + for (int i = 0; i < _vertices.size(); ++i) + { + if (i % 1000 == 0) + std::cout << "\t " << i << " of " << _vertices.size() << std::endl; + + int ii = i - 1; + if ((vertCopy[ii].first - vertCopy[i].first).norm() > 0.000001f) { + + v2firstCopy[vertCopy[i].second] = vertCopy[i].second; + continue; + } + else { + dupCount++; + v2firstCopy[vertCopy[i].second] = v2firstCopy[vertCopy[ii].second]; + } + + } + + std::cout << "Duplicates found :" << dupCount << std::endl; + + for (int i = 0; i < _triangles.size(); i++) + { + const Vector3u& tri = _triangles[i]; + if (tri[0] > _vertices.size() || tri[1] > _vertices.size() || + tri[2] > _vertices.size()) { + SIBR_ERR << "Incorrect indices (" << i << ") " << tri[0] << ":" << tri[1] << ":" << tri[2] << std::endl; + } + else { + Vector3f u = _vertices[tri[1]] - _vertices[tri[0]]; + Vector3f v = _vertices[tri[2]] - _vertices[tri[0]]; + Vector3f normal = u.cross(v); + + vertexNormals[tri[0]].push_back(normal); + vertexNormals[tri[1]].push_back(normal); + vertexNormals[tri[2]].push_back(normal); + } + } + + sibr::Mesh::Normals normalsCopy; + normalsCopy.resize(vertexNormals.size()); + //#pragma omp parallel for + for (int i = 0; i < normalsCopy.size(); ++i) + { + normalsCopy[i] = sibr::Vector3f(0, 0, 0); + } + for (int i = 0; i < normalsCopy.size(); ++i) + { + Vector3f n = std::accumulate(vertexNormals[i].begin(), vertexNormals[i].end(), Vector3f(0.f, 0.f, 0.f)); + normalsCopy[v2firstCopy[i]] += n; + } + + //Here we computed normals based on surrounding triangles + + for (int it = 0; it < numIter; it++) { + + std::vector> vertexNormalsIter(_vertices.size()); + + for (int i = 0; i < _triangles.size(); i++) + { + const Vector3u& tri = _triangles[i]; + if (tri[0] > _vertices.size() || tri[1] > _vertices.size() || + tri[2] > _vertices.size()) { + SIBR_ERR << "Incorrect indices (" << i << ") " << tri[0] << ":" << tri[1] << ":" << tri[2] << std::endl; + } + else { + for (int tId = 0; tId < 3; tId++) { + Vector3f normal = normalsCopy[v2firstCopy[tri[tId]]]; + vertexNormalsIter[tri[(tId + 1) % 3]].push_back(normal); + vertexNormalsIter[tri[(tId + 2) % 3]].push_back(normal); + } + } + } + + //#pragma omp parallel for + for (int i = 0; i < normalsCopy.size(); ++i) + { + normalsCopy[i] = sibr::Vector3f(0, 0, 0); + } + for (int i = 0; i < normalsCopy.size(); ++i) + { + Vector3f n = std::accumulate(vertexNormalsIter[i].begin(), vertexNormalsIter[i].end(), Vector3f(0.f, 0.f, 0.f)); + normalsCopy[v2firstCopy[i]] += n; + } + + } + + _normals.resize(normalsCopy.size()); + for (int i = 0; i < _normals.size(); ++i) + { + _normals[i] += normalizeNormal(normalsCopy[v2firstCopy[i]]); + } + + _gl.dirtyBufferGL = true; + } + + void Mesh::laplacianSmoothing(int numIter, bool updateNormals) { + + if (numIter < 1) { + return; + } + + /// Build neighbors information. + /// \todo TODO: we could also detect vertices on the edges of the mesh to preserve their positions. + std::vector> neighbors(_vertices.size()); + for (const sibr::Vector3u& tri : _triangles) { + neighbors[tri[0]].emplace(tri[1]); + neighbors[tri[0]].emplace(tri[2]); + neighbors[tri[1]].emplace(tri[0]); + neighbors[tri[1]].emplace(tri[2]); + neighbors[tri[2]].emplace(tri[1]); + neighbors[tri[2]].emplace(tri[0]); + } + + /// Smooth by averaging. + const size_t verticesSize = _vertices.size(); + + for (int it = 0; it < numIter; ++it) { + std::vector newVertices(verticesSize); + + for (size_t vid = 0; vid < verticesSize; ++vid) { + newVertices[vid] = sibr::Vector3f(0.0f, 0.0f, 0.f); + for (const auto& ovid : neighbors[vid]) { + newVertices[vid] += _vertices[ovid]; + } + newVertices[vid] /= float(neighbors[vid].size()); + } + + vertices(newVertices); + } + + if (updateNormals) { + generateNormals(); + } + } + + void Mesh::adaptativeTaubinSmoothing(int numIter, bool updateNormals) { + + if (numIter < 1) { + return; + } + + /// Build neighbors information. + /// \todo TODO: we could also detect vertices on the edges of the mesh to preserve their positions. + std::vector> neighbors(_vertices.size()); + std::map>> cotanW; + for (const sibr::Vector3u& tri : _triangles) { + neighbors[tri[0]].emplace(tri[1]); + neighbors[tri[0]].emplace(tri[2]); + neighbors[tri[1]].emplace(tri[0]); + neighbors[tri[1]].emplace(tri[2]); + neighbors[tri[2]].emplace(tri[1]); + neighbors[tri[2]].emplace(tri[0]); + + std::vector vs; + for (int i = 0; i < 3; i++) + vs.push_back(_vertices[tri[i]]); + + for (int i = 0; i < 3; i++) { + float angle = acos((vs[i] - vs[(i + 2) % 3]).normalized().dot((vs[(i + 1) % 3] - vs[(i + 2) % 3]).normalized())); + cotanW[tri[i]][tri[(i + 1) % 3]].emplace(1.0f / (tan(angle) + 0.00001f)); + cotanW[tri[(i + 1) % 3]][tri[i]].emplace(1.0f / (tan(angle) + 0.00001f)); + } + + } + + /// Smooth by averaging. + const size_t verticesSize = _vertices.size(); + + std::vector newColors(verticesSize); + for (int it = 0; it < numIter; ++it) { + std::vector newVertices(verticesSize); +#pragma omp parallel for + for (int vid = 0; vid < verticesSize; ++vid) { + sibr::Vector3f v = _vertices[vid]; + sibr::Vector3f dtV = sibr::Vector3f(0.0f, 0.0f, 0.f); + float totalW = 0; + + std::vector colorsLocal; + colorsLocal.push_back(_colors[vid]); + for (const auto& ovid : neighbors[vid]) { + float w = 0; + for (const auto& cot : cotanW[vid][ovid]) { + w += 0.5 * cot; + } + totalW += w; + dtV += w * _vertices[ovid]; + colorsLocal.push_back(_colors[ovid]); + } + + sibr::Vector3f meanColor; + for (const auto& c : colorsLocal) { + meanColor += c; + } + meanColor /= colorsLocal.size(); + sibr::Vector3f varColor; + for (const auto& c : colorsLocal) { + pow(c.x() - meanColor.x(), 2); + varColor += sibr::Vector3f(pow(c.x() - meanColor.x(), 2), pow(c.y() - meanColor.y(), 2), pow(c.z() - meanColor.z(), 2)); + } + varColor /= colorsLocal.size(); + + newColors[vid] = varColor; + + if (totalW > 0) { + dtV /= totalW; + dtV = dtV - v; + if (it % 2 == 0) { + newVertices[vid] = v + 0.25 * dtV; + } + else { + newVertices[vid] = v + 0.25 * dtV; + } + } + } + + vertices(newVertices); + } + + colors(newColors); + if (updateNormals) { + generateNormals(); + } + } + + + + Mesh Mesh::generateSubMesh(std::function func) const + { + + sibr::Mesh::Vertices newVertices; + sibr::Mesh::Triangles newTriangles; + + sibr::Mesh::Colors newColors; + sibr::Mesh::Normals newNormals; + sibr::Mesh::UVs newUVs; + + std::map mapIdVert; + + int cmptValidVert = 0; + int cmptVert = 0; + + sibr::Mesh::Colors oldColors; + if (hasColors()) + oldColors = colors(); + + sibr::Mesh::Normals oldNormals; + if (hasNormals()) + oldNormals = normals(); + + sibr::Mesh::UVs oldUVs; + if (hasTexCoords()) + oldUVs = texCoords(); + + for (int v = 0; v < vertices().size(); v++) { + + if (func(v)) { + + newVertices.push_back(vertices()[v]); + + if (hasColors()) + newColors.push_back(oldColors[cmptVert]); + if (hasNormals()) + newNormals.push_back(oldNormals[cmptVert]); + if (hasTexCoords()) + newUVs.push_back(oldUVs[cmptVert]); + + mapIdVert[cmptVert] = cmptValidVert; + cmptValidVert++; + + } + else { + mapIdVert[cmptVert] = -1; + } + + cmptVert++; + + } + + for (sibr::Vector3u t : triangles()) { + + if (mapIdVert[t.x()] != -1 && + mapIdVert[t.y()] != -1 && + mapIdVert[t.z()] != -1) { + sibr::Vector3u newt(mapIdVert[t.x()], mapIdVert[t.y()], mapIdVert[t.z()]); + newTriangles.push_back(newt); + } + } + + Mesh newMesh; + newMesh.vertices(newVertices); + newMesh.triangles(newTriangles); + if (hasColors()) + newMesh.colors(newColors); + if (hasNormals()) + newMesh.normals(newNormals); + if (hasTexCoords()) + newMesh.texCoords(newUVs); + + return newMesh; + } + + void Mesh::forceBufferGLUpdate(bool adjacency) const + { + if (!_gl.bufferGL) { SIBR_ERR << "Tried to forceBufferGL on a non OpenGL Mesh" << std::endl; return; } + _gl.dirtyBufferGL = false; + _gl.bufferGL->build(*this, adjacency); + } + + void Mesh::freeBufferGLUpdate(void) const + { + _gl.dirtyBufferGL = false; + _gl.bufferGL->free(); + } + + void Mesh::render(bool depthTest, bool backFaceCulling, RenderMode mode, bool frontFaceCulling, bool invertDepthTest, bool tessellation, bool adjacency) const + { + if (!_gl.bufferGL) { SIBR_ERR << "Tried to render a non OpenGL Mesh" << std::endl; return; } + + if(adjacency && _renderingOptions.adjacency != adjacency) + { + _renderingOptions.adjacency = adjacency; + _gl.dirtyBufferGL = true; + } + + _renderingOptions.depthTest = depthTest; + _renderingOptions.backFaceCulling = backFaceCulling; + _renderingOptions.mode = mode; + _renderingOptions.frontFaceCulling = frontFaceCulling; + _renderingOptions.invertDepthTest = invertDepthTest; + _renderingOptions.tessellation = tessellation; + + if (_gl.dirtyBufferGL) + forceBufferGLUpdate(adjacency); + + if (depthTest) + glEnable(GL_DEPTH_TEST); + else + glDisable(GL_DEPTH_TEST); + + if (backFaceCulling) + { + glEnable(GL_CULL_FACE); + if (!frontFaceCulling) + glCullFace(GL_BACK); + else + glCullFace(GL_FRONT); + } + else + glDisable(GL_CULL_FACE); + + if (invertDepthTest) { + glDepthFunc(GL_GEQUAL); + } + + switch (mode) + { + case sibr::Mesh::FillRenderMode: + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + break; + case sibr::Mesh::PointRenderMode: + glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); + break; + case sibr::Mesh::LineRenderMode: + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + break; + default: + break; + } + + if (_triangles.size() != 0) { + if (tessellation) { + _gl.bufferGL->drawTessellated(); + } + else { + _gl.bufferGL->draw(adjacency); + } + } + else if (_vertices.size() != 0) { + _gl.bufferGL->draw_points(); + } + + // Reset default state (Policy is 'restore default values') + glDisable(GL_CULL_FACE); + glDisable(GL_DEPTH_TEST); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glDepthFunc(GL_LESS); + } + + void Mesh::renderSubMesh(unsigned int begin, unsigned int end, + bool depthTest, + bool backFaceCulling, + RenderMode mode, + bool frontFaceCulling, + bool invertDepthTest + ) const { + if (!_gl.bufferGL) { SIBR_ERR << "Tried to render a non OpenGL Mesh" << std::endl; return; } + if (_gl.dirtyBufferGL) + forceBufferGLUpdate(); + + if (depthTest) + glEnable(GL_DEPTH_TEST); + else + glDisable(GL_DEPTH_TEST); + + if (backFaceCulling) + { + glEnable(GL_CULL_FACE); + if (!frontFaceCulling) + glCullFace(GL_BACK); + else + glCullFace(GL_FRONT); + } + else + glDisable(GL_CULL_FACE); + + if (invertDepthTest) { + glDepthFunc(GL_GEQUAL); + } + + switch (mode) + { + case sibr::Mesh::FillRenderMode: + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + break; + case sibr::Mesh::PointRenderMode: + glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); + break; + case sibr::Mesh::LineRenderMode: + glPolygonMode(GL_FRONT_AND_BACK, GL_LINE); + break; + default: + break; + } + + if (_triangles.size() != 0) { + _gl.bufferGL->draw(begin, end); + } + else if (_vertices.size() != 0) { + _gl.bufferGL->draw_points(begin, end); + } + + // Reset default state (Policy is 'restore default values') + glDisable(GL_CULL_FACE); + glDisable(GL_DEPTH_TEST); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + glDepthFunc(GL_LESS); + } + + + void Mesh::render_points(void) const + { + forceBufferGLUpdate(); + glPolygonMode(GL_FRONT_AND_BACK, GL_POINT); + _gl.bufferGL->draw_points(); + glPolygonMode(GL_FRONT_AND_BACK, GL_FILL); + } + + void Mesh::render_points(bool depthTest) const + { + if (depthTest) { + glEnable(GL_DEPTH_TEST); + } + else { + glDisable(GL_DEPTH_TEST); + } + + render_points(); + + glDisable(GL_DEPTH_TEST); + } + + void Mesh::render_lines(void) const + { + if (!_gl.bufferGL) { SIBR_ERR << "Tried to render a non OpenGL Mesh" << std::endl; return; } + if (_gl.dirtyBufferGL) + forceBufferGLUpdate(); + _gl.bufferGL->draw_lines(); + } + + Mesh::SubMesh Mesh::extractSubMesh(const std::vector& newVerticesIds, VERTEX_LIST_CHOICE v_choice) const + { + + int numOldVertices = (int)vertices().size(); + bool keep_from_list = (v_choice == VERTEX_LIST_CHOICE::KEEP); + std::vector willBeKept(numOldVertices, !keep_from_list); + for (int id : newVerticesIds) { + if (id >= 0 && id < numOldVertices) { + willBeKept[id] = keep_from_list; + } + } + + int numValidNewVertices = 0; + for (bool b : willBeKept) { + if (b) { + ++numValidNewVertices; + } + } + + std::vector oldToNewVertexId(numOldVertices, -1); + + sibr::Mesh::Vertices newVertices(numValidNewVertices); + sibr::Mesh::Triangles newTriangles; + + sibr::Mesh::Colors newColors; + sibr::Mesh::Normals newNormals; + sibr::Mesh::UVs newUVs; + + if (hasColors()) { + newColors.resize(numValidNewVertices); + } + if (hasNormals()) { + newNormals.resize(numValidNewVertices); + } + if (hasTexCoords()) { + newUVs.resize(numValidNewVertices); + } + + int new_vertex_id = 0; + for (int id = 0; id < numOldVertices; ++id) { + if (willBeKept[id]) { + newVertices[new_vertex_id] = vertices()[id]; + oldToNewVertexId[id] = new_vertex_id; + + if (hasColors()) { + newColors[new_vertex_id] = colors()[id]; + } + if (hasNormals()) { + newNormals[new_vertex_id] = normals()[id]; + } + if (hasTexCoords()) { + newUVs[new_vertex_id] = texCoords()[id]; + } + ++new_vertex_id; + } + } + + std::vector isInRemovedTriangle(numOldVertices, false); + for (const auto& t : triangles()) { + sibr::Vector3i newVerticesId = t.cast().unaryExpr([&oldToNewVertexId](int v_id) { return oldToNewVertexId[v_id]; }); + if (newVerticesId.unaryViewExpr([](int v_id) { return v_id >= 0 ? 1 : 0; }).all()) { + newTriangles.push_back(newVerticesId.cast()); + } + else { + for (int c = 0; c < 3; c++) { + isInRemovedTriangle[t[c]] = true; + } + } + } + + bool oldMeshHasGraphics = (_gl.bufferGL.get() != nullptr); + + Mesh::SubMesh subMesh; + subMesh.meshPtr = std::make_shared(oldMeshHasGraphics); + sibr::Mesh& mesh = *subMesh.meshPtr; + mesh.vertices(newVertices); + mesh.triangles(newTriangles); + if (hasColors()) { + mesh.colors(newColors); + } + if (hasNormals()) { + mesh.normals(newNormals); + } + if (hasTexCoords()) { + mesh.texCoords(newUVs); + } + + for (int id = 0; id < numOldVertices; ++id) { + if (isInRemovedTriangle[id]) { + subMesh.complementaryVertices.push_back(id); + } + } + + return subMesh; + } + + sibr::Mesh Mesh::invertedFacesMesh() const + { + sibr::Mesh invertedFacesMesh(_gl.bufferGL != nullptr); + invertedFacesMesh.vertices(vertices()); + if (hasColors()) { + invertedFacesMesh.colors(colors()); + } + if (hasNormals()) { + invertedFacesMesh.normals(normals()); + } + if (hasTexCoords()) { + invertedFacesMesh.texCoords(texCoords()); + } + + sibr::Mesh::Triangles invertedTriangles(triangles().size()); + for (int t_id = 0; t_id < (int)triangles().size(); ++t_id) { + invertedTriangles[t_id] = triangles()[t_id].yxz(); + } + invertedFacesMesh.triangles(invertedTriangles); + + return invertedFacesMesh; + } + + sibr::Mesh::Ptr Mesh::invertedFacesMesh2() const + { + auto invertedFacesMesh = std::make_shared(_gl.bufferGL != nullptr); + + int nVertices = (int)vertices().size(); + int nTriangles = (int)triangles().size(); + + Mesh::Vertices Nvertices(2 * nVertices); + Mesh::Triangles Ntriangles(2 * nTriangles); + Mesh::Colors Ncolors(hasColors() ? 2 * nVertices : 0); + Mesh::Normals Nnormals(hasNormals() ? 2 * nVertices : 0); + Mesh::UVs Nuvs(hasTexCoords() ? 2 * nVertices : 0); + + int v_id = 0; + for (const auto& v : vertices()) { + Nvertices[v_id] = v; + Nvertices[v_id + nVertices] = v; + + if (hasNormals()) { + Nnormals[v_id] = normals()[v_id]; + Nnormals[v_id + nVertices] = -normals()[v_id]; + } + + if (hasColors()) { + Ncolors[v_id] = colors()[v_id]; + Ncolors[v_id + nVertices] = colors()[v_id]; + } + + if (hasTexCoords()) { + Nuvs[v_id] = texCoords()[v_id]; + Nuvs[v_id + nVertices] = texCoords()[v_id]; + } + + ++v_id; + } + invertedFacesMesh->vertices(Nvertices); + + if (hasNormals()) { + invertedFacesMesh->normals(Nnormals); + } + if (hasColors()) { + invertedFacesMesh->colors(Ncolors); + } + if (hasTexCoords()) { + invertedFacesMesh->texCoords(Nuvs); + } + + sibr::Vector3u shift(nVertices, nVertices, nVertices); + int t_id = 0; + for (const auto& t : triangles()) { + Ntriangles[t_id] = t; + Ntriangles[t_id + nTriangles] = t.yxz() + shift; + ++t_id; + } + invertedFacesMesh->triangles(Ntriangles); + + return invertedFacesMesh; + } + + const std::string Mesh::getMeshFilePath(void) const + { + return _meshPath; + } + + void Mesh::getBoundingSphere(Vector3f& outCenter, float& outRadius, bool referencedOnly, bool usePCcenter) const + { + // Get the center of mass + + double totalArea = 0, currentArea; + double xCenter = 0, yCenter = 0, zCenter = 0; + + const Triangles& tri = _triangles; + const Vertices& vert = _vertices; + if (usePCcenter) { + sibr::Vector3d outCenterDbl; + for (const Vector3f& v : vert) + { + outCenterDbl += v.cast(); + } + + outCenter = (outCenterDbl / vert.size()).cast(); + } + else { + if (tri.size() == 0) { + SIBR_WRG << "No triangles found for evaluation of sphere center, result will be NaN"; + } + for (const Vector3u& t : tri) + { + float trix1 = vert[t[0]].x(); + float triy1 = vert[t[0]].y(); + float triz1 = vert[t[0]].z(); + + float trix2 = vert[t[1]].x(); + float triy2 = vert[t[1]].y(); + float triz2 = vert[t[1]].z(); + + float trix3 = vert[t[2]].x(); + float triy3 = vert[t[2]].y(); + float triz3 = vert[t[2]].z(); + + currentArea = ((vert[t[1]] - vert[t[0]]).cross(vert[t[2]] - vert[t[0]])).norm() / 2.0; + totalArea += currentArea; + + xCenter += ((trix1 + trix2 + trix3) / 3) * currentArea; + yCenter += ((triy1 + triy2 + triy3) / 3) * currentArea; + zCenter += ((triz1 + triz2 + triz3) / 3) * currentArea; + } + + outCenter = Vector3f(float(xCenter / totalArea), float(yCenter / totalArea), float(zCenter / totalArea)); + } + + + outRadius = 0.f; + if (referencedOnly) { + for (const Vector3u& t : tri) + { + outRadius = std::max(outRadius, distance(vert[t[0]], outCenter)); + outRadius = std::max(outRadius, distance(vert[t[1]], outCenter)); + outRadius = std::max(outRadius, distance(vert[t[2]], outCenter)); + } + } + else { + for (const Vector3f& v : vert) + outRadius = std::max(outRadius, distance(v, outCenter)); + } + } + + + Eigen::AlignedBox Mesh::getBoundingBox(void) const + { + Eigen::AlignedBox box; + for (const auto& vertex : _vertices) { + box.extend(vertex); + } + return box; + } + + sibr::Mesh::Ptr sibr::Mesh::getEnvSphere(sibr::Vector3f center, float radius, sibr::Vector3f zenith, sibr::Vector3f north, + PartOfSphere part) { + + sibr::Vector3f east = north.cross(zenith); + sibr::Mesh::Ptr envMesh(new sibr::Mesh()); + sibr::Mesh::Vertices vert; + sibr::Mesh::UVs uvs; + sibr::Mesh::Triangles tri; + + int highLimit = 0, lowLimit = 0; + switch (part) + { + case PartOfSphere::WHOLE: + highLimit = 90; + lowLimit = -90; + break; + case PartOfSphere::UP: + highLimit = 90; + lowLimit = 0; + break; + case PartOfSphere::BOTTOM: + highLimit = 0; + lowLimit = -90; + break; + } + + for (int lat = lowLimit; lat <= highLimit; lat++) { + for (int lgt = 0; lgt <= 360; lgt++) { + + sibr::Vector3f point = cos(0.5 * M_PI * lat / 90.0f) * (cos(2 * M_PI * lgt / 360.0f) * north + sin(2 * M_PI * lgt / 360.0f) * east) + + sin(0.5 * M_PI * lat / 90.0f) * zenith; + + vert.push_back(10.f * radius * point + center); + + uvs.push_back(sibr::Vector2f(lgt / 360.0f, 0.5 + lat / 180.0f)); + + } + } + + for (int lat = lowLimit; lat < highLimit; lat++) { + for (int lgt = 0; lgt < 360; lgt++) { + + int delta = 1; + int lgtShift = lgt + 361 * (lat - lowLimit); + tri.push_back(sibr::Vector3u(lgtShift, lgtShift + delta, lgtShift + 361 + delta)); + tri.push_back(sibr::Vector3u(lgtShift, lgtShift + 361 + delta, lgtShift + 361)); + } + } + envMesh->vertices(vert); + envMesh->texCoords(uvs); + envMesh->triangles(tri); + + return envMesh; + } + + sibr::Vector3f Mesh::centroid() const + { + sibr::Vector3d centroid(0, 0, 0); + for (auto& vertex : _vertices) { + centroid += vertex.cast(); + } + if (_vertices.size() > 0) { + centroid /= static_cast(_vertices.size()); + } + return centroid.cast(); + } + + std::stringstream Mesh::getOffStream(bool verbose) const + { + if (verbose) { + std::cout << "[sibr::Mesh::getOffStream()] ... " << std::flush; + } + + std::stringstream s; + s << "OFF \n \n" << vertices().size() << " " << triangles().size() << " 0 " << std::endl; + + for (const auto& v : vertices()) { + s << v.x() << " " << v.y() << " " << v.z() << std::endl; + } + + for (const auto& t : triangles()) { + s << "3 " << t.x() << " " << t.y() << " " << t.z() << std::endl; + } + + if (verbose) { + std::cout << " done " << std::endl; + } + + return s; + } + + void Mesh::fromOffStream(std::stringstream& stream, bool computeNormals) + { + int n_vert; + int n_faces; + int n_edges; + + std::string line; + safeGetline(stream, line); + safeGetline(stream, line); + std::istringstream iss(line); + + iss >> n_vert >> n_faces >> n_edges; + + _vertices.resize(n_vert); + for (int v = 0; v < n_vert; ++v) { + safeGetline(stream, line); + std::istringstream lineStream(line); + + lineStream >> _vertices[v][0] >> _vertices[v][1] >> _vertices[v][2]; + + } + + _triangles.resize(0); + _triangles.reserve(3 * n_faces); + int face_size; + for (int t = 0; t < n_faces; ++t) { + safeGetline(stream, line); + std::istringstream lineStream(line); + + lineStream >> face_size; + + if (face_size == 3) { + sibr::Vector3u t; + lineStream >> t[0] >> t[1] >> t[2]; + _triangles.push_back(t); + + } + else if (face_size == 4) { + sibr::Vector3u t1, t2; + lineStream >> t1[0] >> t1[1] >> t1[2] >> t2[2]; + t2[0] = t1[0]; + t2[1] = t1[2]; + _triangles.push_back(t1); + _triangles.push_back(t2); + } + } + + if (computeNormals) { + generateNormals(); + } + + if (_gl.bufferGL.get()) { + _gl.dirtyBufferGL = true; + } + } + + sibr::Mesh::Ptr Mesh::getTestCube(bool withGraphics) + { + std::vector vertices = { + { +1, +1, +1 }, { -1, +1, +1 }, { -1, -1, +1 }, + { +1, -1, +1 }, { +1, +1, -1 }, { -1, +1, -1 }, + { -1, -1, -1 }, { +1, -1, -1 } + }; + + std::vector indices = { + { 0, 1, 2 }, { 0, 2, 3 }, { 7, 4, 0 }, { 7, 0, 3 }, { 4, 5, 1 }, + { 4, 1, 0 }, { 5, 6, 2 }, { 5, 2, 1 }, { 3, 2, 6 }, { 3, 6, 7 }, + { 6, 5, 4 }, { 6, 4, 7 } + }; + + sibr::Mesh::Ptr mesh(new sibr::Mesh(withGraphics)); + mesh->vertices(vertices); + mesh->triangles(indices); + mesh->generateNormals(); + + return mesh; + } + + Mesh::Ptr Mesh::getSphereMesh(const Vector3f& center, float radius, bool withGraphics, int precision) { + const int nTheta = precision; + const int nPhi = precision; + const int nPoints = nTheta * nPhi; + std::vector vertices(nPoints), normals(nPoints); + + for (int t = 0; t < nTheta; ++t) { + double theta = (t / (double)(nTheta - 1)) * M_PI; + double cosT = std::cos(theta); + double sinT = std::sin(theta); + for (int p = 0; p < nPhi; ++p) { + double phi = 2.0 * (p / (double)(nPhi - 1) - 0.5) * M_PI; + double cosP = std::cos(phi), sinP = std::sin(phi); + normals[p + nPhi * t] = Vector3d(sinT * cosP, sinT * sinP, cosT).cast(); + vertices[p + nPhi * t] = center + radius * normals[p + nPhi * t]; + } + } + + std::vector indices(6 * (nTheta - 1) * nPhi); + int triangle_id = 0; + for (int t = 0; t < nTheta - 1; ++t) { + for (int p = 0; p < nPhi; ++p) { + int current_id = p + nPhi * t; + int offset_row = 1 - (p == nPhi - 1 ? nPhi : 0); + int next_in_row = current_id + offset_row; + int next_in_col = current_id + nPhi; + int next_next = next_in_col + offset_row; + indices[3 * triangle_id + 0] = current_id; + indices[3 * triangle_id + 1] = next_in_col; + indices[3 * triangle_id + 2] = next_in_row; + indices[3 * triangle_id + 3] = next_in_row; + indices[3 * triangle_id + 4] = next_in_col; + indices[3 * triangle_id + 5] = next_next; + triangle_id += 2; + } + } + + Mesh::Ptr sphereMesh = Mesh::Ptr(new Mesh(withGraphics)); + sphereMesh->vertices(vertices); + sphereMesh->normals(normals); + sphereMesh->triangles(indices); + + return sphereMesh; + } + + sibr::Mesh::Ptr Mesh::subDivide(float limitSize, size_t maxRecursion) const + { + struct Less { + bool operator()(const sibr::Vector3f& a, const sibr::Vector3f& b) const { + return a < b; + } + }; + + struct Edge { + sibr::Vector3f midPoint; + sibr::Vector3f midNormal; + std::vector triangles_ids; + float length; + int v_ids[2]; + }; + + struct Triangle { + Triangle() : edges_ids(std::vector(3, -1)), edges_flipped(std::vector(3, false)) {} + std::vector edges_ids; + std::vector edges_flipped; + }; + + auto subMeshPtr = std::make_shared(); + + std::map mapEdges; + std::vector edges; + std::vector tris(triangles().size()); + + int t_id = 0; + int e_id = 0; + for (const auto& t : triangles()) { + bool degenerate = false; + for (int k = 0; k < 3; ++k) { + int v0 = t[k]; + int v1 = t[(k + 1) % 3]; + // Skip degenerate faces. + if (v0 == v1) { + degenerate = true; + break; + } + const sibr::Vector3f midPoint = 0.5f * (vertices()[v0] + vertices()[v1]); + sibr::Vector3f midNormal(0.0f, 0.0f, 0.0f); + if (hasNormals()) { + midNormal = (0.5f * (normals()[v0] + normals()[v1])).normalized(); + } + + const float length = (vertices()[v0] - vertices()[v1]).norm(); + if (mapEdges.count(midPoint) == 0) { + mapEdges[midPoint] = e_id; + const Edge edge = { midPoint, midNormal, {t_id}, length, {v0,v1} }; + tris[t_id].edges_ids[k] = e_id; + edges.push_back(edge); + ++e_id; + } + else { + const int edge_id = mapEdges[midPoint]; + edges[edge_id].triangles_ids.push_back(t_id); + tris[t_id].edges_ids[k] = edge_id; + if (v0 != edges[edge_id].v_ids[0]) { + tris[t_id].edges_flipped[k] = true; + } + } + } + if (degenerate) { + continue; + } + ++t_id; + } + + const int nOldVertices = (int)vertices().size(); + sibr::Mesh::Vertices newVertices = vertices(); + sibr::Mesh::Normals newNormals = normals(); + + std::vector edge_to_divided_edges(edges.size(), -1); + + sibr::Mesh::Triangles newTriangles; + + bool dbg = false; + int num_divided_edges = 0; + for (const Triangle& t : tris) { + // Ignore undef triangles. + if (t.edges_ids[0] == -1 && t.edges_ids[1] == -1 && t.edges_ids[2] == -1) { + continue; + } + std::vector ks(3, -1); + std::vector non_ks(3, -1); + for (int k = 0; k < 3; ++k) { + const int e_id = t.edges_ids[k]; + if (edges[e_id].length > limitSize) { + if (ks[0] < 0) { + ks[0] = k; + } + else if (ks[1] < 0) { + ks[1] = k; + } + else { + ks[2] = k; + } + + if (edge_to_divided_edges[e_id] < 0) { + edge_to_divided_edges[e_id] = num_divided_edges; + newVertices.push_back(edges[e_id].midPoint); + newNormals.push_back(edges[e_id].midNormal); + ++num_divided_edges; + + } + + } + else { + if (non_ks[0] < 0) { + non_ks[0] = k; + } + } + } + + const sibr::Vector3i corners_ids = sibr::Vector3i(0, 1, 2).unaryViewExpr([&](int i) { + return edges[t.edges_ids[i]].v_ids[t.edges_flipped[i] ? 1 : 0]; + }); + const sibr::Vector3i midpoints_ids = sibr::Vector3i(0, 1, 2).unaryViewExpr([&](int i) { + return edge_to_divided_edges[t.edges_ids[i]] >= 0 ? nOldVertices + edge_to_divided_edges[t.edges_ids[i]] : -1; + }); + + if (ks[2] >= 0) { + newTriangles.push_back(sibr::Vector3u(corners_ids[0], midpoints_ids[0], midpoints_ids[2])); + newTriangles.push_back(sibr::Vector3u(corners_ids[1], midpoints_ids[1], midpoints_ids[0])); + newTriangles.push_back(sibr::Vector3u(corners_ids[2], midpoints_ids[2], midpoints_ids[1])); + newTriangles.push_back(midpoints_ids.cast()); + } + else if (ks[1] >= 0) { + const int candidate_edge_1_v_id_1 = corners_ids[non_ks[0]]; + const int candidate_edge_1_v_id_2 = midpoints_ids[(non_ks[0] + 1) % 3]; + const int candidate_edge_2_v_id_1 = corners_ids[(non_ks[0] + 1) % 3]; + const int candidate_edge_2_v_id_2 = midpoints_ids[(non_ks[0] + 2) % 3]; + const float candidate_edge_1_norm = (newVertices[candidate_edge_1_v_id_1] - newVertices[candidate_edge_1_v_id_2]).norm(); + const float candidate_edge_2_norm = (newVertices[candidate_edge_2_v_id_1] - newVertices[candidate_edge_2_v_id_2]).norm(); + if (candidate_edge_1_norm < candidate_edge_2_norm) { + newTriangles.push_back(sibr::Vector3u(candidate_edge_1_v_id_1, corners_ids[(non_ks[0] + 1) % 3], candidate_edge_1_v_id_2)); + newTriangles.push_back(sibr::Vector3u(candidate_edge_1_v_id_2, midpoints_ids[(non_ks[0] + 2) % 3], candidate_edge_1_v_id_1)); + } + else { + newTriangles.push_back(sibr::Vector3u(candidate_edge_2_v_id_1, candidate_edge_2_v_id_2, corners_ids[non_ks[0]])); + newTriangles.push_back(sibr::Vector3u(candidate_edge_2_v_id_1, midpoints_ids[(non_ks[0] + 1) % 3], candidate_edge_2_v_id_2)); + } + newTriangles.push_back(sibr::Vector3u(midpoints_ids[(non_ks[0] + 1) % 3], corners_ids[(non_ks[0] + 2) % 3], midpoints_ids[(non_ks[0] + 2) % 3])); + } + else if (ks[0] >= 0) { + newTriangles.push_back(sibr::Vector3u(midpoints_ids[ks[0]], corners_ids[(ks[0] + 1) % 3], corners_ids[(ks[0] + 2) % 3])); + newTriangles.push_back(sibr::Vector3u(midpoints_ids[ks[0]], corners_ids[(ks[0] + 2) % 3], corners_ids[ks[0]])); + } + else { + newTriangles.push_back(corners_ids.cast()); + } + } + std::cout << "." << std::flush; + + subMeshPtr->vertices(newVertices); + if (hasNormals()) { + subMeshPtr->normals(newNormals); + } + subMeshPtr->triangles(newTriangles); + if (num_divided_edges > 0 && maxRecursion > 0) { + return subMeshPtr->subDivide(limitSize, maxRecursion - 1); + } + + return subMeshPtr; + } + + float Mesh::meanEdgeSize() const + { + double sumSizes = 0; + for (const auto& t : triangles()) { + const auto& v1 = vertices()[t[0]]; + const auto& v2 = vertices()[t[1]]; + const auto& v3 = vertices()[t[2]]; + sumSizes += (double)((v1 - v2).norm() + (v2 - v3).norm() + (v3 - v1).norm()); + } + + return (float)(sumSizes / (3 * triangles().size())); + } + + Mesh::Ptr Mesh::clone() const + { + auto outMesh = std::make_shared(_gl.bufferGL != nullptr); + outMesh->vertices(vertices()); + outMesh->triangles(triangles()); + + if (hasNormals()) { + outMesh->normals(normals()); + } + + if (hasColors()) { + outMesh->colors(colors()); + } + + if (hasTexCoords()) { + outMesh->texCoords(texCoords()); + } + + return outMesh; + } + + void Mesh::merge(const Mesh& other) + { + bool withGraphics = (_gl.bufferGL != nullptr); + + if (_vertices.empty()) + { + this->operator = (other); + } + else + { + Vertices vertices; + Normals normals; + Colors colors; + UVs texcoords; + + const uint offset = static_cast(_vertices.size()); + Vector3u triOffset(offset, offset, offset); + Triangles triangles = other.triangles(); + + for (Vector3u& t : triangles) + t += triOffset; + + + if (hasNormals()) + _normals.insert(_normals.end(), other.normals().begin(), other.normals().end()); + + if (hasColors()) + _colors.insert(_colors.end(), other.colors().begin(), other.colors().end()); + + if (hasTexCoords()) + _texcoords.insert(_texcoords.end(), other.texCoords().begin(), other.texCoords().end()); + + + _vertices.insert(_vertices.end(), other.vertices().begin(), other.vertices().end()); + _triangles.insert(_triangles.end(), triangles.begin(), triangles.end()); + + } + + if (withGraphics) + _gl.bufferGL.reset(new MeshBufferGL); + } + + void sibr::Mesh::makeWhole(void) + { + if (!hasNormals()) + _normals = Normals(vertices().size()); + + if (!hasColors()) + _colors = Colors(vertices().size()); + + if (!hasTexCoords()) + _texcoords = UVs(vertices().size()); + + } + + void Mesh::eraseTriangles(const std::vector& faceIDList) + { + uint indexMax = 0; + for (uint i = 0; i < triangles().size(); ++i) + indexMax = std::max(indexMax, triangles()[i].maxCoeff()); + + std::vector faceToErase(triangles().size(), false); + for (uint faceID : faceIDList) + faceToErase[faceID] = true; + + + Mesh::Triangles newTris; + Mesh::Vertices newVerts; + std::vector indexRemap(indexMax + 1, -1); + + newTris.reserve(triangles().size()); + newVerts.reserve(vertices().size()); + + for (uint i = 0; i < triangles().size(); ++i) + { + if (faceToErase[i]) + continue; + + Vector3u t = triangles()[i]; + Vector3u newT; + for (uint j = 0; j < 3; ++j) + { + if (indexRemap[t[j]] == -1) + { + indexRemap[t[j]] = (int)newVerts.size(); + newVerts.push_back(vertices().at(t[j])); + } + newT[j] = (uint)indexRemap[t[j]]; + + } + + newTris.push_back(newT); + } + + if (hasColors()) + { + Mesh::Colors newColors(newVerts.size()); + for (uint i = 0; i < indexRemap.size(); ++i) + if (indexRemap[i] != -1) + newColors[indexRemap[i]] = colors().at(i); + colors(newColors); + } + + if (hasNormals()) + { + Mesh::Normals newNormals(newVerts.size()); + for (uint i = 0; i < indexRemap.size(); ++i) + if (indexRemap[i] != -1) + newNormals[indexRemap[i]] = normals().at(i); + normals(newNormals); + } + + + if (hasTexCoords()) + { + Mesh::UVs newUVs(newVerts.size()); + for (uint i = 0; i < indexRemap.size(); ++i) + if (indexRemap[i] != -1) + newUVs[indexRemap[i]] = texCoords().at(i); + texCoords(newUVs); + } + + triangles(newTris); + vertices(newVerts); + } + + std::vector > Mesh::removeDisconnectedComponents() + { + std::vector > allComponents; + + std::vector> v_triangles(vertices().size()); + int t_id = 0; + for (const auto& t : triangles()) { + for (int k = 0; k < 3; ++k) { + v_triangles[t[k]].push_back(t_id); + } + ++t_id; + } + + + std::vector wasVisited(vertices().size(), false); + int v_id = 0; + for (const auto& v : vertices()) { + + if (!wasVisited[v_id]) { + std::priority_queue next_ids; + next_ids.push(v_id); + wasVisited[v_id] = true; + + std::vector component; + + while (next_ids.size() > 0) { + int next_id = next_ids.top(); + next_ids.pop(); + component.push_back(next_id); + + for (int t : v_triangles[next_id]) { + for (int k = 0; k < 3; ++k) { + int other_v_id = triangles()[t][k]; + if (!wasVisited[other_v_id]) { + next_ids.push(other_v_id); + wasVisited[other_v_id] = true; + } + } + } + } + + allComponents.emplace_back(component); + } + ++v_id; + } + + return allComponents; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Mesh.hpp b/SIBR_viewers/src/core/graphics/Mesh.hpp new file mode 100644 index 0000000000..4a06d50a2f --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Mesh.hpp @@ -0,0 +1,566 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include + +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" +# include "core/graphics/MeshBufferGL.hpp" +# include "core/graphics/Image.hpp" + +// Be sure to use STL objects from client's dll version by exporting this declaration (see warning C4251) +//template class SIBR_GRAPHICS_EXPORT std::vector; +//template class SIBR_GRAPHICS_EXPORT std::vector; + +namespace sibr +{ + /** Store both CPU and GPU data for a geometric mesh. + Provide many processing and display methods. + \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT Mesh + { + SIBR_CLASS_PTR(Mesh); + + public: + + typedef std::vector Vertices; + typedef std::vector Normals; + typedef std::vector Triangles; + typedef std::vector Colors; + typedef std::vector UVs; + + /** Mesh rendering mode. */ + enum RenderMode + { + PointRenderMode, + LineRenderMode, + FillRenderMode + }; + + /** Mesh rendering options. */ + struct RenderingOptions { + bool depthTest = true; ///< Should depth test be performed. + bool backFaceCulling = true; ///< Should back faces be culled. + RenderMode mode = FillRenderMode; ///< Rendering mode: points, lines, filled. + bool frontFaceCulling = false; ///< Cull fornt faces. + bool invertDepthTest = false; ///< Invert the depth test. + bool tessellation = false; ///< Is there a tessellation shader + bool adjacency = false; + }; + + + public: + + /** Constructor. + \param withGraphics init associated OpenGL buffers object (requires an openGL context) + */ + Mesh( bool withGraphics = true ); + + /** Set vertices. + \param vertices the new vertices + */ + inline void vertices(const Vertices& vertices); + + /** Set vertices from a vector of floats (linear). + \param vertices the new vertices + */ + void vertices( const std::vector& vertices ); + + /** \return a reference to the vertices. */ + inline const Vertices& vertices( void ) const; + + /** Update a specific vertex position + \param vertex_id the vertex location in the list + \param v the new value + \note If the mesh is used by the GPU, data will be udpated. + */ + inline void replaceVertice(int vertex_id, const sibr::Vector3f & v) ; + + /** \return a deep copy of the mesh. */ + Mesh::Ptr clone() const; + + /** \return vertices in an array using the following format: + {0x, 0y, 0z, 1x, 1y, 1z, 2x, 2y, 2z, ...}. + Useful for rendering and converting to another mesh + struct. + */ + inline const float* vertexArray( void ) const; + + /** Set triangles. Each triangle contains 3 indices and + each indice correspond to a vertex in the vertices list. + \param triangles the list of indices to use + */ + inline void triangles(const Triangles& triangles); + + /** Set triangles. Using a flat vector of uints. + \param triangles the new indices + */ + void triangles(const std::vector& triangles); + + /** \return a reference to the triangles list. */ + inline const Triangles& triangles( void ) const; + + /** \return triangles in an array using the following format: + {0a, 0b, 0c, 1a, 1b, 1c, 2a, 2b, 2c, ...}. + Useful for rendering and converting to another mesh + struct. + */ + inline const uint* triangleArray( void ) const; + + /** Set vertex colors. + \param colors the new vertex colors + */ + inline void colors( const Colors& colors ); + + /** \return a reference to the vertex color list. */ + inline const Colors& colors( void ) const; + + /** \return true if each vertex has a color assigned. */ + inline bool hasColors( void ) const; + + /** \return colors in an array using the following format: + {0r, 0g, 0b, 1r, 1g, 1b, 2r, 2g, 2b, ...}. + Useful for rendering and converting to another mesh + struct.*/ + inline const float* colorArray( void ) const; + + /** Set vertex texture coordinates. + \param texcoords the new vertex texture coordinates + */ + inline void texCoords( const UVs& texcoords ); + + /** Set texture coordinates using a flat vector of floats. + \param texcoords the new vertex texture coordinates + */ + void texCoords( const std::vector& texcoords ); + + /** \return a reference to the vertex texture coordinates list. */ + inline const UVs& texCoords( void ) const; + + /** \return true if each vertex has texture coordinates assigned. */ + inline bool hasTexCoords( void ) const; + + /** \return texture coordinate in an array using the following format: + {0u, 0v, 1u, 1v, 2u, 2v, ...} + Useful for rendering and converting to another mesh + struct.*/ + inline const float* texCoordArray( void ) const; + + /** \return texture image file name */ + std::string getTextureImageFileName() const { return _textureImageFileName; } + + /** Set vertex normals. + \param normals the new vertex normals + */ + inline void normals(const Normals& normals); + + /** Set normals using a flat vector of floats. + \param normals the new vertex normals + */ + void normals(const std::vector& normals); + + /** \return a reference to the vertex normals list. */ + inline const Normals& normals( void ) const; + + /** \return true if each vertex has a normal assigned. */ + inline bool hasNormals( void ) const; + + /** \return normals in an array using the following format: + {0x, 0y, 0z, 1x, 1y, 1z, 2x, 2y, 2z, ...}. + Useful for rendering and converting to another mesh + struct.*/ + inline const float* normalArray( void ) const; + + /** Make the mesh whole, ie it will have default values for all components (texture, materials, colors, etc) + It is useful when merging two meshes. If the second one is missing some attributes, the merging will break the mesh state if it isn't made whole. + */ + void makeWhole(void); + + /** Generate vertex normals by using the average of + all triangle normals around a each vertex. + */ + void generateNormals( void ); + + /** Generate smooth vertex normals by using the average of + all triangle normals around a each vertex and iterating this process. + Takes also the area of triangles as a weight. + \param numIter iteration count + */ + void generateSmoothNormals(int numIter); + + /** Generate smooth vertex normals by using the average of + all triangle normals around a each vertex and iterating this process. + Takes also the area of triangles as a weight. + This methods also consider the fact that because of texture coordinates we may have duplicates vertices + \param numIter iteration count + */ + void generateSmoothNormalsDisconnected(int numIter); + + /** Perform laplacian smoothing on the mesh vertices. + \param numIter smoothing iteration count + \param updateNormals should the normals be recomputed after smoothing + */ + void laplacianSmoothing(int numIter, bool updateNormals); + + /** Perform adaptive Taubin smoothing on the mesh vertices. + \param numIter smoothing iteration count + \param updateNormals should the normals be recomputed after smoothing + */ + void adaptativeTaubinSmoothing(int numIter, bool updateNormals); + + /** Generate a new mesh given a boolean function that + state if each vertex should be kept or not. + \param func the function that, based on a vertex ID, tells if it should be kept or not + \return the submesh + */ + Mesh generateSubMesh(std::function func) const; + + /** Load a mesh from the disk. + \param filename the file path + \return a success flag + \note Supports OBJ and PLY for now. + */ + bool load( const std::string& filename, const std::string& dataset_path = "" ); + /* test for SfM */ + bool loadSfM( const std::string& filename, const std::string& dataset_path = "" ); + + /** Load a scene from a set of mitsuba XML scene files (referencing multiple OBJs/PLYs). + It handles instances (duplicating the geoemtry and applying the per-instance transformation). + \param filename the file path + \return a success flag + */ + bool loadMtsXML(const std::string& filename); + + /** Save the mesh to the disk. When saving as a PLY, use the universal flag to indicate if you want this mesh to be readable + by most 3d applications (e.g. MeshLab). In this other case, the mesh will be saved with higher-precision custom PLY attributes. + \param filename the file path + \param universal if true, the mesh will be compatible with external 3D viewers + \param textureName name of a texture to reference in the file (Meshlab compatible) + \note Supports OBJ (ignoring the universal flag) and PLY for now. + */ + void save( const std::string& filename, bool universal=false, const std::string& textureName="TEXTURE_NAME_TO_PUT_IN_THE_FILE" ) const; + + /** Save the mesh to .ply file (using the binary version). + \param filename the file path + \param universal indicates if you want this mesh to be readable by most 3d viewer application (e.g. MeshLab). In this other case, the mesh will be saved with higher-precision custom PLY attributes. + \param textureName name of a texture to reference in the file (Meshlab compatible) + */ + bool saveToBinaryPLY( const std::string& filename, bool universal=false, const std::string& textureName = "TEXTURE_NAME_TO_PUT_IN_THE_FILE") const; + + /** Save the mesh to .ply file (using the ASCII version). + \param filename the file path + \param universal indicates if you want this mesh to be readable by most 3d viewer application (e.g. MeshLab). + \param textureName name of a texture to reference in the file (Meshlab compatible) + In this other case, the mesh will be saved with higher-precision custom PLY attributes. + */ + bool saveToASCIIPLY( const std::string& filename, bool universal=false, const std::string& textureName="TEXTURE_NAME_TO_PUT_IN_THE_FILE" ) const; + + /** Save the mesh to .obj file. + \param filename the file path + \warning the vertex colros won't be saved + */ + bool saveToObj( const std::string& filename) const; + + /* Export to OFF file format stream, can be used to convert to CGAL mesh data structures. + \param verbose display additional info + \return a stream containing the content of the mesh in the OFF format + */ + std::stringstream getOffStream(bool verbose = false) const; + + /* Load from OFF file format stream, can be used to convert from CGAL mesh data structures. + \param stream a stream containing the content of the mesh in the OFF format + \param generateNormals should the normals be generated + */ + void fromOffStream(std::stringstream& stream, bool generateNormals = true); + + /** Render the geometry using OpenGL. + \param depthTest should depth testing be performed + \param backFaceCulling should culling be performed + \param mode the primitives rendering mode + \param frontFaceCulling should the culling test be flipped + \param invertDepthTest should the depth test be flipped (GL_GREATER_THAN) + \param tessellation should the rendering call tesselation shaders + \param adjacency should we get adjacent triangles info in geometry shader + */ + void render( + bool depthTest = true, + bool backFaceCulling = true, + RenderMode mode = FillRenderMode, + bool frontFaceCulling = false, + bool invertDepthTest = false, + bool tessellation = false, + bool adjacency = false + ) const; + + /** Render a part of the geometry (taken either from the index buffer or directly in the vertex buffer) using OpenGL. + \param begin first item to render index + \param end last item to render index + \param depthTest should depth testing be performed + \param backFaceCulling should culling be performed + \param mode the primitives rendering mode + \param frontFaceCulling should the culling test be flipped + \param invertDepthTest should the depth test be flipped (GL_GREATER_THAN) + */ + void renderSubMesh(unsigned int begin, unsigned int end, + bool depthTest = true, + bool backFaceCulling = true, + RenderMode mode = FillRenderMode, + bool frontFaceCulling = false, + bool invertDepthTest = false + ) const; + + /** Force upload of data to the GPU. + \param adjacency should we give adjacent triangles info in buffer + */ + void forceBufferGLUpdate( bool adjacency = false ) const; + + /** Delete GPU mesh data. */ + void freeBufferGLUpdate(void) const; + + /** Render the mesh vertices as points. + \param depthTest should depth testing be performed + */ + void render_points(bool depthTest) const; + + /** Render the mesh vertices as points. + \note The depth test state will be whatever it is currently set to. + */ + void render_points(void) const; + + /** Render the mesh vertices as successive lines. + \note The depth test state will be whatever it is currently set to. + */ + void render_lines(void) const; + + /** Merge another mesh into this one. + \param other the mesh to merge + \sa makeWhole + */ + void merge( const Mesh& other ); + + /** Erase some of the triangles. + \param faceIDList a list of triangle IDs to erase + */ + void eraseTriangles(const std::vector& faceIDList); + + /** Submesh extraction options. */ + enum class VERTEX_LIST_CHOICE { KEEP, REMOVE }; + + /** Submesh structure. */ + struct SubMesh { + std::shared_ptr meshPtr; ///< Mesh composed of the extracted vertices. + std::vector complementaryVertices; /// < Vertices present in at least one removed triangle, can be used as an arg to extractSubMesh() to get the complementary mesh. + }; + + /** Extract a submesh based on a list of vertices to keep/remove. + \param vertices a list of vertex indices + \param v_choice should the listed vertices be removed or kept + \return the extracted submesh with additional information + */ + SubMesh extractSubMesh(const std::vector & vertices, VERTEX_LIST_CHOICE v_choice) const; + + /** \return a copy of the mesh with inverted faces (flipping IDs). */ + sibr::Mesh invertedFacesMesh() const; + + /** \return a copy of the mesh with "doubled" faces (obtained by merging the current mesh with a copy with inverted faces. */ + sibr::Mesh::Ptr invertedFacesMesh2() const; + + /** \return the path the mesh was loaded from. */ + inline const std::string getMeshFilePath( void ) const; + + /** \return the mesh bouding box. */ + Eigen::AlignedBox getBoundingBox( void ) const; + + /** \return the mesh centroid. */ + sibr::Vector3f centroid() const; + + /** Estimated the mesh bounding sphere. + \param outCenter will contain the sphere center + \param outRadius will contain the sphere radius + \param referencedOnly if true, only consider vertices that are part of at least one face + \param usePCcenter if true, only consider vertices for center computation. Intended to be true when using the function on point clouds. + */ + void getBoundingSphere(Vector3f& outCenter, float& outRadius, bool referencedOnly=false, bool usePCcenter=false) const; + + /** Subdivide a mesh triangles until an edge size threshold is reached. + \param limitSize the maximum edge length allowed + \param maxRecursion maximum subdivision iteration count + \return the subdivided mesh + \bug SR: Can be stuck in a loop in some cases. + */ + sibr::Mesh::Ptr subDivide(float limitSize, size_t maxRecursion = std::numeric_limits::max()) const; + + /** \return the mean edge size computed over all triangles. */ + float meanEdgeSize() const; + + /** Split a mesh in its connected components. + \return a list of list of vertex indices, each list defining a component + */ + std::vector > removeDisconnectedComponents(); + + /** Generate a simple cube with normals. + \param withGraphics should the mesh be on the GPU + \return a cube mesh + */ + static sibr::Mesh::Ptr getTestCube(bool withGraphics = true); + + /** Generate a sphere mesh. + \param center the sphere center + \param radius the sphere radius + \param withGraphics should the mesh be on the GPU + \param precision number of subdivisions on each dimension + \return the sphere mesh + */ + static Mesh::Ptr getSphereMesh(const Vector3f& center, float radius, bool withGraphics = true, int precision = 50); + + /** Environment sphere generation options: top/bottom parts or both. */ + enum class PartOfSphere {WHOLE, UP, BOTTOM}; + + /* Generate a simple environment sphere with UVs coordinates to use with lat-long environment maps. + \param center the sphere center + \param radius the sphere radius + \param zenith the up axis to orient the sphere around + \param north the horizontal north axis + \param part which aprt of the sphere should be generated + \return the sphere mesh + */ + static sibr::Mesh::Ptr getEnvSphere(sibr::Vector3f center, float radius, sibr::Vector3f zenith, sibr::Vector3f north, + PartOfSphere part = PartOfSphere::WHOLE); + + protected: + + /** Wrapper around a MeshBuffer, used to prevent copying OpenGL object IDs. */ + struct BufferGL + { + /** Default constructor. */ + BufferGL(void) : dirtyBufferGL(true), bufferGL(nullptr) { } + + /** Copy constructor. Copy the GPU buffers wrapper if it exists. + \param other object to copy. + */ + BufferGL(const BufferGL& other) { operator =(other); } + + /** Copy operator. Copy the GPU buffers wrapper if it exists. + \param other object to copy. + \return itself + */ + BufferGL& operator =(const BufferGL& other) { + bufferGL.reset(other.bufferGL? new MeshBufferGL() : nullptr); + dirtyBufferGL = (other.bufferGL!=nullptr); + return *this; + } + + bool dirtyBufferGL; ///< Should GL data be updated. + std::unique_ptr bufferGL; ///< Internal OpenGL data. + }; + public: mutable BufferGL _gl; ///< Internal OpenGL data. + + // Seb: It would be better if MeshBufferGL (and GL stuffs) were outside this class. + // It should work exactly like Image (CPU, here it's Mesh) and Texture(GPU version + // of Image, here it's MeshBufferGL) + + Vertices _vertices; ///< Vertex positions. + Triangles _triangles; ///< Triangle indices. + Normals _normals; ///< Vertex normals. + Colors _colors; ///< Vertex colors. + UVs _texcoords; ///< Vertex UVs. + + private: + std::string _meshPath; ///< Source path, can be used to reload the mesh with/without graphics option in constructor + std::string _textureImageFileName; // filename of texture image + mutable RenderingOptions _renderingOptions; // Keeps last rendering options + }; + + ///// DEFINITION ///// + + void Mesh::vertices( const Vertices& vertices ) { + _vertices = vertices; _gl.dirtyBufferGL = true; + } + + const Mesh::Vertices& Mesh::vertices( void ) const { + return _vertices; + } + + inline void Mesh::replaceVertice(int vertex_id, const sibr::Vector3f & v) + { + if (vertex_id >= 0 && vertex_id < (int)(vertices().size())) { + _vertices[vertex_id] = v; + _gl.dirtyBufferGL = true; + } + } + + void Mesh::triangles( const Triangles& triangles ) { + _triangles = triangles; _gl.dirtyBufferGL = true; + } + + const Mesh::Triangles& Mesh::triangles( void ) const { + return _triangles; + } + + void Mesh::colors( const Colors& colors ) { + _colors = colors; _gl.dirtyBufferGL = true; + } + const Mesh::Colors& Mesh::colors( void ) const { + return _colors; + } + bool Mesh::hasColors( void ) const { + return (_vertices.size() > 0 && _vertices.size() == _colors.size()); + } + + void Mesh::normals( const Normals& normals ) { + _normals = normals; _gl.dirtyBufferGL = true; + } + const Mesh::Normals& Mesh::normals( void ) const { + return _normals; + } + bool Mesh::hasNormals( void ) const { + return (_vertices.size() > 0 && _vertices.size() == _normals.size()); + } + + const float* Mesh::vertexArray( void ) const { + return _vertices.empty()? nullptr : &(_vertices[0][0]); + } + const uint* Mesh::triangleArray( void ) const { + return _triangles.empty() ? nullptr : &(_triangles[0][0]); + } + const float* Mesh::colorArray( void ) const { + return _colors.empty() ? nullptr : &(_colors[0][0]); + } + const float* Mesh::normalArray( void ) const { + return _normals.empty() ? nullptr : &(_normals[0][0]); + } + + void Mesh::texCoords( const UVs& texcoords ) { + _texcoords = texcoords; _gl.dirtyBufferGL = true; + } + + const Mesh::UVs& Mesh::texCoords( void ) const { + return _texcoords; + } + + bool Mesh::hasTexCoords( void ) const { + return (_vertices.size() > 0 && _vertices.size() == _texcoords.size()); + //return !_texcoords.empty(); + } + + const float* Mesh::texCoordArray( void ) const { + return _texcoords.empty() ? nullptr : &(_texcoords[0][0]); + } + + //*/ + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/MeshBufferGL.cpp b/SIBR_viewers/src/core/graphics/MeshBufferGL.cpp new file mode 100644 index 0000000000..3ab64a76e3 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/MeshBufferGL.cpp @@ -0,0 +1,331 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/Mesh.hpp" +#include "core/graphics/MeshBufferGL.hpp" + +#include + +namespace sibr +{ + template + static std::vector prepareVertexData( + const std::vector& fromData, uint numVertices ) + { + static_assert(sizeof(TFrom) >= sizeof(TTo), + "Conversion not automatically managed with these two types"); + /*constexpr*/ const uint typeSize = sizeof(TFrom)/sizeof(TTo); + static_assert((typeSize*sizeof(TTo)) == sizeof(TFrom), + "Provided types have not a correct size"); + + if (fromData.empty()) + return std::vector(); // empty + //// If no data available, generate null ones + //if (fromData.empty()) + // return std::vector(numIndices*typeSize, 0); + + // We are supposed to have ONE data element per Vertex + SIBR_ASSERT(fromData.size() == numVertices); + + const TTo* beginptr = reinterpret_cast(fromData.data()); + const TTo* endptr = beginptr + (fromData.size()*typeSize); + return std::vector(beginptr, endptr); + } + + template + static void appendVertexData( + std::vector& toData, + const std::vector& fromData) + { + if (fromData.empty()) + return; + + /*constexpr*/ const uint typeSize = sizeof(TFrom)/sizeof(TTo); + static_assert((typeSize*sizeof(TTo)) == sizeof(TFrom), + "Provided types have not a correct size"); + + const TTo* beginptr = reinterpret_cast(fromData.data()); + const TTo* endptr = beginptr + (fromData.size()*typeSize); + toData.insert(toData.end(), beginptr, endptr); + } + + template + static inline uint getVectorDataSize( const std::vector& v ) + { + return (uint)(sizeof(T)*v.size()); + } + //=========================================================================== + + MeshBufferGL::MeshBufferGL( void ) + : _vaoId(0), _indexCount(0), _adjacentIndexCount(0), _vertexCount(0) + { + _bufferIds.fill(0); + } + + MeshBufferGL::~MeshBufferGL( void ) + { + free(); + } + + MeshBufferGL::MeshBufferGL( MeshBufferGL&& other ) : + _vaoId (std::move(other._vaoId)), + _bufferIds (std::move(other._bufferIds)), + _indexCount (std::move(other._indexCount)), + _adjacentIndexCount (std::move(other._adjacentIndexCount)), + _vertexCount (std::move(other._vertexCount)) + { + } + + MeshBufferGL& MeshBufferGL::operator =( MeshBufferGL&& other ) + { + _vaoId = std::move(other._vaoId); + _bufferIds = std::move(other._bufferIds); + _indexCount = std::move(other._indexCount); + _adjacentIndexCount = std::move(other._adjacentIndexCount); + _vertexCount = std::move(other._vertexCount); + + return *this; + } + + void MeshBufferGL::fetchIndices( const Mesh& mesh, bool adjacency ) + { + // Create buffer for indices (called elements in opengl) + std::vector indices; + + if(adjacency) { + + std::unordered_map, GLuint, hash_pair> trianglesByEdges(mesh.triangles().size() * 3); + indices.reserve(mesh.triangles().size() * 6); + + for(int i = 0; i < mesh.triangles().size(); i++) + { + // store triangles vertices by edges + + trianglesByEdges.insert({ { mesh.triangles()[i][0], mesh.triangles()[i][1] }, mesh.triangles()[i][2] }); + trianglesByEdges.insert({ { mesh.triangles()[i][1], mesh.triangles()[i][2] }, mesh.triangles()[i][0] }); + trianglesByEdges.insert({ { mesh.triangles()[i][2], mesh.triangles()[i][0] }, mesh.triangles()[i][1] }); + } + + for (int i = 0; i < mesh.triangles().size(); i++) + { + // input triangle + // 1 - 2 + // \ / + // 0 + + // adjacency list + // 3 + // / \ + // 2 - 4 + // / \ / \ + // 1 - 0 - 5 + + // use reverse edges to find adjacent triangles + + // 0 + indices.push_back(mesh.triangles()[i][0]); + // 1 + indices.push_back(trianglesByEdges[{ mesh.triangles()[i][1], mesh.triangles()[i][0] }]); + // 2 + indices.push_back(mesh.triangles()[i][1]); + // 3 + indices.push_back(trianglesByEdges[{ mesh.triangles()[i][2], mesh.triangles()[i][1] }]); + // 4 + indices.push_back(mesh.triangles()[i][2]); + // 5 + indices.push_back(trianglesByEdges[{ mesh.triangles()[i][0], mesh.triangles()[i][2] }]); + } + + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _bufferIds[BUFADJINDEX]); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(GLuint)*indices.size(), indices.data(), GL_STATIC_DRAW); + _adjacentIndexCount = (uint)indices.size(); + + CHECK_GL_ERROR; + } + else { + + indices.insert(indices.begin(), mesh.triangleArray(), mesh.triangleArray() + mesh.triangles().size()*3); + + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _bufferIds[BUFINDEX]); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(GLuint)*indices.size(), indices.data(), GL_STATIC_DRAW); + _indexCount = (uint)indices.size(); + + CHECK_GL_ERROR; + } + } + + void MeshBufferGL::build( const Mesh& mesh, bool adjacency ) + { + if (!_vaoId) + { + glGenVertexArrays(1, &_vaoId); + glGenBuffers(BUFCOUNT, &_bufferIds[0]); + } + + glBindVertexArray(_vaoId); + + CHECK_GL_ERROR; + + fetchIndices(mesh, false); + + if(adjacency) + fetchIndices(mesh, true); + + uint numVertices = (uint)mesh.vertices().size(); + _vertexCount = numVertices; + //SIBR_DEBUG(mesh.triangles().size()); + std::vector vertices = prepareVertexData( + mesh.vertices(), numVertices); + std::vector colors = prepareVertexData( + mesh.colors(), numVertices); + std::vector texcoords = prepareVertexData( + mesh.texCoords(), numVertices); + std::vector normals = prepareVertexData( + mesh.normals(), numVertices); + + // Following this order: + //VertexAttribLocation = 0, + //ColorAttribLocation = 1, + //TexCoordAttribLocation = 2, + //NormalAttribLocation = 3, + + // Every data (from different types) are all put together into vertexData + std::vector vertexData; + vertexData.reserve( + getVectorDataSize(vertices) + + getVectorDataSize(colors) + + getVectorDataSize(texcoords)+ + getVectorDataSize(normals)); + + appendVertexData(vertexData, vertices); + appendVertexData(vertexData, colors); + appendVertexData(vertexData, texcoords); + appendVertexData(vertexData, normals); + + glBindBuffer(GL_ARRAY_BUFFER, _bufferIds[BUFVERTEX]); + glBufferData(GL_ARRAY_BUFFER, sizeof(uint8)*vertexData.size(), vertexData.data(), GL_STATIC_DRAW); + CHECK_GL_ERROR; + + glVertexAttribPointer(VertexAttribLocation, 3, GL_FLOAT, GL_FALSE, 0, (uint8_t*)(0)); + glEnableVertexAttribArray(VertexAttribLocation); + glVertexAttribPointer(ColorAttribLocation, 3, GL_FLOAT, GL_FALSE, 0, (uint8_t*)(0) + getVectorDataSize(vertices)); + glEnableVertexAttribArray(ColorAttribLocation); + glVertexAttribPointer(TexCoordAttribLocation, 2, GL_FLOAT, GL_FALSE, 0, (uint8_t*)(0) + getVectorDataSize(vertices) + getVectorDataSize(colors)); + glEnableVertexAttribArray(TexCoordAttribLocation); + glVertexAttribPointer(NormalAttribLocation, 3, GL_FLOAT, GL_FALSE, 0, (uint8_t*)(0) + getVectorDataSize(vertices) + getVectorDataSize(colors) + getVectorDataSize(texcoords)); + glEnableVertexAttribArray(NormalAttribLocation); + + /// \todo TODO: + /// We could ignore attrib that are empty (where mesh.colors().empty() == true, don't do anything with this). + /// This could improve a bit performances. + + glBindVertexArray(0); + } + + void MeshBufferGL::free(void) + { + if (_bufferIds[0] && _bufferIds[1] && _bufferIds[2]) + { + glDeleteBuffers(3, _bufferIds.data()); + _bufferIds.fill(0); + } + + if (_vaoId) + { + glDeleteVertexArrays(1, &_vaoId); + _vaoId = 0; + } + } + + void MeshBufferGL::draw(bool adjacency) const + { + glBindVertexArray(_vaoId); + + if(adjacency) + { + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _bufferIds[BUFADJINDEX]); + glDrawElements(GL_TRIANGLES_ADJACENCY, _adjacentIndexCount, GL_UNSIGNED_INT, (void*)0); + } + else + { + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _bufferIds[BUFINDEX]); + glDrawElements(GL_TRIANGLES, _indexCount, GL_UNSIGNED_INT, (void*)0); + } + + glBindVertexArray(0); + } + + void MeshBufferGL::draw(unsigned int begin, unsigned int end, bool adjacency) const + { + const unsigned int count = end-begin; + glBindVertexArray(_vaoId); + + if(adjacency) + { + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _bufferIds[BUFADJINDEX]); + glDrawElements(GL_TRIANGLES_ADJACENCY, count, GL_UNSIGNED_INT, (void*)(sizeof(GLuint) * begin)); + } + else + { + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _bufferIds[BUFINDEX]); + glDrawElements(GL_TRIANGLES, count, GL_UNSIGNED_INT, (void*)(sizeof(GLuint) * begin)); + } + + glBindVertexArray(0); + } + + void MeshBufferGL::drawTessellated(void) const + { + glBindVertexArray(_vaoId); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _bufferIds[BUFINDEX]); + glDrawElements(GL_PATCHES, _indexCount, GL_UNSIGNED_INT, (void*)0); + glBindVertexArray(0); + } + + void MeshBufferGL::draw_lines(void) const + { + glBindVertexArray(_vaoId); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, _bufferIds[BUFINDEX]); + glDrawElements(GL_LINES, _indexCount, GL_UNSIGNED_INT, (void*)0); + glBindVertexArray(0); + } + + void MeshBufferGL::draw_points() const + { + glBindVertexArray(_vaoId); + glDrawArrays(GL_POINTS, 0, _vertexCount); + glBindVertexArray(0); + } + + void MeshBufferGL::draw_points(unsigned int begin, unsigned int end) const + { + const unsigned int count = end - begin + 1; + glBindVertexArray(_vaoId); + glDrawArrays(GL_POINTS, begin, count); + glBindVertexArray(0); + } + + void MeshBufferGL::bind(void) const + { + glBindVertexArray(_vaoId); + } + + void MeshBufferGL::unbind(void) const + { + glBindVertexArray(0); + + } + + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/MeshBufferGL.hpp b/SIBR_viewers/src/core/graphics/MeshBufferGL.hpp new file mode 100644 index 0000000000..1ad9ebac41 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/MeshBufferGL.hpp @@ -0,0 +1,164 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include "core/graphics/Config.hpp" + + +namespace sibr +{ + template + static std::vector prepareVertexData(const std::vector& fromData, uint numVertices); + + template + static void appendVertexData(std::vector& toData, const std::vector& fromData); + + template + static uint getVectorDataSize(const std::vector& v); + + + class Mesh; + + /** + * This class is used to render mesh. It act like a vertex buffer object + * (in reality there also a vertex array object and maybe other data). + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT MeshBufferGL + { + public: + + /** Predefined shader attribute location. */ + enum AttribLocation + { + VertexAttribLocation = 0, + ColorAttribLocation = 1, + TexCoordAttribLocation = 2, + NormalAttribLocation = 3, + + AttribLocationCount + }; + + /** Predefined buffer location. */ + enum + { + BUFINDEX = 0, + BUFVERTEX = 1, + BUFADJINDEX = 2, + + BUFCOUNT + }; + + // A hash function used to hash a pair of any kind + struct hash_pair { + template + size_t operator()(const std::pair& p) const + { + auto hash1 = std::hash{}(p.first); + auto hash2 = std::hash{}(p.second); + return hash1 ^ hash2; + } + }; + + public: + + /// Constructor. + MeshBufferGL( void ); + + /// Destructor. + ~MeshBufferGL( void ); + + /// Move constructor. + MeshBufferGL( MeshBufferGL&& other ); + + /// Move operator. + MeshBufferGL& operator =( MeshBufferGL&& other ); + + /** Fetch indices from a mesh to insert them in the element buffer + * \param mesh the mesh to upload + * \param adjacency tells whether the indices should contain adjacents vertices + * \note This function can't fail (errors stop the program with a message). + */ + void fetchIndices( const Mesh& mesh, bool adjacency = false ); + + /** Build from a mesh so you can then draw() it to render it. + * \param mesh the mesh to upload + * \param adjacency tells whether the indices should contain adjacents vertices + * \note This function can't fail (errors stop the program with a message). + */ + void build( const Mesh& mesh, bool adjacency = false ); + + /** Delete the GPU buffer, freeing memory. */ + void free(void); + + /** This bind and draw elements stored in the buffer. + \param adjacency adds adjacent triangles info to geometry shader + */ + void draw(bool adjacency = false) const; + + /** This bind and draw elements in [begin, end[ stored in the buffer. + \param begin ID of the first primitive to render + \param end ID after the last primitive to render + \param adjacency adds adjacent triangles info to geometry shader + */ + void draw(unsigned int begin, unsigned int end, bool adjacency = false) const; + + /** This bind and draw elements stored in the buffer with tessellation shader enabled. */ + void drawTessellated(void) const; + + /** This bind and draw elements stored in the buffer, using pairs of indices to draw lines. */ + void draw_lines(void) const; + + /** This bind and draw vertex points stored in the buffer. */ + void draw_points( void ) const; + + /** This bind and draw vertex points in [begin, end[ stored in the buffer. + \param begin ID of the first primitive to render + \param end ID after the last primitive to render + */ + void draw_points( unsigned int begin, unsigned int end ) const; + + /** Bind the vertex and index buffers. */ + void bind(void) const; + + /** Bind only indexes (useful for combining with other form of mesh. e.g. SlicedMesh) */ + void bindIndices(void) const; + + /** Unbind arrays and buffers. */ + void unbind(void) const; + + /** Copy constructor (disabled). */ + MeshBufferGL(const MeshBufferGL&) = delete; + + /** Copy operator (disabled). */ + MeshBufferGL& operator =(const MeshBufferGL&) = delete; + + private: + + GLuint _vaoId; ///< Vertex array object ID. + std::array _bufferIds; ///< Buffers IDs. + uint _indexCount; ///< Number of elements in the index buffer. + uint _adjacentIndexCount; ///< Number of elements in the triangles_adjacency index buffer. + uint _vertexCount; ///< Number of elements in the vertex buffer. + + bool initVertexBuffer = false, + initIndexBuffer = false, + initAdjacentIndexBuffer = false; + }; + + ///// DEFINITION ///// + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/RenderTarget.cpp b/SIBR_viewers/src/core/graphics/RenderTarget.cpp new file mode 100644 index 0000000000..06b3bbcf8e --- /dev/null +++ b/SIBR_viewers/src/core/graphics/RenderTarget.cpp @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/RenderTarget.hpp" +//#define HEADLESS + +namespace sibr +{ + void blit(const IRenderTarget& src, const IRenderTarget& dst, GLbitfield mask, GLenum filter) + { +#ifdef HEADLESS + SIBR_ERR << "No named blit frame buffer in headless " << std::endl; +#else + glBlitNamedFramebuffer( + src.fbo(), dst.fbo(), + 0, 0, src.w(), src.h(), + 0, 0, dst.w(), dst.h(), + mask, filter); +#endif + } + + void blit_and_flip(const IRenderTarget& src, const IRenderTarget& dst, GLbitfield mask, GLenum filter) + { +#ifdef HEADLESS + SIBR_ERR << "No named blit frame buffer in headless " << std::endl; +#else + glBlitNamedFramebuffer( + src.fbo(), dst.fbo(), + 0, 0, src.w(), src.h(), + 0, dst.h(), dst.w(), 0, + mask, filter); +#endif + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/RenderTarget.hpp b/SIBR_viewers/src/core/graphics/RenderTarget.hpp new file mode 100644 index 0000000000..67fcab2df1 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/RenderTarget.hpp @@ -0,0 +1,664 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" +# include "core/graphics/Image.hpp" +# include "core/graphics/Types.hpp" +# include "core/system/Vector.hpp" +# include "core/graphics/RenderUtility.hpp" + + +# define SIBR_MAX_SHADER_ATTACHMENTS (1<<3) + +namespace sibr +{ + + + + /** Rendertarget interface. A render target wraps an OpenGL framebuffer, + * that can have one depth buffer, one stencil buffer, and one or more color attachments. + * This generic interface is typeless, \sa RenderTarget. + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT IRenderTarget + { + public: + typedef std::shared_ptr Ptr; + typedef std::unique_ptr UPtr; + public: + /// Destructor. + virtual ~IRenderTarget(void) { } + + /** Get the texture handle of the t-th color attachment. + \param t the color attachment slot + \return the texture handle + \deprecated Use handle instead. + */ + virtual GLuint texture(uint t = 0) const = 0; + + /** Get the texture handle of the t-th color attachment. + \param t the color attachment slot + \return the texture handle + */ + virtual GLuint handle(uint t = 0) const = 0; + + /** Bind the rendertarget for drawing. All color buffers are bound, along + with the depth and optional stencil buffers.*/ + virtual void bind(void) = 0; + + /** Unbind the rendertarget. + \note This will bind the window rendertarget. */ + virtual void unbind(void) = 0; + + /** Clear the content of the rendertarget. */ + virtual void clear(void) = 0; + + /** \return the rendertarget width. */ + virtual uint w(void) const = 0; + + /** \return the rendertarget height. */ + virtual uint h(void) const = 0; + + /** \return the framebuffer handle. */ + virtual GLuint fbo(void) const = 0; + }; + + /** + * A render target wraps an OpenGL framebuffer, that can have one depth buffer, + * one stencil buffer, and one or more color attachments. + * \sa IRenderTarget. + * \ingroup sibr_graphics + */ + template + class RenderTarget : public IRenderTarget { + SIBR_DISALLOW_COPY(RenderTarget); + public: + typedef Image PixelImage; + typedef typename PixelImage::Pixel PixelFormat; + typedef std::shared_ptr> Ptr; + typedef std::unique_ptr> UPtr; + + private: + + GLuint m_fbo = 0; ///< Framebuffer handle. + GLuint m_depth_rb = 0; ///< Depth renderbuffer handle. + GLuint m_stencil_rb = 0; ///< Stencil renderbuffer handle. + GLuint m_textures[SIBR_MAX_SHADER_ATTACHMENTS]; ///< Color texture handles. + uint m_numtargets = 0; ///< Number of active color attachments. + bool m_autoMIPMAP = false; ///< Generate mipmaps on the fly. + bool m_msaa = false; ///< Use multisampled targets. + bool m_stencil = false; ///< Has a stencil buffer. + uint m_W = 0; ///< Width. + uint m_H = 0; ///< Height. + + public: + + /// Constructor. + RenderTarget(void); + + /** Constructor and allocation. + \param w the target width + \param h the target height + \param flags options + \param num the number of color attachments. + */ + RenderTarget(uint w, uint h, uint flags = 0, uint num = 1); + + /// Destructor. + ~RenderTarget(void); + + /** Get the texture handle of the t-th color attachment. + \param t the color attachment slot + \return the texture handle + \deprecated Use handle instead. + */ + GLuint texture(uint t = 0) const; + + /** Get the texture handle of the t-th color attachment. + \param t the color attachment slot + \return the texture handle + */ + GLuint handle(uint t = 0) const; + + /** \return the depth buffer handle. */ + GLuint depthRB() const; + + /** Bind the rendertarget for drawing. All color buffers are bound, along + with the depth and optional stencil buffers.*/ + void bind(void); + + /** Unbind the rendertarget. + \note This will bind the window rendertarget. */ + void unbind(void); + + /** Clear the rendertarget buffers with default values. + * \warning This function will unbind the render target after clearing. + */ + void clear(void); + + /** Clear the rendertarget buffers, using a custom clear color. + * \param v the clear color + * \warning This function will unbind the render target after clearing. + * \bug This function does not rescale values for uchar (so background is either 0 or 1) + */ + void clear(const typename RenderTarget::PixelFormat& v); + + /** Clear the stencil buffer only. */ + void clearStencil(void); + + /** Clear the depth buffer only. */ + void clearDepth(void); + + /** Readback the content of a color attachment into an sibr::Image on the CPU. + \param image will contain the texture content + \param target the color attachment index to read + \warning Might cause a GPU flush/sync. + */ + template + void readBack(sibr::Image& image, uint target = 0) const; + + /** Readback the content of a color attachment into a cv::Mat on the CPU. + \param image will contain the texture content + \param target the color attachment index to read + \warning Might cause a GPU flush/sync. + */ + template + void readBackToCVmat(cv::Mat& image, uint target = 0) const; + + /** Readback the content of the depth attachment into an sibr::Image on the CPU. + \param image will contain the depth content + \warning Might cause a GPU flush/sync. + \warning Image orientation might be inconsistent with readBack (flip around horizontal axis). + */ + template + void readBackDepth(sibr::Image& image) const; + + /** \return the number of active color targets. */ + uint numTargets(void) const; + + /** \return the target width. */ + uint w(void) const; + + /** \return the target height. */ + uint h(void) const; + + /** \return the framebuffer handle. */ + GLuint fbo(void) const; + }; + + /** + Copy the content of a render target to another render target, resizing if needed. + \param src source rendertarget + \param dst destination rendertarget + \param mask which part of the buffer to copy (color, depth, stencil). + \param filter filtering mode if the two rendertargets have different dimensions (linear or nearest) + \note The blit can only happen for color attachment 0 in both src and dst. + \warning If the mask contains the depth or stencil, filter must be GL_NEAREST + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT void blit(const IRenderTarget& src, const IRenderTarget& dst, GLbitfield mask = GL_COLOR_BUFFER_BIT, GLenum filter = GL_LINEAR); + + /** + Copy the content of a render target to another render target, resizing if needed and flipping the result. + \param src source rendertarget + \param dst destination rendertarget + \param mask which part of the buffer to copy (color, depth, stencil). + \param filter filtering mode if the two rendertargets have different dimensions (linear or nearest) + \note The blit can only happen for color attachment 0 in both src and dst. + \warning If the mask contains the depth or stencil, filter must be GL_NEAREST + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT void blit_and_flip(const IRenderTarget& src, const IRenderTarget& dst, GLbitfield mask = GL_COLOR_BUFFER_BIT, GLenum filter = GL_LINEAR); + + /** Display a rendertarget color content in a popup window (backed by OpenCV). + \param rt the rendertarget to display + \param layer the color attachment to display + \param windowTitle name of the window + \param closeWindow should the window be closed when pressing a key + \ingroup sibr_graphics + */ + template + static void show( const RenderTarget & rt, uint layer=0, const std::string& windowTitle="sibr::show()" , bool closeWindow = true ) { + sibr::Image img(rt.w(), rt.h()); + rt.readBack(img, layer); + show(img, windowTitle, closeWindow); + } + + /** Display a rendertarget depth content in a popup window (backed by OpenCV). + \param rt the rendertarget to display + \param windowTitle name of the window + \param closeWindow should the window be closed when pressing a key + \ingroup sibr_graphics + */ + template + static void showDepth( const RenderTarget & rt, const std::string& windowTitle="sibr::show()" , bool closeWindow = true ) { + sibr::Image img(rt.w(), rt.h()); + rt.readBackDepth(img); + show(img, windowTitle, closeWindow); + } + + /** Display a rendertarget alpha content as a grey map in a popup window (backed by OpenCV). + \param rt the rendertarget to display + \param windowTitle name of the window + \param closeWindow should the window be closed when pressing a key + \ingroup sibr_graphics + */ + template + static void showDepthFromAlpha( const RenderTarget & rt, const std::string& windowTitle="sibr::show()" , bool closeWindow = true ) { + sibr::Image img(rt.w(), rt.h()); + rt.readBack(img); + + for (uint y = 0; y < img.h(); ++y) + { + for (uint x = 0; x < img.w(); ++x) + { + sibr::ColorRGBA c = img.color(x, y); + c = sibr::ColorRGBA(1.f, 1.f, 1.f, 0.f) * c[3]; + c[3] = 1.f; + img.color(x, y, c); + } + } + + show(img, windowTitle, closeWindow); + } + + + // --- Typedef RenderTarget -------------------------------------------------- + + typedef RenderTarget RenderTargetRGB; + typedef RenderTarget RenderTargetRGBA; + typedef RenderTarget RenderTargetLum; + + typedef RenderTarget RenderTargetLum16; + typedef RenderTarget RenderTargetUV16; + typedef RenderTarget RenderTargetRGB16; + typedef RenderTarget RenderTargetRGBA16; + + typedef RenderTarget RenderTargetInt1; + + typedef RenderTarget RenderTargetRGB32F; + typedef RenderTarget RenderTargetRGBA32F; + typedef RenderTarget RenderTargetLum32F; + typedef RenderTarget RenderTargetUV32F; + + + // --- DEFINITIONS RenderTarget -------------------------------------------------- + + template + RenderTarget::RenderTarget(void) { + m_fbo = 0; + m_depth_rb = 0; + m_numtargets = 0; + m_W = 0; + m_H = 0; + } + + template + RenderTarget::RenderTarget(uint w, uint h, uint flags, uint num) { + RenderUtility::useDefaultVAO(); + + m_W = w; + m_H = h; + + bool is_depth = (GLFormat::isdepth != 0); + + int maxRenterTargets = 0; + glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS, &maxRenterTargets); + + SIBR_ASSERT(num <= uint(maxRenterTargets) && num > 0); + SIBR_ASSERT(!is_depth || num == 1); + + if (flags & SIBR_GPU_INTEGER) { + if (GLFormat::int_internal_format < 0) { + throw std::runtime_error("Integer render - format does not support integer mapping"); + } + } + + glGenFramebuffers(1, &m_fbo); + + if (!is_depth) { + glGenRenderbuffers(1, &m_depth_rb); // depth buffer for color rt + //glGenRenderbuffers(1, &m_stencil_rb); // stencil buffer for color rt + } else + m_depth_rb = 0; + + m_numtargets = num; + m_autoMIPMAP = ((flags & SIBR_GPU_AUTOGEN_MIPMAP) != 0); + + m_msaa = ((flags & SIBR_GPU_MULSTISAMPLE) != 0); + m_stencil = ((flags & SIBR_STENCIL_BUFFER) != 0); + + if (m_msaa && (m_numtargets != 1)) + throw std::runtime_error("Only one MSAA render target can be attached."); + for (uint n = 0; n < m_numtargets; n++) { + if (m_msaa) + break; + + glGenTextures(1, &m_textures[n]); + + + glBindTexture(GL_TEXTURE_2D, m_textures[n]); + + if (flags & SIBR_CLAMP_UVS) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + } + + /// \todo: following causes enum compare warning -Wenum-compare + glTexImage2D(GL_TEXTURE_2D, + 0, + (flags & SIBR_GPU_INTEGER) + ? GLFormat::int_internal_format + : GLFormat::internal_format, + w, h, + 0, + (flags & SIBR_GPU_INTEGER) + ? GLFormat::int_format + : GLFormat::format, + GLType::type, + NULL); + + + if (!m_autoMIPMAP) { +#if SIBR_COMPILE_FORCE_SAMPLING_LINEAR + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); +#else + if (flags & SIBR_GPU_LINEAR_SAMPLING) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + } else { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + } +#endif + } else { /// \todo TODO: this crashes with 16F RT + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + } + } + + + if (!m_msaa) { + if (!is_depth) { + glBindRenderbuffer(GL_RENDERBUFFER, m_depth_rb); + if (!m_stencil) + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT32, w, h); + else + glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, w, h); + + //CHECK_GL_ERROR; + //glBindRenderbuffer(GL_RENDERBUFFER, m_stencil_rb); + //glRenderbufferStorage(GL_RENDERBUFFER, GL_STENCIL_INDEX8, w, h); + CHECK_GL_ERROR; + glBindFramebuffer(GL_FRAMEBUFFER, m_fbo); + for (uint n = 0; n < m_numtargets; n++) { + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + n, GL_TEXTURE_2D, m_textures[n], 0); + } + CHECK_GL_ERROR; + if (!m_stencil) + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, m_depth_rb); + else + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_STENCIL_ATTACHMENT, GL_RENDERBUFFER, m_depth_rb); + //CHECK_GL_ERROR; + //glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, m_stencil_rb); + } else { + glBindFramebuffer(GL_FRAMEBUFFER, m_fbo); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_textures[0], 0); + glDrawBuffer(GL_NONE); + glReadBuffer(GL_NONE); + } + } + + if (m_msaa) { + uint msaa_samples = ((flags >> 7) & 0xF) << 2; + + if (msaa_samples == 0) + throw std::runtime_error("Number of MSAA Samples not set. Please use SIBR_MSAA4X, SIBR_MSAA8X, SIBR_MSAA16X or SIBR_MSAA32X as an additional flag."); + + glGenTextures(1, &m_textures[0]); + glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, m_textures[0]); + CHECK_GL_ERROR; + /// TODO: following causes enum compare warning -Wenum-compare + glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, + msaa_samples, + (flags & SIBR_GPU_INTEGER) + ? GLFormat::int_internal_format + : GLFormat::internal_format, + w, h, + GL_TRUE + ); + glBindRenderbuffer(GL_RENDERBUFFER, m_depth_rb); + glRenderbufferStorageMultisample(GL_RENDERBUFFER, msaa_samples, GL_DEPTH_COMPONENT32, w, h); + glBindFramebuffer(GL_FRAMEBUFFER, m_fbo); + glFramebufferTexture(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, m_textures[0], 0); + glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, m_depth_rb); + } + + GLenum status = glCheckFramebufferStatus(GL_FRAMEBUFFER); + if (status != GL_FRAMEBUFFER_COMPLETE) { + switch (status) { + case GL_FRAMEBUFFER_UNSUPPORTED: + throw std::runtime_error("Cannot create FBO - GL_FRAMEBUFFER_UNSUPPORTED error"); + break; + default: + SIBR_DEBUG(status); + throw std::runtime_error("Cannot create FBO (unknow reason)"); + break; + } + } + + if (m_autoMIPMAP) { + for (uint i = 0; i < m_numtargets; i++) { + glBindTexture(GL_TEXTURE_2D, m_textures[i]); + glGenerateMipmap(GL_TEXTURE_2D); + } + } + glBindFramebuffer(GL_FRAMEBUFFER, 0); + CHECK_GL_ERROR; + } + + template + RenderTarget::~RenderTarget(void) { + for (uint i = 0; i < m_numtargets; i++) + glDeleteTextures(1, &m_textures[i]); + glDeleteFramebuffers(1, &m_fbo); + glDeleteRenderbuffers(1, &m_depth_rb); + CHECK_GL_ERROR; + } + + template + GLuint RenderTarget::depthRB() const { + return m_depth_rb; + } + + template + GLuint RenderTarget::texture(uint t) const { + SIBR_ASSERT(t < m_numtargets); + return m_textures[t]; + } + template + GLuint RenderTarget::handle(uint t) const { + SIBR_ASSERT(t < m_numtargets); + return m_textures[t]; + } + + template + void RenderTarget::bind(void) { + glBindFramebuffer(GL_FRAMEBUFFER, m_fbo); + bool is_depth = (GLFormat::isdepth != 0); + if (!is_depth) { + if (m_numtargets > 0) { + GLenum drawbuffers[SIBR_MAX_SHADER_ATTACHMENTS]; + for (uint i = 0; i < SIBR_MAX_SHADER_ATTACHMENTS; i++) + drawbuffers[i] = GL_COLOR_ATTACHMENT0 + i; + glDrawBuffers(m_numtargets, drawbuffers); + } + } else { + glDrawBuffer(GL_NONE); + glReadBuffer(GL_NONE); + } + } + + template + void RenderTarget::unbind(void) { + if (m_autoMIPMAP) { + for (uint i = 0; i < m_numtargets; i++) { + glBindTexture(GL_TEXTURE_2D, m_textures[i]); + glGenerateMipmap(GL_TEXTURE_2D); + } + } + glBindFramebuffer(GL_FRAMEBUFFER, 0); + } + + template + void RenderTarget::clear(void) { + clear(PixelFormat()); + } + + template + void RenderTarget::clear(const typename RenderTarget::PixelFormat& v) { + bind(); + if (PixelFormat::NumComp == 1) { + glClearColor(GLclampf(v[0]), 0, 0, 0); + } else if (PixelFormat::NumComp == 2) { + glClearColor(GLclampf(v[0]), GLclampf(v[1]), 0, 0); + } else if (PixelFormat::NumComp == 3) { + glClearColor(GLclampf(v[0]), GLclampf(v[1]), GLclampf(v[2]), 0); + } else if (PixelFormat::NumComp == 4) { + glClearColor(GLclampf(v[0]), GLclampf(v[1]), GLclampf(v[2]), GLclampf(v[3])); + } + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + unbind(); + } + + template + void RenderTarget::clearStencil() { + bind(); + glClearStencil(0); + glClear(GL_STENCIL_BUFFER_BIT); + unbind(); + } + + template + void RenderTarget::clearDepth() { + bind(); + glClear(GL_DEPTH_BUFFER_BIT); + unbind(); + } + + template + template + void RenderTarget::readBack(sibr::Image& img, uint target) const { + //void RenderTarget::readBack(PixelImage& img, uint target) const { + glFinish(); + if (target >= m_numtargets) + SIBR_ERR << "Reading back texture out of bounds" << std::endl; + + glBindFramebuffer(GL_FRAMEBUFFER, m_fbo); + bool is_depth = (GLFormat::isdepth != 0); + if (!is_depth) { + if (m_numtargets > 0) { + sibr::Image buffer(m_W, m_H); + + GLenum drawbuffers = GL_COLOR_ATTACHMENT0 + target; + glDrawBuffers(1, &drawbuffers); + glReadBuffer(drawbuffers); + + glReadPixels(0, 0, m_W, m_H, + GLFormat::format, + GLType::type, + buffer.data() + ); + + sibr::Image out; + img.fromOpenCV(buffer.toOpenCV()); + } + } else + SIBR_ERR << "RenderTarget::readBack: This function should be specialized " + "for handling depth buffer." << std::endl; + img.flipH(); + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + } + + + template + template + void RenderTarget::readBackToCVmat(cv::Mat& img, uint target) const { + + using Infos = GLTexFormat; + + if (target >= m_numtargets) + SIBR_ERR << "Reading back texture out of bounds" << std::endl; + + cv::Mat tmp(m_H, m_W, Infos::cv_type()); + + glBindFramebuffer(GL_FRAMEBUFFER, m_fbo); + bool is_depth = (Infos::isdepth != 0); + if (!is_depth) { + if (m_numtargets > 0) { + GLenum drawbuffers = GL_COLOR_ATTACHMENT0 + target; + glDrawBuffers(1, &drawbuffers); + glReadBuffer(drawbuffers); + + glReadPixels(0, 0, m_W, m_H, + Infos::format, + Infos::type, + Infos::data(tmp) + ); + } + } else { + SIBR_ERR << "RenderTarget::readBack: This function should be specialized " + "for handling depth buffer." << std::endl; \ + } + img = Infos::flip(tmp); + glBindFramebuffer(GL_FRAMEBUFFER, 0); + } + + template + template + void RenderTarget::readBackDepth(sibr::Image& image) const { + glBindFramebuffer(GL_FRAMEBUFFER, m_fbo); + + glReadBuffer(GL_COLOR_ATTACHMENT0); + + sibr::Image buffer(m_W, m_H); + glReadPixels(0, 0, m_W, m_H, + GL_DEPTH_COMPONENT, + GL_FLOAT, + buffer.data() + ); + + sibr::Image out(buffer.w(), buffer.h()); + for (uint y = 0; y < buffer.h(); ++y) + for (uint x = 0; x < buffer.w(); ++x) + out.color(x, y, sibr::ColorRGBA(1, 1, 1, 1.f) * buffer(x, y)[0]); + image = std::move(out); + + glBindFramebuffer(GL_FRAMEBUFFER, 0); + } + + template + uint RenderTarget::numTargets(void) const { return m_numtargets; } + template + uint RenderTarget::w(void) const { return m_W; } + template + uint RenderTarget::h(void) const { return m_H; } + template + uint RenderTarget::fbo(void) const { return m_fbo; } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/RenderUtility.cpp b/SIBR_viewers/src/core/graphics/RenderUtility.cpp new file mode 100644 index 0000000000..f0ec419725 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/RenderUtility.cpp @@ -0,0 +1,329 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/Shader.hpp" +#include "core/graphics/RenderUtility.hpp" +#include "core/graphics/Window.hpp" + +#define SIBR_WRITESHADER(src) "#version 420 core\n" #src + + +//#define RenderUtility::camStubDrawSize() 0.10f + + + +namespace sibr +{ + + + static const std::vector& getCameraStubVertices(float camStubSize = 0.1f) + { + std::vector _vBuffer(3*5); + _vBuffer[3*0+0]= 1*camStubSize; _vBuffer[3*0+1]= 1*camStubSize; _vBuffer[3*0+2]=-3*camStubSize; + _vBuffer[3*1+0]=-1*camStubSize; _vBuffer[3*1+1]= 1*camStubSize; _vBuffer[3*1+2]=-3*camStubSize; + _vBuffer[3*2+0]=-1*camStubSize; _vBuffer[3*2+1]=-1*camStubSize; _vBuffer[3*2+2]=-3*camStubSize; + _vBuffer[3*3+0]= 1*camStubSize; _vBuffer[3*3+1]=-1*camStubSize; _vBuffer[3*3+2]=-3*camStubSize; + _vBuffer[3*4+0]= 0*camStubSize; _vBuffer[3*4+1]= 0*camStubSize; _vBuffer[3*4+2]= 0*camStubSize; + return _vBuffer; + } + + static const std::vector& getCameraStubIndices( void ) + { + static std::vector _iBuffer; + + if (_iBuffer.empty()) + { + _iBuffer.resize(3*6); + + _iBuffer[3*0+0]=0; _iBuffer[3*0+1]=1; _iBuffer[3*0+2]=4; + _iBuffer[3*1+0]=1; _iBuffer[3*1+1]=2; _iBuffer[3*1+2]=4; + _iBuffer[3*2+0]=2; _iBuffer[3*2+1]=4; _iBuffer[3*2+2]=3; + _iBuffer[3*3+0]=0; _iBuffer[3*3+1]=4; _iBuffer[3*3+2]=3; + _iBuffer[3*4+0]=0; _iBuffer[3*4+1]=1; _iBuffer[3*4+2]=3; + _iBuffer[3*5+0]=1; _iBuffer[3*5+1]=2; _iBuffer[3*5+2]=3; + } + return _iBuffer; + } + + + void RenderUtility::sendVertsTexToGPU(GLuint vertTexVBO, GLfloat vert[], GLfloat tcoord[], int svert, int stcoord) { + glBindBuffer(GL_ARRAY_BUFFER, vertTexVBO); + glBufferData(GL_ARRAY_BUFFER, svert+stcoord, NULL, GL_STATIC_DRAW); + glBufferSubData(GL_ARRAY_BUFFER, 0, svert, vert); + glBufferSubData(GL_ARRAY_BUFFER, svert, stcoord, tcoord); + } + + + /*static*/ void RenderUtility::renderScreenQuad( bool reverse, GLfloat tex_coor[] ) + { + static GLfloat vert[] = { -1,-1,0, 1,-1,0, 1,1,0, -1,1,0 }; + static GLfloat tcoord[8]; + static GLuint indexVBO, VAO, vertTexVBO; + + static bool firstTime = true; + + if(reverse) + { + GLfloat tmp[] = { 0,1, 0,0, 1,0, 1,1 }; + if( tex_coor ) + std::memcpy(tmp, tex_coor, sizeof tmp ); + + std::memcpy(tcoord, tmp, sizeof tcoord); + if( !firstTime ) // re-transfer to GPUs + sendVertsTexToGPU(vertTexVBO, vert, tcoord, sizeof(vert), sizeof(tcoord)); + } + else + { + GLfloat tmp[] = { 0,0, 1,0, 1,1, 0,1 }; + if( tex_coor ) + std::memcpy(tmp, tex_coor, sizeof tmp ); + + std::memcpy(tcoord, tmp, sizeof tcoord); + if( !firstTime ) // re-transfer to GPU + sendVertsTexToGPU(vertTexVBO, vert, tcoord, sizeof(vert), sizeof(tcoord)); + } + + static GLuint ind[] = { 0,1,2, 0,2,3 }; + + if( firstTime ) { + firstTime = false; + + glGenVertexArrays(1, &VAO); + glBindVertexArray(VAO); + + glGenBuffers(1, &indexVBO); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indexVBO); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(ind), ind, GL_STATIC_DRAW); + + glGenBuffers(1, &vertTexVBO); + sendVertsTexToGPU(vertTexVBO, vert, tcoord, sizeof(vert), sizeof(tcoord)); + } + + glBindVertexArray(VAO); + + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indexVBO); + glBindBuffer(GL_ARRAY_BUFFER, vertTexVBO); + + glEnableVertexAttribArray(0); + glEnableVertexAttribArray(1); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (void*)0); + glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 0, (void*)sizeof(vert) ); + + glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, (void*)0); + + glDisableVertexAttribArray(1); + glDisableVertexAttribArray(0); + } + + void RenderUtility::renderScreenQuad() + { + static GLfloat Fvert[] = { -1,-1,0, 1,-1,0, 1,1,0, -1,1,0 }; + static GLfloat Ftcoord[] = { 0, 0, 1, 0, 1, 1, 0, 1 }; + static GLuint Find[] = { 0,1,2, 0,2,3 }; + static GLuint FindexVBO, FVAO, FvertTexVBO; + static bool FfirstTime = true; + static int lastContextId = -1; + + //std::cout << lastContextId << " " << Window::contextId << std::endl; + if (lastContextId != Window::contextId || FfirstTime) { + lastContextId = Window::contextId; + FfirstTime = false; + + glGenVertexArrays(1, &FVAO); + glBindVertexArray(FVAO); + + glGenBuffers(1, &FindexVBO); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, FindexVBO); + glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(Find), Find, GL_STATIC_DRAW); + + glGenBuffers(1, &FvertTexVBO); + sendVertsTexToGPU(FvertTexVBO, Fvert, Ftcoord, sizeof(Fvert), sizeof(Ftcoord)); + + glBindBuffer(GL_ARRAY_BUFFER, FvertTexVBO); + glEnableVertexAttribArray(0); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, (void*)0); + glEnableVertexAttribArray(1); + glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, 0, (void*)sizeof(Fvert)); + + glBindVertexArray(0); + } + + + glBindVertexArray(FVAO); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, FindexVBO); + + const GLboolean cullingWasEnabled = glIsEnabled(GL_CULL_FACE); + glEnable(GL_CULL_FACE); + glCullFace(GL_BACK); + + glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, (void*)0); + + if (!cullingWasEnabled) { + glDisable(GL_CULL_FACE); + } + + glBindVertexArray(0); + } + + + /*static*/ Mesh RenderUtility::createCameraStub(float camStubSize) + { + + Mesh m; + m.vertices( getCameraStubVertices(camStubSize) ); + m.triangles( getCameraStubIndices() ); + return m; + } + + /*static*/ Mesh RenderUtility::createScreenQuad( void ) + { + Mesh::Vertices v; + v.emplace_back(-1.0f, -1.0f, 0.0f); + v.emplace_back( 1.0f, -1.0f, 0.0f); + v.emplace_back( 1.0f, 1.0f, 0.0f); + v.emplace_back(-1.0f, 1.0f, 0.0f); + Mesh::UVs tc; + tc.emplace_back(0.0f,0.0f); + tc.emplace_back(1.0f,0.0f); + tc.emplace_back(1.0f,1.0f); + tc.emplace_back(0.0f,1.0f); + Mesh::Triangles t; + t.emplace_back(0); + t.emplace_back(1); + t.emplace_back(2); + t.emplace_back(0); + t.emplace_back(2); + t.emplace_back(3); + + + Mesh m; + m.vertices(v); + m.texCoords(tc); + m.triangles(t); + return m; + } + + Mesh::Ptr RenderUtility::createAxisGizmo() + { + const float arrowShift = 0.2f; + const float arrowSpread = 0.1f; + + Mesh::Vertices v = { + // Axis X + {-1,0,0}, {1,0,0}, + // Arrow X + {1.0f - arrowShift, -arrowSpread, 0.0f}, + {1.0f - arrowShift, 0.0f, -arrowSpread}, + {1.0f - arrowShift, arrowSpread, 0.0f}, + {1.0f - arrowShift, 0.0f, arrowSpread}, + + // Axis Y + {0,-1,0}, {0,1,0}, + // Arrow Y + {-arrowSpread, 1.0f - arrowShift, 0.0f}, + {0.0f, 1.0f - arrowShift, -arrowSpread}, + {arrowSpread, 1.0f - arrowShift, 0.0f}, + {0.0f, 1.0f - arrowShift, arrowSpread}, + + // Axis Z + {0, 0, -1}, {0, 0, 1}, + // Arrow Z + {-arrowSpread, 0.0f, 1.0f - arrowShift}, + {0.0f, -arrowSpread, 1.0f - arrowShift}, + {arrowSpread, 0.0f, 1.0f - arrowShift}, + {0.0f, arrowSpread, 1.0f - arrowShift}, + + // Letter X + {1.0f + arrowShift - arrowSpread, -arrowSpread, 0.0f}, + {1.0f + arrowShift + arrowSpread, arrowSpread, 0.0f}, + {1.0f + arrowShift - arrowSpread, arrowSpread, 0.0f}, + {1.0f + arrowShift + arrowSpread, -arrowSpread, 0.0f}, + // Letter Y + {0.0f, 1.0f + arrowShift - arrowSpread, 0.0f}, + {0.0f, 1.0f + arrowShift, 0.0f}, + {-arrowSpread, 1.0f + arrowShift + arrowSpread, 0.0f}, + {arrowSpread, 1.0f + arrowShift + arrowSpread, 0.0f}, + // Letter Z + {0.0f, -arrowSpread, 1.0f + arrowShift - arrowSpread}, + {0.0f, -arrowSpread, 1.0f + arrowShift + arrowSpread}, + {0.0f, arrowSpread, 1.0f + arrowShift - arrowSpread}, + {0.0f, arrowSpread, 1.0f + arrowShift + arrowSpread} + }; + + Mesh::Colors c = { + // Colors X + {1, 0, 0}, {1, 0, 0}, {1, 0, 0}, + {1, 0, 0}, {1, 0, 0}, {1, 0, 0}, + // Colors Y + {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, + {0, 1, 0}, {0, 1, 0}, {0, 1, 0}, + // Colors Z + {0, 0, 1}, {0, 0, 1}, {0, 0, 1}, + {0, 0, 1}, {0, 0, 1}, {0, 0, 1}, + // Colors Letter X + {1, 0, 0}, {1, 0, 0}, + {1, 0, 0}, {1, 0, 0}, + // Colors Letter Y + {0, 1, 0}, {0, 1, 0}, + {0, 1, 0}, {0, 1, 0}, + // Colors Letter Z + {0, 0, 1}, {0, 0, 1}, + {0, 0, 1}, {0, 0, 1} + }; + + Mesh::Triangles t = { + // Axis X + {0, 1, 0}, + // Arrow X + {1, 2, 3}, {1, 3, 4}, {1, 4, 5}, + {1, 5, 2}, {2, 3, 4}, {2, 3, 5}, + // Axis Y + {6, 7, 6}, + // Arrow Y + {7, 8, 9}, {7, 9, 10}, {7, 10, 11}, + {7, 11, 8}, {8, 9, 10}, {8, 9, 11}, + // Axis Z + {12, 13, 12}, + // Arrow Z + {13, 14, 15}, {13, 15, 16}, {13, 16, 17}, + {13, 17, 14}, {14, 15, 16}, {14, 15, 17}, + + // Letter X + {18, 19, 18}, {20, 21, 20}, + //Letter Y + {22, 23, 22}, {24, 23, 24}, {25, 23, 25}, + //Letter Z + {26, 28, 26}, {26, 29, 26}, {27, 29, 27} + }; + + + auto out = std::make_shared(); + out->vertices(v); + out->colors(c); + out->triangles(t); + return out; + } + + + /*static*/ void RenderUtility::useDefaultVAO( void ) + { + static GLuint gDefaultVAO = 0; + + if (!gDefaultVAO) + glGenVertexArrays(1, &gDefaultVAO); + + glBindVertexArray(gDefaultVAO); + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/RenderUtility.hpp b/SIBR_viewers/src/core/graphics/RenderUtility.hpp new file mode 100644 index 0000000000..37dd42b997 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/RenderUtility.hpp @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Config.hpp" +# include "core/system/Matrix.hpp" +# include "core/system/Vector.hpp" +# include "core/graphics/Mesh.hpp" + +namespace sibr +{ + + /** + Helpers for rendering basic debug objects (cameras, simple meshes,...) + \todo Clarify duplication with functionality in SceneDebugView. + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT RenderUtility + { + public: + + /** Create a basic cmaera stub. + \param camStubSize the stub scale + \return the mesh + */ + static Mesh createCameraStub( float camStubSize = 0.1f); + + /** Create a screenquad. + \return the mesh + */ + static Mesh createScreenQuad(); + + /** Create a gizmo with X,Y,Z axis and labels (using R,G,B respectively). + \return the gizmo mesh + */ + static Mesh::Ptr createAxisGizmo(); + + /** Bind a static VAO for which you can redefine vertices or do vertex pulling. */ + static void useDefaultVAO( void ); + + /** Draw a screenquad. */ + static void renderScreenQuad(); + + /** Draw a screenquad. + \param reverse should the triangles be flipped + \param texCoor custom texture coordinates to use. + */ + static void renderScreenQuad( bool reverse, GLfloat texCoor[] = NULL ); + + private: + + /** Send vertices to the GPU. + \param vertTexVBO the VBO id + \param vert the vertices data + \param tcoord the UV data + \param svert the vert size + \param stcoord the tcoord size + */ + static void sendVertsTexToGPU(GLuint vertTexVBO, GLfloat vert[], GLfloat tcoord[], int svert, int stcoord); + + + }; + + ///// DEFINITIONS ///// + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Shader.cpp b/SIBR_viewers/src/core/graphics/Shader.cpp new file mode 100755 index 0000000000..e215221fe9 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Shader.cpp @@ -0,0 +1,305 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +# include "core/graphics/Shader.hpp" +# include "core/system/Matrix.hpp" +#include "core/system/String.hpp" + + +# ifndef SIBR_MAXIMIZE_INLINE +# include "Shader.inl" +# endif + +namespace sibr +{ + GLuint GLShader::compileShader(const char* shader_code, GLuint type) + { + std::string shader_type; + switch (type) { + case GL_VERTEX_SHADER: shader_type = "vertex"; break; + case GL_FRAGMENT_SHADER: shader_type = "fragment"; break; + case GL_GEOMETRY_SHADER: shader_type = "geometry"; break; + default: std::runtime_error("Shader types other than vertex/fragment/geometry not supported"); + } + + GLuint id = glCreateShader(type); + glShaderSource(id,1,&shader_code,NULL); + glCompileShader(id); + + GLint compiled; + glGetShaderiv(id,GL_COMPILE_STATUS, &compiled); + if (!compiled) { + GLint maxLength; + glGetShaderiv(id, GL_INFO_LOG_LENGTH, &maxLength); + char* infoLog = new char[maxLength+1]; + GLint len = 0; + glGetShaderInfoLog(id, maxLength, &len, infoLog); + SIBR_WRG << "GLSL " << shader_type.c_str() << " shader compilation failed for program " + << m_Name.c_str() << std::endl + << infoLog << std::endl; + delete [] infoLog; + (void)glGetError(); + return 0; + } + return id; + } + + GLShader::GLShader(void) : + m_Shader(0), + m_Name(""), + m_Strict(false), + m_Active(false) + {} + + GLShader::~GLShader(void) { + terminate(); + } + + void GLShader::init ( GLuint s_handle ) + { + m_Shader = s_handle; + } + + void GLShader::setStrict ( bool s ) + { + m_Strict = s; + } + + GLuint GLShader::shader ( void ) const + { + return m_Shader; + } + + std::string GLShader::name ( void ) const + { + return m_Name; + } + + bool GLShader::isReady ( void ) const + { + return m_Shader!=0; + } + + bool GLShader::isActive ( void ) const + { + return m_Active; + } + + bool GLShader::isStrict ( void ) const + { + return m_Strict; + } + + bool GLShader::init(std::string name, + std::string vp_code, + std::string fp_code, + std::string gp_code, + bool exitOnError, + std::string tcs_code, + std::string tes_code) + { + terminate(); + + m_Name = name; + m_Shader = glCreateProgram(); + + CHECK_GL_ERROR; + + GLint vp = 0, fp = 0, gp = 0, tcs = 0, tes = 0; + + if (!vp_code.empty()) { + vp = compileShader(vp_code.c_str(), GL_VERTEX_SHADER); + if (!vp) return false; + glAttachShader(m_Shader, vp); + } + + if (!fp_code.empty()) { + fp = compileShader(fp_code.c_str(), GL_FRAGMENT_SHADER); + if (!fp) return false; + glAttachShader(m_Shader, fp); + } + + if (!gp_code.empty()) { + gp = compileShader(gp_code.c_str(), GL_GEOMETRY_SHADER); + if (!gp) return false; + glAttachShader(m_Shader, gp); + } + + if (!tcs_code.empty()) { + tcs = compileShader(tcs_code.c_str(), GL_TESS_CONTROL_SHADER); + if (!tcs) return false; + glAttachShader(m_Shader, tcs); + } + + if (!tes_code.empty()) { + tes = compileShader(tes_code.c_str(), GL_TESS_EVALUATION_SHADER); + if (!tes) return false; + glAttachShader(m_Shader, tes); + } + + CHECK_GL_ERROR; + + glLinkProgram(m_Shader); + + CHECK_GL_ERROR; + + GLint shader_linked; + + CHECK_GL_ERROR; + + glGetProgramiv(m_Shader, GL_LINK_STATUS, &shader_linked); + if (!shader_linked) { + GLint maxLength; + glGetProgramiv(m_Shader, GL_INFO_LOG_LENGTH, &maxLength); + char* infoLog = new char[maxLength + 1]; + glGetProgramInfoLog(m_Shader, maxLength, NULL, infoLog); + SIBR_WRG << "GLSL program failed to link " << m_Name.c_str() << std::endl + << "Shader linking log:" << std::endl + << infoLog << std::endl; + delete[] infoLog; + + if (exitOnError) + SIBR_ERR << "GLSL program failed to link" << std::endl; + } + + if (vp) glDeleteShader(vp); + if (fp) glDeleteShader(fp); + if (gp) glDeleteShader(gp); + if (tcs) glDeleteShader(tcs); + if (tes) glDeleteShader(tes); + + glUseProgram(0); + + CHECK_GL_ERROR; + return true; + } + + + bool GLShader::reload( + std::string vp_code, + std::string fp_code, + std::string gp_code ) { + { // Simple way to test if it compiles + sibr::GLShader tester; + if (tester.init(m_Name, vp_code, fp_code, gp_code) == false) + { + SIBR_WRG << "Can't reload shader '" << m_Name << "' (see previous log entries)" << std::endl; + return false; + } + } + return init(m_Name, vp_code, fp_code, gp_code); + } + + void GLShader::getBinary(std::vector & binary) + { + int count = 0; + glGetIntegerv(GL_NUM_PROGRAM_BINARY_FORMATS, &count); + if (count <= 0) { + SIBR_WRG << "GL driver does not support program binary export." << std::endl; + return; + } + int length = 0; + glGetProgramiv(m_Shader, GL_PROGRAM_BINARY_LENGTH, &length); + if (length <= 0) { + SIBR_WRG << "No binary for program " << m_Name << "." << std::endl; + return; + } + GLenum format; + binary.clear(); + binary.resize(length); + glGetProgramBinary(m_Shader, length, NULL, &format, &binary[0]); + + } + + void GLShader::terminate( void ) + { + if (m_Shader) { + glUseProgram(0); + glDeleteProgram(m_Shader); + m_Shader = 0; + CHECK_GL_ERROR; + } + } + + GLParameter::GLParameter(void) : + m_Shader(NULL), + m_Handle(-1), + m_Name(""), + m_Strict(false) + {} + + bool GLParameter::isInitialized( void ) const + { + return (m_Handle != -1 && m_Shader != NULL); + } + + GLint GLParameter::handle( void ) const + { + return m_Handle; + } + + void GLParameter::init( sibr::GLShader& shader, std::string name ) + { + m_Shader = &shader; + m_Name = name; + m_Handle = glGetUniformLocation(m_Shader->shader(),name.c_str()); + m_Strict = m_Shader->isStrict(); + if (m_Handle == -1) { + std::string message = "GLParameter " + m_Name + " does not exist in shader " + shader.name(); + if (m_Strict) { + throw std::runtime_error(message); + } else { + std::cerr << "Warning: " << message.c_str() << std::endl; + } + } + } + + static std::string strRemoveSpaces( const std::string& str ) + { + std::string out; + for (char c : str) + if (c != ' ' && c != '\t') + out.push_back(c); + return out; + } + + std::string loadFile( const std::string& filename, const GLShader::Define::List& defines ) + { + std::string file = loadFile(filename); + + if (file.empty()) + return file; + + std::vector lines = sibr::split(file, '\n'); + for ( const GLShader::Define& define : defines ) + { + std::string tag = "#define"+define.nameToSearch; + for (std::string& line : lines) + { + std::string formatted = strRemoveSpaces(line); + if (formatted.find(tag) == 0) + { + std::size_t pos = line.find(define.nameToSearch) + define.nameToSearch.size(); + line.insert(pos, std::string(" (") + define.valueToSet + ") //"); + break; + } + } + } + + std::string out; + for ( std::string& line : lines ) + out = out + line + '\n'; + return out; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Shader.hpp b/SIBR_viewers/src/core/graphics/Shader.hpp new file mode 100644 index 0000000000..427cbf0a8b --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Shader.hpp @@ -0,0 +1,391 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include "core/graphics/Config.hpp" +# include "core/system/Matrix.hpp" + +#define SIBR_SHADER(version, shader) std::string("#version " #version "\n" #shader) + +namespace sibr +{ + /** + OpenGL shader wrapper. + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT GLShader + { + SIBR_DISALLOW_COPY( GLShader ); + SIBR_CLASS_PTR(GLShader); + public: + + /** Macro-like substitution in shaders. */ + struct Define + { + typedef std::vector List; + + /** Constructor. + \param nameToSearch_ the macro value to replace + \param valueToSet_ the replacement value (stringified) + */ + template + Define( const std::string& nameToSearch_, const TValue& valueToSet_ ) : + nameToSearch(nameToSearch_) { + std::ostringstream oss; + oss << valueToSet_; + valueToSet = oss.str(); + } + + std::string nameToSearch; ///< the macro value to replace + std::string valueToSet; ///< String representation of the replacement value. + }; + + public: + + /// Constructor. + GLShader( void ); + + /// Destructor. + ~GLShader( void ); + + /** Create and compile a GPU program composed of a vertex/fragment shader (and optionally geometry/tesselation shaders). + \param name the name of the shader (for logging) + \param vp_code vertex shader code string + \param fp_code fragment shader code string + \param gp_code geometry shader code string + \param exitOnError should the application exit on a shader compilation error + \param tcs_code tesselation control shader code string + \param tes_code tesselation evaluation shader code string + \return a success flag + */ + bool init(std::string name, + std::string vp_code, std::string fp_code, + std::string gp_code = std::string(), + bool exitOnError = true, + std::string tcs_code = std::string(), + std::string tes_code = std::string()); + + /** Recompile a GPU program with updated shaders. + \param vp_code vertex shader code string + \param fp_code fragment shader code string + \param gp_code geometry shader code string + \return a success flag + */ + bool reload( + std::string vp_code, std::string fp_code, + std::string gp_code = std::string()); + + /** + Query the dissassembly of the shader program. + \param binary will contain the compiled shader code + \note This is not supported on all GPUs. + */ + void getBinary(std::vector & binary); + + /** Bind (activate) the sahder for rendering. */ + SIBR_OPT_INLINE void begin( void ); + + /** Unbind the shader. */ + SIBR_OPT_INLINE void end( void ); + + /** Init from an existing GPU program. + \param s_handle the existing program handle + */ + void init ( GLuint s_handle ); + + /** Cleanup and delete the program. */ + void terminate( void ); + + /** If set to true, uniforms that are linked but not referenced + by the shader will cause an error to be raised. + \param s the validation level + */ + void setStrict ( bool s ); + + /** \return the program handle. */ + GLuint shader ( void ) const; + + /** \return the shader name. */ + std::string name ( void ) const; + + /** \return true if the shader is properly setup. */ + bool isReady ( void ) const; + + /** \return true if the shader is currently bound for drawing. */ + bool isActive ( void ) const; + + /** \return true if the shader will validate linked uniforms. */ + bool isStrict ( void ) const; + + private: + + /** Compile a shader for a given stage. + \param shader_code the string containing the sahder code + \param type the stage to compile for + \return the compiled shader stage handle. + */ + GLuint compileShader( const char* shader_code, GLuint type ); + + /** Check if the shader is properly setup, or raise an error. */ + SIBR_OPT_INLINE void authorize( void ) const; + + GLuint m_Shader; ///< Shader program handle. + std::string m_Name; ///< Shader name. + bool m_Strict; ///< Should uniforms be validated. + bool m_Active; ///< Is the shader currently bound. + }; + + // ------------------------------------------------------------------------ + + + /** + OpenGL shader uniform wrapper. Prefer using GLuniform instead. + \sa GLuniform + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT GLParameter + { + public: + + /// Constructor. + GLParameter( void ); + + /** Link the uniform to a shader. + \param shader the shader to link to + \param name the name of the uniform in the shader + */ + void init( sibr::GLShader& shader, std::string name ); + + /** \return true if the uniform was linked to a shader. */ + bool isInitialized( void ) const; + + /** \return the OpenGL uniform location handle. */ + GLint handle( void ) const; + + /** Set the uniform float value. + \param f the new value + */ + SIBR_OPT_INLINE void set( float f ); + + /** Set the uniform vec2 value. + \param a first component + \param b second component + */ + SIBR_OPT_INLINE void set( float a, float b ); + + /** Set the uniform vec3 value. + \param a first component + \param b second component + \param c third component + */ + SIBR_OPT_INLINE void set( float a, float b, float c ); + + /** Set the uniform vec4 value. + \param a first component + \param b second component + \param c third component + \param d fourth component + */ + SIBR_OPT_INLINE void set( float a, float b, float c, float d ); + + /** Set the uniform mat4 value. + \param matrix the 16 matrix components, in row order + */ + SIBR_OPT_INLINE void set( const float *matrix ); + + /** Set the uniform sampler value. + \param tex the new value (ie the binding location of the texture) + */ + SIBR_OPT_INLINE void set( GLuint tex ); + + /** Set the uniform integer value. + \param v the new value + */ + SIBR_OPT_INLINE void set( int v ); + + /** Set the uniform boolean value (converted to an int). + \param b the new value + */ + SIBR_OPT_INLINE void set( bool b); + + /** Set the uniform values defined as an array of floats. + \param pv pointer to the float array + \param size number of elements + */ + SIBR_OPT_INLINE void setArray( const float *pv, int size ); + + /** Set the uniform values defined as an array of integers. + \param pv pointer to the int array + \param size number of elements + */ + SIBR_OPT_INLINE void setArray( const std::vector& pv, int size ); + + /** Set the uniform ivec2 value. + \param v the new value + */ + SIBR_OPT_INLINE void set(const Vector2i& v); + + /** Set the uniform ivec3 value. + \param v the new value + */ + SIBR_OPT_INLINE void set(const Vector3i& v); + + /** Set the uniform ivec4 value. + \param v the new value + */ + SIBR_OPT_INLINE void set(const Vector4i& v); + + /** Set the uniform vec2 value. + \param v the new value + */ + SIBR_OPT_INLINE void set( const Vector2f& v ); + + /** Set the uniform vec3 value. + \param v the new value + */ + SIBR_OPT_INLINE void set( const Vector3f& v ); + + /** Set the uniform vec4 value. + \param v the new value + */ + SIBR_OPT_INLINE void set( const Vector4f& v ); + + /** Set the uniform mat4 value. + \param m the new value + */ + SIBR_OPT_INLINE void set( const Matrix4f& m ); + + /** Set the uniform values defined as an array of mat4s (row major). + \param m pinter to the beginning of the matrix array + \param num number of matrices + */ + SIBR_OPT_INLINE void setMatrixArray(const float * m, int num); + + private: + + sibr::GLShader* m_Shader; ///< Linked shader. + GLint m_Handle; ///< Uniform location. + std::string m_Name; ///< Uniform name. + bool m_Strict; ///< Should the program raise an error if the uniform is not found in the linked shader. + + /** Check if the uniform/shader link is valid. */ + SIBR_OPT_INLINE void authorize( void ) const; + }; + + /** Load a file from disk and apply macro-like substitutions. + \param filename the file path + \param defines a list of substitutions to apply + \return the loaded string + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT std::string loadFile( const std::string& filename, const GLShader::Define::List& defines ); + + /** + OpenGL shader uniform wrapper with additional update/storage functions. + It will behave as an element of the type it wraps, but can also be set/sent to the GPU. + This limits duplication, as you can replace a float+GLParameter by a GLuniform + When you need a reference to the value (for instance in imGui), use uniform.get(). + \sa GLParameter + * \ingroup sibr_graphics + */ + template class GLuniform { + + public: + /** Constructor. + \param t initial value to use + */ + GLuniform(const T & t) : value(t) {} + + /** \return a reference to the value. */ + operator T & () { return value; } + + /** \return a reference to the value. */ + T & get() { return value; } + + /** Copy operator. Update the stored value. + \param t the new value + \return a reference to the value. + */ + T & operator=(const T & t) { value = t; return *this; } + + /** Copy operator. Update the stored value using the one of the other uniform. + \param other uniform to get the new value from + \return a reference to itself + */ + GLuniform & operator=(const GLuniform& other) { value = other.value; return *this; }; + + /** not-equal-to operator. Compares the stored values with the argument and returns + the not-equal-to operator. + \param t value to compare to. + \return the boolean result of the operation. + */ + bool operator!=(const T& t) { return value != t; } + + /** Copy constructor. Update the stored value using the one of the other uniform. + \param other uniform to get the new value from + */ + explicit GLuniform(const GLuniform&other) : value(other.value) { }; + + /// Default constructor. + GLuniform() = default; + + /** Link the uniform to a shader. + \param shader the shader to link to + \param name the name of the uniform in the shader + */ + void init(sibr::GLShader& shader, std::string name) { + parameter.init(shader, name); + } + + /** Send the value to the shader if it was initialized. + \note the shader has to be active + */ + void send() { + if (parameter.isInitialized()) { + parameter.set(value); + } + } + + /** Set the value and send it to the shader if it was initialized. + \param t the new value + \note the shader has to be active + */ + void set(const T & t) { + value = t; + send(); + } + + /** Set a list of values and send it to the shader if it was initialized. + \param t the new values + \param size the number of values + \note the shader has to be active + */ + void setArray(const T & t,int size) { + value = t; + if (parameter.isInitialized()) { + parameter.setArray(value,size); + } + } + + protected : + T value = T(); ///< The underlying value. + sibr::GLParameter parameter; ///< The underlying uniform. + }; + +} // namespace sibr + +# ifdef SIBR_MAXIMIZE_INLINE +# include "Shader.inl" +# endif diff --git a/SIBR_viewers/src/core/graphics/Shader.inl b/SIBR_viewers/src/core/graphics/Shader.inl new file mode 100644 index 0000000000..c0822cf368 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Shader.inl @@ -0,0 +1,168 @@ + +namespace sibr +{ + void GLShader::authorize(void) const + { + if (!m_Shader) { + std::string message = "sibr::GLShader " + m_Name + " used without having been initialized"; + throw std::runtime_error(message); + } + } + + void GLShader::begin( void ) + { + CHECK_GL_ERROR; + authorize(); + glUseProgram(m_Shader); + m_Active = true; + CHECK_GL_ERROR; + } + + void GLShader::end( void ) + { + glUseProgram(0); + m_Active = false; + CHECK_GL_ERROR; + } + + void GLParameter::authorize(void) const + { + if (m_Shader == NULL) { + std::string message = "GLParameter " + m_Name + " does not have a valid shader program"; + throw std::runtime_error(message); + } + if (m_Strict && m_Handle == -1) { + std::string message = "GLParameter " + m_Name + " used without having been initialized"; + throw std::runtime_error(message); + } + if (!m_Shader->isActive()) { + std::string message = "GLParameter " + m_Name + " used with shader is not active"; + throw std::runtime_error(message); + } + } + + void GLParameter::set( float f ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform1f(m_Handle,f); + } + + void GLParameter::set( float a,float b ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform2f(m_Handle,a,b); + } + + void GLParameter::set( float a, float b, float c ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform3f(m_Handle,a,b,c); + } + + void GLParameter::set( float a, float b, float c, float d ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform4f(m_Handle,a,b,c,d); + } + + void GLParameter::set( const float *matrix ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniformMatrix4fv(m_Handle,1,GL_TRUE,matrix); // row major + } + + void GLParameter::set( GLuint tex ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform1i(m_Handle,tex); + } + + void GLParameter::set( int v ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform1i(m_Handle,v); + } + + void GLParameter::set(bool b) + { + set((int)b); + } + + void GLParameter::setArray( const float *pv, int size ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform1fv(m_Handle,size,pv); + } + + void GLParameter::setArray( const std::vector& pv, int size ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform1iv(m_Handle,size,&pv[0]); + } + + void GLParameter::set(const Vector2i& v) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform2i(m_Handle, v[0], v[1]); + } + + void GLParameter::set(const Vector3i& v) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform3i(m_Handle, v[0], v[1], v[2]); + } + + void GLParameter::set(const Vector4i& v) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform4i(m_Handle, v[0], v[1], v[2], v[3]); + } + + void GLParameter::set( const Vector2f& v ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform2f(m_Handle,v[0],v[1]); + } + + void GLParameter::set( const Vector3f& v ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform3f(m_Handle,v[0],v[1],v[2]); + } + + void GLParameter::set( const Vector4f& v ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniform4f(m_Handle,v[0],v[1],v[2],v[3]); + } + + void GLParameter::set( const Matrix4f& m ) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniformMatrix4fv(m_Handle,1,GL_FALSE,m.data()); // row major + } + + void GLParameter::setMatrixArray(const float* m, int num) + { + authorize(); + if (!m_Strict && m_Handle == -1) return; + glUniformMatrix4fv(m_Handle, num, GL_FALSE, m); // row major + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Texture.cpp b/SIBR_viewers/src/core/graphics/Texture.cpp new file mode 100644 index 0000000000..ba6c401685 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Texture.cpp @@ -0,0 +1,124 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/Texture.hpp" +//#define HEADLESS + +namespace sibr +{ + void blit(const ITexture2D& src, const IRenderTarget& dst, GLbitfield mask, GLenum filter, bool flip) + { + GLuint sourceFrameBuffer = 0; + glGenFramebuffers(1, &sourceFrameBuffer); + glBindFramebuffer(GL_READ_FRAMEBUFFER, sourceFrameBuffer); + glFramebufferTexture2D(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, src.handle(), 0); + + SIBR_ASSERT(glCheckFramebufferStatus(GL_READ_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE); + +#ifdef HEADLESS + + SIBR_ERR << "No named frame buffers in headless " << std::endl; +#else + glBlitNamedFramebuffer( + sourceFrameBuffer, dst.fbo(), + 0, 0, src.w(), src.h(), + 0, (flip ? dst.h() : 0), dst.w(), (flip ? 0 : dst.h()), + mask, filter); + + glDeleteFramebuffers(1, &sourceFrameBuffer); +#endif + } + + void blit_and_flip(const ITexture2D& src, const IRenderTarget& dst, GLbitfield mask, GLenum filter) + { + blit(src, dst, mask, filter, true); + } + + void blitToColorAttachment(const ITexture2D& src, IRenderTarget& dst, int location, GLenum filter, bool flip) + { + // To blit only to a specific color attachment, it should be the only draw buffer registered. + // So we override the drawbuffer from dst temporarily. + glBindFramebuffer(GL_FRAMEBUFFER, dst.fbo()); + glDrawBuffer(GL_COLOR_ATTACHMENT0 + location); + + GLuint sourceFrameBuffer = 0; + glGenFramebuffers(1, &sourceFrameBuffer); + glBindFramebuffer(GL_READ_FRAMEBUFFER, sourceFrameBuffer); + glFramebufferTexture2D(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, src.handle(), 0); + + SIBR_ASSERT(glCheckFramebufferStatus(GL_READ_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE); + +#ifdef HEADLESS + SIBR_ERR << "No named frame buffers in headless " << std::endl; +#else + glBlitNamedFramebuffer( + sourceFrameBuffer, dst.fbo(), + 0, 0, src.w(), src.h(), + 0, (flip ? dst.h() : 0), dst.w(), (flip ? 0 : dst.h()), + GL_COLOR_BUFFER_BIT, filter); + + glDeleteFramebuffers(1, &sourceFrameBuffer); +#endif + + // Restore the drawbuffers. + // We use bind() as it guarantees that all color buffers will be bound. + dst.bind(); + dst.unbind(); + } + + void blit(const IRenderTarget& src, const ITexture2D& dst, GLbitfield mask, GLenum filter) + { + GLuint dstFrameBuffer = 0; + glGenFramebuffers(1, &dstFrameBuffer); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, dstFrameBuffer); + glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, dst.handle(), 0); + + SIBR_ASSERT(glCheckFramebufferStatus(GL_DRAW_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE); + +#ifdef HEADLESS + SIBR_ERR << "No named frame buffers in headless " << std::endl; +#else + glBlitNamedFramebuffer( + src.fbo(), dstFrameBuffer, + 0, 0, src.w(), src.h(), + 0, 0, dst.w(), dst.h(), + mask, filter); + glDeleteFramebuffers(1, &dstFrameBuffer); +#endif + } + + void blit(const ITexture2D& src, const ITexture2D& dst, GLbitfield mask, GLenum filter) + { + GLuint fbo[2]; + glGenFramebuffers(2, fbo); + glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo[0]); + glFramebufferTexture2D(GL_READ_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, src.handle(), 0); + glBindFramebuffer(GL_DRAW_FRAMEBUFFER, fbo[0]); + glFramebufferTexture2D(GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, dst.handle(), 0); + + SIBR_ASSERT(glCheckFramebufferStatus(GL_READ_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE); + SIBR_ASSERT(glCheckFramebufferStatus(GL_DRAW_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE); + +#ifdef HEADLESS + SIBR_ERR << "No named frame buffers in headless " << std::endl; +#else + glBlitNamedFramebuffer( + fbo[0], fbo[1], + 0, 0, src.w(), src.h(), + 0, 0, dst.w(), dst.h(), + mask, filter); + glDeleteFramebuffers(2, fbo); +#endif + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Texture.hpp b/SIBR_viewers/src/core/graphics/Texture.hpp new file mode 100644 index 0000000000..87d9a68c24 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Texture.hpp @@ -0,0 +1,1522 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include + +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" +# include "core/graphics/Image.hpp" +# include "core/graphics/Types.hpp" +# include "core/graphics/RenderTarget.hpp" + +namespace sibr +{ + + /** Interface for a generic GPU 2D texture. + * \sa Texture2D + * \ingroup sibr_graphics + */ + class ITexture2D + { + public: + typedef std::shared_ptr Ptr; + typedef std::unique_ptr UPtr; + public: + + /// Destructor. + virtual ~ITexture2D(void) { } + + /** \return the texture handle. */ + virtual GLuint handle(void) const = 0; + + /** \return the texture width. */ + virtual uint w(void) const = 0; + + /** \return the texture height. */ + virtual uint h(void) const = 0; + }; + + /** Represent a 2D texture on the GPU, with custom format and type. + * \sa ITexture2D + * \ingroup sibr_graphics + */ + template + class Texture2D : public ITexture2D { + SIBR_DISALLOW_COPY(Texture2D); + public: + typedef Image PixelImage; + typedef typename PixelImage::Pixel PixelFormat; + typedef std::shared_ptr> Ptr; + typedef std::unique_ptr> UPtr; + + public: + + /// Constructor. + Texture2D(void); + + /** Constructor from an image. + \param img the image to upload to the GPU + \param flags options + */ + template Texture2D(const ImageType& img, uint flags = 0); + + /** Constructor from a list of images, one for each mip level. + \param miparray the images to upload to the GPU + \param flags options + */ + Texture2D(const std::vector& miparray, uint flags = 0); + + /// Destructor. + ~Texture2D(void); + + /** \return the texture handle. */ + GLuint handle(void) const; + + /** \return the texture width. */ + uint w(void) const; + + /** \return the texture height. */ + uint h(void) const; + + /** \return a CPU image containing the texture content. + \warning Can cause a GPU flush/sync. + */ + sibr::Image readBack(void) const; + + /** Update the content of the txeture with a new image. + \param img the new content. + */ + template void update(const ImageType& img); + + /** Trigger an update of the mipmaps for level 0 to maxLOD. + \param maxLOD the maximum level of mipmap to generate. If -1, as many as possible based on the texture size. + */ + void mipmap(int maxLOD = -1); + + private: + GLuint m_Handle = 0; ///< Texture handle. + uint m_W = 0; ///< Texture width. + uint m_H = 0; ///< Texture height. + uint m_Flags = 0; ///< Options. + bool m_autoMIPMAP = false; ///< Should the mipmaps be generated automatically. + + /** Create 2D texture from a generic image (sibr::image or cv::Mat). + \param array the image + \param flags options + \return the handle of the texture + */ + template static GLuint create2D(const ImageType& array, uint flags); + + /** Create 2D texture with custom mipmaps from a list of generic images (sibr::image or cv::Mat). + \param miparray the images + \param flags options + \return the handle of the texture + */ + static GLuint create2D(const std::vector& miparray, uint flags); + + /** Send the CPU image data to the GPU. + \param id the created texture + \param array the image data + \param flags options + */ + template static void send2D(GLuint id, const ImageType& array, uint flags); + + /** Send the CPU images data for each mipmap to the GPU. + \param id the created texture + \param miparray the image data + \param flags options + */ + static void send2Dmipmap(GLuint id, const std::vector& miparray, uint flags); + + }; + + + /** Interface for a generic GPU 2D array texture. + * \sa Texture2DArray + * \ingroup sibr_graphics + */ + class ITexture2DArray + { + public: + typedef std::shared_ptr Ptr; + typedef std::unique_ptr UPtr; + public: + /// Destructor. + virtual ~ITexture2DArray(void) { } + + /** \return the texture handle. */ + virtual GLuint handle(void) const = 0; + + /** \return the texture width. */ + virtual uint w(void) const = 0; + + /** \return the texture height. */ + virtual uint h(void) const = 0; + + /** \return the texture layer count. */ + virtual uint depth(void) const = 0; + + /** \return the number of mipmap levels. */ + virtual uint numLODs(void) const = 0; + + /** Read back the value of a given pixel to the CPU. + \param i layer + \param x x coordinate in [0,w-1] + \param y y coordinate in [0,h-1] + \param lod the mip level + \return a converted RGBA float color + \warning Use only for debugging, can cause a GPU flush/sync. + */ + virtual Vector4f readBackPixel(int i, int x, int y, uint lod = 0) const = 0; + }; + + /** + * Represent an array of 2D textures on the GPU, with custom format, type and slice count. + * \sa ITexture2DArray + * \ingroup sibr_graphics + */ + template + class Texture2DArray : public ITexture2DArray { + SIBR_DISALLOW_COPY(Texture2DArray); + public: + typedef Image PixelImage; + typedef typename PixelImage::Pixel PixelFormat; + typedef RenderTarget PixelRT; + typedef std::shared_ptr> Ptr; + typedef std::unique_ptr> UPtr; + + public: + + /** Constructor. + \param d number of layers + \param flags options + */ + Texture2DArray(const uint d = 0, uint flags = 0); + + /** Constructor. + \param w width + \param h height + \param d number of layers + \param flags options + */ + Texture2DArray(const uint w, const uint h, const uint d, uint flags = 0); + + /** Constructor from a set of rendertargets. + \param images list of rendertargets, one for each layer + \param flags options + \warning RTs should be of the same size. + */ + Texture2DArray(const std::vector& images, uint flags = 0); + + /** Constructor from a set of CPU images. + \param images list of images, one for each layer + \param flags options + \note All images will be resized to the dimensions of the largest one. + */ + template + Texture2DArray(const std::vector& images, uint flags = 0); + + /** Constructor from a set of CPU images that will be resized to a fix size. + \param images list of images, one for each layer + \param w the target width + \param h the target height + \param flags options + */ + template + Texture2DArray(const std::vector& images, uint w, uint h, uint flags = 0); + + /** Constructor from a set of CPU images, with custom mipmaps. + \param images list of lists of images, one for each mip level, each containing an image for each layer + \param flags options + \note All images will be resized to the dimensions of the largest one. + */ + template + Texture2DArray(const std::vector>& images, uint flags = 0); + + /** Constructor from a set of CPU images, with custom mipmaps. + \param images list of lists of images, one for each mip level, each containing an image for each layer + \param w the target width + \param h the target height + \param flags options + */ + template + Texture2DArray(const std::vector>& images, uint w, uint h, uint flags = 0); + + /** Create the texture from a set of images and send it to GPU. + \param images list of images, one for each layer + \param flags options + \note All images will be resized to the dimensions of the largest one. + */ + template + void createFromImages(const std::vector& images, uint flags = 0); + + /** Create the texture from a set of images and send it to GPU. images will be resized to the target size. + \param images list of images, one for each layer + \param w the target width + \param h the target height + \param flags options + */ + template + void createFromImages(const std::vector& images, uint w, uint h, uint flags = 0); + + /** Create the texture from a set of images and send it to GPU while compressing them. + \param images list of images, one for each layer + \param compression the GL_COMPRESSED format. It must be choosen accordingly to the texture internal format. + \param flags options + \note All images will be resized to the dimensions of the largest one. + */ + template + void createCompressedFromImages(const std::vector& images, uint compression, uint flags = 0); + + /** Create the texture from a set of images and send it to GPU while compressing them. images will be resized to the target size. + \param images list of images, one for each layer + \param w the target width + \param h the target height + \param compression the GL_COMPRESSED format. It must be choosen accordingly to the texture internal format. + \param flags options + */ + template + void createCompressedFromImages(const std::vector& images, uint w, uint h, uint compression, uint flags = 0); + + /** Create the texture from a set of images with custom mipmaps and send it to GPU. + \param images list of lists of images, one for each mip level, each containing an image for each layer + \param flags options + \note All images will be resized to the dimensions of the largest one. + */ + template + void createFromImages(const std::vector>& images, uint flags = 0); + + /** Create the texture from a set of images with custom mipmaps and send it to GPU. + \param images list of lists of images, one for each mip level, each containing an image for each layer + \param w the target width + \param h the target height + \param flags options + */ + template + void createFromImages(const std::vector>& images, uint w, uint h, uint flags = 0); + + /** Update the content of all layers of the texture. + \param images the new content to use + \note All images will be resized to the size of the largest one. + */ + template + void updateFromImages(const std::vector& images); + + /** Create the texture from a set of rendertargets and send it to GPU. + \param RTs list of rendertargets, one for each layer + \param flags options + \warning RTs should be of the same size. + */ + void createFromRTs(const std::vector& RTs, uint flags = 0); + + /** Update the content of specific layers of the texture. + \param images the new content to use + \param slices the indices of the slices to update + \note All images will be resized to the size of the largest one. + */ + template + void updateSlices(const std::vector& images, const std::vector& slices); + + /// Destructor. + ~Texture2DArray(void); + + /** \return the texture handle. */ + GLuint handle(void) const; + + /** \return the texture width. */ + uint w(void) const; + + /** \return the texture height. */ + uint h(void) const; + + /** \return the texture layer count. */ + uint depth(void) const; + + /** \return the number of mipmap levels. */ + uint numLODs(void) const; + + /** Read back the value of a given pixel to the CPU. + \param i layer + \param x x coordinate in [0,w-1] + \param y y coordinate in [0,h-1] + \param lod the mip level + \return a converted RGBA float color + \warning Use only for debugging, can cause a GPU flush/sync. + */ + Vector4f readBackPixel(int i, int x, int y, uint lod = 0) const; + + private: + + /** Create the texture array. */ + void createArray(uint compression = 0); + + /** Upload the images data to the GPU. + \param images the data to upload + */ + template + void sendArray(const std::vector& images); + + /** Copy the rendertargets data to the texture. + \param RTs the rendertargets to copy + */ + void sendRTarray(const std::vector& RTs); + + /** Upload the images data to the GPU. + \param images the data to upload + */ + template + void sendMipArray(const std::vector>& images); + + /** Flip and rescale a subset of images from a list. + \param images the images to resize + \param tmp a temporary buffer + \param tw the target width + \param th the target height + \param slices the indices of the images to process in the list + \return a list of pointers to the transformed images + */ + template + std::vector applyFlipAndResize( + const std::vector& images, + std::vector& tmp, uint tw, uint th, + const std::vector& slices + ); + + /** Flip and rescale a set of images. + \param images the images to resize + \param tmp a temporary buffer + \param tw the target width + \param th the target height + \return a list of pointers to the transformed images + */ + template + std::vector applyFlipAndResize( + const std::vector& images, + std::vector& tmp, uint tw, uint th + ); + + GLuint m_Handle = 0; ///< Texture handle. + uint m_W = 0; ///< Texture width. + uint m_H = 0; ///< Texture height. + uint m_Flags = 0; ///< Options. + uint m_Depth = 0; ///< Layers count. + uint m_numLODs = 1; ///< Mipmap level count. + }; + + + /** Interface for a generic GPU cubemap texture. + * \sa TextureCubeMap + * \ingroup sibr_graphics + */ + class ITextureCubeMap + { + public: + typedef std::shared_ptr Ptr; + typedef std::unique_ptr UPtr; + public: + /// Destructor. + virtual ~ITextureCubeMap(void) { } + + /** \return the texture handle. */ + virtual GLuint handle(void) const = 0; + + /** \return the texture width. */ + virtual uint w(void) const = 0; + + /** \return the texture height. */ + virtual uint h(void) const = 0; + }; + + /** + * Represent a cubemap composed of 6 2D faces on the GPU, with custom format and type. + * \sa ITextureCubeMap + * \ingroup sibr_graphics + */ + template + class TextureCubeMap : public ITextureCubeMap { + SIBR_DISALLOW_COPY(TextureCubeMap); + + public: + typedef Image PixelImage; + typedef typename PixelImage::Pixel PixelFormat; + typedef RenderTarget PixelRT; + typedef std::shared_ptr> Ptr; + typedef std::unique_ptr> UPtr; + + public: + + /// Constructor. + TextureCubeMap(void); + + /** Constructor. + \param w width + \param h height + \param flags options + */ + TextureCubeMap(const uint w, const uint h, uint flags = 0); + + /** Create a cubemap from 6 images. + \param xpos positive X face + \param xneg negative X face + \param ypos positive Y face + \param yneg negative Y face + \param zpos positive Z face + \param zneg negative Z face + \param flags options + */ + TextureCubeMap(const PixelImage& xpos, const PixelImage& xneg, + const PixelImage& ypos, const PixelImage& yneg, + const PixelImage& zpos, const PixelImage& zneg, uint flags = 0); + + /** Create the texture from 6 images. + \param xpos positive X face + \param xneg negative X face + \param ypos positive Y face + \param yneg negative Y face + \param zpos positive Z face + \param zneg negative Z face + \param flags options + */ + void createFromImages(const PixelImage& xpos, const PixelImage& xneg, + const PixelImage& ypos, const PixelImage& yneg, + const PixelImage& zpos, const PixelImage& zneg, uint flags = 0); + + /// Destructor. + ~TextureCubeMap(void); + + /** \return the texture handle. */ + GLuint handle(void) const; + + /** \return the texture width. */ + uint w(void) const; + + /** \return the texture height. */ + uint h(void) const; + + private: + + /** Create the cubemap texture object. */ + void createCubeMap(); + + /** Upload cubemap data. + \param xpos positive X face + \param xneg negative X face + \param ypos positive Y face + \param yneg negative Y face + \param zpos positive Z face + \param zneg negative Z face + */ + void sendCubeMap(const PixelImage& xpos, const PixelImage& xneg, + const PixelImage& ypos, const PixelImage& yneg, + const PixelImage& zpos, const PixelImage& zneg); + + GLuint m_Handle = 0; ///< Texture handle. + uint m_W = 0; ///< Texture width. + uint m_H = 0; ///< Texture height. + uint m_Flags = 0; ///< Options. + + }; + + + /** + Copy the content of a texture to another texture, resizing if needed. + \param src source texture + \param dst destination texture + \param mask which part of the buffer to copy (color, depth, stencil). + \param filter filtering mode if the two buffers have different dimensions (linear or nearest) + \warning If the mask contains the depth or stencil, filter must be GL_NEAREST + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT void blit(const ITexture2D& src, const ITexture2D& dst, GLbitfield mask = GL_COLOR_BUFFER_BIT, GLenum filter = GL_LINEAR); + + + /** + Copy the content of a texture to a render target, resizing if needed. + \param src source texture + \param dst destination rendertarget + \param mask which part of the buffer to copy (color, depth, stencil). + \param filter filtering mode if the two buffers have different dimensions (linear or nearest) + \param flip flip the texture vertically when copying it + \note The blit can only happen for color attachment 0 in dst. + \warning If the mask contains the depth or stencil, filter must be GL_NEAREST + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT void blit(const ITexture2D& src, const IRenderTarget& dst, GLbitfield mask = GL_COLOR_BUFFER_BIT, GLenum filter = GL_LINEAR, bool flip = false); + + /** + Copy the content of a texture to a render target, resizing if needed and flipping the result. + \param src source texture + \param dst destination rendertarget + \param mask which part of the buffer to copy (color, depth, stencil). + \param filter filtering mode if the two buffers have different dimensions (linear or nearest) + \note The blit can only happen for color attachment 0 in dst. + \warning If the mask contains the depth or stencil, filter must be GL_NEAREST + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT void blit_and_flip(const ITexture2D& src, const IRenderTarget& dst, GLbitfield mask = GL_COLOR_BUFFER_BIT, GLenum filter = GL_LINEAR); + + /** + Copy the content of a texture to a specific color attachment of the destination render target, resizing if needed. + \param src source texture + \param dst destination rendertarget + \param location the color attachment to blit to + \param filter filtering mode if the two buffers have different dimensions (linear or nearest) + \param flip flip the texture vertically when copying it + \note No mask to specify, as this is assumed to be COLOR. + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT void blitToColorAttachment(const ITexture2D& src, IRenderTarget& dst, int location, GLenum filter = GL_LINEAR, bool flip = false); + + /** + Copy the content of a rendertarget first color attachment to a texture, resizing if needed. + \param src source rendertarget + \param dst destination texture + \param mask which part of the buffer to copy (color, depth, stencil). + \param filter filtering mode if the two buffers have different dimensions (linear or nearest) + \note The blit can only happen for color attachment 0 in dst. + \warning If the mask contains the depth or stencil, filter must be GL_NEAREST + \ingroup sibr_graphics + */ + SIBR_GRAPHICS_EXPORT void blit(const IRenderTarget& src, const ITexture2D& dst, GLbitfield mask = GL_COLOR_BUFFER_BIT, GLenum filter = GL_LINEAR); + + /** Display a RenderTarget into a popup OpenCV window. + \param rt the rendertarget to display + \param winTitle the window title + \ingroup sibr_graphics + */ + template + static void show(const RenderTarget& rt, const std::string& winTitle = "sibr::show()") { + Image img; + rt.readBack(img); + show(img, winTitle); + } + + /** Display a texture into a popup OpenCV window. + \param texture the texture to display + \param winTitle the window title + \ingroup sibr_graphics + */ + template + static void show(const Texture2D& texture, const std::string& winTitle = "sibr::show()") { + Image img(texture.w(), texture.h()); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, texture.handle()); + + glGetTexImage(GL_TEXTURE_2D, 0, sibr::GLFormat::format, sibr::GLType::type, img.data()); + show(img, winTitle); + } + + // --- TYPEDEFS -------------------------------------------------- + + typedef Texture2D Texture2DRGB; + typedef Texture2D Texture2DRGBA; + typedef Texture2D Texture2DLum; + + typedef Texture2D Texture2DRGBA16; + typedef Texture2D Texture2DLum16; + typedef Texture2D Texture2DUV16; + + typedef Texture2D Texture2DUV16s; + + typedef Texture2D Texture2DRGB32F; + typedef Texture2D Texture2DRGBA32F; + typedef Texture2D Texture2DUV32F; + typedef Texture2D Texture2DLum32F; + + + typedef Texture2DArray Texture2DArrayLum; + typedef Texture2DArray Texture2DArrayUV; + typedef Texture2DArray Texture2DArrayRGB; + typedef Texture2DArray Texture2DArrayRGBA; + + typedef Texture2DArray Texture2DArrayLum16; + typedef Texture2DArray Texture2DArrayUV16; + typedef Texture2DArray Texture2DArrayRGB16; + typedef Texture2DArray Texture2DArrayRGBA16; + + typedef Texture2DArray Texture2DArrayLum16s; + typedef Texture2DArray Texture2DArrayUV16s; + typedef Texture2DArray Texture2DArrayRGB16s; + typedef Texture2DArray Texture2DArrayRGBA16s; + + typedef Texture2DArray Texture2DArrayInt1; + typedef Texture2DArray Texture2DArrayInt2; + typedef Texture2DArray Texture2DArrayInt3; + typedef Texture2DArray Texture2DArrayInt4; + + typedef Texture2DArray Texture2DArrayLum32F; + typedef Texture2DArray Texture2DArrayUV32F; + typedef Texture2DArray Texture2DArrayRGB32F; + typedef Texture2DArray Texture2DArrayRGBA32F; + + + typedef TextureCubeMap TextureCubeMapLum; + typedef TextureCubeMap TextureCubeMapRGB; + typedef TextureCubeMap TextureCubeMapRGBA; + + typedef TextureCubeMap TextureCubeMapLum16; + typedef TextureCubeMap TextureCubeMapUV16; + typedef TextureCubeMap TextureCubeMapRGBA16; + + typedef TextureCubeMap TextureCubeMapUV16s; + + typedef TextureCubeMap TextureCubeMapLum32F; + typedef TextureCubeMap TextureCubeMapRGB32F; + typedef TextureCubeMap TextureCubeMapRGBA32F; + + /* Note concerning depth buffers : + * We don't support depth only rendertargets. + * Other kinds of RenderTarget (e.g. RenderTargetRGB) creates + * also a new depth buffer that is bound with the color buffer, so no need to explicitely create one. + * typedef RenderTarget RenderTargetDepth24; + */ + + + // ----DEFINITIONS Texture2D -------------------------------------------------- + + template template + GLuint Texture2D::create2D(const ImageType& img, uint flags) { + GLuint id = 0; + CHECK_GL_ERROR; + glGenTextures(1, &id); + glBindTexture(GL_TEXTURE_2D, id); + if (flags & SIBR_CLAMP_UVS) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + } + else if (flags & SIBR_CLAMP_TO_BORDER) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); + } + if (flags & SIBR_GPU_AUTOGEN_MIPMAP) { + if (flags & SIBR_GPU_INTEGER) { + throw std::runtime_error("Mipmapping on integer texture not supported, probably not even by OpenGL"); + } + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + } + else { +#if SIBR_COMPILE_FORCE_SAMPLING_LINEAR + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); +#else + if (flags & SIBR_GPU_LINEAR_SAMPLING) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + } + else { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + } +#endif + } + send2D(id, img, flags); + CHECK_GL_ERROR; + return id; + } + + template + /*static*/ GLuint Texture2D::create2D(const std::vector& miparray, uint flags) { + GLuint id = 0; + CHECK_GL_ERROR; + glGenTextures(1, &id); + glBindTexture(GL_TEXTURE_2D, id); + if (flags & SIBR_CLAMP_UVS) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + } + else if (flags & SIBR_CLAMP_TO_BORDER) { + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_BORDER); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_BORDER); + } + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, int(miparray.size()) - 1); + send2Dmipmap(id, miparray, flags); + CHECK_GL_ERROR; + return id; + } + + template template + void Texture2D::send2D(GLuint id, const ImageType& img, uint flags) { + using FormatInfos = GLTexFormat; + + if (flags & SIBR_GPU_INTEGER) { + if (FormatInfos::int_internal_format < 0) { + throw std::runtime_error("Texture format does not support integer mapping"); + } + } + + bool flip = flags & SIBR_FLIP_TEXTURE; + ImageType flippedImg; + if (flip) { + flippedImg = FormatInfos::flip(img); + } + const ImageType& sendedImg = flip ? flippedImg : img; + + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + glBindTexture(GL_TEXTURE_2D, id); + glTexImage2D(GL_TEXTURE_2D, + 0, + (flags & SIBR_GPU_INTEGER) ? FormatInfos::int_internal_format : FormatInfos::internal_format, + FormatInfos::width(sendedImg), FormatInfos::height(sendedImg), + 0, + (flags & SIBR_GPU_INTEGER) ? FormatInfos::int_format : FormatInfos::format, + FormatInfos::type, + FormatInfos::data(sendedImg) + ); + + bool autoMIPMAP = ((flags & SIBR_GPU_AUTOGEN_MIPMAP) != 0); + if (autoMIPMAP) + glGenerateMipmap(GL_TEXTURE_2D); + CHECK_GL_ERROR; + } + + // Send 2D texture to GPU memory, each mipmap is specified + template + /*static*/ void Texture2D::send2Dmipmap(GLuint id, const std::vector& miparray, uint flags) { + CHECK_GL_ERROR; + if (flags & SIBR_GPU_INTEGER) { + throw std::runtime_error("Mipmapping on integer texture not supported, probably not even by OpenGL"); + } + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + glBindTexture(GL_TEXTURE_2D, id); + + std::vector flippedMipArray; + bool flip = flags & SIBR_FLIP_TEXTURE; + if (flip) { + flippedMipArray.resize(miparray.size()); +#pragma omp parallel for + for (uint l = 0; l < miparray.size(); l++) { + flippedMipArray[l] = miparray[l].clone(); + flippedMipArray[l].flipH(); + } + } + const std::vector& sendedMipArray = flip ? flippedMipArray : miparray; + + for (uint l = 0; l < miparray.size(); l++) { + glTexImage2D(GL_TEXTURE_2D, + l, + GLFormat::internal_format, + miparray[l].w(), miparray[l].h(), + 0, + GLFormat::format, + GLType::type, + sendedMipArray[l].data() + ); + } + CHECK_GL_ERROR; + } + + template + Texture2D::Texture2D(void) { + m_Flags = 0; + m_W = 0; + m_H = 0; + m_Handle = 0; + m_autoMIPMAP = false; + } + + template template + Texture2D::Texture2D(const ImageType& img, uint flags) { + using TexFormat = GLTexFormat; + m_Flags = flags; + m_W = TexFormat::width(img); + m_H = TexFormat::height(img); + m_Handle = create2D(img, m_Flags); + m_autoMIPMAP = ((flags & SIBR_GPU_AUTOGEN_MIPMAP) != 0); + } + + template + Texture2D::Texture2D(const std::vector& miparray, uint flags) { + m_Flags = flags; + m_W = miparray[0].w(); + m_H = miparray[0].h(); + m_Handle = create2D(miparray, m_Flags); + m_autoMIPMAP = false; + } + + template + Texture2D::~Texture2D(void) { + CHECK_GL_ERROR; + glDeleteTextures(1, &m_Handle); + CHECK_GL_ERROR; + } + + template + GLuint Texture2D::handle(void) const { return m_Handle; } + template + uint Texture2D::w(void) const { return m_W; } + template + uint Texture2D::h(void) const { return m_H; } + + + template + sibr::Image Texture2D::readBack(void) const { + + // makes sure Vertex have the correct size (read back relies on pointers) + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + glBindTexture(GL_TEXTURE_2D, handle()); + + int w, h; + glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_WIDTH, &w); + glGetTexLevelParameteriv(GL_TEXTURE_2D, 0, GL_TEXTURE_HEIGHT, &h); + + sibr::Image img(w, h); + + glGetTexImage(GL_TEXTURE_2D, + 0, + GLFormat::format, + GLType::type, + img.data() + ); + + // flip data vertically to get origin on lower left corner + img.flipH(); + + CHECK_GL_ERROR; + + return img; + } + + template template + void Texture2D::update(const ImageType& img) { + using FormatInfos = GLTexFormat; + if (FormatInfos::width(img) == w() && FormatInfos::height(img) == h()) + { + bool flip = m_Flags & SIBR_FLIP_TEXTURE; + ImageType flippedImg; + if (flip) { + flippedImg = FormatInfos::flip(img); + } + const ImageType& sendedImg = flip ? flippedImg : img; + + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + glBindTexture(GL_TEXTURE_2D, handle()); + glTexSubImage2D(GL_TEXTURE_2D, 0, + 0, 0, FormatInfos::width(sendedImg), FormatInfos::height(sendedImg), + FormatInfos::format, + FormatInfos::type, + FormatInfos::data(sendedImg) + ); + if (m_autoMIPMAP) + glGenerateMipmap(GL_TEXTURE_2D); + } + else { + m_W = FormatInfos::width(img); + m_H = FormatInfos::height(img); + send2D(m_Handle, img, m_Flags); + } + } + + template + void Texture2D::mipmap(int maxLOD) { + glBindTexture(GL_TEXTURE_2D, handle()); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, maxLOD >= 0 ? maxLOD : 1000); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + m_autoMIPMAP = true; + glGenerateMipmap(GL_TEXTURE_2D); + } + + + + // ----DEFINITIONS Texture2DArray -------------------------------------------------- + + template + Texture2DArray::Texture2DArray(const uint d, uint flags) { + m_Depth = d; + m_Flags = flags; + } + + template + Texture2DArray::Texture2DArray(const uint w, const uint h, const uint d, uint flags) { + m_W = w; + m_H = h; + m_Depth = d; + m_Flags = flags; + createArray(); + } + + template template + Texture2DArray::Texture2DArray(const std::vector& images, uint flags) { + m_Flags = flags; + createFromImages(images, flags); + } + + template template + Texture2DArray::Texture2DArray(const std::vector& images, uint w, uint h, uint flags) { + m_Flags = flags; + createFromImages(images, w, h, flags); + } + + template template + Texture2DArray::Texture2DArray(const std::vector>& images, uint flags) { + m_Flags = flags; + createFromImages(images, flags); + } + + template template + Texture2DArray::Texture2DArray(const std::vector>& images, uint w, uint h, uint flags) { + m_Flags = flags; + createFromImages(images, w, h, flags); + } + + template + Texture2DArray::Texture2DArray(const std::vector& RTs, uint flags) { + m_Flags = flags; + createFromRTs(RTs, flags); + } + + template + void Texture2DArray::createArray(uint compression) { + CHECK_GL_ERROR; + glGenTextures(1, &m_Handle); + glBindTexture(GL_TEXTURE_2D_ARRAY, m_Handle); + + const bool autoMIPMAP = ((m_Flags & SIBR_GPU_AUTOGEN_MIPMAP) != 0); + const int numMipMap = autoMIPMAP ? (int)std::floor(std::log2(std::max(m_W, m_H))) : m_numLODs; + + m_numLODs = numMipMap; + + if (m_numLODs == 1) { + if (m_Flags & SIBR_GPU_LINEAR_SAMPLING) { + glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + } + else { + glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + } + + } + else { + if (m_Flags & SIBR_GPU_LINEAR_SAMPLING) { + glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); + glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + } + else { + glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MIN_FILTER, GL_NEAREST_MIPMAP_NEAREST); + glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + } + } + + glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_2D_ARRAY, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + + uint internal_format = GLFormat::internal_format; + if (compression) + internal_format = compression; + + glTexStorage3D(GL_TEXTURE_2D_ARRAY, numMipMap, + internal_format, + m_W, + m_H, + m_Depth + ); + + CHECK_GL_ERROR; + } + + template template + void Texture2DArray::sendArray(const std::vector& images) { + using ImgTypeInfo = GLTexFormat; + glBindTexture(GL_TEXTURE_2D_ARRAY, m_Handle); + + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + + // Make sure all images have the same size. + std::vector tmp; + std::vector imagesPtrToSend = applyFlipAndResize(images, tmp, m_W, m_H); + + for (int im = 0; im < (int)m_Depth; ++im) { + glTexSubImage3D(GL_TEXTURE_2D_ARRAY, + 0, + 0, 0, im, + m_W, + m_H, + 1, // one slice at a time + ImgTypeInfo::format, + ImgTypeInfo::type, + ImgTypeInfo::data(*imagesPtrToSend[im]) + ); + //CHECK_GL_ERROR; + } + bool autoMIPMAP = ((m_Flags & SIBR_GPU_AUTOGEN_MIPMAP) != 0); + if (autoMIPMAP) { + glGenerateMipmap(GL_TEXTURE_2D_ARRAY); + } + CHECK_GL_ERROR; + } + + template template + void Texture2DArray::sendMipArray(const std::vector>& images) { + using ImgTypeInfo = GLTexFormat; + glBindTexture(GL_TEXTURE_2D_ARRAY, m_Handle); + + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + + assert(m_numLODs == images.size()); + for (int lid = 0; lid < int(images.size()); ++lid) { + + assert(m_Depth == images[lid].size()); + + // Make sure all images have the same size. + const uint dW = m_W / (1 << lid); + const uint dH = m_H / (1 << lid); + std::vector tmp; + std::vector imagesPtrToSend = applyFlipAndResize(images[lid], tmp, dW, dH); + + for (int im = 0; im < (int)m_Depth; ++im) { + glTexSubImage3D(GL_TEXTURE_2D_ARRAY, + lid, + 0, 0, im, + dW, + dH, + 1, // one slice at a time + ImgTypeInfo::format, + ImgTypeInfo::type, + ImgTypeInfo::data(*imagesPtrToSend[im]) + ); + } + } + // No auto mipmap when specifying the mips. + m_Flags &= ~SIBR_GPU_AUTOGEN_MIPMAP; + CHECK_GL_ERROR; + } + + template template + std::vector Texture2DArray::applyFlipAndResize( + const std::vector& images, + std::vector& tmp, uint tw, uint th, + const std::vector& slices) + { + using ImgTypeInfo = GLTexFormat; + + std::vector imagesPtrToSend(images.size()); + tmp.resize(images.size()); + + bool flip = m_Flags & SIBR_FLIP_TEXTURE; + //#pragma omp parallel for // Disabled due to performance reasons when live-updating slices. + for (int slice_id = 0; slice_id < (int)slices.size(); ++slice_id) { + int im = slices[slice_id]; + + bool resize = !(tw == ImgTypeInfo::width(images[im]) && th == ImgTypeInfo::height(images[im])); + if (!flip && !resize) { + imagesPtrToSend[im] = &images[im]; + } + else { + if (resize) { + tmp[im] = ImgTypeInfo::resize(images[im], tw, th); + } + if (flip) { + tmp[im] = ImgTypeInfo::flip(resize ? tmp[im] : images[im]); + } + imagesPtrToSend[im] = &tmp[im]; + } + } + + return imagesPtrToSend; + } + + template + template + std::vector Texture2DArray::applyFlipAndResize( + const std::vector& images, + std::vector& tmp, uint tw, uint th + ) { + std::vector slices(m_Depth); + for (int i = 0; i < (int)m_Depth; ++i) { + slices[i] = i; + } + return applyFlipAndResize(images, tmp, tw, th, slices); + } + + template + void Texture2DArray::sendRTarray(const std::vector& RTs) { + CHECK_GL_ERROR; + glBindTexture(GL_TEXTURE_2D_ARRAY, m_Handle); + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + for (int im = 0; im < (int)m_Depth; ++im) { + // Set correct RT as read-framebuffer. + + RTs[im]->bind(); + glCopyTexSubImage3D(GL_TEXTURE_2D_ARRAY, + 0, + 0, 0, im, + 0, 0, + m_W, + m_H + ); + RTs[im]->unbind(); + } + CHECK_GL_ERROR; + } + + template template + void Texture2DArray::createFromImages(const std::vector& images, uint flags) { + using ImgTypeInfo = GLTexFormat; + + sibr::Vector2u maxSize(0, 0); + for (const auto& img : images) { + maxSize = maxSize.cwiseMax(sibr::Vector2u(ImgTypeInfo::width(img), ImgTypeInfo::height(img))); + } + createFromImages(images, maxSize[0], maxSize[1], flags); + } + + template template + void Texture2DArray::createFromImages(const std::vector& images, uint w, uint h, uint flags) { + m_W = w; + m_H = h; + m_Depth = (uint)images.size(); + m_Flags = flags; + createArray(); + sendArray(images); + } + + template template + void Texture2DArray::createCompressedFromImages(const std::vector& images, uint compression, uint flags) { + using ImgTypeInfo = GLTexFormat; + + sibr::Vector2u maxSize(0, 0); + for (const auto& img : images) { + maxSize = maxSize.cwiseMax(sibr::Vector2u(ImgTypeInfo::width(img), ImgTypeInfo::height(img))); + } + createCompressedFromImages(images, maxSize[0], maxSize[1], compression, flags); + } + + template template + void Texture2DArray::createCompressedFromImages(const std::vector& images, uint w, uint h, uint compression, uint flags) { + m_W = w; + m_H = h; + m_Depth = (uint)images.size(); + m_Flags = flags; + createArray(compression); + sendArray(images); + } + + template template + void Texture2DArray::createFromImages(const std::vector>& images, uint flags) { + using ImgTypeInfo = GLTexFormat; + + sibr::Vector2u maxSize(0, 0); + for (const auto& img : images[0]) { + maxSize = maxSize.cwiseMax(sibr::Vector2u(ImgTypeInfo::width(img), ImgTypeInfo::height(img))); + } + createFromImages(images, maxSize[0], maxSize[1], flags); + } + + template template + void Texture2DArray::createFromImages(const std::vector>& images, uint w, uint h, uint flags) { + m_W = w; + m_H = h; + m_Depth = uint(images[0].size()); + m_Flags = flags & ~SIBR_GPU_AUTOGEN_MIPMAP; + m_numLODs = uint(images.size()); + createArray(); + + sendMipArray(images); + } + + + template template + void Texture2DArray::updateFromImages(const std::vector& images) { + using ImgTypeInfo = GLTexFormat; + + sibr::Vector2u maxSize(0, 0); + for (const auto& img : images) { + maxSize = maxSize.cwiseMax(sibr::Vector2u(ImgTypeInfo::width(img), ImgTypeInfo::height(img))); + } + if (images.size() == m_Depth && m_W == maxSize[0] && m_H == maxSize[1]) { + sendArray(images); + } + else { + createFromImages(images, m_Flags); + } + } + + template template + void Texture2DArray::updateSlices(const std::vector& images, const std::vector& slices) { + using ImgTypeInfo = GLTexFormat; + + int numSlices = (int)slices.size(); + if (numSlices == 0) { + return; + } + + sibr::Vector2u maxSize(0, 0); + for (int i = 0; i < numSlices; ++i) { + maxSize = maxSize.cwiseMax(sibr::Vector2u(ImgTypeInfo::width(images[slices[i]]), ImgTypeInfo::height(images[slices[i]]))); + } + if (m_W != maxSize[0] || m_H != maxSize[1]) { + m_W = maxSize[0]; + m_H = maxSize[1]; + } + + glBindTexture(GL_TEXTURE_2D_ARRAY, m_Handle); + + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + + std::vector tmp; + std::vector imagesPtrToSend = applyFlipAndResize(images, tmp, m_W, m_H, slices); + + for (int i = 0; i < numSlices; ++i) { + glTexSubImage3D(GL_TEXTURE_2D_ARRAY, + 0, + 0, 0, slices[i], + m_W, + m_H, + 1, // one slice at a time + ImgTypeInfo::format, + ImgTypeInfo::type, + ImgTypeInfo::data(*imagesPtrToSend[slices[i]]) + ); + } + CHECK_GL_ERROR; + } + + template + void Texture2DArray::createFromRTs(const std::vector& RTs, uint flags) { + m_W = 0; + m_H = 0; + for (const auto& RT : RTs) { + m_W = (std::max)(m_W, RT->w()); + m_H = (std::max)(m_H, RT->h()); + } + m_Depth = (uint)RTs.size(); + m_Flags = flags; + createArray(); + sendRTarray(RTs); + } + + template + Texture2DArray::~Texture2DArray(void) { + CHECK_GL_ERROR; + glDeleteTextures(1, &m_Handle); + CHECK_GL_ERROR; + } + + template + GLuint Texture2DArray::handle(void) const { return m_Handle; } + + template + uint Texture2DArray::w(void) const { return m_W; } + + template + uint Texture2DArray::h(void) const { return m_H; } + + template + uint Texture2DArray::depth(void) const { return m_Depth; } + + template + uint Texture2DArray::numLODs(void) const { return m_numLODs; } + + template + Vector4f Texture2DArray::readBackPixel(int i, int x, int y, uint lod) const { + Vector4f out; +//#define HEADLESS +#ifdef HEADLESS + SIBR_ERR << "HEADLESS -- No support for readBackPixel" << std::endl; +#else + glGetTextureSubImage(handle(), + lod, x, y, i, 1, 1, 1, + GL_RGBA, GL_FLOAT, 4 * sizeof(float), out.data() + ); +#endif + CHECK_GL_ERROR; + for (uint c = T_NumComp; c < 4; ++c) { + out[c] = 0; + } + return out; + } + + + // ----DEFINITIONS TextureCubeMap -------------------------------------------------- + + template + TextureCubeMap::TextureCubeMap(void) {} + + template + TextureCubeMap::TextureCubeMap(const uint w, const uint h, uint flags) { + m_W = w; + m_H = h; + m_Flags = flags; + createCubeMap(); + } + + template + TextureCubeMap::TextureCubeMap(const PixelImage& xpos, const PixelImage& xneg, + const PixelImage& ypos, const PixelImage& yneg, + const PixelImage& zpos, const PixelImage& zneg, uint flags) { + m_Flags = flags; + createFromImages(xpos, xneg, ypos, yneg, zpos, zneg, flags); + } + + + template + void TextureCubeMap::createCubeMap() { + + // We enable seamless junctions between cubemap faces. + static bool enableStates = false; + if (enableStates == false) + { + glEnable(GL_TEXTURE_CUBE_MAP_SEAMLESS); + enableStates = true; + } + CHECK_GL_ERROR; + + glGenTextures(1, &m_Handle); + glBindTexture(GL_TEXTURE_CUBE_MAP, m_Handle); + + if (m_Flags & SIBR_GPU_LINEAR_SAMPLING) { + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_LINEAR); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_LINEAR); + } + else { + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MIN_FILTER, GL_NEAREST); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_MAG_FILTER, GL_NEAREST); + } + + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); + glTexParameteri(GL_TEXTURE_CUBE_MAP, GL_TEXTURE_WRAP_R, GL_CLAMP_TO_EDGE); + + CHECK_GL_ERROR; + } + + + + template + void TextureCubeMap::sendCubeMap(const PixelImage& xpos, const PixelImage& xneg, + const PixelImage& ypos, const PixelImage& yneg, + const PixelImage& zpos, const PixelImage& zneg) { + CHECK_GL_ERROR; + + if (m_Flags & SIBR_GPU_INTEGER) { + if (GLFormat::int_internal_format < 0) { + throw std::runtime_error("Texture format does not support integer mapping"); + } + } + + // Handle flipping. + const PixelImage* sendedXpos = &xpos; + const PixelImage* sendedYpos = &ypos; + const PixelImage* sendedZpos = &zpos; + const PixelImage* sendedXneg = &xneg; + const PixelImage* sendedYneg = &yneg; + const PixelImage* sendedZneg = &zneg; + + PixelImage flippedXpos, flippedYpos, flippedZpos; + PixelImage flippedXneg, flippedYneg, flippedZneg; + + // ... + if (m_Flags & SIBR_FLIP_TEXTURE) { + flippedXpos = xpos.clone(); + flippedXpos.flipH(); + sendedXpos = &flippedXpos; + + flippedYpos = ypos.clone(); + flippedYpos.flipH(); + sendedYpos = &flippedYpos; + + flippedZpos = zpos.clone(); + flippedZpos.flipH(); + sendedZpos = &flippedZpos; + + flippedXneg = xneg.clone(); + flippedXneg.flipH(); + sendedXneg = &flippedXneg; + + flippedYneg = yneg.clone(); + flippedYneg.flipH(); + sendedYneg = &flippedYneg; + + flippedZneg = zneg.clone(); + flippedZneg.flipH(); + sendedZneg = &flippedZneg; + } + + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + + glBindTexture(GL_TEXTURE_CUBE_MAP, m_Handle); + + const auto tinternal_format = (m_Flags & SIBR_GPU_INTEGER) + ? GLFormat::int_internal_format + : GLFormat::internal_format; + const auto tformat = (m_Flags & SIBR_GPU_INTEGER) + ? GLFormat::int_format + : GLFormat::format; + const auto ttype = GLType::type; + + glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_X, 0, tinternal_format, xpos.w(), xpos.h(), 0, tformat, ttype, xpos.data()); + glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_X, 0, tinternal_format, xneg.w(), xneg.h(), 0, tformat, ttype, xneg.data()); + glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Y, 0, tinternal_format, ypos.w(), ypos.h(), 0, tformat, ttype, ypos.data()); + glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, 0, tinternal_format, yneg.w(), yneg.h(), 0, tformat, ttype, yneg.data()); + glTexImage2D(GL_TEXTURE_CUBE_MAP_POSITIVE_Z, 0, tinternal_format, zpos.w(), zpos.h(), 0, tformat, ttype, zpos.data()); + glTexImage2D(GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, 0, tinternal_format, zneg.w(), zneg.h(), 0, tformat, ttype, zneg.data()); + + + bool autoMIPMAP = ((m_Flags & SIBR_GPU_AUTOGEN_MIPMAP) != 0); + if (autoMIPMAP) { + glGenerateMipmap(GL_TEXTURE_CUBE_MAP); + } + + + } + + + template + void TextureCubeMap::createFromImages(const PixelImage& xpos, const PixelImage& xneg, + const PixelImage& ypos, const PixelImage& yneg, + const PixelImage& zpos, const PixelImage& zneg, uint flags) { + const int numMipMap = 1; + sibr::Vector2u maxSize(0, 0); + /// \todo TODO: check if the six images have the same size. + m_W = xpos.w(); + m_H = xpos.h(); + m_Flags = flags; + createCubeMap(); + sendCubeMap(xpos, xneg, ypos, yneg, zpos, zneg); + } + + + template + TextureCubeMap::~TextureCubeMap(void) { + CHECK_GL_ERROR; + glDeleteTextures(1, &m_Handle); + CHECK_GL_ERROR; + } + + template + GLuint TextureCubeMap::handle(void) const { return m_Handle; } + + template + uint TextureCubeMap::w(void) const { return m_H; } + + template + uint TextureCubeMap::h(void) const { return m_W; } + +} // namespace sibr + + diff --git a/SIBR_viewers/src/core/graphics/Types.hpp b/SIBR_viewers/src/core/graphics/Types.hpp new file mode 100644 index 0000000000..3892819610 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Types.hpp @@ -0,0 +1,556 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include + +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" +# include "core/graphics/Image.hpp" + + +# define SIBR_GPU_AUTOGEN_MIPMAP (1<<0) +# define SIBR_GPU_MULSTISAMPLE (1<<1) +# define SIBR_GPU_LINEAR_SAMPLING (1<<2) +# define SIBR_GPU_INTEGER (1<<4) +# define SIBR_MSAA4X (1<<5) +# define SIBR_MSAA8X (1<<6) +# define SIBR_MSAA16X (1<<7) +# define SIBR_MSAA32X (1<<8) +# define SIBR_STENCIL_BUFFER (1<<9) +# define SIBR_CLAMP_UVS (1<<10) +# define SIBR_CLAMP_TO_BORDER (1<<11) +# define SIBR_FLIP_TEXTURE (1<<12) + +# define SIBR_COMPILE_FORCE_SAMPLING_LINEAR 0 + +namespace sibr{ + + + /** + * Contain type utilities to match C, cv and sibr types to OpenGL formats. + * \addtogroup sibr_graphics + * @{ + */ + + // --- TYPE HELPERS --------------------------------------------------- + + /** Helper building the correspondence between a GL type and a C type. */ + template class GLType; + + /** Helper building the correspondence between a GL type and a C type. */ + template <> class GLType { + public: + enum { type = GL_UNSIGNED_BYTE }; + }; + + /** Helper building the correspondence between a GL type and a C type. */ + template <> class GLType { + public: + enum { type = GL_UNSIGNED_SHORT }; + }; + + /** Helper building the correspondence between a GL type and a C type. */ + template <> class GLType { + public: + enum { type = GL_SHORT }; + }; + + /** Helper building the correspondence between a GL type and a C type. */ + template <> class GLType { + public: + enum { type = GL_FLOAT }; + }; + + /** Helper building the correspondence between a GL type and a C type. */ + template <> class GLType { + public: + enum { type = GL_INT }; + }; + + // --- FORMAT HELPERS ------------------------------------------------------- + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template class GLFormat; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_R8, + format = GL_RED, + int_internal_format = GL_R8UI, + int_format = GL_RED_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RG8, + format = GL_RG, + int_internal_format = GL_RG8UI, + int_format = GL_RG_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RGB8, + format = GL_RGB, + int_internal_format = GL_RGB8UI, + int_format = GL_RGB_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RGBA8, + format = GL_RGBA, + int_internal_format = GL_RGBA8UI, + int_format = GL_RGBA_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_R16, + format = GL_R, + int_internal_format = GL_R16UI, + int_format = GL_RED_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RG16, + format = GL_RG, + int_internal_format = GL_RG16UI, + int_format = GL_RG_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RGB16, + format = GL_RGB, + int_internal_format = GL_RGB16UI, + int_format = GL_RGB_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RGBA16, + format = GL_RGBA, + int_internal_format = GL_RGBA16UI, + int_format = GL_RGBA_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_R32I, + format = GL_RED_INTEGER, + int_internal_format = GL_R32I, + int_format = GL_RED_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RG32I, + format = GL_RG_INTEGER, + int_internal_format = GL_RG32I, + int_format = GL_RG_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RGB32I, + format = GL_RGB_INTEGER, + int_internal_format = GL_RGB32I, + int_format = GL_RGB_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RGBA32I, + format = GL_RGBA_INTEGER, + int_internal_format = GL_RGBA32I, + int_format = GL_RGBA_INTEGER, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_R32F, + format = GL_RED, + int_internal_format = -1, + int_format = -1, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RG32F, + format = GL_RG, + int_internal_format = -1, + int_format = -1, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RGB32F, + format = GL_RGB, + int_internal_format = -1, + int_format = -1, + isdepth = 0 + }; + }; + + /** Helper building the correspondence between a GL format and a C type and number of components. */ + template <> class GLFormat { + public: + enum { + internal_format = GL_RGBA32F, + format = GL_RGBA, + int_internal_format = -1, + int_format = -1, + isdepth = 0 + }; + }; + + // Depth texture format (unsupported) + + //template <> class GLFormat { + //public: + // enum { + // internal_format = GL_DEPTH_COMPONENT32F, + // format = GL_DEPTH_COMPONENT, + // int_internal_format = -1, + // int_format = -1, + // isdepth = 1}; + //}; + + // --- MAT HELPERS ----------------------- + + /** Helper building the correspondence between a GL format and a cv::Mat */ + template class GLFormatCVmat; + + /** Helper building the correspondence between a GL format and a cv::Mat */ + template <> class GLFormatCVmat { + public: + enum { + internal_format = GLFormat::internal_format, + format = GLFormat::format, + int_internal_format = GLFormat::int_internal_format, + int_format = GLFormat::int_format, + isdepth = GLFormat::isdepth + }; + }; + + /** Helper building the correspondence between a GL format and a cv::Mat */ + template <> class GLFormatCVmat { + public: + enum { + internal_format = GLFormat::internal_format, + format = GL_BGR, + int_internal_format = GLFormat::int_internal_format, + int_format = GLFormat::int_format, + isdepth = GLFormat::isdepth + }; + }; + + /** Helper building the correspondence between a GL format and a cv::Mat */ + template <> class GLFormatCVmat { + public: + enum { + internal_format = GLFormat::internal_format, + format = GL_BGRA, + int_internal_format = GLFormat::int_internal_format, + int_format = GLFormat::int_format, + isdepth = GLFormat::isdepth + }; + }; + + /** Helper building the correspondence between a GL type and a cv::Mat depth. */ + template struct OpenCVdepth; + + /** Helper building the correspondence between a GL type and a cv::Mat depth. */ + template<> struct OpenCVdepth { + static const uint value = CV_8U; + }; + + /** Helper building the correspondence between a GL type and a cv::Mat depth. */ + template<> struct OpenCVdepth { + static const uint value = CV_32F; + }; + + /** Helper building the correspondence between a GL type and a cv::Mat depth. */ + template<> struct OpenCVdepth { + static const uint value = CV_64F; + }; + + /** Helper to create a cv::Mat type from its depth and number of components. */ + template constexpr uint getOpenCVtype = CV_MAKE_TYPE(OpenCVdepth::value, N); + + /** Helper to create a one-channel cv::Mat from its depth. */ + template constexpr uint getOpenCVtypeSingleChannel = getOpenCVtype; + + /** Helper class to specify for which image type we can find a valid texture format. */ + template struct ValidGLTexFormat { + static const bool value = false; + }; + + /** Helper class to specify for which image type we can find a valid texture format. */ + template struct ValidGLTexFormat> { + static const bool value = true; + }; + + /** Helper class to specify for which image type we can find a valid texture format. */ + template<> struct ValidGLTexFormat { + static const bool value = true; + }; + + /** Helper class to provide, from a generic image type, all the information needed for OpenGL textures + Right now it can work with all sibr::Image and with cv::Mat (3U8 only) + You can add more using explicit template instanciation to specify both + ValidGLTexFormat and the following GLTexFormat properties. + */ + template struct GLTexFormat { + static_assert(ValidGLTexFormat::value, "ImageWrapper currently only specialized for sibr::Image and cv::Mat "); + + /** Flip an image. + \param img image to flip + \return the fliped image. + */ + static ImageType flip(const ImageType& img); + + /** Resize an image. + \param img image to resize + \param w new width + \param h new height + \return the resize image. + */ + static ImageType resize(const ImageType& img, uint w, uint h); + + /** Get an image width. + \param img the image + \return the width + */ + static uint width(const ImageType& img); + + /** Get an image height. + \param img the image + \return the height + */ + static uint height(const ImageType& img); + + /** Get an image data. + \param img the image + \return pointer to the beginning of the data. + */ + static const void* data(const ImageType& img); + + static const uint internal_format; ///< Internal GL format. + static const uint format; ///< Generic GL format. + static const uint int_internal_format; ///< Internal GL format for integer textures. + static const uint int_format; ///< Generic GL format for integer textures. + static const uint isdepth; ///< Is it a depth format. + static const uint type; ///< The component GL type. + }; + + /** Helper class to provide, for an sibr::Image, all the information needed for OpenGL textures. */ + template struct GLTexFormat, ScalarType, N > { + using ImageType = sibr::Image; + + /** \copydoc GLTexFormat::flip */ + static ImageType flip(const ImageType& img) { + ImageType temp = img.clone(); + temp.flipH(); + return temp; + } + + /** \copydoc GLTexFormat::resize */ + static ImageType resize(const ImageType& img, uint w, uint h) { + return img.resized(w, h); + } + + /** \copydoc GLTexFormat::width */ + static uint width(const ImageType& img) { + return img.w(); + } + + /** \copydoc GLTexFormat::height */ + static uint height(const ImageType& img) { + return img.h(); + } + + /** \copydoc GLTexFormat::data */ + static const void* data(const ImageType& img) { + return img.data(); + } + + static const uint internal_format = GLFormat::internal_format; ///< Internal GL format. + static const uint format = GLFormat::format; ///< Generic GL format. + static const uint int_internal_format = GLFormat::int_internal_format; ///< Internal GL format for integer textures. + static const uint int_format = GLFormat::int_format; ///< Generic GL format for integer textures. + static const uint isdepth = GLFormat::isdepth; ///< Is it a depth format. + static const uint type = GLType::type; ///< The component GL type. + }; + + /** Helper class to provide, for an sibr::Image::Ptr, all the information needed for OpenGL textures. */ + template struct GLTexFormat, ScalarType, N > { + using ImageType = ImagePtr; + + /** \copydoc GLTexFormat::flip */ + static ImageType flip(const ImageType& img) { + ImageType temp = ImageType::fromImg(*img); + temp->flipH(); + return temp; + } + + /** \copydoc GLTexFormat::resize */ + static ImageType resize(const ImageType& img, uint w, uint h) { + return ImageType::fromImg(img->resized(w, h)); + } + + /** \copydoc GLTexFormat::width */ + static uint width(const ImageType& img) { + return img->w(); + } + + /** \copydoc GLTexFormat::height */ + static uint height(const ImageType& img) { + return img->h(); + } + + /** \copydoc GLTexFormat::data */ + static const void* data(const ImageType& img) { + return img->data(); + } + + static const uint internal_format = GLFormat::internal_format; ///< Internal GL format. + static const uint format = GLFormat::format; ///< Generic GL format. + static const uint int_internal_format = GLFormat::int_internal_format; ///< Internal GL format for integer textures. + static const uint int_format = GLFormat::int_format; ///< Generic GL format for integer textures. + static const uint isdepth = GLFormat::isdepth; ///< Is it a depth format. + static const uint type = GLType::type; ///< The component GL type. + + }; + + /** Helper class to provide, for a cv::Mat, all the information needed for OpenGL textures. */ + template struct GLTexFormat { + static_assert(std::is_same_v && (N == 3 || N == 4 || N == 1) , "GLTexFormat with cv::Mat currently only defined for 3U8 or 4U8"); + + /** \copydoc GLTexFormat::flip */ + static cv::Mat flip(const cv::Mat& img) { + cv::Mat temp; + cv::flip(img, temp, 0); //0 for flipH + return temp; + } + + /** \copydoc GLTexFormat::resize */ + static cv::Mat resize(const cv::Mat& img, uint w, uint h) { + cv::Mat temp; + cv::resize(img, temp, cv::Size(w, h)); + return temp; + } + + /** \copydoc GLTexFormat::width */ + static uint width(const cv::Mat& img) { + return img.cols; + } + + /** \copydoc GLTexFormat::height */ + static uint height(const cv::Mat& img) { + return img.rows; + } + + /** \copydoc GLTexFormat::data */ + static const void* data(const cv::Mat& img) { + return img.ptr(); + } + + /** \copydoc GLTexFormat::data */ + static void* data(cv::Mat& img) { + return img.ptr(); + } + + /** \return the matrix OpenCV type. */ + static uint cv_type() { + return CV_MAKE_TYPE(cv::DataDepth::value, N); + } + + static const uint internal_format = GLFormatCVmat::internal_format; ///< Internal GL format. + static const uint format = GLFormatCVmat::format; ///< Generic GL format. + static const uint int_internal_format = GLFormatCVmat::int_internal_format; ///< Internal GL format for integer textures. + static const uint int_format = GLFormatCVmat::int_format; ///< Generic GL format for integer textures. + static const uint isdepth = GLFormatCVmat::isdepth; ///< Is it a depth format. + static const uint type = GLType::type; ///< The component GL type. + }; + + /** Helper class to provide, for a cv::Mat, all the information needed for OpenGL textures. */ + template + struct GLTexFormat >, ScalarType, N> + : GLTexFormat + { + }; + + /*** @} */ +} diff --git a/SIBR_viewers/src/core/graphics/Utils.cpp b/SIBR_viewers/src/core/graphics/Utils.cpp new file mode 100644 index 0000000000..6b266754c2 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Utils.cpp @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/Utils.hpp" + +namespace sibr +{ + + + cv::Scalar jetColor(float gray) { + const sibr::Vector3ub col = jetColor(gray); + return toOpenCV(col); + } + + sibr::Vector3ub getLinearColorFromProbaV(double proba) { + const double scProba = 3.0 * proba; + const unsigned char red = double(sibr::clamp(scProba, 0.0, 1.0)) * 255; + const unsigned char green = double(sibr::clamp(scProba - 1, 0.0, 1.0)) * 255; + const unsigned char blue = double(sibr::clamp(scProba - 2, 0.0, 1.0)) * 255; + + return sibr::Vector3ub(red, green, blue); + } + + double getProbaFromLinearColor(const sibr::Vector3ub & color) { + const double red = double(color[0]) / 255.0; + const double green = double(color[1]) / 255.0; + const double blue = double(color[2]) / 255.0; + return (red + green + blue) / 3.0; + } + + sibr::Vector2d cartesianToSpherical(const sibr::Vector3d & dir) + { + double theta = std::acos(dir.z()); + + double phi = 0; + if (dir.x() != 0 && dir.y() != 0) { + phi = std::atan2(dir.y(), dir.x()); + } + + return sibr::Vector2d(phi, theta); + } + + sibr::Vector2d cartesianToSphericalUVs(const sibr::Vector3d & dir) + { + const sibr::Vector2d angles = cartesianToSpherical(dir); + const double & phi = angles[0]; + const double & theta = angles[1]; + + return sibr::Vector2d(0.5*(phi / M_PI + 1.0), theta / M_PI); + } + + float sRGB2LinF(float inF) { + if (inF < 0.04045f) { + return inF / 12.92f; + } + else { + return std::pow((inF + 0.055f) / (1.055f), 2.4f); + } + } + + float lin2sRGBF(float inF) { + + if (inF < 0.0031308f) { + return std::max(0.0f, std::min(1.0f, 12.92f*inF)); + } + else { + return std::max(0.0f, std::min(1.0f, 1.055f*std::pow(inF, 1.0f / 2.4f) - 0.055f)); + } + + } + + void sRGB2Lin(sibr::ImageRGB32F& img) { +#pragma omp parallel for + for (int j = 0; j < int(img.h()); j++) { + for (int i = 0; i < int(img.w()); i++) { + for (int c = 0; c < 3; c++) { + img(i, j)[c] = sRGB2LinF(img(i, j)[c]); + } + } + } + } + + void lin2sRGB(sibr::ImageRGB32F& img) { +#pragma omp parallel for + for (int j = 0; j < int(img.h()); j++) { + for (int i = 0; i < int(img.w()); i++) { + for (int c = 0; c < 3; c++) { + img(i, j)[c] = lin2sRGBF(img(i, j)[c]); + } + } + } + + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Utils.hpp b/SIBR_viewers/src/core/graphics/Utils.hpp new file mode 100644 index 0000000000..136e98fb86 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Utils.hpp @@ -0,0 +1,145 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" +# include "core/graphics/Image.hpp" + + +namespace sibr +{ + /** + * \addtogroup sibr_graphics + * @{ + */ + + /** Generate a random color. + \return a random RGB triplet + */ + template + static Eigen::Matrix randomColor(){ + // We just use rand here, we don't need 'proper' PRNG. + const uint8_t r = uint8((std::rand() % 255 + 192) * 0.5f); + const uint8_t g = uint8((std::rand() % 255 + 192) * 0.5f); + const uint8_t b = uint8((std::rand() % 255 + 192) * 0.5f); + const sibr::Vector3ub output(r, g,b); + return output.unaryExpr([](float f) { return f * sibr::opencv::imageTypeRange(); }).template cast(); + } + + /** Generate a color for a given scalar score, using the jet color map. + \param gray the probability value + \return the associated jet color. + */ + template + static Eigen::Matrix jetColor(float gray) + { + sibr::Vector3f output(1, 1, 1); + float g = std::min(1.0f, std::max(0.0f, gray)); + float dg = 0.25f; + float d = 4.0f; + if (g < dg) { + output.x() = 0.0f; + output.y() = d*g; + } else if (g < 2.0f*dg) { + output.x() = 0.0f; + output.z() = 1.0f + d*(dg - g); + } else if (g < 3.0f*dg) { + output.x() = d*(g - 0.5f); + output.z() = 0.0f; + } else { + output.y() = 1.0f + d*(0.75f - g); + output.z() = 0.0f; + } + + return output.unaryExpr([](float f) { return f * sibr::opencv::imageTypeRange(); }).template cast(); + } + + /** Generate a jet color associated to the input probability, as a 3-channels cv::Scalar. + \param gray the probability value + \return the associated jet color. + */ + SIBR_GRAPHICS_EXPORT cv::Scalar jetColor(float gray); + + /** Generate a color for a given scalar score, using a reversible mapping. + \param proba the probability value + \return the associated color + */ + SIBR_GRAPHICS_EXPORT sibr::Vector3ub getLinearColorFromProbaV(double proba); + + /** Convert a color to the associated scalar score, using a reversible mapping. + \param color the color + \return the probability value + */ + SIBR_GRAPHICS_EXPORT double getProbaFromLinearColor(const sibr::Vector3ub & color); + + /** Convert a direction from cartesian to spherical coordinates. + \param dir a direction in cartesian 3D space + \return the spherical coordinates [phi,theta] in [-pi,pi]x[0,pi] + \warning dir is assumed to be normalized + */ + SIBR_GRAPHICS_EXPORT sibr::Vector2d cartesianToSpherical(const sibr::Vector3d & dir); + + /** Convert a direction from cartesian to spherical UVs. + \param dir a direction in cartesian 3D space + \return the spherical UVs [u,v] in [0,1]^2 + \warning dir is assumed to be normalized + */ + SIBR_GRAPHICS_EXPORT sibr::Vector2d cartesianToSphericalUVs(const sibr::Vector3d & dir); + + /**Inplace conversion of float image from sRGB space to linear. + \param img the image to convert + */ + SIBR_GRAPHICS_EXPORT void sRGB2Lin(sibr::ImageRGB32F& img); + + /** Inplace conversion of a float image from linear space to sRGB. + \param img the image to convert + */ + SIBR_GRAPHICS_EXPORT void lin2sRGB(sibr::ImageRGB32F& img); + + /** Debug helper: wrap a rendering task in an openGL debug group (visible in Renderdoc). + \param s debug group name + \param f the task to wrap + \param args the task arguments + */ + template + void renderTask(const std::string & s, FunType && f, ArgsType && ... args) { + glPushDebugGroup(GL_DEBUG_SOURCE_APPLICATION, 0, -1, s.c_str()); + f(args...); + glPopDebugGroup(); + }; + + /** Interpolate between two values. + \param A first value + \param B second value + \param fac interpolation factor + \return A+fac*(B-A) + */ + inline float lerp( float A, float B, float fac ) { + return A*(1.f-fac)+B*fac; + } + + /** Express a value as the linear combination of two other values. + \param from first value + \param to second value + \param current value to express as a combination + \return the interpolation factor + */ + inline float inverseLerp( float from, float to, float current ) { + return (current - from)/(to - from); + } + + /*** @} */ + +} // namespace sibr + diff --git a/SIBR_viewers/src/core/graphics/Viewport.cpp b/SIBR_viewers/src/core/graphics/Viewport.cpp new file mode 100644 index 0000000000..1753d0dc67 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Viewport.cpp @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/Window.hpp" +#include "core/graphics/Viewport.hpp" + +namespace sibr +{ + void Viewport::bind( uint screenWidth, uint screenHeight ) const + { + glViewport( + (GLint)(left()*screenWidth), (GLint)(top()*screenHeight), + (GLsizei)(width()*screenWidth), (GLsizei)(height()*screenHeight)); + } + + void Viewport::clear( const Vector3f& bgColor ) const + { + //if (width() < 1.f) + // return; + + GLint l = (GLint)finalLeft(); + GLint t = (GLint)finalTop(); + GLsizei w = (GLsizei)finalWidth(); + GLsizei h = (GLsizei)finalHeight(); + + glViewport(l, t, w, h); + glScissor(l, t, w, h); + glEnable(GL_SCISSOR_TEST); + glClearColor(bgColor[0], bgColor[1], bgColor[2], 0.f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glDisable(GL_SCISSOR_TEST); + + glViewport(l, t, w, h); + } + + void Viewport::bind( void ) const + { + //assert((_parent != nullptr || width() > 1.f) + // && "Too small viewport detected (Set a parent viewport from a window using Viewport::parent(...) and Window::viewport()"); + + glViewport( + (GLint)(finalLeft()), (GLint)(finalTop()), + (GLsizei)(finalWidth()), (GLsizei)(finalHeight())); + } + + bool Viewport::contains( float x, float y ) const + { + return (x > finalLeft() && x < finalRight() && y > finalTop() && y < finalBottom()); + } + + bool Viewport::contains( int x, int y ) const + { + return (x > (int)finalLeft() && x < (int)finalRight() && y > (int)finalTop() && y < (int)finalBottom()); + } + + bool Viewport::contains(const Vector2f & xy) const + { + return contains(xy.x(), xy.y()); + } + + bool Viewport::isEmpty() const { + return width() == 0.0 && height() == 0.0; + } + + Vector2f Viewport::pixAt(const Vector2f & uv) const { + return uv.cwiseProduct(finalSize()) + finalTopLeft(); + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Viewport.hpp b/SIBR_viewers/src/core/graphics/Viewport.hpp new file mode 100644 index 0000000000..39456f13f0 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Viewport.hpp @@ -0,0 +1,205 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Config.hpp" +# include "core/system/Vector.hpp" + +namespace sibr +{ + + /** Represent an on-screen viewport using normalized coordinates, which can be nested into another viewport. + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT Viewport + { + public: + + /** Default constructor: unit viewport. */ + Viewport( void ): + _parent(nullptr), + _left(0.f), _top(0.f), _right(1.f), _bottom(1.f) { } + + /** Constructor from extents. + *\param left left extent + *\param top top extent + *\param right right extent + *\param bottom bottom extent + */ + Viewport( float left, float top, float right, float bottom ) : + _parent(nullptr), + _left(left), _top(top), _right(right), _bottom(bottom) { } + + /** Constructor from a parent and relative extents. + *\param parent_ the parent viewport + *\param left left relative extent + *\param top top relative extent + *\param right right relative extent + *\param bottom bottom relative extent + */ + Viewport( const Viewport* parent_, float left, float top, float right, float bottom ) : + _left(left), _top(top), _right(right), _bottom(bottom) { parent(parent_); } + + /** Constructor from a parent and relative extents. + *\param parent_ the parent viewport + *\param left left relative extent + *\param top top relative extent + *\param right right relative extent + *\param bottom bottom relative extent + */ + Viewport(const Viewport & parent_, float left, float top, float right, float bottom) : + Viewport(&parent_, left, top, right, bottom) { + *this = Viewport(finalLeft(), finalTop(), finalRight(), finalBottom()); + } + + /** \return the relative left extent. */ + inline float left( void ) const { return _left; } + /** \return the relative top extent. */ + inline float top( void ) const { return _top; } + /** \return the relative right extent. */ + inline float right( void ) const { return _right; } + /** \return the relative bottom extent. */ + inline float bottom( void ) const { return _bottom; } + + /** \return the relative viewport width */ + inline float width( void ) const { return _right-_left; } + /** \return the relative viewport height */ + inline float height( void ) const { return _bottom-_top; } + + /** \return the absolute left extent. */ + float finalLeft( void ) const; + /** \return the absolute top extent. */ + float finalTop( void ) const; + /** \return the absolute right extent. */ + float finalRight( void ) const; + /** \return the absolute bottom extent. */ + float finalBottom( void ) const; + + /** \return the absolute viewport width. */ + float finalWidth( void ) const; + /** \return the absolute viewport height. */ + float finalHeight( void ) const; + + /** \return the absolute viewport size. */ + sibr::Vector2f finalSize() const; + /** \return the absolute cooridnates of the top left corner. */ + Vector2f finalTopLeft() const; + + + /** Compute the absolute pixel coordinates based on relative normalized coordinates. + *\param uv the normalized UVs + *\return the pixel coordinates + */ + Vector2f pixAt(const Vector2f & uv) const; + + /** Check if a point is inside the viewport. + *\param x horizontal coordinate + *\param y vertical coordinate + *\return true if the point is inside + */ + bool contains( float x, float y ) const; + + /** Check if a point is inside the viewport. + *\param x horizontal coordinate + *\param y vertical coordinate + *\return true if the point is inside + */ + bool contains( int x, int y ) const; + + /** Check if a point is inside the viewport. + *\param xy coordinates + *\return true if the point is inside + */ + bool contains(const Vector2f & xy) const; + + /** Bind an OpenGL viewport whose values are determined based on the viewport final dimensions and the target size. + *\param screenWidth the width of the rendertarget + *\param screenHeight the height of the rendertarget + */ + void bind( uint screenWidth, uint screenHeight ) const; + + /** Bind an OpenGL viewport whose values are determined based on the viewport final dimensions. */ + void bind( void ) const; + + /** Perform a full OpenGL clear of the region defined by the viewport in the currently bound target. + *\param bgColor clear color + */ + void clear( const Vector3f& bgColor=Vector3f(0.f, 0.f, 0.f) ) const; + + /** Set the viewport parent + *\param view the new parent + */ + void parent( const Viewport* view ); + + /** \return the parent viewport if it exists or nullptr. */ + const Viewport* parent( void ) const; + + /** \return true if the viewport is empty (0x0). */ + bool isEmpty() const; + + private: + const Viewport* _parent; ///< (optional) + + float _left; ///< Left extent. + float _top; ///< Top extent. + float _right; ///< Right extent. + float _bottom; ///< Bottom extent. + + }; + + ///// DEFINITIONS ///// + + inline void Viewport::parent( const Viewport* view ) { + _parent = view; + + //if (_parent == this) // means 'is the root' + // _parent = nullptr; + } + inline const Viewport* Viewport::parent( void ) const { + return _parent; + } + + inline float Viewport::finalLeft( void ) const { + return (_parent)? (_parent->finalLeft() + _parent->finalWidth()*left()) : left(); + } + + inline float Viewport::finalTop( void ) const { + return (_parent)? ( _parent->finalTop() + _parent->finalHeight()*top() ) : top(); + } + + inline float Viewport::finalRight( void ) const { + return (_parent)? (_parent->finalLeft() + _parent->finalWidth()*right()) : right(); + } + + inline float Viewport::finalBottom( void ) const { + return (_parent)? (_parent->finalTop() + _parent->finalHeight()*bottom()) : bottom(); + } + + inline float Viewport::finalWidth( void ) const { + return (_parent)? _parent->finalWidth()*width() : width(); + } + + inline float Viewport::finalHeight( void ) const { + return (_parent)? _parent->finalHeight()*height() : height(); + } + + inline sibr::Vector2f Viewport::finalSize(void) const { + return sibr::Vector2f(finalWidth(),finalHeight()); + } + + inline Vector2f Viewport::finalTopLeft() const { + return { finalLeft(), finalTop() }; + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Window.cpp b/SIBR_viewers/src/core/graphics/Window.cpp new file mode 100755 index 0000000000..7a33379383 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Window.cpp @@ -0,0 +1,504 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/Input.hpp" +#include "core/graphics/Window.hpp" +#include "core/graphics/RenderUtility.hpp" + +#include "imgui/imgui.cpp" // needed for loading ini settings +#include "imgui/imgui.h" +#include "imgui_impl_glfw_gl3.h" + +#include + +namespace sibr +{ + int Window::contextId = -1; + + static void glfwErrorCallback(int error, const char* description) + { + SIBR_ERR << description << std::endl; + } + + static void glErrorCallback(GLenum src, GLenum type, GLuint id, GLenum severity, GLsizei size, const GLchar* str, const void* user) { + // For now we only log errors, and we ignore severity. + if(type != GL_DEBUG_TYPE_ERROR) { + //SIBR_LOG << "[API]" << "(" << src << "," << type << "," << id << "," << severity << "): " << std::string(str, size) << std::endl; + return; + } + std::string errStr; + switch(src) { + case GL_DEBUG_SOURCE_API: + errStr = "[API] "; + break; + case GL_DEBUG_SOURCE_SHADER_COMPILER: + errStr = "[Shader] "; + break; + case GL_DEBUG_SOURCE_THIRD_PARTY: + errStr = "[3rd party] "; + break; + case GL_DEBUG_SOURCE_APPLICATION: + errStr = "[Application] "; + break; + case GL_DEBUG_SOURCE_OTHER: + errStr = "[Other] "; + break; + default: + break; + } + + const std::string errStr2(str, size); + + SIBR_ERR << "OpenGL: " << errStr << errStr2 << std::endl; + + } + + static void glfwKeyboardCallback(GLFWwindow* window, int key, int scancode, int action, int mods) + { + key = std::max(0, key); + + // We only pass the key input to our code if the interface isn't currently using it. + if (!ImGui::GetIO().WantCaptureKeyboard) { + if (action == GLFW_PRESS) { + sibr::Input::global().key().press((sibr::Key::Code)key); + } else if (action == GLFW_RELEASE) { + sibr::Input::global().key().release((sibr::Key::Code)key); + } + } else { + sibr::Input::global() = sibr::Input(); + } + ImGui_ImplGlfw_KeyCallback(window, key, scancode, action, mods); + } + + static void glfwResizeCallback(GLFWwindow* window, int w, int h) + { + void* userptr = glfwGetWindowUserPointer(window); + Window* win = reinterpret_cast(userptr); + + // TT : should be the right thing to do, but might break some old stuff + win->viewport(Viewport(0.f, 0.f, (float)(w), (float)(h))); + } + + static void glfwCursorPosCallback(GLFWwindow* /*window*/, double x, double y) + { + // We pass the mouse position to our code iff the interface doesn't need it. + if (!ImGui::GetIO().WantCaptureMouse) { + sibr::Input::global().mousePosition(Vector2i((int)x, (int)y)); + } else { + sibr::Input::global() = sibr::Input(); + } + + } + + static void glfwMouseButtonCallback(GLFWwindow* window, int button, int action, int mods) + { + // We only pass the mouse input to our code if the interface isn't currently using it. + if (!ImGui::GetIO().WantCaptureMouse) { + if (action == GLFW_PRESS) { + sibr::Input::global().mouseButton().press((sibr::Mouse::Code)button); + } else if (action == GLFW_RELEASE) { + sibr::Input::global().mouseButton().release((sibr::Mouse::Code)button); + } + } else { + // We have to pass release events in the case where we pressed while inside our views, and released outside. + if(sibr::Input::global().mouseButton().isActivated((sibr::Mouse::Code)button)) { + sibr::Input::global().mouseButton().release((sibr::Mouse::Code)button); + } + } + + ImGui_ImplGlfw_MouseButtonCallback(window, button, action, mods); + } + + static void glfwMouseScrollCallback(GLFWwindow* window, double x, double y) + { + sibr::Input::global().mouseScroll(y); + ImGui_ImplGlfw_ScrollCallback(window, x, y); + } + /////////////////////////////////////////////////////////////////////////// + + static int windowCounter = 0; + + /*static*/ bool Window::contextIsRunning( void ) + { + return windowCounter > 0; + } + + Window::AutoInitializer::AutoInitializer( const WindowArgs & args ) : _useGUI(!args.no_gui && !args.offscreen) + { + if (windowCounter == 0) + { + SIBR_LOG << "Initialization of GLFW" << std::endl; + glfwSetErrorCallback(glfwErrorCallback); + + if (!glfwInit()) + SIBR_ERR << "cannot init glfw" << std::endl; + if (!args.offscreen) + sibr::Input::global().key().clearStates(); + + } + ++windowCounter; + } + + Window::AutoInitializer::~AutoInitializer( void ) + { + --windowCounter; + if (windowCounter == 0) + { + if(_useGUI) { + ImGui_ImplGlfwGL3_Shutdown(); /// \todo TODO: not sure if safe with multi-context + ImGui::DestroyContext(); + } + glfwSetErrorCallback(nullptr); + SIBR_LOG << "Deinitialization of GLFW" << std::endl; + glfwTerminate(); + } + } + + Window::Window(uint w, uint h, const std::string& title, const WindowArgs & args, const std::string& defaultSettingsFilename) + : _hiddenInit(args), _useGUI(!args.no_gui && !args.offscreen), _shouldClose(false) + { + + setup(w, h, title, args, defaultSettingsFilename); + + if (!(args.fullscreen)) { + glfwSetWindowPos(_glfwWin.get(), 200, 200); + } + } + + Window::Window(const std::string& title, const WindowArgs & args, const std::string& defaultSettingsFilename) + : Window(args.win_width, args.win_height, title, args, defaultSettingsFilename) + { + } + + Window::Window(const std::string& title, const sibr::Vector2i & margins, const WindowArgs & args, const std::string& defaultSettingsFilename) + : _hiddenInit(args), _useGUI(!args.no_gui && !args.offscreen), _shouldClose(false) + { + sibr::Vector2i winSize; + if (args.offscreen) { + winSize = sibr::Vector2i(args.win_width, args.win_height); + } + else { + winSize = desktopSize(); + } + + // Here autoInitializer is already initialized, thus glfwInit() has been called + setup(winSize.x() - 2*margins.x(), winSize.y() - 2*margins.y(), title, args, defaultSettingsFilename); + + if (!(args.fullscreen)) { + glfwSetWindowPos(_glfwWin.get(), margins.x(), margins.y()); + } + + } + + void Window::swapBuffer(void) { + if (_useGUI) { + glPushDebugGroup(GL_DEBUG_SOURCE_APPLICATION, 0, -1, "ImGui interface"); + ImGui::Render(); + ImGui_ImplGlfwGL3_RenderDrawData(ImGui::GetDrawData()); + glPopDebugGroup(); + } + glfwSwapBuffers(_glfwWin.get()); + // Keep the call below in all cases to avoid accumulating all interfaces in one frame. + if (_useGUI) + ImGui_ImplGlfwGL3_NewFrame(); + } + + void Window::resetSettingsToDefault() { + std::string iniFilename = ImGui::GetIO().IniFilename; + if(iniFilename != "" && fileExists(iniFilename)) { + if(remove(iniFilename.c_str())) + SIBR_WRG << "Settings file " << iniFilename << " was not removed due to an error." << std::endl; + else + SIBR_LOG << "Settings file " << iniFilename << " was removed successfully." << std::endl; + } + else { + SIBR_WRG << "Settings file " << iniFilename << " not found." << std::endl; + } + + ImGuiContext& g = *ImGui::GetCurrentContext(); + + for (int i = 0; i < g.SettingsWindows.Size; i++) + IM_DELETE(g.SettingsWindows[i].Name); + + g.SettingsWindows.clear(); + + loadSettings(); + + for (ImGuiWindow * window: g.Windows) { + if (ImGuiWindowSettings* settings = ImGui::FindWindowSettings(window->ID)) { + SetWindowPos(window, settings->Pos, ImGuiCond_Always); + SetWindowSize(window, settings->Size, ImGuiCond_Always); + SetWindowCollapsed(window, settings->Collapsed, ImGuiCond_Always); + } + } + } + + void Window::loadSettings() { + // Load defaults from core + LoadIniSettingsFromDisk(std::string(getResourcesDirectory() + "/core/" + _defaultImguiSettingsFilename).c_str()); + + // Load defaults from Window constructor + if(fileExists(_windowImguiSettingsFilename)) + LoadIniSettingsFromDisk(_windowImguiSettingsFilename.c_str()); + + // Load user specific settings for this particular window + LoadIniSettingsFromDisk(ImGui::GetIO().IniFilename); + } + + void Window::setup(int width, int height, const std::string& title, const WindowArgs & args, const std::string& defaultSettingsFilename) { + // IMPORTANT NOTE: if you got compatibility problem with old opengl function, + // try to load compat 3.2 instead of core 4.2 + + glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 4); + glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 5); + glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE); + +#ifdef GLEW_EGL + glfwWindowHint(GLFW_CONTEXT_CREATION_API, (args.offscreen) ? + GLFW_EGL_CONTEXT_API : + GLFW_NATIVE_CONTEXT_API); +#else + if(args.offscreen) SIBR_WRG << "Offscreen enabled without EGL implementation. Using native context (Offscreen might run into issues if no real display is available)." << std::endl; +#endif + + glfwWindowHint(GLFW_RED_BITS, 8); + glfwWindowHint(GLFW_GREEN_BITS, 8); + glfwWindowHint(GLFW_BLUE_BITS, 8); + glfwWindowHint(GLFW_ALPHA_BITS, 8); + glfwWindowHint(GLFW_DEPTH_BITS, 24); + glfwWindowHint(GLFW_STENCIL_BITS, 8); + + if (args.offscreen) { + glfwWindowHint(GLFW_VISIBLE, GLFW_FALSE); + } + + _glfwWin = GLFWwindowptr( + glfwCreateWindow( + width, height, title.c_str(), + (args.fullscreen && !args.offscreen) ? glfwGetPrimaryMonitor() : NULL + , NULL ), + glfwDestroyWindow + ); + + if (_glfwWin == nullptr) + SIBR_ERR << "failed to create a glfw window (is your graphics driver updated ?)" << std::endl; + + makeContextCurrent(); + + + + //SR, TT fix for image size non divisible by 4 + glPixelStorei(GL_UNPACK_ALIGNMENT, 1); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + + //// Print available OpenGL version + GLint major, minor; + glGetIntegerv(GL_MAJOR_VERSION, &major); + glGetIntegerv(GL_MINOR_VERSION, &minor); + SIBR_LOG << "OpenGL Version: " << glGetString(GL_VERSION) + << "[major: " << major << ", minor: " << minor << "]" << std::endl; + + glewExperimental = GL_TRUE; + GLenum err = glewInit(); +#ifdef GLEW_EGL +// if (err != GLEW_OK && (!args.offscreen || err != GLEW_ERROR_NO_GLX_DISPLAY)) // Small hack for glew, this error occurs but does not concern offscreen + if (err != GLEW_OK && (!args.offscreen )) // Small hack for glew, this error occurs but does not concern offscreen +#else + if (err != GLEW_OK) +#endif + SIBR_ERR << "cannot initialize GLEW (used to load OpenGL function)" << std::endl; + (void)glGetError(); // I notice that glew might do wrong things during its init() + // some drivers complain about it. So I reset OpenGL's errors to discard this. + + glfwSetWindowUserPointer(_glfwWin.get(), this); + /// \todo TODO: fix, width and height might be erroneous. SR + viewport(Viewport(0.f, 0.f, (float)width, (float)height)); /// \todo TODO: bind both + + _useVSync = args.vsync; + glfwSwapInterval(args.vsync); + glfwSetKeyCallback(_glfwWin.get(), glfwKeyboardCallback); + glfwSetScrollCallback(_glfwWin.get(), glfwMouseScrollCallback); + glfwSetMouseButtonCallback(_glfwWin.get(), glfwMouseButtonCallback); + glfwSetCursorPosCallback(_glfwWin.get(), glfwCursorPosCallback); + glfwSetWindowSizeCallback(_glfwWin.get(), glfwResizeCallback); + + // SR: we don't use it by default because you won't get callstack/file/line info. + if(args.gl_debug) { + glEnable(GL_DEBUG_OUTPUT); + glDebugMessageCallback(glErrorCallback, nullptr); + } + + if(_useGUI) { + //contextId + ++Window::contextId; + + // Setup ImGui binding + ImGui::CreateContext(); + ImGui_ImplGlfwGL3_Init(_glfwWin.get(), false); + glfwSetCharCallback(_glfwWin.get(), ImGui_ImplGlfw_CharCallback); + + ImGui_ImplGlfwGL3_NewFrame(); + + _windowImguiSettingsFilename = defaultSettingsFilename; + + // Set user specific file for this particular window as default ini file + std::string iniFilename = std::string(getAppDataDirectory() + "/" + std::regex_replace(title, std::regex("[^0-9A-Za-z\\-_]"), "_") + ".ini").c_str(); + char* iniFilenameCStr = new char[iniFilename.length()+1]; + strcpy(iniFilenameCStr, iniFilename.c_str()); + ImGui::GetIO().IniFilename = iniFilenameCStr; + + loadSettings(); + } + + if(!args.offscreen) { + _oldPosition = position(); + _oldSize = size(); + + // Support for HiDPI on Windows. The default is 96. + // Compute the pixel density at the current definition. + int widthmm, heightmm; + glfwGetMonitorPhysicalSize(glfwGetPrimaryMonitor(), &widthmm, &heightmm); + const float defaultDPI = 96.0f; + sibr::Vector2i dsize = desktopSize(); + + _scaling = sibr::clamp(std::round(dsize.x() / (widthmm / 25.4f) / defaultDPI), 1.0f, 2.0f); + + if (_useGUI && args.hdpi) { + ImGui::GetStyle().ScaleAllSizes(scaling()); + ImGui::GetIO().FontGlobalScale = scaling(); + } + } + + /** \todo + TODO: fix issue on some HiDPI screens + interaction with GUI labels generation. + // If we have a screen in HiDPI mode, scale the interface accordingly. + if (_scaling > 1.0f) { + ImGui::GetStyle().ScaleAllSizes(_scaling); + ImGui::GetIO().FontGlobalScale = _scaling; + } + */ + } + + Vector2i Window::desktopSize( void ) + { + const GLFWvidmode * mode = glfwGetVideoMode(glfwGetPrimaryMonitor()); + return Vector2i(mode->width, mode->height); + } + + Vector2i Window::size( void ) const + { + Vector2i s; + glfwGetWindowSize(_glfwWin.get(), &s[0], &s[1]); + return s; + } + + void Window::position(const unsigned int x, const unsigned int y) + { + glfwSetWindowPos(_glfwWin.get(), x, y); + } + + Vector2i Window::position() const { + Vector2i s; + glfwGetWindowPos(_glfwWin.get(), &s[0], &s[1]); + return s; + } + + bool Window::isOpened( void ) const + { + return (!_shouldClose && !glfwWindowShouldClose(_glfwWin.get())); + } + + void Window::close( void ) + { + _shouldClose = true; + glfwSetWindowShouldClose(_glfwWin.get(), GL_TRUE); + } + + bool Window::isFullscreen(void) const + { + return glfwGetWindowMonitor(_glfwWin.get()) != NULL; + } + + void Window::setFullscreen(const bool fullscreen) { + const bool currentState = isFullscreen(); + if((fullscreen && currentState) || (!fullscreen && !currentState)) { + // Do nothing. + return; + } + if (fullscreen) { + _oldPosition = position(); + _oldSize = size(); + GLFWmonitor* monitor = glfwGetPrimaryMonitor(); + const GLFWvidmode* mode = glfwGetVideoMode(monitor); + glfwSetWindowMonitor(_glfwWin.get(), monitor, 0, 0, mode->width, mode->height, mode->refreshRate); + // There is a bug in glfw (see https://github.com/glfw/glfw/issues/1072). + // We have to manually re-set the swap interval. + glfwSwapInterval(_useVSync ? 1 : 0); + } else { + glfwSetWindowMonitor(_glfwWin.get(), NULL, _oldPosition[0], _oldPosition[1], _oldSize[0], _oldSize[1], 0); + } + } + + void Window::size( int w, int h ) + { + glfwSetWindowSize(_glfwWin.get(), w, h); + Vector2i s = size(); + + if (s[0] != w || s[1] != h) + SIBR_WRG << "Attempting to resize the window to an unsuported resolution " + "(w = " << w << ", h = " << h << " ), using w = " << s[0] << ", h = " << s[1] << " instead." << std::endl; + + // TT : should be the right thing to do, but might brake some old stuff + viewport(Viewport(0.f, 0.f, (float)(s[0]), (float)(s[1]))); + + //viewport(Viewport(0.f, 0.f, (float)(s[0]-1), (float)(s[1]-1))); // TODO: bind both + } + + void Window::setFrameRate(int fps) + { + if (fps == 60) { + glfwSwapInterval(1); + } else if (fps == 30) { + glfwSwapInterval(2); + } else if (fps == 15) { + glfwSwapInterval(3); + } + } + + bool Window::isVsynced(void) const + { + return _useVSync; + } + + bool Window::isGUIEnabled(void) const + { + return _useGUI; + } + + void Window::setVsynced(const bool vsync) { + _useVSync = vsync; + glfwSwapInterval(_useVSync ? 1 : 0); + } + + void Window::enableCursor( bool enable ) + { + glfwSetInputMode(_glfwWin.get(), GLFW_CURSOR, enable? GLFW_CURSOR_NORMAL : GLFW_CURSOR_HIDDEN); + } + + GLFWwindow * Window::GLFW(void) { + return _glfwWin.get(); + } + + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/Window.hpp b/SIBR_viewers/src/core/graphics/Window.hpp new file mode 100644 index 0000000000..4047bb70e8 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/Window.hpp @@ -0,0 +1,277 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/graphics/Config.hpp" +#include "core/system/Vector.hpp" +#include "core/graphics/Viewport.hpp" +#include "core/graphics/Texture.hpp" +#include + +namespace sibr +{ + + /** System window backed by an internal framebuffer. + * \ingroup sibr_graphics + */ + class SIBR_GRAPHICS_EXPORT Window : public IRenderTarget + { + public: + typedef std::shared_ptr Ptr; + + public: + /** Constructor. + *\param title window title + *\param args window setup arguments + *\sa WindowArgs + *\param defaultSettingsFilename default settings file for this specific window + **/ + Window(const std::string& title, const WindowArgs & args = {}, const std::string& defaultSettingsFilename = ""); + + /** Constructor, overriding the window size. + *\param w window width + *\param h window height + *\param title window title + *\param args window setup arguments + *\sa WindowArgs + *\param defaultSettingsFilename default settings file for this specific window + **/ + Window(uint w, uint h, const std::string& title, const WindowArgs & args = {}, const std::string& defaultSettingsFilename = ""); + + /** Constructor, adjust the size to fill the screen except for the margins. + *\param title window title + *\param margins horizontal and vertical margins to preserve on each side of the window + *\param args window setup arguments + *\sa WindowArgs + *\param defaultSettingsFilename default settings file for this specific window + **/ + Window(const std::string & title, const sibr::Vector2i & margins, const WindowArgs & args = {}, const std::string& defaultSettingsFilename = ""); + + /** \return a pointer to the underlying GLFW window */ + GLFWwindow * GLFW(void); + + /** Activate the associated graphics context. */ + void makeContextCurrent(void); + /** \return the context currently in use (represented by a GLFW window) */ + GLFWwindow * getContextCurrent(void); + /** Deactivate the associated graphics context. */ + void makeContextNull(void); + + /** Flush the graphics pipeline and perform rendering, displaying the result in the abck buffer. */ + void swapBuffer(void); + + /** Reset window settings to default. + */ + void resetSettingsToDefault(); + + /** Load Imgui settings. + */ + void loadSettings(); + + /** Set the window size + *\param w width + *\param h height + **/ + void size(int w, int h); + + /** \return the window size */ + Vector2i size(void) const; + + /** Set the window position + *\param x horizontal location + *\param y vertical location + **/ + void position(const unsigned int x, const unsigned int y); + + /** \return the window position on screen */ + Vector2i position() const; + + /** \return the screen size. */ + static Vector2i desktopSize(void); + + /** \return true if an openGL context is active. */ + static bool contextIsRunning(void); + + /** Set the framerate. + *\param fps one of 60, 30, 15 + */ + void setFrameRate(int fps); + + /** Display the cursor in the window. + * \param enable boolean flag + */ + void enableCursor(bool enable); + + /** \return if the window is currently opened */ + bool isOpened(void) const; + /** Mark the window as closed. */ + void close(void); + + /** \return true if the window is fullscreen. */ + bool isFullscreen(void) const; + /** Toggle fullscreen. + *\param fullscreen if true the window will be resized to occupy the whole screen, without visible borders. + */ + void setFullscreen(const bool fullscreen); + + /** \return true if the window is using V-sync. */ + bool isVsynced(void) const; + + /** \return true if the window is enabling GUI. */ + bool isGUIEnabled(void) const; + + /** Toggle V-sync. + *\param vsync if true, framerate will be limited to 60 FPS + *\note When set to false, tearing might be visible. + */ + void setVsynced(const bool vsync); + + /** \return the window viewport */ + const Viewport& viewport(void) const; + + /** Set the window viewport. + *\param view the new viewport + */ + void viewport(const Viewport& view); + + // From IRenderTarget + /** Get the backbuffer texture ID. unsuported. */ + GLuint texture(uint t = 0) const; + + /** Get the backbuffer texture ID. unsuported. */ + GLuint handle(uint t = 0) const; + + /** \return the window buffer ID (0) */ + GLuint fbo(void) const; + + /** Bind the window buffer. */ + void bind(void); + + /** Unind the window buffer. */ + void unbind(void); + + /** Clear the window buffer. */ + void clear(void); + + /** \return the window buffer width */ + uint w(void) const; + + /** \return the window buffer height */ + uint h(void) const; + + /** \return the screens caling factor. */ + float scaling() const; + + static int contextId; ///< Last created window context ID (-1 initially). + + private: + + /** Setup the window. + *\param width window width on screen + *\param height window height on screen + *\param title window title + *\param args window setup arguments + *\param defaultSettingsFilename default settings file for this specific window + *\sa WindowArgs + */ + void setup(int width, int height, const std::string & title, const WindowArgs & args, const std::string& defaultSettingsFilename = ""); + + /// Window pointer for callbacks. + typedef std::unique_ptr> GLFWwindowptr; + + /// Helper to handle window creation/destruction. + struct AutoInitializer + { + AutoInitializer(const WindowArgs & args = {}); + ~AutoInitializer(void); + + const bool _useGUI; ///< Should ImGui windows be displayed. + }; + + bool _shouldClose; ///< Is the window marked as closed. + GLFWwindowptr _glfwWin; ///< Undelrying GLF window. + Vector2i _size; ///< Window size. + const bool _useGUI; ///< Should ImGui windows be displayed. + bool _useVSync; ///< is the window using vsync. + Vector2i _oldPosition; ///< Backup for handling fullscreen/windowed mode restoration. + Vector2i _oldSize; ///< Backup for handling fullscreen/windowed mode restoration. + Viewport _viewport; ///< Current viewport. + float _scaling = 1.0f; ///< Internal scaling for HiDPI screens. + // Must be placed add the end of member data . + AutoInitializer _hiddenInit; ///< nifty counter used to auto-init window system + std::string _defaultImguiSettingsFilename = "imgui_default.ini"; ///< string of default Imgui settings filename + std::string _windowImguiSettingsFilename; ///< string of default Window specific Imgui settings filename + }; + + ///// INLINES ///// + inline void Window::makeContextCurrent(void) { + glfwMakeContextCurrent(_glfwWin.get()); + } + + inline void Window::makeContextNull(void) { + glfwMakeContextCurrent(0); + } + + inline GLFWwindow * Window::getContextCurrent(void) { + return glfwGetCurrentContext(); + } + + inline GLuint Window::texture(uint /*t*/) const { + SIBR_ERR << "You are trying to read the Window's backbuffer (use sibr::blit instead)." << std::endl; + return 0; + } + inline GLuint Window::handle(uint /*t*/) const { + SIBR_ERR << "You are trying to read the Window's backbuffer (use sibr::blit instead)." << std::endl; + return 0; + } + inline GLuint Window::fbo(void) const { + return 0; + } + + inline void Window::bind(void) { + glBindFramebuffer(GL_FRAMEBUFFER, 0); + + + } + + inline void Window::unbind(void) { + /*nothing*/ + } + + inline void Window::clear(void) { + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + } + + inline uint Window::w(void) const { + return (uint)size().x(); + } + + inline uint Window::h(void) const { + return (uint)size().y(); + } + + inline float Window::scaling() const + { + return _scaling; + } + + inline const Viewport& Window::viewport(void) const { + return _viewport; + } + + inline void Window::viewport(const Viewport& view) { + _viewport = view; + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/graphics/resources/imgui_default.ini b/SIBR_viewers/src/core/graphics/resources/imgui_default.ini new file mode 100644 index 0000000000..97a1963e72 --- /dev/null +++ b/SIBR_viewers/src/core/graphics/resources/imgui_default.ini @@ -0,0 +1,4 @@ +[Window] +Pos=60,60 +Size=400,400 +Collapsed=0 \ No newline at end of file diff --git a/SIBR_viewers/src/core/graphics/sibr_graphics.dox b/SIBR_viewers/src/core/graphics/sibr_graphics.dox new file mode 100644 index 0000000000..312964912b --- /dev/null +++ b/SIBR_viewers/src/core/graphics/sibr_graphics.dox @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! + \defgroup sibr_graphics sibr_graphics + + \brief OpenGL and graphics utilities. + +*/ diff --git a/SIBR_viewers/src/core/imgproc/CMakeLists.txt b/SIBR_viewers/src/core/imgproc/CMakeLists.txt new file mode 100644 index 0000000000..ec77a26f0e --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/CMakeLists.txt @@ -0,0 +1,66 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(sibr_imgproc) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +## Specify target rules +add_library(${PROJECT_NAME} SHARED ${SOURCES}) + +include_directories( + ${Boost_INCLUDE_DIRS} + ${mrf_INCLUDE_DIRS} +) +if(WIN32) +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${OpenCV_LIBRARIES} + OpenMP::OpenMP_CXX + glfw3 + mrf + sibr_system + sibr_graphics + sibr_assets + sibr_raycaster +) +else() +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${OpenCV_LIBRARIES} + OpenMP::OpenMP_CXX + ${GLFW_LIBRARY} + mrf + sibr_system + sibr_graphics + sibr_assets + sibr_raycaster +) +endif() + +if (NOT WIN32) + target_link_libraries(${PROJECT_NAME} + # GLEW + rt m dl X11 pthread Xrandr Xinerama Xxf86vm Xcursor + # X11 Xi Xrandr Xxf86vm Xinerama Xcursor dl rt m pthread + ) +endif() + +add_definitions( -DSIBR_IMGPROC_EXPORTS -DBOOST_ALL_DYN_LINK ) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER ${SIBR_FOLDER}) + + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) +) diff --git a/SIBR_viewers/src/core/imgproc/Config.hpp b/SIBR_viewers/src/core/imgproc/Config.hpp new file mode 100644 index 0000000000..326ca12803 --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/Config.hpp @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/system/Config.hpp" +# include "core/system/Utils.hpp" + +# ifdef SIBR_OS_WINDOWS +//// Export Macro (used for creating DLLs) //// +# ifdef SIBR_STATIC_DEFINE +# define SIBR_EXPORT +# define SIBR_NO_EXPORT +# else +# ifndef SIBR_IMGPROC_EXPORT +# ifdef SIBR_IMGPROC_EXPORTS + /* We are building this library */ +# define SIBR_IMGPROC_EXPORT __declspec(dllexport) +# else + /* We are using this library */ +# define SIBR_IMGPROC_EXPORT __declspec(dllimport) +# endif +# endif +# ifndef SIBR_NO_EXPORT +# define SIBR_NO_EXPORT +# endif +# endif +# else +# define SIBR_IMGPROC_EXPORT +# endif + + + diff --git a/SIBR_viewers/src/core/imgproc/CropScaleImageUtility.cpp b/SIBR_viewers/src/core/imgproc/CropScaleImageUtility.cpp new file mode 100644 index 0000000000..2619691770 --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/CropScaleImageUtility.cpp @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "CropScaleImageUtility.hpp" + +namespace sibr { + + std::vector CropScaleImageUtility::getPathToImgs(const std::string & inputFileName) + { + std::ifstream inputFile(inputFileName); + std::string line; + std::vector pathToImgs; + while (getline(inputFile, line)) { + std::stringstream ss(line); + std::string path; + unsigned width, height; + ss >> path >> width >> height; + pathToImgs.push_back(path); + } + inputFile.close(); + return pathToImgs; + } + + void CropScaleImageUtility::logExecution(const sibr::Vector2i & originalResolution, unsigned nrImages, long long elapsedTime, bool wasTransformed, const char* log_file_name) + { + // check if file exists + const bool isEmptyFile = !sibr::fileExists(log_file_name); + std::ofstream outputFile(log_file_name, std::ios::app); + + if (isEmptyFile) { + outputFile << "date\t\t\tresolution\tnrImgs\telapsedTime\twas transformed?\n"; + } + + time_t now = std::time(nullptr); + +#ifdef SIBR_OS_WINDOWS + tm ltm = {0,0,0,0,0,0,0,0,0}; + localtime_s(<m, &now); +#else + tm ltm = *(std::localtime(&now)); +#endif + + std::stringstream dateSS; + dateSS << "[" << 1900 + ltm.tm_year << "/" << 1 + ltm.tm_mon << "/" << ltm.tm_mday << "] " + << ltm.tm_hour << ":" << ltm.tm_min << ":" << ltm.tm_sec; + + outputFile << dateSS.str() << "\t" << originalResolution[0] << "x" << originalResolution[1] << "\t\t" << nrImages << "\t" << elapsedTime << "\t" << wasTransformed << "\n"; + + outputFile.close(); + } + + void CropScaleImageUtility::writeListImages(const std::string path_to_file, const std::vector & listOfImages) + { + std::ofstream outputFile(path_to_file); + + for (unsigned i = 0; i < listOfImages.size(); i++) { + outputFile << listOfImages[i].filename << " " << listOfImages[i].width << " " << listOfImages[i].height << "\n"; + } + + outputFile.close(); + } + + sibr::Vector2i CropScaleImageUtility::parseResolution(const std::string & param) + { + size_t delimiterPos = param.find('x'); + std::string widthStr = param.substr(0, delimiterPos); + std::string heightStr = param.substr(delimiterPos + 1); + return sibr::Vector2i(std::stoi(widthStr), std::stoi(heightStr)); + } + + void CropScaleImageUtility::writeScaleFactor(const std::string path_to_file, float scaleFactor) + { + std::ofstream outputFile(path_to_file); + + outputFile << scaleFactor << "\n"; + + outputFile.close(); + } + + void CropScaleImageUtility::writeTargetResolution(const std::string path_to_file, const sibr::Vector2i & targetResolution) + { + std::ofstream outputFile(path_to_file); + + outputFile << targetResolution[0] << " " << targetResolution[1] << "\n"; + + outputFile.close(); + } +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/imgproc/CropScaleImageUtility.hpp b/SIBR_viewers/src/core/imgproc/CropScaleImageUtility.hpp new file mode 100644 index 0000000000..6a8d912c15 --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/CropScaleImageUtility.hpp @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "Config.hpp" +#include + +#include + +#include +#include +#include + + +namespace sibr { + + /** \brief Utility class to crop and rescale images, especially for uniformizing IBR datasets. + * \ingroup sibr_imgproc + */ + class SIBR_IMGPROC_EXPORT CropScaleImageUtility + { + public: + + /** Image infos. */ + struct Image { + std::string filename; ///< Image file name. + unsigned width; ///< Image width. + unsigned height; ///< Image height. + }; + + /** Load a list_images.txt file and extract the image paths. + * \param inputFileName path to the listing + * \return a list of image paths + */ + std::vector getPathToImgs(const std::string & inputFileName); + + /** + * Log processing informations to a file. + * \param resolution the estimated resolution + * \param nrImages the number of images + * \param elapsedTime the time taken by the processing + * \param wasTransformed was transforamtion applied + * \param log_file_name the destination file path + */ + void logExecution(const sibr::Vector2i & resolution, unsigned nrImages, long long elapsedTime, bool wasTransformed, const char* log_file_name); + + /** + * Save a list of images to a list_images.txt file, where each image has a line "name w h". + * \param path_to_file the destination file path + * \param listOfImages the images to save to the list + */ + void writeListImages(const std::string path_to_file, const std::vector & listOfImages); + + /** + * Write a scale float factor to a text file. + * \param path_to_file the destination file path + * \param scaleFactor the value to write + */ + void writeScaleFactor(const std::string path_to_file, float scaleFactor); + + /** + * Write a resolution to a text file, as "w h". + * \param path_to_file the destination file path + * \param targetResolution the resolution to write + */ + void writeTargetResolution(const std::string path_to_file, const sibr::Vector2i & targetResolution); + + /** + * Extract an image resolution from a "wxh" string. + * \param param the string to parse + * \return the resolution + */ + sibr::Vector2i parseResolution(const std::string & param); + + }; +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/imgproc/DistordCropUtility.cpp b/SIBR_viewers/src/core/imgproc/DistordCropUtility.cpp new file mode 100644 index 0000000000..e4152f53f4 --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/DistordCropUtility.cpp @@ -0,0 +1,302 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "DistordCropUtility.hpp" + +namespace sibr { + + + bool DistordCropUtility::isBlack(const sibr::Vector3ub & pixelColor, Vector3i backgroundColor, int threshold_black_color) { + sibr::Vector3i c = pixelColor.cast() - backgroundColor; + return c.squaredNorm() < threshold_black_color; + } + + + bool DistordCropUtility::is_number(const std::string& s) + { + return !s.empty() && std::find_if(s.begin(), + s.end(), [](char c) { return !std::isdigit(c); }) == s.end(); + } + + void DistordCropUtility::addPixelToQueue(const sibr::Vector2i & pixel, const sibr::ImageRGB & img, std::priority_queue & queue, sibr::Array2d & arrayVisited, Vector3i backgroundColor, int threshold_black_color) { + if (!arrayVisited(pixel.x(), pixel.y()) && isBlack(img(pixel.x(), pixel.y()), backgroundColor, threshold_black_color)) { + queue.push(pixel); + arrayVisited(pixel.x(), pixel.y()) = true; + } + } + + void DistordCropUtility::findBounds(sibr::Array2d & isBlack, DistordCropUtility::Bounds & bounds, int thinest_bounding_box_size) + { + bool wasUpdated = true; + + while (wasUpdated) { + + wasUpdated = false; + + for (int x = bounds.xMin; x <= bounds.xMax; ++x) { + wasUpdated = wasUpdated || isBlack(x, bounds.yMax) || isBlack(x, bounds.yMin); + } + for (int y = bounds.yMin; y <= bounds.yMax; ++y) { + wasUpdated = wasUpdated || isBlack(bounds.xMax, y) || isBlack(bounds.xMin, y); + } + + if (wasUpdated) { + --bounds.xMax; + ++bounds.xMin; + --bounds.yMax; + ++bounds.yMin; + } + + if (bounds.xMax - bounds.xMin < thinest_bounding_box_size || bounds.yMax - bounds.yMin < thinest_bounding_box_size) { + break; + } + } + } + + + DistordCropUtility::Bounds DistordCropUtility::getBounds(const sibr::ImageRGB & img, Vector3i backgroundColor, int threshold_black_color, int thinest_bounding_box_size, float toleranceFactor) { + int w = img.w() - 1; + int h = img.h() - 1; + + sibr::Array2d wasVisited(img.w(), img.h(), false); + sibr::Array2d isBlack(img.w(), img.h(), false); + std::priority_queue pixelsQueue; + + //init with boundary pixel (set initial pixelQueue) + // add first row and last row of pixels to the pixelsQueue (if they are black) and marked them as visited + for (int x = 0; x shifts(shiftsArray, shiftsArray + sizeof(shiftsArray) / sizeof(sibr::Vector2i)); + + //find all black pixels linked to the boundaries + while (pixelsQueue.size() > 0) { + sibr::Vector2i currentPix = pixelsQueue.top(); + pixelsQueue.pop(); + // if it was in the queue, then it was black + isBlack(currentPix.x(), currentPix.y()) = true; + + for (auto & shift : shifts) { + sibr::Vector2i newPos = currentPix + shift; + if (img.isInRange(newPos.x(), newPos.y())) { + addPixelToQueue(newPos, img, pixelsQueue, wasVisited, backgroundColor, threshold_black_color); + } + } + + } + + //find maximal bounding box not containing black pixels + DistordCropUtility::Bounds bounds(img); + findBounds(isBlack, bounds, thinest_bounding_box_size); + + bounds.xRatio = bounds.xMax / (float)img.w() - 0.5f; + bounds.yRatio = bounds.yMax / (float)img.h() - 0.5f; + + int proposedWidth = bounds.xMax - bounds.xMin; + int proposedHeight = bounds.yMax - bounds.yMin; + + bounds.width = int(float(int(img.w()) - proposedWidth) * toleranceFactor + float(proposedWidth)); + bounds.height = int(float(int(img.h()) - proposedHeight) * toleranceFactor + float(proposedHeight)); + + return bounds; + } + + + sibr::Vector2i DistordCropUtility::calculateAvgResolution(const std::vector& imagePaths, std::vector & resolutions, const int batch_size) + { + const int nrBatches = static_cast(ceil((float)(imagePaths.size()) / batch_size)); + resolutions.resize(imagePaths.size()); + std::vector, unsigned>> sumAndNrItems(nrBatches); + + for (int batchId = 0; batchId < nrBatches; batchId++) { + + const int nrItems = (batchId != nrBatches - 1) ? batch_size : ((nrBatches * batch_size != int(imagePaths.size())) ? (int(imagePaths.size()) - (batch_size * batchId)) : batch_size); + long sumOfWidths = 0; + long sumOfHeights = 0; + + std::vector chunkOfInputImages(nrItems); + +#pragma omp parallel for + for (int localImgIndex = 0; localImgIndex < nrItems; localImgIndex++) { + unsigned globalImgIndex = (batchId * batch_size) + localImgIndex; + chunkOfInputImages.at(localImgIndex).load(imagePaths.at(globalImgIndex).string(), false); + +#pragma omp critical + { + sumOfWidths += long(chunkOfInputImages[localImgIndex].w()); + sumOfHeights += long(chunkOfInputImages[localImgIndex].h()); + resolutions[localImgIndex].x() = chunkOfInputImages[localImgIndex].w(); + resolutions[localImgIndex].y() = chunkOfInputImages[localImgIndex].h(); + } + } + std::pair sums(sumOfWidths, sumOfHeights); + std::pair, unsigned> batch(sums, nrItems); + sumAndNrItems[batchId] = batch; + } + + long sumOfWidth = 0; + long sumOfHeight = 0; + for (unsigned i = 0; i < sumAndNrItems.size(); i++) { + sumOfWidth += sumAndNrItems[i].first.first; + sumOfHeight += sumAndNrItems[i].first.second; + } + + const long globalAvgWidth = sumOfWidth / long(imagePaths.size()); + const long globalAvgHeight = sumOfHeight / long(imagePaths.size()); + + return sibr::Vector2i(int(globalAvgWidth), int(globalAvgHeight)); + } + + sibr::Vector2i DistordCropUtility::findBiggestImageCenteredBox(const Path & root, + const std::vector& imagePaths, + std::vector& resolutions, + int avgWidth, int avgHeight, + const int batch_size, + float resolutionThreshold, + float threshold_ratio_bounding_box_size, + Vector3i backgroundColor, + int threshold_black_color, + int thinest_bounding_box_size, + float toleranceFactor) + { + // check if avg resolution needs to be calculated + if (avgWidth == 0 || avgHeight == 0) { + std::cout << "about to calculate avg resolution. use python get_image_size script if dataset has too many images\n"; + sibr::Vector2i avgResolution = calculateAvgResolution(imagePaths, resolutions, batch_size); + avgWidth = avgResolution.x(); + avgHeight = avgResolution.y(); + } + + std::cout << "[distordCrop] average resolution " << avgWidth << "x" << avgHeight << " and nr resolutions given: " << resolutions.size() << "\n"; + + // discard images with different resolution + std::vector preExcludedCams; + for (unsigned i = 0; i < resolutions.size(); i++) { + bool shrinkHorizontally = ((resolutions[i].x() < avgWidth) && ((avgWidth - resolutions[i].x()) > avgWidth * resolutionThreshold)) ? true : false; + bool shrinkVertically = ((resolutions[i].y() < avgHeight) && ((avgHeight - resolutions[i].y()) > avgHeight * resolutionThreshold)) ? true : false; + if (shrinkHorizontally || shrinkVertically) { + preExcludedCams.push_back(i); + std::cout << "[distordCrop] excluding input image " << i << " resolution=" << resolutions[i].x() << "x" << resolutions[i].y() << "\n"; + } + } + + std::cout << "[distordCrop] nr pre excluded images " << preExcludedCams.size() << "\n"; + + // compute bounding boxes for all non-discarded images + std::vector allBounds(imagePaths.size()); + + const int nrBatches = static_cast(ceil((float)(imagePaths.size()) / batch_size)); + + // processs batches sequentially (we don't want to run out of memory) + for (int batchId = 0; batchId < nrBatches; batchId++) { + + const int nrItems = (batchId != nrBatches - 1) ? batch_size : ((nrBatches * batch_size != int(imagePaths.size())) ? (int(imagePaths.size()) - (batch_size * batchId)) : batch_size); + + std::vector chunkOfInputImages(nrItems); + + // load images in parallel (OpenMP 2.0 doesn't allow unsigned int as index. must be signed integral type) +#pragma omp parallel for + for (int localImgIndex = 0; localImgIndex < nrItems; localImgIndex++) { + const uint globalImgIndex = uint((batchId * batch_size) + localImgIndex); + // if cam was discarded, do nothing + if (std::find(preExcludedCams.begin(), preExcludedCams.end(), globalImgIndex) == preExcludedCams.end()) { + // only now load the img + chunkOfInputImages.at(localImgIndex).load(imagePaths.at(globalImgIndex).string(), false); + allBounds.at(globalImgIndex) = getBounds(chunkOfInputImages.at(localImgIndex), backgroundColor, threshold_black_color, thinest_bounding_box_size, toleranceFactor); + + } + } + } + + Bounds finalBounds(resolutions.at(0)); + + int im_id = 0; + + // generate exclude file based on x and y ratios + std::string excludeFilePath = root.string() + "/exclude_images.txt"; + std::ofstream excludeFile(excludeFilePath, std::ios::trunc); + + int minWidth = -1; + int minHeight = -1; + + for (auto & bounds : allBounds) { + bool wasPreExcluded = std::find(preExcludedCams.begin(), preExcludedCams.end(), im_id) != preExcludedCams.end(); + + if (!wasPreExcluded && bounds.xRatio > threshold_ratio_bounding_box_size && bounds.yRatio > threshold_ratio_bounding_box_size) { + // get global x and y ratios + bool check = false; + if (bounds.xRatio < finalBounds.xRatio) { + finalBounds.xRatio = bounds.xRatio; + check = true; + } + if (bounds.yRatio < finalBounds.yRatio) { + finalBounds.yRatio = bounds.yRatio; + check = true; + } + + minWidth = (minWidth < 0 || bounds.width < minWidth) ? bounds.width : minWidth; + minHeight = (minHeight < 0 || bounds.height < minHeight) ? bounds.height : minHeight; + } + else { + std::cerr << im_id << " "; + excludeFile << im_id << " "; + + std::cout << wasPreExcluded << " " << bounds.xRatio << " " << threshold_ratio_bounding_box_size << " " << bounds.yRatio << " " << threshold_ratio_bounding_box_size << std::endl; + } + + ++im_id; + + } + excludeFile.close(); + std::cout << std::endl; + + return sibr::Vector2i(minWidth, minHeight); + + } + + sibr::Vector2i DistordCropUtility::findMinImageSize(const Path & root, const std::vector& imagePaths) + { + std::vector inputImgs(imagePaths.size()); + std::vector imSizes(imagePaths.size()); + + std::cout << "[distordCrop] loading input images : " << std::flush; + +#pragma omp parallel for + for (int id = 0; id < (int)inputImgs.size(); ++id) { + inputImgs.at(id).load(imagePaths.at(id).string(), false); + imSizes[id] = inputImgs[id].size().cast(); + } + + sibr::Vector2i minSize = imSizes[0]; + for (const auto & size : imSizes) { + minSize = minSize.cwiseMin(size); + } + + // generate exclude file based on x and y ratios + std::string excludeFilePath = root.string() + "/excludeImages.txt"; + std::ofstream excludeFile(excludeFilePath, std::ios::trunc); + excludeFile.close(); + + return minSize; + } + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/imgproc/DistordCropUtility.hpp b/SIBR_viewers/src/core/imgproc/DistordCropUtility.hpp new file mode 100644 index 0000000000..b0ee5f4569 --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/DistordCropUtility.hpp @@ -0,0 +1,176 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "Config.hpp" +#include +#include +#include + +#include +#include + +#include +#include + + +namespace sibr { + + /** \brief Helpers for cropping undistorted dataset images so that margins are removed, while keeping the dataset consistent. + * \ingroup sibr_imgproc + */ + class SIBR_IMGPROC_EXPORT DistordCropUtility + { + public: + + /** Image crop boundaries . */ + struct Bounds + { + /// Default constructor. + Bounds() {} + + /** Initialize with an image boundaries. + *\param img the image to use + **/ + Bounds(const sibr::ImageRGB & img) { + xMax = (int)img.w() - 1; + xMin = 0; + yMax = (int)img.h() - 1; + yMin = 0; + xRatio = 1.0f; + yRatio = 1.0f; + } + + /** Initialize with a given resolution. + *\param res the resolution + **/ + Bounds(const sibr::Vector2i & res) { + xMax = res.x() - 1; + xMin = 0; + yMax = res.y() - 1; + yMin = 0; + xRatio = 1.0f; + yRatio = 1.0f; + } + + /** \return a string representing the bounds, for logging. */ + std::string display() const { + std::stringstream s; + s << "[" << xMin << ", " << xMax << "]x[" << yMin << ", " << yMax << "]"; + return s.str(); + } + + int xMax = 0; ///< Max x value. + int xMin = 0; ///< Min x value. + int yMax = 0; ///< Max y value. + int yMin = 0; ///< Min y value. + int width = 0; ///< Region width. + int height = 0; ////< Region height. + + float xRatio = 1.0f; ///< Scaling ratio along X axis. + float yRatio = 1.0f; ///< Scaling ratio along Y axis. + }; + + /** Check if a pixel color is close to a reference color. + *\param pixelColor the color to test + *\param backgroundColor the reference color + *\param threshold_black_color the tolerance threshold + *\return true if ||pixel - background||^2 < threshold + */ + bool isBlack(const sibr::Vector3ub & pixelColor, Vector3i backgroundColor, int threshold_black_color); + + /* + * Check if a file name is made out only of digits and not letters (like texture file names). + * \param s the filename to test + * \return true if the string only contains digits + */ + bool is_number(const std::string& s); + + /* + * Add pixel(x,y) to the processing queue if it is close to backgroundColor. + * Note that only the visited status of black pixels is updated (to avoid adding them multiple times) because we don't care about other pixels. + * \param pixel the coordinates of the pixel to test + * \param img the image the pixel is coming from + * \param queue the queue, pixel will be added to it if close to backgroundColor + * \param arrayVisited visited status of each pixel (to avoid adding a pixel to the queue multiple times) + * \param backgroundColor the reference color + * \param threshold_black_color the tolerance threshold + * \sa isBlack + */ + void addPixelToQueue(const sibr::Vector2i & pixel, const sibr::ImageRGB & img, std::priority_queue & queue, sibr::Array2d & arrayVisited, Vector3i backgroundColor, int threshold_black_color); + + /** + * Estimate a region that won't contain any black pixels. + * \param isBlack 2D array listing which pixels should be excluded + * \param bounds will contain the region boundaries + * \param thinest_bounding_box_size minimum size of the bounds along any dimension + */ + void findBounds(sibr::Array2d & isBlack, Bounds & bounds, int thinest_bounding_box_size); + + /** Estimate a region of an image so that no pixels of a reference color are contained in it. + *\param img the image to crop + *\param backgroundColor the reference color + *\param threshold_black_color the color tolerance threshold + *\param thinest_bounding_box_size minimum size of the bounds along any dimension + *\param toleranceFactor Additional tolerance factor: if set to 0 the bounds will be tight, if set to 1 it will cover the full image. + *\return the estimated region boundaries + */ + Bounds getBounds(const sibr::ImageRGB & img, Vector3i backgroundColor, int threshold_black_color, int thinest_bounding_box_size, float toleranceFactor); + + /** + * Estimate the average resolution of a set of images quickly using multithread to speed up the required loading. + * \param imagePaths list of paths to the images + * \param resolutions will contain each image resolution + * \param batch_size number of images loaded per thread internally + * \return the average resolution + */ + sibr::Vector2i calculateAvgResolution(const std::vector< Path > & imagePaths, std::vector & resolutions, const int batch_size = 150); + + /** + * Find a common crop region for a set of images so that all pixels of a reference color are excluded from all images, while minimizing information loss. + * \param root the dataset root path (for writing list files) + * \param imagePaths list of image paths + * \param resolutions will contain the image resolutions + * \param avgWidth average image width, if 0 will be recomputed (slow for large datasets) + * \param avgHeight average image height, if 0 will be recomputed (slow for large datasets) + * \param batch_size batch size for multithreaded image loading + * \param resolutionThreshold ratio of the minimum allowed dimensions over the average image dimensions + * \param threshold_ratio_bounding_box_size maximum change in aspect ratio + * \param backgroundColor the reference background color + * \param threshold_black_color the color tolerance threshold + * \param thinest_bounding_box_size minimum size of the bounds along any dimension + * \param toleranceFactor Additional tolerance factor: if set to 0 the bounds will be tight, if set to 1 it will cover the full image. + * \return + */ + sibr::Vector2i findBiggestImageCenteredBox(const Path & root, const std::vector< Path > & imagePaths, std::vector & resolutions, int avgWidth = 0, int avgHeight = 0, + const int batch_size = 150, + float resolutionThreshold = 0.15f, + float threshold_ratio_bounding_box_size = 0.2f, + Vector3i backgroundColor = Vector3i(0, 0, 0), + int threshold_black_color = 10, + int thinest_bounding_box_size = 5, + float toleranceFactor = 0.0f); + + /** + * Find the resolution of the smallest image in a set. + * \note In the past, this function was also supposed to exclude images based on a certain criterion and write them to a file. + * \param root dataset root path (for writing an exclude list file, see note) + * \param imagePaths list of paths to the images + * \return the minimum resolution + */ + sibr::Vector2i findMinImageSize(const Path & root, const std::vector< Path > & imagePaths); + + + }; +} + diff --git a/SIBR_viewers/src/core/imgproc/MRFSolver.cpp b/SIBR_viewers/src/core/imgproc/MRFSolver.cpp new file mode 100644 index 0000000000..d2096195fc --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/MRFSolver.cpp @@ -0,0 +1,338 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "MRFSolver.h" + + +namespace sibr { + + MRFSolver::MRFSolver(void) + { + } + + MRFSolver::MRFSolver(std::vector labels_list, std::vector >* neighborMap, int numIterations, + UnaryLabelOnlyFuncPtr unaryLabelOnly, + UnaryFuncPtr unaryFull, + PairwiseLabelOnlyFuncPtr pairwiseLabelsOnly, + PairwiseFuncPtr pairwiseFull) + : ignoreIsolatedNode(false) + { + SIBR_LOG << "[MRFSolver] Initialization ... "; + + _labList = labels_list; + _neighborMap = neighborMap; + _numIterations = numIterations; + _unaryFull = unaryFull; + _pairwiseFull = pairwiseFull; + + SIBR_LOG << "[MRFSolver] Labels : "; + for (int l_id = 0; l_id < _labList.size(); l_id++) { + std::cout << _labList[l_id] << ","; + } + std::cout << std::endl; + + //storing values for the unary part only requiring label + if (unaryLabelOnly.get()) { + SIBR_LOG << "[MRFSolver] unaryLabelOnly exists, precomputing." << std::endl; + _UnaryLabelOnly.resize(_labList.size()); + for (int l_id = 0; l_id < _labList.size(); l_id++) { + _UnaryLabelOnly[l_id] = (*unaryLabelOnly)(_labList[l_id]); + } + } + else { + SIBR_LOG << "[MRFSolver] unaryLabelOnly does not exist, skipping." << std::endl; + } + + //storing values for the pairwise part only requiring labels + if (pairwiseLabelsOnly.get()) { + SIBR_LOG << "[MRFSolver] pairwiseLabelsOnly exists, precomputing." << std::endl; + _PairwiseLabelsOnly.resize(_labList.size()); + + for (int l_id1 = 0; l_id1 < _labList.size(); l_id1++) { + _PairwiseLabelsOnly[l_id1].resize(_labList.size(), -1); + + for (int l_id2 = 0; l_id2 < _labList.size(); l_id2++) { + _PairwiseLabelsOnly[l_id1][l_id2] = (*pairwiseLabelsOnly)(_labList[l_id1], _labList[l_id2]); + } + } + } + else { + SIBR_LOG << "[MRFSolver] pairwiseLabelsOnly does not exist, skipping." << std::endl; + } + + SIBR_LOG << "[MRFSolver] Setup complete." << std::endl; + } + + void MRFSolver::solveLabels(void) + { + SIBR_LOG << "[MRFSolver] Running mincut... " << std::endl; + + double infty = (double)1e20; + double min_unary, temp_unary; + int num_nodes = (int)_neighborMap->size(); + SIBR_LOG << "[MRFSolver] Number of nodes = " << num_nodes; + _labels.resize(num_nodes); + + int numLinks = 0; + for (auto & links : (*_neighborMap)) { + numLinks += (int)links.size(); + } + SIBR_LOG << ", number of links = " << numLinks / 2 << std::endl; + + SIBR_LOG << "[MRFSolver] Initialization : minimizing unaries..." << std::flush; + for (int p = 0; p < num_nodes; p++) { + + int label_id; + min_unary = infty; + int num_cand = 0; + for (int lp_id = 0; lp_id < (int)_labList.size(); lp_id++) { + temp_unary = unaryTotal(p, lp_id); + if (temp_unary < (1 << 10)) { ++num_cand; } + if (temp_unary < min_unary) { + min_unary = temp_unary; + label_id = lp_id; + } + } + _labels[p] = label_id; + } + std::cout << " Done." << std::endl; + + SIBR_LOG << "[MRFSolver] Energies: U: " << computeEnergyU() << ", W: " << computeEnergyW() << std::endl; + + // Alpha-expansion algorithm + SIBR_LOG << "[MRFSolver] Alpha-expansion [label,flow]..." << std::endl; + for (int it = 0; it < _numIterations; it++) { + SIBR_LOG << "[MRFSolver] Iteration " << (it+1) << "/" << (_numIterations) << ": " << std::endl; + + for (int label_id = 0; label_id < (int)_labList.size(); label_id++) { + int label = _labList.at(label_id); + + buildGraphAlphaExp(label_id); + // Solve mincut + _energy = _graph->maxflow(); + + + int num_change = 0; + //assign new labels + for (int p = 0; p < num_nodes; p++) { + if (_graph->what_segment(p) == GraphType::SINK) { + if (_labels[p] != label_id) { ++num_change; } + _labels[p] = label_id; + } + } + SIBR_LOG << "[MRFSolver]\t\tLabel " << label << ": modifications = " << num_change << ", energy = " << _energy << " ]" << std::endl; + + delete _graph; + } + } + SIBR_LOG << "[MRFSolver] Done." << std::endl; + } + + void MRFSolver::buildGraphAlphaExp(int label_iteration_id) + { + double infty = 1 << 25; + int num_nodes = (int)_neighborMap->size(); + int n_nodes_estimation = num_nodes; + int n_edges_estimation = num_nodes * 4; + + _graph = new GraphType(n_nodes_estimation, n_edges_estimation); + + //add nodes associated to pixels + int node_id = 0; + for (int p = 0; p < num_nodes; p++) { + _graph->add_node(); + + if (_labels[p] == label_iteration_id) { + _graph->add_tweights(node_id, unaryTotal(p, label_iteration_id), infty); + } else { + _graph->add_tweights(node_id, unaryTotal(p, label_iteration_id), unaryTotal(p, _labels[p])); + } + ++node_id; + } + + //add nodes associated to connexions between pixels + for (int p = 0; p < num_nodes; p++) { + + std::vector & neighors = (*_neighborMap)[p]; + for (int q_id = 0; q_id < (int)neighors.size(); q_id++) { + + int q = neighors[q_id]; + + if (p == q) { std::cerr << "!"; } + if (q < p) { continue; } + + if (_labels[p] != _labels[q]) { + //extra node associated to edge {p,q} + _graph->add_node(); + + _graph->add_tweights(node_id, 0, pairwiseTotal(q, p, _labels[q], _labels[p])); + + double pairwise_q_a = pairwiseTotal(q, p, _labels[q], label_iteration_id); + _graph->add_edge(q, node_id, pairwise_q_a, pairwise_q_a); + + double pairwise_p_a = pairwiseTotal(q, p, label_iteration_id, _labels[p]); + _graph->add_edge(p, node_id, pairwise_p_a, pairwise_p_a); + + ++node_id; + } + else + { + double pairwise_p_q = pairwiseTotal(q, p, _labels[q], label_iteration_id); + _graph->add_edge(q, p, pairwise_p_q, pairwise_p_q); + } + } + } + + } + + void MRFSolver::solveBinaryLabels(void) + { + int numLabels = (int)_labList.size(); + if (numLabels < 2) { + SIBR_ERR << "[MRFSolver] solveBinaryLabels, expected 2 labels, only " << numLabels << " labels " << std::endl; + } + else if (numLabels > 2) { + SIBR_WRG << "[MRFSolver] solveBinaryLabels, found " << numLabels << " labels, only the first two will be used." << std::endl; + } + + buildGraphBinaryLabels(); + + _graph->maxflow(); + + int num_nodes = (int)_neighborMap->size(); + _labels.resize(num_nodes); + + //assign new labels + for (int p = 0; p < num_nodes; p++) { + + //TODO check this is not the opposite + if (_graph->what_segment(p) == GraphType::SINK) { + _labels[p] = 0; + } + else { + _labels[p] = 1; + } + } + + delete _graph; + } + + void MRFSolver::buildGraphBinaryLabels(void) + { + int num_nodes = (int)_neighborMap->size(); + int n_nodes_estimation = num_nodes; + int n_edges_estimation = num_nodes * 4; + + _graph = new GraphType(n_nodes_estimation, n_edges_estimation); + + for (int p = 0; p < num_nodes; p++) { + _graph->add_node(); + _graph->add_tweights(p, unaryTotal(p, 0), unaryTotal(p, 1)); + } + + for (int p = 0; p < num_nodes; p++) { + std::vector & neighors = (*_neighborMap)[p]; + for (int q_id = 0; q_id < (int)neighors.size(); q_id++) { + + int q = neighors[q_id]; + + if (q < p) { continue; } + + double weight = pairwiseTotal(q, p, 0, 1); + + _graph->add_edge(q, p, weight, weight); + } + } + } + + double MRFSolver::unaryTotal(int p, int lp_id) + { + double u = 0; + if (!_UnaryLabelOnly.empty()) { + u += _UnaryLabelOnly[lp_id]; + } + if (_unaryFull) { + u += (*_unaryFull)(p, _labList[lp_id]); + } + if (u < 0) { std::cerr << "!"; } + return u; + } + + double MRFSolver::pairwiseTotal(int p, int q, int lp_id, int lq_id) + { + double w = 0; + if (!_PairwiseLabelsOnly.empty()) { + w += _PairwiseLabelsOnly[lp_id][lq_id]; + } + + if (_pairwiseFull) { + w += (*_pairwiseFull)(p, q, _labList[lp_id], _labList[lq_id]); + } + if (w < 0) { std::cerr << "?" << w << "?"; } + return w; + } + + std::vector MRFSolver::getLabels(void) + { + std::vector labels(_labels.size()); + + //switch from labels id to actual labels + for (int p = 0; p < (int)labels.size(); p++) { + labels[p] = _labList[_labels[p]]; + } + return labels; + } + + std::vector MRFSolver::getUnariesEnergies(void) + { + if (_labels.size() == 0) { std::cerr << "[MRFSolver] warning getUnariesEnergies without nodes" << std::endl; return std::vector(); } + + std::vector energies(_labels.size()); + for (int p = 0; p < (int)_labels.size(); p++) { + energies[p] = unaryTotal(p, _labels[p]); + } + + return energies; + } + + double MRFSolver::computeEnergyU(void) + { + double e = 0; + for (int p = 0; p < (int)_labels.size(); p++) { + e += unaryTotal(p, _labels[p]); + } + return e; + } + + double MRFSolver::computeEnergyW(void) + { + double e = 0; + for (int p = 0; p < (int)_labels.size(); p++) { + for (int q_id = 0; q_id < (int)(*_neighborMap)[p].size(); q_id++) { + int q = (*_neighborMap)[p][q_id]; + if (q < p) { continue; } + e += pairwiseTotal(q, p, _labels[q], _labels[p]); + } + } + return e; + } + + double MRFSolver::getTotalEnergy(void) + { + return _energy; + } + + MRFSolver::~MRFSolver(void) + { + } + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/imgproc/MRFSolver.h b/SIBR_viewers/src/core/imgproc/MRFSolver.h new file mode 100644 index 0000000000..25deedb94c --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/MRFSolver.h @@ -0,0 +1,127 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "Config.hpp" +#include "mrf/graph.h" +#include +#include +#include +#include + +namespace sibr { + + + /** Object wrapper around Kolmogorov & Boykov MRF solver. + *Solve labelling problems on regular grids using alpha expension. + \ingroup sibr_imgproc + */ + class SIBR_IMGPROC_EXPORT MRFSolver + { + + public: + + typedef std::shared_ptr > UnaryFuncPtr; ///< Unary cost function that depend on node attributes and its label. + typedef std::shared_ptr > PairwiseFuncPtr; ///< Pairwise cost function that depend on node attributes and their labels. + + typedef std::shared_ptr > UnaryLabelOnlyFuncPtr; ///< Unary cost function that only depend on the label. + typedef std::shared_ptr > PairwiseLabelOnlyFuncPtr; ///< Pairwise cost function that only depend on the labels. + + /// Default constructor. + MRFSolver(void); + + /** Initialize from a set of labels, connections and node/edge weights. + *\param labels list of available labels + *\param neighborMap connectivity map, for each node, list of neighboring nodes linear indices + *\param numIterations number of expansion iterations to perform + *\param unaryLabelOnly optional unary cost that only depends on the label: f(lab0), else provide nullptr + *\param unaryFull unary (per node) cost function evaluator, receiving the node linear index and label: f(ind0, lab0) + *\param pairwiseLabelsOnly optional pairwise cost that only depends on the labels: f(lab0, lab1), else provide nullptr + *\param pairwiseFull pairwise (per pair of nodes) cost function evaluator, receiving the nodes linear indices and their labels: f(ind0, ind1, lab0, lab1) + *\note the "*LabelsOnly" functions are optional and are precomputed and cached for optimized resolution. + */ + MRFSolver(std::vector labels, std::vector >* neighborMap, int numIterations, + UnaryLabelOnlyFuncPtr unaryLabelOnly, + UnaryFuncPtr unaryFull, + PairwiseLabelOnlyFuncPtr pairwiseLabelsOnly, + PairwiseFuncPtr pairwiseFull + ); + + /// Solve using alpha expansion. When you have only two labels, use solveBinaryLabels instead + void solveLabels(void); + + /// Solve for binary labels: if you only more than two labels, call solveLabels instead. + void solveBinaryLabels(void); + + /** For each pixel, get the estimated label (call either solveLabels or solveBinaryLabels before). + \return a list of labels, one per pixel */ + std::vector getLabels(void); + + /** \return the total energy of the current labeling. */ + double getTotalEnergy(void); + + /** \return the unary energy of the current labeling. */ + double computeEnergyU(void); + + /** \return the pairwise energy of the current labeling. */ + double computeEnergyW(void); + + /** \return per label unary energy. */ + std::vector getUnariesEnergies(void); + + /// Destructor. + ~MRFSolver(void); + + private: + + /** Build graph for the general case. + *\param label_iteration_id + **/ + void buildGraphAlphaExp(int label_iteration_id); + + /** Build graph for the binary labeling case. */ + void buildGraphBinaryLabels(void); + + /** Compute the unary cost of a node. + *\param p the node linear index + *\param lp_id the node label to consider + *\return the total unary cost + **/ + double unaryTotal(int p, int lp_id); + + /** Compute the pairwise cost of a pair of nodes. + *\param p the first node linear index + *\param q the second node linear index + *\param lp_id the first node label to consider + *\param lq_id the scond node label to consider + *\return the total pairwise cost + **/ + double pairwiseTotal(int p, int q, int lp_id, int lq_id); + + std::vector _labList; ///< Map the label_id to the actual labels. + std::vector _labels; ///< Assign each node its current best label_id. + std::vector >* _neighborMap; ///< For each variable, gives the list of its neighbor variables + int _numIterations; ///< Number of iterations in alpha expansion. + + std::vector _UnaryLabelOnly; ///< Unaries only requiring label. + std::shared_ptr > _unaryFull; ///< Unaries requiring label and variable. + std::vector > _PairwiseLabelsOnly; ///< Pairwises only requiring labels. + std::shared_ptr > _pairwiseFull; ///< Pairwises requiring labels and variables. + + typedef Graph GraphType; + double _energy; ///< Total energy. + GraphType* _graph; ///< Graph. + bool ignoreIsolatedNode; ///< Ignore nodes with no connections. + }; + +} diff --git a/SIBR_viewers/src/core/imgproc/MeshTexturing.cpp b/SIBR_viewers/src/core/imgproc/MeshTexturing.cpp new file mode 100644 index 0000000000..4e5ca32ddd --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/MeshTexturing.cpp @@ -0,0 +1,267 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "MeshTexturing.hpp" +#include "PoissonReconstruction.hpp" +#include + +namespace sibr { + + MeshTexturing::MeshTexturing(unsigned int sideSize) : + _accum(sideSize, sideSize, Vector3f(0.0f, 0.0f, 0.0f)), + _mask(sideSize, sideSize, 0) + { + + } + + void MeshTexturing::setMesh(const sibr::Mesh::Ptr mesh) { + _mesh = mesh; + + // We need UVs else we can't do anything. + if (!_mesh->hasTexCoords()) { + SIBR_ERR << "[Texturing] The mesh to texture needs to have UVs" << std::endl; + return; + } + // We also need normals. + if (!_mesh->hasNormals()) { + _mesh->generateNormals(); + } + + // Create a mesh in UV space, using the UVs as 2D coordinates. + SIBR_LOG << "[Texturing] Generating UV mesh..." << std::endl; + const int verticesCount = int(_mesh->vertices().size()); + std::vector uvVertices(verticesCount); + +#pragma omp parallel for + for (int vid = 0; vid < verticesCount; ++vid) { + const sibr::Vector2f & uvs = _mesh->texCoords()[vid]; + uvVertices[vid] = sibr::Vector3f(uvs[0], uvs[1], 0.0f); + } + Mesh uvMesh(false); + uvMesh.vertices(uvVertices); + uvMesh.triangles(_mesh->triangles()); + + // Init both raycasters. + // For the world raycaster, we need to have no backface culling. + // Our version of Embree being compiled with backface culling, we have to 'duplicate and flip' the mesh. + Mesh::Ptr doubleMesh = _mesh->clone(); + doubleMesh->merge(_mesh->invertedFacesMesh()); + _worldRaycaster.addMesh(*doubleMesh); + _uvsRaycaster.addMesh(uvMesh); + + } + + void MeshTexturing::interpolate(const sibr::RayHit & hit, sibr::Vector3f & vertex, sibr::Vector3f & normal) const { + const Mesh::Vertices & vertices = _mesh->vertices(); + const Mesh::Normals & normals = _mesh->normals(); + + const sibr::Vector3u& tri = _mesh->triangles()[hit.primitive().triID]; + + const float uCoord = hit.barycentricCoord().u; + const float vCoord = hit.barycentricCoord().v; + const float wCoord = sibr::clamp(1.f - uCoord - vCoord, 0.0f, 1.0f); + + vertex = wCoord * vertices[tri[0]] + uCoord * vertices[tri[1]] + vCoord * vertices[tri[2]]; + normal = (wCoord * normals[tri[0]] + uCoord * normals[tri[1]] + vCoord * normals[tri[2]]).normalized(); + } + + void MeshTexturing::reproject(const std::vector & cameras, const std::vector & images, const float sampleRatio) { + // We need a mesh for reprojection. + if (!_mesh) { + SIBR_WRG << "[Texturing] No mesh available." << std::endl; + return; + } + + + struct SampleInfos { + sibr::Vector3f color; + float weight; + }; + + + const int w = _accum.w(); + const int h = _accum.h(); + + sibr::LoadingProgress progress(h, "[Texturing] Gathering color samples from cameras" ); + SIBR_LOG << "[Texturing] Gathering color samples from " << cameras.size() << " cameras ..." << std::endl; + +#pragma omp parallel for + for (int py = 0; py < h; ++py) { + for (int px = 0; px < w; ++px) { + // Check if we fall inside a triangle in the UV map. + RayHit hit; + const bool hasHit = sampleNeighborhood(px, py, hit); + + // We really have no triangle in the neighborhood to use, skip. + if (!hasHit) { + continue; + } + + // Need the smooth position and normal in the initial mesh. + sibr::Vector3f vertex, normal; + interpolate(hit, vertex, normal); + + sibr::Vector3f avgColor(0.0f, 0.0f, 0.0f); + float totalWeight = 0.0f; + + std::vector samples; + + for (int cid = 0; cid < cameras.size(); ++cid) { + const auto & cam = cameras[cid]; + if (!cam->frustumTest(vertex)) { + continue; + } + + // Check for occlusions. + sibr::Vector3f occDir = (vertex - cam->position()); + const float dist = occDir.norm(); + if (dist > 0.0f) { + occDir /= dist; + } + const RayHit hitOcc = _worldRaycaster.intersect(Ray(cam->position(), occDir)); + if (hitOcc.hitSomething() && (hitOcc.dist() + 0.0001f) < dist) { + continue; + } + + // Reproject, read color. + const sibr::Vector2f pos = cam->projectImgSpaceInvertY(vertex).xy(); + const sibr::Vector3f col = images[cid]->bilinear(pos).cast().xyz(); + // Angle-based weight for now. + const float angleWeight = std::max(-occDir.dot(normal), 0.0f); + const float weight = angleWeight; + //avgColor += weight * col; + //totalWeight += weight; + samples.emplace_back(); + samples.back().color = col; + samples.back().weight = weight; + } + if (samples.empty()) { + continue; + } + + std::sort(samples.begin(), samples.end(), [](const SampleInfos & a, const SampleInfos & b) + { + return a.weight > b.weight; + }); + + // Re-weight and accumulate the samples. + // The code is written this way to support 'best sampleRatio of all samples' approaches. + for(int i = 0; i < sampleRatio * samples.size(); ++i) { + float w = samples[i].weight; + w = w * w; + totalWeight += w; + avgColor += w * samples[i].color; + } + + if (totalWeight > 0.0f) { + _accum(px, py) = avgColor / totalWeight; + _mask(px, py)[0] = 255; + } + } + if( (py % 1000) == 0 ) + progress.walk(1000); + } + } + + sibr::ImageRGB::Ptr MeshTexturing::getTexture(uint options) const { + + ImageRGB32F output; + if (options & Options::FLOOD_FILL) { + output = floodFill(_accum, _mask)->clone(); + } + else if (options & Options::POISSON_FILL) { + output = poissonFill(_accum, _mask)->clone(); + } + else { + output = _accum.clone(); + } + + // Convert as-is to uchar. + ImageRGB::Ptr result(new ImageRGB()); + const cv::Mat3f outputF = output.toOpenCV(); + const cv::Mat3b outputB = cv::Mat3b(outputF); + result->fromOpenCV(outputB); + + /// \todo For extra large images, this might crash because of internal openCV indexing limitations. + if (options & Options::FLIP_VERTICAL) { + result->flipH(); + } + + return result; + } + + sibr::ImageRGB32F::Ptr MeshTexturing::poissonFill(const sibr::ImageRGB32F & image, const sibr::ImageL8 & mask) { + SIBR_LOG << "[Texturing] Poisson filling..." << std::endl; + + const cv::Mat3f guideF = cv::Mat3f(image.toOpenCV()) / 255.0f; + cv::Mat1f maskF; + mask.toOpenCV().convertTo(maskF, CV_32FC1, 1.0f / 255.0f); + + const cv::Mat3f gradX = cv::Mat3f::zeros(guideF.rows, guideF.cols); + const cv::Mat3f gradY = gradX.clone(); + + PoissonReconstruction poisson(gradX, gradY, maskF, guideF); + poisson.solve(); + const cv::Mat3f resultF = 255.0f * poisson.result(); + + ImageRGB32F::Ptr filled(new ImageRGB32F()); + filled->fromOpenCV(resultF); + return filled; + } + + + bool MeshTexturing::hitTest(int px, int py, RayHit & finalHit) + { + // From the UVs find the world space position. + const float u = (float(px) + 0.5f) / float(_accum.w()); + const float v = (float(py) + 0.5f) / float(_accum.h()); + // Spawn a ray from (u,v,0) in the z direction. + const RayHit hit = _uvsRaycaster.intersect(Ray({ u, v, 1.0f }, { 0.0f,0.0f,-1.0f })); + if (hit.hitSomething()) { + finalHit = hit; + return true; + } + // Just in case of backface culling, try the other side. + const RayHit hitBack = _uvsRaycaster.intersect(Ray({ u, v, -1.0f }, { 0.0f,0.0f,1.0f })); + if (hitBack.hitSomething()) { + finalHit = hitBack; + return true; + } + return false; + } + + bool MeshTexturing::sampleNeighborhood(int px, int py, RayHit & hit) + { + bool hasHit = hitTest(px, py, hit); + // Sample a 3x3 neighborhood to counter-act aliasing/interpolation later on, as long as we don't get a hit. + // The order is important, to first fetch in line/column and then in diagonal. Sorry for the cache... + std::vector dxs = { px, px - 1, px + 1 }; + std::vector dys = { py, py - 1, py + 1 }; + for (const int dx : dxs) { + if (hasHit) { + break; + } + for (const int dy : dys) { + if (hasHit) { + break; + } + // Ignore center pixel, already tested. + if (dx == px && dy == py) { + continue; + } + hasHit = hitTest(dx, dy, hit); + } + } + return hasHit; + } + +} diff --git a/SIBR_viewers/src/core/imgproc/MeshTexturing.hpp b/SIBR_viewers/src/core/imgproc/MeshTexturing.hpp new file mode 100644 index 0000000000..a5c8e7eb71 --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/MeshTexturing.hpp @@ -0,0 +1,158 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "Config.hpp" +#include +#include +#include +#include "core/raycaster/Raycaster.hpp" + + +namespace sibr { + + /** \brief Reproject images onto a mesh using the associated camera poses, + * and accumulate colors in UV-space to generate a texture map. + * \ingroup sibr_imgproc + */ + class SIBR_IMGPROC_EXPORT MeshTexturing + { + public: + + /** \brief Export options + */ + enum Options : uint { + NONE = 0, + FLIP_VERTICAL = 1, ///< Flip the final result. + FLOOD_FILL = 2, ///< Perform flood filling. + POISSON_FILL = 4 ///< Perform poisson filling (slow). + }; + + /** Constructor. + * \param sideSize dimension of the texture + */ + MeshTexturing(unsigned int sideSize); + + /** Set the current mesh to texture. + * \param mesh the mesh to use. + * \warning The mesh MUST have texcoords. + * \note If the mesh has no normals, they will be computed. + */ + void setMesh(const sibr::Mesh::Ptr mesh); + + /** Reproject a set of images into the texture map, using the associated cameras. + * \param cameras the cameras poses + * \param images the images to reproject + */ + void reproject(const std::vector & cameras, const std::vector & images, const float sampleRatio = 1.0); + + /** Get the final result. + * \param options the options to apply to the generated texture map. + */ + sibr::ImageRGB::Ptr getTexture(uint options = NONE) const; + + /** Performs flood fill of an image, following a mask. + * \param image the image to fill + * \param mask mask where the zeros regions will be filled + * \return the filled image. + */ + template + static typename Image< T_Type, T_NumComp>::Ptr floodFill(const Image & image, const sibr::ImageL8 & mask) { + + typename Image< T_Type, T_NumComp>::Ptr filled(new Image< T_Type, T_NumComp>(image.w(), image.h())); + + SIBR_LOG << "[Texturing] Flood filling..." << std::endl; + // Perform filling. + // We need the empty pixels marked as non zeros, and the filled marked as zeros. + cv::Mat1b flipMask = mask.toOpenCV().clone(); + flipMask = 255 - flipMask; + cv::Mat1f dummyDist(flipMask.rows, flipMask.cols, 0.0f); + cv::Mat1i labels(flipMask.rows, flipMask.cols, 0); + + // Run distance transform to obtain the IDs. + cv::distanceTransform(flipMask, dummyDist, labels, cv::DIST_L2, cv::DIST_MASK_5, cv::DIST_LABEL_PIXEL); + + // Build a pixel ID to source pixel table, using the pixels in the mask. + const sibr::Vector2i basePos(-1, -1); + std::vector colorTable(flipMask.rows*flipMask.cols, basePos); +#pragma omp parallel + for (int py = 0; py < flipMask.rows; ++py) { + for (int px = 0; px < flipMask.cols; ++px) { + if (flipMask(py, px) != 0) { + continue; + } + const int label = labels(py, px); + colorTable[label] = { px,py }; + } + } + + // Now we can turn the label image into a color image again. +#pragma omp parallel + for (int py = 0; py < flipMask.rows; ++py) { + for (int px = 0; px < flipMask.cols; ++px) { + // Don't touch existing pixels. + if (flipMask(py, px) == 0) { + filled(px, py) = image(px, py); + continue; + } + const int label = labels(py, px); + filled(px, py) = image(colorTable[label]); + } + } + return filled; + } + + /** Performs poisson fill of an image, following a mask. + * \param image the image to fill + * \param mask mask where the zeros regions will be filled + * \return the filled image. + * \warning This is slow for large images (>8k). + */ + static sibr::ImageRGB32F::Ptr poissonFill(const sibr::ImageRGB32F & image, const sibr::ImageL8 & mask); + + private: + + /** Test if the UV-space mesh covers a pixel of the texture map. + * \param px pixel x coordinate + * \param py pixel y coordinate + * \param finalHit the hit information if there is coverage + * \return true if there is coverage. + */ + bool hitTest(int px, int py, RayHit & finalHit); + + /** Test if the UV-space mesh approximately covers a pixel of the texture map, by sampling a neighborhood in uv-space. + * \param px pixel x coordinate + * \param py pixel y coordinate + * \param hit the hit information if there is coverage + * \return true if there is coverage. + */ + bool sampleNeighborhood(int px, int py, RayHit& hit); + + /** Compute the interpolated position and normal at the intersection point on the initial mesh. + * \param hit the intersection information + * \param vertex will contain the interpolated position + * \param normal will contain the interpolated normal + */ + void interpolate(const sibr::RayHit & hit, sibr::Vector3f & vertex, sibr::Vector3f & normal) const; + + sibr::ImageRGB32F _accum; ///< Color accumulator. + sibr::ImageL8 _mask; ///< Mask indicating which regions of the texture map have been covered. + + sibr::Mesh::Ptr _mesh; ///< The original world-space mesh. + sibr::Raycaster _worldRaycaster; ///< The world-space mesh raycaster. + sibr::Raycaster _uvsRaycaster; ///< The uv-space mesh raycaster. + + + }; + +} diff --git a/SIBR_viewers/src/core/imgproc/PoissonReconstruction.cpp b/SIBR_viewers/src/core/imgproc/PoissonReconstruction.cpp new file mode 100644 index 0000000000..8fac3220bb --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/PoissonReconstruction.cpp @@ -0,0 +1,316 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "PoissonReconstruction.hpp" +#include +#include + + +namespace sibr { + + + +PoissonReconstruction::PoissonReconstruction( + const cv::Mat3f & gradientsX, + const cv::Mat3f & gradientsY, + const cv::Mat1f & mask, + const cv::Mat3f & img_target) +{ + // Make a copy of the target as we are going to modify it. + _img_target = img_target.clone(); + _gradientsX = gradientsX; + _gradientsY = gradientsY; + _mask = mask; + +} + +void PoissonReconstruction::solve(void) +{ + parseMask(); + + //solve Ai X=bi , Ai = A : coefs , bi : b_terms , i for each RGB + std::vector< Eigen::Triplet > coefs; + std::vector b_terms; + + for (int k = 0; k < 3; ++k) { + b_terms.push_back(Eigen::VectorXd::Zero(_pixels.size())); + } + + for ( int p=0; p<(int)_pixels.size(); p++ ) { + sibr::Vector2i pos(_pixels[p]); + std::vector< sibr::Vector2i > nPos ( getNeighbors(pos, _img_target.cols, _img_target.rows )); + int num_neighbors = 0; + cv::Vec3f new_term(0, 0, 0); + + for( int n_id = 0; n_id(p,nId,-1)); + + // Four possibilities: + if(npos.x() > pos.x()){ // right pixel + new_term -= _gradientsY.at(pos.y(), pos.x()); + } else if (npos.x() < pos.x()){ // left pixel + new_term += _gradientsY.at(npos.y(), npos.x()); + } else if (npos.y() > pos.y()){ // bottom pixel + new_term -= _gradientsX.at(pos.y(), pos.x()); + } else if(npos.y() < pos.y()){ // top pixel + new_term += _gradientsX.at(npos.y(), npos.x()); + } + + } else if(!isIgnored(npos)) { //boundary + new_term += _img_target.at(npos.y(),npos.x()); // color of target + + } + } + + coefs.push_back(Eigen::Triplet(p,p,(double)num_neighbors)); + + for (int k = 0; k < 3; ++k) { + b_terms[k](p) = new_term(k); + } + + } + + Eigen::SparseMatrix A((int)_pixels.size(),(int)_pixels.size()); + A.setFromTriplets(coefs.begin(),coefs.end()); + + std::vector solutions; + Eigen::SimplicialLDLT< Eigen::SparseMatrix > eigenSolver; + + eigenSolver.compute(A); + + if(eigenSolver.info()!=Eigen::Success) { + std::cerr << "decomp = failure" < 1) { + std::cerr << "distance to solution: " << error << std::endl; + } + } + + for (int p = 0; p<(int)_pixels.size(); p++) { + sibr::Vector2i pos(_pixels[p]); + cv::Vec3f color; + for (int k = 0; k < 3; ++k) { + color(k) = std::min(1.0f, std::max((float)solutions[k][p], 0.0f)); + } + _img_target.at(pos.y(), pos.x()) = color; + } + + postProcessing(); + postProcessing(); + +} + +void PoissonReconstruction::parseMask( void ) +{ + _pixels.resize(0); + _boundaryPixels.resize(0); + _pixelsId.resize(_mask.rows*_mask.cols,-2); + + //std::cerr << "size : " << _mask.cols << " x " << _mask.rows << std::endl; + + //first find boundaries + for( int j=0; j<(int)_mask.rows; j++ ) { + for( int i=0; i<(int)_mask.cols; i++) { + sibr::Vector2i pos(i,j); + + if(isIgnored(pos)) { + continue; + } + if( !isInMask(pos) ) { + std::vector< sibr::Vector2i > neighbors = getNeighbors(pos, _img_target.cols, _img_target.rows); + for( int n_id = 0; n_id PoissonReconstruction::getNeighbors( sibr::Vector2i pos, int width, int height ) +{ + std::vector< sibr::Vector2i > output; + int offset_list_4[4][2] = { {0,1},{0,-1},{1,0},{-1,0} }; + + for( int i=0; i<4; i++){ + sibr::Vector2i n_pos( pos[0]+offset_list_4[i][0], pos[1]+offset_list_4[i][1]); + int x = n_pos.x(); + int y = n_pos.y(); + if( x>=0 && x< width && y>=0 && y< height) { + output.push_back(n_pos); + } + } + return output; +} + +void PoissonReconstruction::computeGradients(const cv::Mat3f& src, cv::Mat3f& gradX, cv::Mat3f& gradY) { + gradX = cv::Mat3f(src.size()); + gradY = cv::Mat3f(src.size()); + for (int i = 0; i < src.rows; ++i) { + for (int j = 0; j < src.cols; ++j) { + // Compute forward differences. + const int ip = std::min(i + 1, src.rows - 1); + const int jp = std::min(j + 1, src.cols - 1); + + const cv::Vec3f c = src.at(i, j); + const cv::Vec3f d = src.at(ip, j); + const cv::Vec3f r = src.at(i, jp); + const cv::Vec3f dX = d - c; + const cv::Vec3f dY = r - c; + gradX.at(i, j) = dX; + gradY.at(i, j) = dY; + } + } +} + +void PoissonReconstruction::checkConnectivity( void ) +{ + // R(x) : 0 -> not connected to boundary, 1 -> connected, G(y) : 0 -> not checked, 1 -> checked + sibr::ImageRGB connectivity( _mask.cols , _mask.rows); + + std::queue pixelsToCheck; + for(int p=0; p<(int)_boundaryPixels.size(); p++){ + sibr::Vector2i pos(_boundaryPixels[p]); + pixelsToCheck.push(pos); + connectivity(pos.x(),pos.y()).x() = 1; //boundaries are connected to boundaries + } + + //propagate connectivity + while(pixelsToCheck.size()>0){ + sibr::Vector2i pos(pixelsToCheck.front()); + pixelsToCheck.pop(); + connectivity(pos.x(),pos.y()).y() = 1; + + std::vector neighbors( getNeighbors(pos, _img_target.cols, _img_target.rows) ); + for(int n_id=0; n_id<(int)neighbors.size(); n_id++){ + sibr::Vector2i npos(neighbors[n_id]); + if( connectivity(npos.x(),npos.y()).y()==1 || isIgnored(npos)) { + continue; + } else { + connectivity(npos.x(),npos.y()).x() = 1; + connectivity(npos.x(),npos.y()).y() = 1; + pixelsToCheck.push( npos ); + } + } + } + + //discard non connected pixel + for(int i=0; i<(int)_mask.cols; i++){ + for(int j=0; j<(int)_mask.rows; j++){ + if( connectivity(i,j).x() == 0 ) { + _pixelsId[i + _mask.cols * j] = -2; + sibr::Vector2i coords(i,j); + if( isInMask(coords) && !isIgnored(coords) ) { + _img_target.at(j, i) = cv::Vec3f(0.0f,0.0f,0.0f); + } + } + } + } + +} + +void PoissonReconstruction::postProcessing(void) +{ + //std::cerr << "[PoissonRecons] Post Processing" << std::endl; + /* + * for( int j=0; j<(int)_mask.rows; j++ ) { + for( int i=0; i<(int)_mask.cols; i++) { + sibr::Vector2i pos(i,j); + if( !isInMask(pos) ) { + */ +#pragma omp parallel for + for (int j = 0; j < (int)_mask.rows; j++) { + for (int i = 0; i < (int)_mask.cols; i++) { + // mask: 0 -> in reconstruction, 1 -> keep fixed. + //return (_mask.at(pos.y(), pos.x())<0.5); + if (std::abs(_mask.at(j,i)) < 0.5f && cv::norm(_img_target.at(j,i)) == 0.0f) { + std::vector neighbors(getNeighbors(sibr::Vector2i(i, j), _mask.cols, _mask.rows)); + std::vector neighIsBlack(neighbors.size(), false); + int black_neighbor = false; + for (uint n_id = 0; n_id < neighbors.size() && !black_neighbor; n_id++) { + sibr::Vector2i npos(neighbors[n_id]); + if (cv::norm(_img_target.at(npos.y(), npos.x())) == 0.0f) { + neighIsBlack[n_id] = true; + } + } + if (!black_neighbor && neighbors.size() > 0) { + cv::Vec3f new_color(0, 0, 0); + int count = 0; + for (uint n_id = 0; n_id < neighbors.size(); n_id++) { + if(neighIsBlack[n_id]) { + continue; + } + sibr::Vector2i npos(neighbors[n_id]); + new_color += _img_target.at(npos.y(), npos.x()); + ++count; + } + _img_target.at(j,i) = ((1.0f / (float)count)*new_color); + } + } + } + } +} + +bool PoissonReconstruction::isInMask( sibr::Vector2i & pos) +{ + const float maskVal = _mask.at(pos.y(), pos.x()); + return (std::abs(maskVal) < 0.5f); +} + +bool PoissonReconstruction::isIgnored(sibr::Vector2i & pos) +{ + return (_mask.at(pos.y(), pos.x()) <= -0.5f); +} + + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/imgproc/PoissonReconstruction.hpp b/SIBR_viewers/src/core/imgproc/PoissonReconstruction.hpp new file mode 100644 index 0000000000..6b40c2c738 --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/PoissonReconstruction.hpp @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "Config.hpp" +#include + + +namespace sibr { + + /** \brief Performs gradient integration for tasks such as Poisson-based inpainting, smooth filling, ... + * See the constructor for additional details. + * \ingroup sibr_imgproc + */ + class SIBR_IMGPROC_EXPORT PoissonReconstruction + { + public: + + /** Initialize reconstructor for a given problem. Gradients and target are expected to be RGB32F, mask is L32F. + In the mask, pixels with value = 0 are to be inpainted, value > 0.5 are pixels to be used as source/constraint, value < -0.5 are pixels to be left unchanged and unused. + To compute the gradients from an image, prefer using PoissonReconstruction::computeGradients (weird results have been observed when using cv::Sobel and similar). + \param gradientsX the RGB32F horizontal color gradients to integrate along + \param gradientsY the RGB32F vertical color gradients to integrate along + \param mask the L32F mask denoting how each pixel should be treated. + \param img_target the RGB32 image to use as a source constraint (will be copied internally) + **/ + PoissonReconstruction( + const cv::Mat3f & gradientsX, + const cv::Mat3f & gradientsY, + const cv::Mat1f & mask, + const cv::Mat3f & img_target + ); + + /** Solve the reconstruction problem. */ + void solve(void); + + /** \return the result of the reconstruction */ + cv::Mat result() const { return _img_target; } + + /** helper to get the pixel coordinates of valid pixels for agiven pixel and image size. + *\param pos the central pixel position + *\param width number of columns/width + *\param height number of rows/height + *\return a vector containing neighboring pixels coordinates. + */ + static std::vector< sibr::Vector2i > getNeighbors(sibr::Vector2i pos, int width, int height); + + /** Compute the gradients of an RGB32F matrix using forward finite differences. + *\param src the matrix to compute the gradients of + *\param gradX will contain the horizontal gradients + *\param gradY will contain the vertical gradients + */ + static void computeGradients(const cv::Mat3f & src, cv::Mat3f & gradX, cv::Mat3f & gradY); + + private: + cv::Mat _img_target; ///< Main image. + cv::Mat _gradientsX; ///< Gradients. + cv::Mat _gradientsY; ///< Gradients. + cv::Mat _mask; ///< Mask guide. + + std::vector _pixels; ///< list of valid pixels. + std::vector _boundaryPixels; ///< List of boundary pixels. + std::vector _pixelsId; ///< Pixel IDs list. + std::vector > _neighborMap; ///< Each pixel valid neighbors. + + /** Parse the mask and the additional label condition into a list of pixels to modified and boundaries conditions. */ + void parseMask(void); + + /** Make sure that every modified pixel is connected to some boundary condition, all non connected pixels are discarded. */ + void checkConnectivity(void); + + /** Heuristic to fill isolated black pixels. */ + void postProcessing(void); + + /** Are we in the mask (ie mask==0). + \param pos the pixel to test for + \return true if mask(pix) == 0 + */ + bool isInMask(sibr::Vector2i & pos); + + /* Are we ignored (ie mask==-1). + \param pos the pixel to test for + \return true if mask(pix) == -1 + */ + bool isIgnored(sibr::Vector2i & pos); + + }; + +} diff --git a/SIBR_viewers/src/core/imgproc/sibr_imgproc.dox b/SIBR_viewers/src/core/imgproc/sibr_imgproc.dox new file mode 100644 index 0000000000..79c8876f08 --- /dev/null +++ b/SIBR_viewers/src/core/imgproc/sibr_imgproc.dox @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! + \defgroup sibr_imgproc sibr_imgproc + + \brief Image processing utilities. + +*/ diff --git a/SIBR_viewers/src/core/raycaster/CMakeLists.txt b/SIBR_viewers/src/core/raycaster/CMakeLists.txt new file mode 100644 index 0000000000..f2ddff8475 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/CMakeLists.txt @@ -0,0 +1,51 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(sibr_raycaster) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +## Specify target rules +add_library(${PROJECT_NAME} SHARED ${SOURCES} ${LIBS_SOURCES}) + +include_directories( + ${Boost_INCLUDE_DIRS} + ${nanoflann_INCLUDE_DIRS} +) +if(WIN32) +target_link_libraries(${PROJECT_NAME} + OpenMP::OpenMP_CXX + embree3 + sibr_graphics + sibr_assets + nanoflann +) +else() +target_link_libraries(${PROJECT_NAME} + OpenMP::OpenMP_CXX + embree +# CLUSTER +# /data/graphdeco/share/tbb/lib64/libtbb.so + sibr_graphics + sibr_assets + nanoflann +) +endif() + +add_definitions( -DSIBR_RAYCASTER_EXPORTS -DBOOST_ALL_DYN_LINK ) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER ${SIBR_FOLDER}) + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) +) diff --git a/SIBR_viewers/src/core/raycaster/CameraRaycaster.cpp b/SIBR_viewers/src/core/raycaster/CameraRaycaster.cpp new file mode 100644 index 0000000000..2c369a152c --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/CameraRaycaster.cpp @@ -0,0 +1,265 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include +#include "core/raycaster/CameraRaycaster.hpp" + + +namespace sibr +{ + + /*static*/ void CameraRaycaster::computePixelDerivatives( const sibr::InputCamera& cam, + sibr::Vector3f& dx, sibr::Vector3f& dy, sibr::Vector3f& upLeftOffset ) + { + sibr::Vector3f dir = cam.dir(); + sibr::Vector3f up = cam.up(); + float aspect = cam.aspect(); + + sibr::Vector2f screenWorldSize; + { + // screenWorldSize.y = 2*tan(fov/2) because screenDist = 1 (indeed + // we use normalized cam.dir() to build this derivative) + float heightWorldSize = 2.f*tanf(cam.fovy()/2.f); + screenWorldSize = sibr::Vector2f( heightWorldSize*aspect, heightWorldSize ); + } + + sibr::Vector3f right = cross(cam.dir(), up); + sibr::Vector3f rowSize = right*screenWorldSize[0]; + sibr::Vector3f colSize = -up*screenWorldSize[1]; + + dx = rowSize / (float)cam.w(); + dy = colSize / (float)cam.h(); + + upLeftOffset = dir - rowSize/2.f - colSize/2.f; + //upLeftOffset = upLeftOffset + dx/2.f + dy/2.f; // Used to start from the center of a pixel + upLeftOffset += cam.position(); + } + + void CameraRaycaster::computeClippingPlanes(const sibr::Mesh & mesh, std::vector& cams, std::vector & nearsFars) + { + + nearsFars.clear(); + sibr::Raycaster raycaster; + raycaster.init(); + sibr::Mesh::Ptr localMesh = mesh.invertedFacesMesh2(); + raycaster.addMesh(*localMesh); + SIBR_LOG << " [CameraRaycaster] computeAutoClippingPlanes() : " << std::flush; + + int deltaPix = 15; + + nearsFars.resize(cams.size()); + + #pragma omp parallel for + for (int cam_id = 0; cam_id < (int)cams.size(); ++cam_id) { + sibr::InputCamera & cam = *cams[cam_id]; + + sibr::Vector3f dx, dy, upLeftOffset; + sibr::CameraRaycaster::computePixelDerivatives(cam, dx, dy, upLeftOffset); + sibr::Vector3f camZaxis = cam.dir().normalized(); + float maxD = -1.0f, minD = -1.0f; + + for (int i = 0; i < (int)cam.h(); i += deltaPix) { + for (int j = 0; j < (int)cam.w(); j += deltaPix) { + sibr::Vector3f worldPos = ((float)j + 0.5f)*dx + ((float)i + 0.5f)*dy + upLeftOffset; + sibr::Vector3f dir = (worldPos - cam.position()).normalized(); + + sibr::RayHit hit = raycaster.intersect(sibr::Ray(cam.position(), dir)); + + if (!hit.hitSomething()) { continue; } + + float dist = hit.dist(); + + float clipDist = dist * std::abs(dir.dot(camZaxis)); + + maxD = (maxD<0 || clipDist > maxD ? clipDist : maxD); + minD = (minD<0 || clipDist < minD ? clipDist : minD); + } + } + + + float znear = 0.5f*minD; + float zfar = 2.0f*maxD; + + while (zfar / znear < 100.0f) { + zfar *= 1.1f; + znear *= 0.9f; + } + + cam.znear(znear); + cam.zfar(zfar); + + nearsFars[cam_id] = sibr::Vector2f(znear, zfar); + + std::cout << cam_id << " " << std::flush; + } + std::cout << " done." << std::endl; + + + } + + + sibr::Vector3f CameraRaycaster::computeRayDir( const sibr::InputCamera& cam, const sibr::Vector2f & pixel ) + { + sibr::Vector3f dx, dy, upLeftOffset; + CameraRaycaster::computePixelDerivatives(cam, dx, dy, upLeftOffset); + + sibr::Vector3f worldPos = pixel.x()*dx + pixel.y()*dy + upLeftOffset; //at dist 1 from cam center + return (worldPos - cam.position()).normalized(); + } + + bool CameraRaycaster::init( void ) + { + return _raycaster.init(); + } + + void CameraRaycaster::addMesh( const sibr::Mesh& mesh ) + { + _raycaster.addMesh(mesh); + } + + void CameraRaycaster::castForEachPixel( const sibr::InputCamera& cam, ICameraRaycasterProcessor* processors[], uint nbProcessors, const std::string& optLogMsg ) + { + //SIBR_PROFILESCOPE; + + // Check there is no NULL process + for (uint i = 0; i < nbProcessors; ++i) + if (processors[i] == nullptr) + SIBR_ERR << "camera-raycaster process NULL detected" << std::endl; + + sibr::Vector3f dx, dy, upLeftOffset; + CameraRaycaster::computePixelDerivatives(cam, dx, dy, upLeftOffset); + + //sibr::LoadingProgress progress(cam.w()*cam.h(), optLogMsg); + (void)optLogMsg; + + // For each pixel of the camera's image + for (uint py = 0; py < cam.h(); ++py) + { + for (uint px = 0; px < cam.w(); ++px) + { + //progress.walk(); + sibr::Vector3f worldPos = (float)px*dx + (float)py*dy + upLeftOffset; + // Cast a ray + sibr::Vector3f dir = worldPos - cam.position(); + RayHit hit = _raycaster.intersect(Ray( cam.position(), dir)); + + for (uint i = 0; i < nbProcessors; ++i) + processors[i]->onCast(px, py, hit); + } + } + + } + + RaycastingCamera::RaycastingCamera(const sibr::InputCamera & cam) : sibr::InputCamera(cam) { + CameraRaycaster::computePixelDerivatives(*this, dx, dy, upLeftOffsetMinusPos); + upLeftOffsetMinusPos -= position(); + + std::vector corners = { + {-1,-1}, {-1, 1}, {1, 1}, {1, -1} + }; + std::vector pts_near, pts_far; + for (const auto & c : corners) { + pts_near.push_back(unproject({ c[0], c[1], -1 })); + pts_far.push_back(unproject({ c[0], c[1], +1 })); + } + + frustum_planes = { + //HPlane::Through(pts_near[0], pts_near[3], pts_near[2]), // near_plane, + HPlane::Through(pts_far[0], pts_far[2], pts_far[3]), // far_plane + HPlane::Through(pts_near[2], pts_far[2], pts_far[1]), // top_plane, + HPlane::Through(pts_near[3], pts_near[0], pts_far[3]), // bottom_plane, + HPlane::Through(pts_far[0], pts_near[0], pts_far[1]), // left_plane + HPlane::Through(pts_near[3], pts_far[3], pts_far[2]) // right_plane; + }; + + //sibr::Vector3f pt = unproject({ 0, 0, 0 }); + //std::cout << " debug planes : "; + //for (uint i = 0; i < frustum_planes.size(); ++i) { + // std::cout << sibr::Vector4f(pt[0], pt[1], pt[2], 1).dot(frustum_planes[i].coeffs()) << " "; + //} + //std::cout << std::endl; + + } + + sibr::Vector3f RaycastingCamera::rayDirNotNormalized(const sibr::Vector2f & pixel) const + { + return pixel.x()*dx + pixel.y()*dy + upLeftOffsetMinusPos; + } + + sibr::Vector3f RaycastingCamera::rayDir(const sibr::Vector2f & pixel) const + { + return rayDirNotNormalized(pixel).normalized(); + } + + Ray RaycastingCamera::getRay(const sibr::Vector2f & pixel) const + { + return Ray(position(), rayDir(pixel)); + } + + sibr::Vector2f RaycastingCamera::rayProjection(const Line3 & line) const + { + sibr::Vector2f out(-1, -1); + uint id = 0; + if (isInsideFrustum(line.origin())) { + out[id] = 0; + ++id; + } + + std::vector intersection_params; + intersection_params.reserve(frustum_planes.size()); + + for (uint i = 0; i < frustum_planes.size(); ++i) { + float param = line.intersectionParameter(frustum_planes[i]); + if (param >= 0) { + intersection_params.push_back(param); + } + } + + std::sort(intersection_params.begin(), intersection_params.end()); + for (float t : intersection_params) { + if (isInsideFrustum(line.pointAt(t))) { + out[id] = t; + if (id == 1) { + return out; + } + ++id; + } + } + + return out; + } + + bool RaycastingCamera::isInsideFrustum(const sibr::Vector3f & pt, float eps) const + { + for (uint i = 0; i < frustum_planes.size(); ++i) { + if (sibr::Vector4f(pt[0], pt[1], pt[2], 1).dot(frustum_planes[i].coeffs()) < -eps) { + return false; + } + } + return true; + } + + sibr::Vector2f RaycastingCamera::projectImg_outside_frustum_correction(const Vector3f & pt3d) const + { + sibr::Vector3f pos2dGL = project(pt3d); + + if ((pt3d - position()).dot(dir()) < 0) { + pos2dGL.x() = -pos2dGL.x(); + } else { + pos2dGL.y() = -pos2dGL.y(); + } + return 0.5f*(pos2dGL.xy() + sibr::Vector2f(1, 1)).cwiseProduct(sibr::Vector2f(w(), h())); + + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/raycaster/CameraRaycaster.hpp b/SIBR_viewers/src/core/raycaster/CameraRaycaster.hpp new file mode 100644 index 0000000000..c2f4833fd0 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/CameraRaycaster.hpp @@ -0,0 +1,167 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include +# include "core/raycaster/Config.hpp" +# include "core/raycaster/Raycaster.hpp" + +namespace sibr +{ + + /** Used to process casted rays from image pixels. Implement + this interface and write your custom behavior. + (e.g. see CameraRaycasterProcessor.hpp for built-in processor) + \ingroup sibr_raycaster + */ + class SIBR_RAYCASTER_EXPORT ICameraRaycasterProcessor + { + public: + + /// Destructor. + virtual ~ICameraRaycasterProcessor( void ) {} + + /** Called for each casted ray (that hit or not). + \param px pixel source pixel x coordinate + \param py pixel source pixel y coordinate + \param hit the (potential) hit information + */ + virtual void onCast( uint px, uint py, const RayHit& hit ) = 0; + + }; + + /** Used for casting each pixel of an image into a raycaster scene. + \ingroup sibr_raycaster + */ + class SIBR_RAYCASTER_EXPORT CameraRaycaster + { + public: + + /// Constructor. + CameraRaycaster( void ) { } + + /// Initialize (will be done when adding a mesh). + bool init( void ); + + /** Add a mesh to the raycaster + \param mesh the mesh + */ + void addMesh( const sibr::Mesh& mesh ); + + /** For each image pixel, send a ray and compute data using the provided processors. + \param cam the source camera + \param processors a list of processors to call for each cast ray + \param nbProcessors the number of processors in the list + \param optLogMessage log message + */ + void castForEachPixel( const sibr::InputCamera& cam, ICameraRaycasterProcessor* processors[], uint nbProcessors, + const std::string& optLogMessage="Executing camera raycasting"); + + /** This function returns the step (in both x- and y-coordinates) between each pixel in the world + space. Thus, if go through each pixel of an can image but you need their 3d world position, + using this function you can get it using: + pixel3d = dx*pixel2d.x + dy*pixel2d.y + upLeftOffset + where dx is the step between each horizontal pixel, + dy is the step between each vertical pixel, + \param cam the source camera + \param dx will contain the horizontal step + \param dy will contain the vertical step + \param upLeftOffset will contain the 3D coordinates of the top-left pixel + */ + static void computePixelDerivatives( const sibr::InputCamera& cam, sibr::Vector3f& dx, sibr::Vector3f& dy, sibr::Vector3f& upLeftOffset ); + + /** Compute the ray direction from the camera position to a given pixel. + \param cam the source camera + \param pixel the pixel in [0,w-1]x[0,h-1] + \return the ray direction from the camera position to the center of the input pixel. + */ + static sibr::Vector3f computeRayDir( const sibr::InputCamera& cam, const sibr::Vector2f & pixel ); + + /** Estimate the clipping planes for a set of cameras so that the mesh is entirely visible in each camera. + \param mesh the mesh to visualize + \param cams the list of cameras + \param nearsFars will contain the near and far plane of each camera + */ + static void computeClippingPlanes(const sibr::Mesh & mesh, std::vector& cams, std::vector & nearsFars); + + /// \return the internal raycaster + Raycaster& raycaster( void ) { return _raycaster; } + /// \return the internal raycaster + const Raycaster& raycaster( void ) const { return _raycaster; } + + private: + + Raycaster _raycaster; ///< Internal raycaster. + }; + + /** A raycasting camera is an input camera augmented with additional casting and frustum helpers. + \ingroup sibr_raycaster + */ + class SIBR_RAYCASTER_EXPORT RaycastingCamera : public sibr::InputCamera { + SIBR_CLASS_PTR(RaycastingCamera); + public: + using HPlane = Eigen::Hyperplane; + using Line3 = Eigen::ParametrizedLine; + + /** Constructor from an InputCamera + \param cam the camera + */ + RaycastingCamera(const sibr::InputCamera & cam); + + /** Compute the unormalized ray direction from the camera position to a given pixel. + \param pixel the pixel in [0,w-1]x[0,h-1] + \return the ray direction from the camera position to the center of the input pixel. + */ + sibr::Vector3f rayDirNotNormalized(const sibr::Vector2f & pixel) const; + + /** Compute the normalized ray direction from the camera position to a given pixel. + \param pixel the pixel in [0,w-1]x[0,h-1] + \return the ray direction from the camera position to the center of the input pixel. + */ + sibr::Vector3f rayDir(const sibr::Vector2f & pixel) const; + + /** Generate the ray going from the camera position to a given pixel. + \param pixel the pixel in [0,w-1]x[0,h-1] + \return the ray from the camera position to the center of the input pixel. + */ + Ray getRay(const sibr::Vector2f & pixel) const; + + /** Compute the (up to) two intersections of a oriented line with the camera frustum. + \param line the parametrized oriented line to test + \return the intersection parameters of the two intersection points with the frustum. + */ + sibr::Vector2f rayProjection(const Line3 & line) const; + + /** Check if a point is in the camera frustum. + \param pt the 3D point to test + \param eps the tolerance threshold + \return true if the point is inside + */ + bool isInsideFrustum(const sibr::Vector3f & pt, float eps = 0.0001) const; + + /** Project a 3D point on the image plane, including points behind the camera (horizontal flip). + \param pt3d the 3d point + \return the pixel coordinates in [0,w]x(0,h] + */ + sibr::Vector2f projectImg_outside_frustum_correction(const Vector3f& pt3d) const; + + sibr::Vector3f dx, dy, upLeftOffsetMinusPos; ///< Camera raycasting parameters. + + std::vector frustum_planes; ///< Frustum planes: near, far, top, bottom, left, right + }; + + ///// DEFINITIONS ///// + +} // namespace sibr diff --git a/SIBR_viewers/src/core/raycaster/Config.hpp b/SIBR_viewers/src/core/raycaster/Config.hpp new file mode 100644 index 0000000000..23febbf42d --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/Config.hpp @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include + + +# ifdef SIBR_OS_WINDOWS +# ifdef SIBR_STATIC_RAYCASTER_DEFINE +# define SIBR_RAYCASTER_EXPORT +# define SIBR_NO_RAYCASTER_EXPORT +# else +# ifndef SIBR_RAYCASTER_EXPORT +# ifdef SIBR_RAYCASTER_EXPORTS + /* We are building this library */ +# define SIBR_RAYCASTER_EXPORT __declspec(dllexport) +# else + /* We are using this library */ +# define SIBR_RAYCASTER_EXPORT __declspec(dllimport) +# endif +# endif +# endif +# else +# define SIBR_RAYCASTER_EXPORT +# endif + diff --git a/SIBR_viewers/src/core/raycaster/Intersector2D.cpp b/SIBR_viewers/src/core/raycaster/Intersector2D.cpp new file mode 100644 index 0000000000..8fba217418 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/Intersector2D.cpp @@ -0,0 +1,219 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "Intersector2D.h" +#include +#include +#include + +namespace sibr { + + + float Intersector2D::sign(sibr::Vector2f p1, sibr::Vector2f p2, sibr::Vector2f p3) + { + return (p1.x() - p3.x()) * (p2.y() - p3.y()) - (p2.x() - p3.x()) * (p1.y() - p3.y()); + } + + bool Intersector2D::PointInTriangle(sibr::Vector2f pt, sibr::Vector2f v1, sibr::Vector2f v2, sibr::Vector2f v3) + { + bool b1, b2, b3; + + b1 = sign(pt, v1, v2) < 0.0f; + b2 = sign(pt, v2, v3) < 0.0f; + b3 = sign(pt, v3, v1) < 0.0f; + + return ((b1 == b2) && (b2 == b3)); + } + + //Segment are a->b and c->d + bool Intersector2D::LineLineIntersect(sibr::Vector2f a, sibr::Vector2f b, sibr::Vector2f c, sibr::Vector2f d) + { + float den = ((d.y() - c.y())*(b.x() - a.x()) - (d.x() - c.x())*(b.y() - a.y())); + float num1 = ((d.x() - c.x())*(a.y() - c.y()) - (d.y() - c.y())*(a.x() - c.x())); + float num2 = ((b.x() - a.x())*(a.y() - c.y()) - (b.y() - a.y())*(a.x() - c.x())); + float u1 = num1 / den; + float u2 = num2 / den; + + if (den == 0 && num1 == 0 && num2 == 0) + /* The two lines are coincidents */ + return false; + if (den == 0) + /* The two lines are parallel */ + return false; + if (u1 < 0 || u1 > 1 || u2 < 0 || u2 > 1) + /* Lines do not collide */ + return false; + /* Lines DO collide */ + return true; + } + + bool Intersector2D::TriTriIntersect(sibr::Vector2f t0_0, sibr::Vector2f t0_1, sibr::Vector2f t0_2, + sibr::Vector2f t1_0, sibr::Vector2f t1_1, sibr::Vector2f t1_2) { + + //Test if lines intersects + if (LineLineIntersect(t0_0, t0_1, t1_0, t1_1)) { return true; }; + if (LineLineIntersect(t0_0, t0_1, t1_0, t1_2)) { return true; }; + if (LineLineIntersect(t0_0, t0_1, t1_1, t1_2)) { return true; }; + if (LineLineIntersect(t0_0, t0_2, t1_0, t1_1)) { return true; }; + if (LineLineIntersect(t0_0, t0_2, t1_0, t1_2)) { return true; }; + if (LineLineIntersect(t0_0, t0_2, t1_1, t1_2)) { return true; }; + if (LineLineIntersect(t0_1, t0_2, t1_0, t1_1)) { return true; }; + if (LineLineIntersect(t0_1, t0_2, t1_0, t1_2)) { return true; }; + if (LineLineIntersect(t0_1, t0_2, t1_1, t1_2)) { return true; }; + + + //Test if one point in triangle : + if (PointInTriangle(t0_0, t1_0, t1_1, t1_2) || + PointInTriangle(t0_1, t1_0, t1_1, t1_2) || + PointInTriangle(t0_2, t1_0, t1_1, t1_2) || + PointInTriangle(t1_0, t0_0, t0_1, t0_2) || + PointInTriangle(t1_1, t0_0, t0_1, t0_2) || + PointInTriangle(t1_2, t0_0, t0_1, t0_2)) { + return true; + } + + return false; + + } + + bool Intersector2D::QuadQuadIntersect(sibr::Vector2f q0_0, sibr::Vector2f q0_1, sibr::Vector2f q0_2, sibr::Vector2f q0_3, + sibr::Vector2f q1_0, sibr::Vector2f q1_1, sibr::Vector2f q1_2, sibr::Vector2f q1_3) + { + if (TriTriIntersect( + q0_0, q0_1, q0_3, + q1_0, q1_1, q1_3)) { + return true; + } + if (TriTriIntersect( + q0_0, q0_1, q0_3, + q1_1, q1_2, q1_3)) { + return true; + } + if (TriTriIntersect( + q0_1, q0_2, q0_3, + q1_0, q1_1, q1_3)) { + return true; + } + if (TriTriIntersect( + q0_1, q0_2, q0_3, + q1_1, q1_2, q1_3)) { + return true; + } + + return false; + } + + std::vector> Intersector2D::frustrumQuadsIntersect(std::vector & quads, const std::vector & cams) + { + std::clock_t previous; + double duration; + previous = std::clock(); + + std::vector> result(cams.size(), std::vector(quads.size(), false)); + + sibr::GLShader shader; + sibr::GLParameter shader_proj; + + + std::string vertexShader = + "#version 420\n" + "uniform mat4 MVP;\n" + "layout(location = 0) in vec3 in_vertex;\n" + "void main(void) {\n" + " gl_Position = MVP * vec4(in_vertex, 1.0);\n" + "}\n"; + + + std::string fragmentShader = + "#version 420\n" + "out float out_color;\n" + "void main(void) {\n" + " out_color = 1.0;\n" + "}\n"; + + shader.init("quadShader", vertexShader, fragmentShader); + shader_proj.init(shader, "MVP"); + + std::shared_ptr rtLum; + + for (int c = 0; c < cams.size(); c++) { + const sibr::InputCamera & cam = *cams[c]; + + float ratio = (float)cam.h() / (float)cam.w(); + int w = std::min(400, (int)cam.w()); + int h = int(w*ratio); + + rtLum.reset(new sibr::RenderTargetLum(w, h)); + + for (int q = 0; q < quads.size(); q++) { + + quad & quad = quads[q]; + + sibr::ImageL8 imLum; + + std::shared_ptr quadMesh = std::shared_ptr(new sibr::Mesh(true)); + + std::vector vertexBuffer; + vertexBuffer.push_back(quad.q1); + vertexBuffer.push_back(quad.q2); + vertexBuffer.push_back(quad.q3); + vertexBuffer.push_back(quad.q4); + + int indices[12] = { 0, 1, 2, 0, 2, 3, 1, 2, 3, 0, 1, 3 }; //triangle added, can be optimized if quad ensured with good order + std::vector indicesBuffer(&indices[0], &indices[0] + 12); + + quadMesh->vertices(vertexBuffer); + quadMesh->triangles(indicesBuffer); + + glViewport(0, 0, w, h); + rtLum->bind(); + glClearColor(0.0, 0.0, 0.0, 0.0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + shader.begin(); + shader_proj.set(cam.viewproj()); + + quadMesh->render(false, false, sibr::Mesh::RenderMode::FillRenderMode); + + shader.end(); + + rtLum->readBack(imLum); + + bool nonBlack = false; + bool breakLoop = false; + for (int j = 0; j < (int)(rtLum->h()); j++) { + for (int i = 0; i < (int)(rtLum->w()); i++) { + if (imLum(i, j).x() != 0) { + nonBlack = true; + breakLoop = true; + break; + } + } + if (breakLoop) + break; + } + + //std::cout << "result " << q << " : " << nonBlack << std::endl; + if (nonBlack) + result[c][q] = true; + + } + } + + duration = (std::clock() - previous) / (double)CLOCKS_PER_SEC; + std::cout << "render : " << duration << std::endl; + previous = std::clock(); + + return result; + } + +} diff --git a/SIBR_viewers/src/core/raycaster/Intersector2D.h b/SIBR_viewers/src/core/raycaster/Intersector2D.h new file mode 100644 index 0000000000..d8968e2204 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/Intersector2D.h @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/raycaster/Config.hpp" +#include +#include +#include + + + +/** Struct representing a 3D quad, along with load/save utilities. + \todo move in proper namespace without breaking anything. + \ingroup sibr_raycaster +*/ +struct quad { + + sibr::Vector3f q1; + sibr::Vector3f q2; + sibr::Vector3f q3; + sibr::Vector3f q4; + + /** Save quad to file on disk. + \param path destination file. + */ + void save(std::string path) { + sibr::ByteStream bs; + bs << q1.x() << q1.y() << q1.z() + << q2.x() << q2.y() << q2.z() + << q3.x() << q3.y() << q3.z() + << q4.x() << q4.y() << q4.z(); + bs.saveToFile(path); + } + + /** Load quad from file on disk. + \param path source file. + */ + void load(std::string path) { + sibr::ByteStream bs; + bs.load(path); + bs >> q1.x() >> q1.y() >> q1.z() + >> q2.x() >> q2.y() >> q2.z() + >> q3.x() >> q3.y() >> q3.z() + >> q4.x() >> q4.y() >> q4.z(); + } + +}; + +namespace sibr { + + + /** This class provides utilities to compute point/line/triangle/quad intersections. + \ingroup sibr_raycaster + */ + class SIBR_RAYCASTER_EXPORT Intersector2D + { + + public: + /// Constructor. + Intersector2D(void) = delete; + + /// Destructor + ~Intersector2D(void) = delete; + + /** + Having defined a straight line in the 2D plane, this method can be used to know in which half-space (defined by the line) a point lies. + \param p1 the 2D point to locate wrt to the line. + \param p2 a 2D point on the line. + \param p3 another 2D point on the line. + \return a signed value indicating on which side of the line the point is. + */ + static float sign(sibr::Vector2f p1, sibr::Vector2f p2, sibr::Vector2f p3); + + /** + Tests if a point falls inside a triangle, in 2D space. + \param pt the point to test. + \param v1 first triangle vertex. + \param v2 second triangle vertex. + \param v3 third triangle vertex. + \return a boolean denoting if the point belong to the triangle or not. + */ + static bool PointInTriangle(sibr::Vector2f pt, sibr::Vector2f v1, sibr::Vector2f v2, sibr::Vector2f v3); + + /** + Tests if a line intersects another line, in 2D space. + \param a first point on the first line. + \param b second point on the first line. + \param c first point on the second line. + \param d second point on the second line. + \return a boolean denoting if the lines intersects. + */ + static bool LineLineIntersect(sibr::Vector2f a, sibr::Vector2f b, sibr::Vector2f c, sibr::Vector2f d); + + /** + Tests if two triangles overlap, in 2D space. + \param t0_0 first vertex of the first triangle. + \param t0_1 second vertex of the first triangle. + \param t0_2 third vertex of the first triangle. + \param t1_0 first vertex of the second triangle. + \param t1_1 second vertex of the second triangle. + \param t1_2 third vertex of the second triangle. + \return a boolean denoting if the triangles overlap. + */ + static bool TriTriIntersect(sibr::Vector2f t0_0, sibr::Vector2f t0_1, sibr::Vector2f t0_2, + sibr::Vector2f t1_0, sibr::Vector2f t1_1, sibr::Vector2f t1_2); + + /** + Tests if two quads overlap, in 2D space. + \param q0_0 first vertex of the first quad. + \param q0_1 second vertex of the first quad. + \param q0_2 third vertex of the first quad. + \param q0_3 fourth vertex of the first quad. + \param q1_0 first vertex of the second quad. + \param q1_1 second vertex of the second quad. + \param q1_2 third vertex of the second quad. + \param q1_3 fourth vertex of the second quad. + \return a boolean denoting if the quads overlap. + */ + static bool QuadQuadIntersect(sibr::Vector2f q0_0, sibr::Vector2f q0_1, sibr::Vector2f q0_2, sibr::Vector2f q0_3, + sibr::Vector2f q1_0, sibr::Vector2f q1_1, sibr::Vector2f q1_2, sibr::Vector2f q1_3); + + /** + Perform multiple quads/camera frusta intersections at once. + \warning Requires an existing and current OpenGL context. + \param quads an array of quads to test against each camera frustum. + \param cams an array of cameras against which frusta the intersections tests should be performed. + \return a double-array of booleans denoting, for each camera, for each quad, if the quad intersects the frustum volume. + */ + static std::vector> frustrumQuadsIntersect(std::vector & quads, const std::vector & cams); + + }; + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/raycaster/KdTree.hpp b/SIBR_viewers/src/core/raycaster/KdTree.hpp new file mode 100644 index 0000000000..91574660c0 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/KdTree.hpp @@ -0,0 +1,147 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "Config.hpp" + +#include "core/system/Vector.hpp" +#include "nanoflann/nanoflann.hpp" + +namespace sibr { + + /** + * \class KdTree + * \brief Represent a 3D hierachical query structure baked by a nanoflann KdTree. + * \note With the default L2 distance, all distances and radii are expected to be + * the squared values (this is a nanoflann constraint). For other metrics, use the distance directly. + * \ingroup sibr_raycaster + */ + template + class KdTree + { + SIBR_CLASS_PTR(KdTree); + + public: + + typedef Eigen::Matrix Vector3X; + typedef KdTree self_t; + typedef typename Distance::template traits::distance_t metric_t; + typedef nanoflann::KDTreeSingleIndexAdaptor< metric_t, self_t, 3, size_t> index_t; + typedef std::vector> Results; + + /** + * Constructor. + * The KdTree will do a copy of the positions vector. + * \param positions a list of 3D points + * \param leafMaxSize maximum number of points per leaf + */ + KdTree(const std::vector & positions, size_t leafMaxSize = 10); + + /** Destructor. */ + ~KdTree(); + + /** Get the closest point stored in the KdTree for the specified distance + * \param pos the reference point + * \param distanceSq will contain the squared distance from pos to the closest point in the tree. + * \return the index of the closest point in the tree. + */ + size_t getClosest(const Vector3X & pos, num_t & distanceSq) const; + + /** Get the closest point stored in the KdTree for the specified distance + * \param pos the reference point + * \param count the number of neighbours to query + * \param idDistSqs will contain the indices of the closest points and their squared distances to the reference point + */ + void getClosest(const Vector3X & pos, size_t count, Results & idDistSqs) const; + + /** Get all points in a sphere of a given radius around a reference point. + *\param pos the reference point + *\param maxDistanceSq the squared sphere radius + *\param sorted should the points be sorted in ascending distance order + *\param idDistSqs will contain the indices of the points in the sphere and their squared distances to the reference point + */ + void getNeighbors(const Vector3X & pos, double maxDistanceSq, bool sorted, Results & idDistSqs) const; + + /// Interface expected by nanoflann for an adapter. + const self_t & derived() const { + return *this; + } + + /// Interface expected by nanoflann for an adapter. + self_t & derived() { + return *this; + } + + /// Interface: Must return the number of data points + inline size_t kdtree_get_point_count() const { + return _points.size(); + } + + /// Interface: Returns the dim'th component of the idx'th point in the class: + inline num_t kdtree_get_pt(const size_t idx, const size_t dim) const { + return _points[idx][dim]; + } + + /// Interface: Optional bounding-box computation: \return false to default to a standard bbox computation loop. + template + bool kdtree_get_bbox(BBOX & /*bb*/) const { + return false; + } + + private: + + const std::vector _points; + index_t * _index; + }; + + template + KdTree::KdTree(const std::vector& positions, size_t leafMaxSize) : _points(positions) { + if(positions.empty()) { + SIBR_ERR << "[KdTree] Trying to build a Kd-Tree from an empty list of points." << std::endl; + } + _index = new index_t(3, *this, nanoflann::KDTreeSingleIndexAdaptorParams(leafMaxSize)); + _index->buildIndex(); + } + + template + KdTree::~KdTree() + { + delete _index; + } + + template + inline size_t KdTree::getClosest(const Vector3X& pos, num_t & distanceSq) const { + size_t index = 0; + _index->knnSearch(&pos[0], 1, &index, &distanceSq); + return index; + } + + template + inline void KdTree::getClosest(const Vector3X & pos, size_t count, Results & idDistSqs) const { + std::vector outIds(count); + std::vector outDists(count); + const size_t foundCount = _index->knnSearch(&pos[0], count, &outIds[0], &outDists[0]); + idDistSqs.resize(foundCount); + for(size_t i = 0; i < foundCount; ++i) { + idDistSqs[i] = std::make_pair(outIds[i], outDists[i]); + } + } + + template + inline void KdTree::getNeighbors(const Vector3X & pos, double maxDistanceSq, bool sorted, Results & idDistSqs) const { + _index->radiusSearch(&pos[0], float(maxDistanceSq), idDistSqs, nanoflann::SearchParams(32, 0.0f, sorted)); + } + + +} /*namespace sibr*/ + diff --git a/SIBR_viewers/src/core/raycaster/PlaneEstimator.cpp b/SIBR_viewers/src/core/raycaster/PlaneEstimator.cpp new file mode 100644 index 0000000000..b4a540d0f1 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/PlaneEstimator.cpp @@ -0,0 +1,362 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "PlaneEstimator.hpp" +#include + +typedef Eigen::Array ArrayXb; + +PlaneEstimator::PlaneEstimator() {} + +PlaneEstimator::PlaneEstimator(const std::vector & vertices, bool excludeBB) +{ + + Eigen::AlignedBox boxScaled; + if (excludeBB) { + Eigen::AlignedBox box; + for (const auto & vertex : vertices) { + box.extend(vertex); + } + for (const auto & vertex : vertices) { + boxScaled.extend(box.center()+0.99f*(vertex- box.center())); + } + + } + int bboxReject = 0; + if (vertices.size() > 200000) { + std::cout << "Found more than 200000 points reducing point cloud size ..." << std::endl; + + std::random_device rd; + std::mt19937 mt(rd()); + std::uniform_real_distribution dist(0.0, 1.0); + + for (const auto & v : vertices) { + double random = dist(mt); + if (random < 200000.0 / double(vertices.size())) { + if (!excludeBB || (boxScaled.exteriorDistance(v)==0) ) + _Points.push_back(v); + else if (excludeBB && boxScaled.exteriorDistance(v) > 0) { + bboxReject++; + } + } + } + + if (excludeBB) + std::cout << bboxReject << " points where rejected becaused considered on the bounding box" << std::endl; + } + else { + _Points = vertices; + } + std::cout << "Point Cloud size: " << _Points.size() << std::endl; + _numPoints3D = (int)_Points.size(); + _remainPoints3D.resize(_Points.size(), 3); + _remainNormals3D.resize(_Points.size(), 3); + + for (int i = 0; i < _Points.size(); i++) { + _remainPoints3D.row(i) = _Points[i]; + _remainNormals3D.row(i) = sibr::Vector3f(0, 0, 0); + + } + + _planeComputed = false; +} + +void PlaneEstimator::computePlanes(const int numPlane, const float delta, const int numTry) { + + + _planeComputed = true; // we know that the planes were computed + + std::cout << "Original number of points " << _remainPoints3D.rows() << std::endl; + for (int i = 0; i < numPlane; i++) { + + if (_remainPoints3D.rows() < _numPoints3D * 5 / 100) + { + std::cout << "Not enough points remaining, stop searching. " << i << " planes found." << std::endl; + break; + } + + + sibr::Vector3f color(((float)rand() / (RAND_MAX)), ((float)rand() / (RAND_MAX)), ((float)rand() / (RAND_MAX))); + + Eigen::MatrixXi mask; + //Eigen::MatrixXf maskNormals; + std::pair covMean; + int vote = -1; + sibr::Vector4f plane = estimatePlane(delta, numTry, mask, vote, covMean); + + if (vote < _numPoints3D * 2 / 100 && i >= 12) { + std::cout << "Not enough points in candidate plane, stop searching. " << i << " planes found." << std::endl; + break; + } + // + + Eigen::MatrixXf remainPoints3DTemp(_remainPoints3D.rows() - vote, 3); + Eigen::MatrixXf remainNormals3DTemp(_remainNormals3D.rows() - vote, 3); + //std::vector remainImPosTemp; + + int notSel = 0; + std::vector pointsPlane; + for (int rIt = 0; rIt < _remainPoints3D.rows(); rIt++) { + if (mask.row(rIt)(0) == 0) { // not selected + remainPoints3DTemp.row(notSel) = _remainPoints3D.row(rIt); + remainNormals3DTemp.row(notSel) = _remainNormals3D.row(rIt); + //remainImPosTemp.push_back(_remainImPos[rIt]); + notSel++; + } + + else { // In the plane + pointsPlane.push_back(_remainPoints3D.row(rIt)); + } + } + + std::cout << "vote :" << vote << " notSel " << notSel << " supposed total " << _remainPoints3D.rows() << std::endl; + _remainPoints3D = remainPoints3DTemp; + _remainNormals3D = remainNormals3DTemp; + //_remainImPos=remainImPosTemp; + std::cout << "Remaining number of points " << _remainPoints3D.rows() << std::endl; + + sibr::Vector3f center = plane.w()*plane.xyz(); + + sibr::Vector4f finalPlane = plane; + + _planes.push_back(finalPlane); + _points.push_back(pointsPlane); + // centers and basis + _centers.push_back(center); + + //plane statistical informations + _covMeans.push_back(covMean); + _votes.push_back(vote); + } + +} + +sibr::Vector4f PlaneEstimator::estimatePlane(const float delta, const int numTry, Eigen::MatrixXi & bestMask, int & bestVote, std::pair & bestCovMean) { + + sibr::Vector4f bestPlane; + + float bestWVote = 0; +#pragma omp parallel for + for (int i = 0; i < numTry; i++) { + + Eigen::MatrixXi mask; + sibr::Vector4f plane = plane3Pts(); + if (plane.xyz().norm() > 0) { + std::pair votePair = votePlane(plane, delta, mask); + +#pragma omp critical + { + //std::cout << i << " "; + if (votePair.second > bestWVote) { + bestWVote = votePair.second; + bestVote = votePair.first; + bestPlane = plane; + bestMask = std::move(mask); // move to avoid copy + } + } + } + + } + + std::cout << "Best vote " << bestVote << " Best plane " << bestPlane << std::endl; + /* + std::cout << "Plane refinement ..." << std::endl; + + ////////////////// Plane fitting + + Eigen::MatrixXf data(3, bestVote); + int sel = 0; + + for (int rIt = 0; rIt < _remainPoints3D.rows(); rIt++) { + if (bestMask.row(rIt)(0) == 1) { + data.col(sel) = _remainPoints3D.row(rIt); + sel++; + } + } + + + std::cout << "Sel " << sel << std::endl; + + sibr::Vector3f center = data.rowwise().mean(); + Eigen::MatrixXf dataCentered = data.colwise() - center; + + bestCovMean.first = (dataCentered*dataCentered.adjoint()) / float(dataCentered.cols() - 1); + bestCovMean.second = center; + + std::cout << "Cov Matrix : " << bestCovMean.first << " Mean : " << bestCovMean.second << std::endl; + std::cout << "Cov Determinant : " << bestCovMean.first.determinant() << std::endl; + + Eigen::JacobiSVD svd(dataCentered, Eigen::ComputeFullU | Eigen::ComputeThinV); + + std::cout << "old normal" << " " << bestPlane.xyz(); + //the normal to the fitting plane is the eigenvector associated to the smallest eigenvalue (i.e. the direction in which the variance of all points is the smallest) + sibr::Vector3f normal = svd.matrixU().col(2); + normal.normalize(); + + float d = center.dot(normal); + + bestPlane = sibr::Vector4f(normal.x(), normal.y(), normal.z(), d); + + bestVote = votePlane(bestPlane, 10.0*delta, bestMask, 0.8f).first;*/ + + std::cout << " new normal" << " " << bestPlane.xyz() << std::endl; + // normal coherency + //Eigen::ArrayXf dotWithOriNormal=(_remainNormals3D * bestPlane.xyz()).array().cwiseAbs(); + //bestMaskNormals = (bestMask.array().cast()*dotWithOriNormal); + + std::cout << "Vote refined " << bestVote << " Plane refined " << bestPlane << /*" Normals coherency " << bestMaskNormals.sum()/bestVote <<*/ std::endl; + + return bestPlane; + +} + + +sibr::Vector4f PlaneEstimator::plane3Pts() { + + std::random_device rd; //Will be used to obtain a seed for the random number engine + std::mt19937 gen(rd()); //Standard mersenne_twister_engine seeded with rd() + std::uniform_int_distribution<> dis(0, int(_remainPoints3D.rows() - 1)); + + sibr::Vector3f pointA = _remainPoints3D.row(dis(gen)); + sibr::Vector3f pointB = _remainPoints3D.row(dis(gen)); + sibr::Vector3f pointC = _remainPoints3D.row(dis(gen)); + + sibr::Vector3f normal = (pointB - pointA).cross(pointC - pointA); + normal.normalize(); + + float d = normal.dot(pointA); + + return sibr::Vector4f(normal.x(), normal.y(), normal.z(), d); + +} + +std::pair PlaneEstimator::votePlane(const sibr::Vector4f plane, const float delta, Eigen::MatrixXi & mask, float normalDot) { + + sibr::Vector3f normal = plane.xyz(); + float d = plane.w(); + + //std::cout << "size " << _points3D.size() << " " << normal.size() << " d " << d << std::endl; + + Eigen::ArrayXf distances = (_remainPoints3D * normal).array(); + + Eigen::ArrayXf dotWithOriNormal = (_remainNormals3D * normal).array(); + + /*for(int i=0; i< 10; i++){ + std::cout << distances.row(i) << " "; + } + std::cout << std::endl;*/ + + distances = (distances - d * Eigen::ArrayXf::Ones(distances.rows())).cwiseAbs(); + dotWithOriNormal = dotWithOriNormal.cwiseAbs(); + + /*for(int i=0; i< 10; i++){ + std::cout << distances.row(i) << " "; + } + std::cout << std::endl;*/ + mask = (distances < delta && (dotWithOriNormal > normalDot || dotWithOriNormal == 0)).cast(); + + Eigen::ArrayXf voteW = (distances+ 0.1f*delta* Eigen::ArrayXf::Ones(distances.rows())); + voteW = mask.array().cast().cwiseQuotient(voteW); + //std::cout << "SUM " << mask.sum() << std::endl; + + return std::make_pair(mask.sum(), voteW.sum()); + +} + +sibr::Vector4f PlaneEstimator::estimateGroundPlane(sibr::Vector3f roughUp) +{ + if (_planeComputed) { + + //find the floor plane + int bestId = -1; + int bestVote = 0; + + for (int p = 0; p < _planes.size(); p++) { + if (abs(_planes[p].xyz().dot(roughUp)) > 0.87) { + if (_votes[p] > bestVote) { + bestId = p; + bestVote = _votes[p]; + } + } + } + return _planes[bestId]; + } + else { + std::cout << "Error : Plane not computed, you should call computePlanes first" << std::endl; + SIBR_ERR; + return { 0.0f, 0.0f, 0.0f, 0.0f }; + } +} + + +sibr::Vector3f PlaneEstimator::estimateMedianVec(const std::vector & ups) +{ + + std::vector medUpX; + std::vector medUpY; + std::vector medUpZ; + + for (const auto & up : ups) { + + medUpX.push_back(up.x()); + medUpY.push_back(up.y()); + medUpZ.push_back(up.z()); + + } + std::sort(medUpX.begin(), medUpX.end()); + std::sort(medUpY.begin(), medUpY.end()); + std::sort(medUpZ.begin(), medUpZ.end()); + + const size_t medPos = medUpX.size() / 2; + + sibr::Vector3f upMed(medUpX[medPos], medUpY[medPos], medUpZ[medPos]); + upMed.normalize(); + + return upMed; +} + +sibr::Mesh PlaneEstimator::getMeshPlane(sibr::Vector4f plane, sibr::Vector3f center, float radius) +{ + sibr::Mesh planeMesh; + + sibr::Vector3f projCenter = center - (center - plane.w()*plane.xyz()).dot(plane.xyz())*plane.xyz(); + + sibr::Mesh::Vertices vert; + sibr::Mesh::Triangles tri; + sibr::Mesh::Normals nml; + sibr::Mesh::UVs tex; + + sibr::Vector3f u = (projCenter - plane.w()*plane.xyz()).normalized(); + sibr::Vector3f v = plane.xyz().cross(u).normalized(); + + int numP = 50; + for (int i = 0; i < numP; i++) { + vert.push_back(projCenter + radius * cos(2 * M_PI*i / numP)*u + radius * sin(2 * M_PI*i / numP)*v); + nml.push_back(plane.xyz().normalized()); + tri.push_back(sibr::Vector3u(numP, i, (i + 1) % numP)); + } + + vert.push_back(projCenter); + + planeMesh.vertices(vert); + planeMesh.normals(nml); + planeMesh.triangles(tri); + return planeMesh; +} + +void PlaneEstimator::displayPCAndPlane(sibr::Window::Ptr window) +{ +} + +PlaneEstimator::~PlaneEstimator(void) +{ +} diff --git a/SIBR_viewers/src/core/raycaster/PlaneEstimator.hpp b/SIBR_viewers/src/core/raycaster/PlaneEstimator.hpp new file mode 100644 index 0000000000..1b59b348a2 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/PlaneEstimator.hpp @@ -0,0 +1,118 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include + +#include +#include +#include +#include +#include +#include + + +/** + Fit a plane to a point cloud using an improved RANSAC approach. + \ingroup sibr_raycaster +*/ +class SIBR_RAYCASTER_EXPORT PlaneEstimator { + +public: + + /// Default constructor. + PlaneEstimator(); + + /** Constructor. + \param vertices the point cloud + \param excludeBB if true, reject points that are close to the vertices bounding box + */ + PlaneEstimator(const std::vector & vertices, bool excludeBB=false); + + /** Compute one or more planes fitting the data using RANSAC. Points that are well fitted by a plan will bre moved from the set. + \param numPlane number of planes to fit + \param delta fit validity threshold + \param numTry number of attempts to perform for each plane + */ + void computePlanes(const int numPlane,const float delta,const int numTry); + + /** Estimate the best plane in the remaining points set using RANSAC. + \param delta fit validity threshold + \param numTry number of attempts to perform for each plane + \param bestMask for each point, will be set to 1 if the plane explains the point well + \param vote will contain the number of points that fit + \param bestCovMean unused + \return the plane parameters + */ + sibr::Vector4f estimatePlane(const float delta,const int numTry, Eigen::MatrixXi & bestMask, int & vote, std::pair & bestCovMean); + + /** Choose randomly 3 points among the vertices and compute the corresponding plane. + \return the plane parameters + */ + sibr::Vector4f plane3Pts(); + + /** Given a plane and a threshold, this function return the num of point that fit the plane in the remaining points and also the associated mask. + \param plane the plane parameters + \param delta validity threshold + \param mask for each point, will be set to 1 if the plane explains the point well + \param normalDot normal validity threshold + \return number of points that fit and overall weighted score (based on normal similarity) + */ + std::pair votePlane(const sibr::Vector4f plane, const float delta, Eigen::MatrixXi & mask, float normalDot=0.98); + + /** For visualization, display the point cloud and fitted plane in a window. + \param window the windo to use for display + \deprecated Empty, won't do anything. + */ + void displayPCAndPlane(sibr::Window::Ptr window); + + /** Estimate a fitting plane that is as orthogonal to the given up vector as possible. + \param roughUp an estimation of the scene up vector + \return the plane parameters. + */ + sibr::Vector4f estimateGroundPlane(sibr::Vector3f roughUp); + + /** Estimate the scene zenith from a set of camera up vectors (assuming photogrametric capture). + \param ups a set of up vector + \return the estimated median zenith vector + */ + static sibr::Vector3f estimateMedianVec(const std::vector & ups); + + /** Generate a mesh representing a plane. + \param plane the parameters of the plane to represent + \param center center of the plane mesh + \param radius extent of the plane mesh + \return the generated plane mesh + */ + static sibr::Mesh getMeshPlane(sibr::Vector4f plane , sibr::Vector3f center, float radius); + + std::vector _Points; ///< All initial points. + int _numPoints3D; ///< Number of initial points. + + std::vector _planes; ///< Planes are represented as Vector4f(n.x,n.y,n.z,d) + std::vector> _points; ///< For each plane, list of fitting points. + std::vector _centers; ///< Plane centers. + std::vector _votes; ///< Number of votes per plane. + std::vector> _covMeans; ///< Unused. + + /// Destructor. + ~PlaneEstimator(void); + +protected: + + Eigen::MatrixXf _remainPoints3D; ///< Points to consider. + Eigen::MatrixXf _remainNormals3D; ///< Associated normals to consider. + std::vector _Triangles; ///< Triangle list. + bool _planeComputed; ///< Has the plane been computed. +}; + diff --git a/SIBR_viewers/src/core/raycaster/Ray.cpp b/SIBR_viewers/src/core/raycaster/Ray.cpp new file mode 100644 index 0000000000..b22f2a1173 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/Ray.cpp @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "Ray.hpp" + +namespace sibr +{ + /*static*/ SIBR_RAYCASTER_EXPORT const float RayHit::InfinityDist = std::numeric_limits::infinity(); + + Ray::Ray( const sibr::Vector3f& orig, const sibr::Vector3f& dir ) + : _orig(orig), _dir(dir) + { + if (_dir[0] != 0.f || _dir[1] != 0.f || _dir[2] != 0.f) + _dir.normalize(); + } + + RayHit::RayHit( const Ray& r, float dist, const BCCoord& coord, + const sibr::Vector3f& normal, const Primitive& prim ) + : _ray(r), _dist(dist), _coord(coord), _normal(normal), _prim(prim) + { + _dist = std::max(dist, 0.f); + + // normalize '_normal' + float len = length(_normal); + if (len > 1e-10) + _normal = _normal / len; + + } + + sibr::Vector3f RayHit::interpolateUV( void ) const + { + float ucoord = barycentricCoord().u; + float vcoord = barycentricCoord().v; + return sibr::Vector3f(std::max((1.f-ucoord-vcoord), 0.f), ucoord, vcoord); + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/raycaster/Ray.hpp b/SIBR_viewers/src/core/raycaster/Ray.hpp new file mode 100644 index 0000000000..d950ea9399 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/Ray.hpp @@ -0,0 +1,184 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include +# include "core/raycaster/Config.hpp" + +namespace sibr +{ + + /// + /// Represents a simple ray + /// \ingroup sibr_raycaster + /// + class SIBR_RAYCASTER_EXPORT Ray + { + public: + /** Construct a ray from parameters. + \param orig ray origin + \param dir ray direction + \note The direction will be normalized. + */ + Ray( const sibr::Vector3f& orig = sibr::Vector3f(0.f, 0.f, 0.f), + const sibr::Vector3f& dir = sibr::Vector3f(0.f, 0.f, -1.f) ); + + /** Set the position from where the ray starts. + \param o the new origin + */ + inline void orig( const sibr::Vector3f& o ); + + /// \return the ray origin + inline const sibr::Vector3f& orig( void ) const; + + /** Set the direction of the ray. Additionally, + you can precise if you want this direction to be automatically + normalized or not. + \param d the new direction + \param normalizeIt should normalization be applied + */ + inline void dir( const sibr::Vector3f& d, bool normalizeIt=true ); + + /// \return the direction of the ray. + inline const sibr::Vector3f& dir( void ) const; + + /** Return the 3D point such that p = orig + t * dir; + \param t the distance along the ray + \return the 3D point + */ + Vector3f at(float t) const; + + private: + sibr::Vector3f _orig; ///< Position from where the ray starts + sibr::Vector3f _dir; ///< Direction where the ray goes + }; + + /// + /// Contains information about a ray hit + /// \ingroup sibr_raycaster + /// + class SIBR_RAYCASTER_EXPORT RayHit + { + public: + static const float InfinityDist; + + /// Infos about the object that was hit + struct Primitive + { + uint triID; ///< triangle id of the mesh that was hit + uint geomID; ///< mesh id loaded in the raycaster + uint instID; ///< id of the instance loaded in the raycaster + }; + + /// Barycentric coordinates + struct BCCoord + { + float u; ///< u-coordinates (ranging from 0.0 to 1.0) + float v; ///< v-coordinates (ranging from 0.0 to 1.0) + }; + + /** Construct a hit record. + \param r the ray + \param dist intersection distance + \param coord barycentric coordinates + \param normal surface normal + \param prim intersected primitive + */ + RayHit( const Ray& r, float dist, const BCCoord& coord, + const sibr::Vector3f& normal, const Primitive& prim ); + + /// Non-hit constructor. + RayHit() {}; + + /// \return the ray that was casted + inline const Ray& ray( void ) const; + + /// \return the distance from the ray origin to the hit + inline float dist( void ) const; + + /// \return the barycentric coordinates of the hit point on the triangle that was hit + inline const BCCoord& barycentricCoord( void ) const; + + /** Return the proper barycentric factors for interpolating information stored + at each vertex of a triangle. + e.g: get fragment color using + color = factor[0]*colorVert0 + factor[1]*colorVert1 + factor[2]*colorVert2 + It consider the following triangle: https://embree.github.io/images/triangle_uv.png + \return the barycentric coordinates + */ + sibr::Vector3f interpolateUV( void ) const; + + /// \return the normal of the triangle that was hit. + inline const sibr::Vector3f& normal( void ) const; + + /// \return information about the primitive that was hit. + inline const Primitive& primitive( void ) const; + + /// \return true if an object was hit. + inline bool hitSomething( void ) const; + + private: + Ray _ray; ///< casted ray + float _dist; ///< distance from the ray's origin to the hit + BCCoord _coord; ///< barycentric coordinate on the triangle that was hit + sibr::Vector3f _normal;///< normal of the triangle that was hit + Primitive _prim; ///< infos about the primitive that was hit + }; + + ///// DEFINITION ///// + + void Ray::orig( const sibr::Vector3f& o ) { + _orig = o; + } + const sibr::Vector3f& Ray::orig( void ) const { + return _orig; + } + + void Ray::dir( const sibr::Vector3f& d, bool normalizeIt) { + _dir = (normalizeIt)? sibr::Vector3f(d.normalized()) : d; + } + const sibr::Vector3f& Ray::dir( void ) const { + return _dir; + } + + inline Vector3f Ray::at(float t) const + { + return orig() + t * dir(); + } + + + + const Ray& RayHit::ray( void ) const { + return _ray; + } + float RayHit::dist( void ) const { + return _dist; + } + const RayHit::BCCoord& RayHit::barycentricCoord( void ) const { + return _coord; + } + const sibr::Vector3f& RayHit::normal( void ) const { + return _normal; + } + const RayHit::Primitive& RayHit::primitive( void ) const { + return _prim; + } + + bool RayHit::hitSomething( void ) const { + return (_dist != RayHit::InfinityDist); + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/raycaster/Raycaster.cpp b/SIBR_viewers/src/core/raycaster/Raycaster.cpp new file mode 100644 index 0000000000..1733636c14 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/Raycaster.cpp @@ -0,0 +1,404 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "Raycaster.hpp" + +namespace sibr +{ + /*static*/ SIBR_RAYCASTER_EXPORT const Raycaster::geomId Raycaster::InvalidGeomId = RTC_INVALID_GEOMETRY_ID; + /*static*/ bool Raycaster::g_initRegisterFlag = false; + /*static*/ Raycaster::RTCDevicePtr Raycaster::g_device = nullptr; + + /*static*/ void Raycaster::rtcErrorCallback(void* userPtr, RTCError code, const char* msg) + { + std::string err; + + switch (code) + { + case RTC_ERROR_UNKNOWN: err = std::string("RTC_ERROR_UNKNOWN"); break; + case RTC_ERROR_INVALID_ARGUMENT: err = std::string("RTC_ERROR_INVALID_ARGUMENT"); break; + case RTC_ERROR_INVALID_OPERATION: err = std::string("RTC_ERROR_INVALID_OPERATION"); break; + case RTC_ERROR_OUT_OF_MEMORY: err = std::string("RTC_ERROR_OUT_OF_MEMORY"); break; + case RTC_ERROR_UNSUPPORTED_CPU: err = std::string("RTC_ERROR_UNSUPPORTED_CPU"); break; + case RTC_ERROR_CANCELLED: err = std::string("RTC_ERROR_CANCELLED"); break; + default: err = std::string("invalid error code"); break; + } + + SIBR_ERR << "Embree reported the following issue - " + << "[" << err << "]'" << msg << "'" << std::endl; + } + + Raycaster::~Raycaster(void) + { + _scene = nullptr; + _devicePtr = nullptr; + if (g_device && g_device.use_count() == 1) + g_device = nullptr; // if nobody use it, free it + } + + bool Raycaster::init(RTCSceneFlags sceneType) + { + if (!g_device) + { + // The two following macros set flagbits on the control register + // used by SSE (see http://softpixel.com/~cwright/programming/simd/sse.php) + _MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON); // Enable 'Flush Zero' bit + _MM_SET_DENORMALS_ZERO_MODE(_MM_DENORMALS_ZERO_ON); // Enable 'Denormals Zero'bit + + SIBR_LOG << "Initializing Raycaster" << std::endl; + + g_device = std::make_shared(rtcNewDevice(NULL)); + + if (g_device == nullptr) { + SIBR_LOG << "Cannot create an embree device : " << rtcGetDeviceError(*g_device.get()) << std::endl; + } + + rtcSetDeviceErrorFunction(*g_device.get(), &Raycaster::rtcErrorCallback, nullptr); // Set callback error function + _devicePtr = g_device; //Moved in the init + } + + if (_scene) + return true; + + + + _scene = std::make_shared( // define a new scene + /// \todo create a new static scene optimized for primary rays (TODO: test perf with RTC_SCENE_ROBUST) + rtcNewScene(*g_device.get()) + ); // set a custom deleter + + if (_scene == nullptr) + SIBR_LOG << "Cannot create an embree scene" << std::endl; + else { + //SIBR_LOG << "Embree device and scene created" << std::endl; + //SIBR_LOG << "Warning Backface culling state : "<< rtcGetDeviceProperty(*g_device, RTC_DEVICE_PROPERTY_BACKFACE_CULLING_ENABLED) << std::endl; + return true; // Success + } + return false; // Fail + } + + Raycaster::geomId Raycaster::addMesh(const sibr::Mesh& mesh) + { + return addGenericMesh(mesh, RTC_BUILD_QUALITY_HIGH); + } + + Raycaster::geomId Raycaster::addDynamicMesh(const sibr::Mesh& mesh) + { + return addGenericMesh(mesh, RTC_BUILD_QUALITY_LOW); + } + + Raycaster::geomId Raycaster::addGenericMesh(const sibr::Mesh& mesh, RTCBuildQuality type) + { + if (init() == false) + return Raycaster::InvalidGeomId; + + const sibr::Mesh::Vertices& vertices = mesh.vertices(); + const sibr::Mesh::Triangles& triangles = mesh.triangles(); + + RTCGeometry geom_0 = rtcNewGeometry(*g_device.get(), RTC_GEOMETRY_TYPE_TRIANGLE); // EMBREE_FIXME: check if geometry gets properly committed + rtcSetGeometryBuildQuality(geom_0, type); + rtcSetGeometryTimeStepCount(geom_0, 1); + geomId id = rtcAttachGeometry(*_scene.get(), geom_0); + //rtcReleaseGeometry(geom_0); + + if (id == Raycaster::InvalidGeomId) { + rtcCommitGeometry(geom_0); + return Raycaster::InvalidGeomId; + } + + struct Vertex { float x, y, z, a; }; + struct Triangle { int v0, v1, v2; }; + + { // Fill vertices of the geometry + Vertex* vert = (Vertex*)rtcSetNewGeometryBuffer(geom_0, RTC_BUFFER_TYPE_VERTEX, 0, RTC_FORMAT_FLOAT3, 4 * sizeof(float), vertices.size()); + for (uint i = 0; i < mesh.vertices().size(); ++i) + { + vert[i].x = vertices[i][0]; + vert[i].y = vertices[i][1]; + vert[i].z = vertices[i][2]; + vert[i].a = 1.f; + } + + } + + { // Fill triangle indices of the geometry + Triangle* tri = (Triangle*)rtcSetNewGeometryBuffer(geom_0, RTC_BUFFER_TYPE_INDEX, 0, RTC_FORMAT_UINT3, 3 * sizeof(int), triangles.size()); + for (uint i = 0; i < triangles.size(); ++i) + { + tri[i].v0 = triangles[i][0]; + tri[i].v1 = triangles[i][1]; + tri[i].v2 = triangles[i][2]; + } + + } + + rtcCommitGeometry(geom_0); + + // Commit all changes on the scene + rtcCommitScene(*_scene.get()); + + return id; + } + + // xform a mesh by transformation matrix "mat". Note that the original positions + // are always stored in mesh.vertices -- we only xform the vertices in the embree buffer + void Raycaster::xformRtcMeshOnly(sibr::Mesh& mesh, geomId mesh_id, sibr::Matrix4f& mat, sibr::Vector3f& centerPt, float& maxlen) + { + struct Vertex { float x, y, z, a; }; + Vertex* vert = (Vertex*)rtcGetGeometryBufferData(rtcGetGeometry(*_scene.get(), mesh_id), RTC_BUFFER_TYPE_VERTEX, 0) /* EMBREE_FIXME: check if this should be rtcSetNewGeometryBuffer */; + sibr::Vector4f averagePt = sibr::Vector4f(0, 0, 0, 1); + maxlen = 0; + + const sibr::Mesh::Vertices& vertices = mesh.vertices(); + //const sibr::Mesh::Normals& normals = mesh.normals(); + for (uint i = 0; i < mesh.vertices().size(); ++i) + { + sibr::Vector4f v; + + // reset to original position + v[0] = vert[i].x = vertices[i][0]; + v[1] = vert[i].y = vertices[i][1]; + v[2] = vert[i].z = vertices[i][2]; + v[3] = vert[i].a = 1.f; + + v = mat * v; + vert[i].x = v[0], vert[i].y = v[1], vert[i].z = v[2]; + averagePt += v; + float d = sibr::Vector3f(sibr::Vector4f(averagePt / (float)((i == 0) ? 1 : i)).xyz() - v.xyz()).norm(); + if (d > maxlen) + maxlen = d; + } + + sibr::Vector4f cp = averagePt / (float)mesh.vertices().size(); + centerPt = sibr::Vector3f(cp[0], cp[1], cp[2]); + + // Update mesh + rtcCommitGeometry(rtcGetGeometry(*_scene.get(), mesh_id)); + // Commit changes to scene + rtcCommitScene(*_scene.get()); + } + + bool Raycaster::hitSomething(const Ray& inray, float minDist) + { + assert(minDist >= 0.f); + + RTCRay ray; + ray.flags = 0; + ray.org_x = inray.orig()[0]; + ray.org_y = inray.orig()[1]; + ray.org_z = inray.orig()[2]; + ray.dir_x = inray.dir()[0]; + ray.dir_y = inray.dir()[1]; + ray.dir_z = inray.dir()[2]; + + ray.tnear = minDist; + ray.tfar = RayHit::InfinityDist; + + if (init() == false) + SIBR_ERR << "cannot initialize embree, failed cast rays." << std::endl; + else + { + RTCIntersectContext context; + rtcInitIntersectContext(&context); + rtcOccluded1(*_scene.get(), &context, &ray); + } + return ray.tfar < 0.0f; + } + + std::array Raycaster::hitSomething8(const std::array & inray, float minDist) + { + assert(minDist >= 0.f); + + RTCRay8 ray; + for (int r = 0; r < 8; r++) { + ray.org_x[r] = inray[r].orig()[0]; + ray.org_y[r] = inray[r].orig()[1]; + ray.org_z[r] = inray[r].orig()[2]; + ray.dir_x[r] = inray[r].dir()[0]; + ray.dir_y[r] = inray[r].dir()[1]; + ray.dir_z[r] = inray[r].dir()[2]; + + ray.tnear[r] = minDist; + ray.tfar[r] = RayHit::InfinityDist; + } + + int valid8[8] = { -1,-1,-1,-1, -1, -1, -1, -1 }; + if (init() == false) + SIBR_ERR << "cannot initialize embree, failed cast rays." << std::endl; + else + { + RTCIntersectContext context; + rtcInitIntersectContext(&context); + rtcOccluded8(valid8, *_scene.get(), &context, &ray); + } + + std::array res; + for (int r = 0; r < 8; r++) { + bool hit = (ray.tfar[r] < 0.0f ); + res[r] = hit; + } + + return res; + } + + RayHit Raycaster::intersect(const Ray& inray, float minDist) + { + assert(minDist >= 0.f); + + RTCRayHit rh; + rh.ray.flags = 0; + rh.ray.org_x = inray.orig()[0]; + rh.ray.org_y = inray.orig()[1]; + rh.ray.org_z = inray.orig()[2]; + rh.ray.dir_x = inray.dir()[0]; + rh.ray.dir_y = inray.dir()[1]; + rh.ray.dir_z = inray.dir()[2]; + + rh.ray.tnear = minDist; + rh.ray.tfar = RayHit::InfinityDist; + rh.hit.geomID = RTC_INVALID_GEOMETRY_ID; + + if (init() == false) + SIBR_ERR << "cannot initialize embree, failed cast rays." << std::endl; + else + { + RTCIntersectContext context; + rtcInitIntersectContext(&context); + rtcIntersect1(*_scene.get(), &context, &rh); + rh.hit.Ng_x = -rh.hit.Ng_x; // EMBREE_FIXME: only correct for triangles,quads, and subdivision surfaces + rh.hit.Ng_y = -rh.hit.Ng_y; + rh.hit.Ng_z = -rh.hit.Ng_z; + } + + // Convert to the RayHit struct (used for abstract embree) + + RayHit::Primitive prim; + prim.geomID = rh.hit.geomID; + prim.instID = rh.hit.instID[0]; + prim.triID = rh.hit.primID; + + RayHit::BCCoord coord; + coord.u = rh.hit.u; + coord.v = rh.hit.v; + + sibr::Vector3f normal = sibr::Vector3f(rh.hit.Ng_x, rh.hit.Ng_y, rh.hit.Ng_z); + + // Return the result. + return RayHit(inray, rh.ray.tfar, coord, normal, prim); + } + + std::array Raycaster::intersect8(const std::array & inray, const std::vector & valid8, float minDist) + { + assert(minDist >= 0.f); + + RTCRayHit8 rh; + for (int r = 0; r < 8; r++) { + rh.ray.org_x[r] = inray[r].orig()[0]; + rh.ray.org_y[r] = inray[r].orig()[1]; + rh.ray.org_z[r] = inray[r].orig()[2]; + rh.ray.dir_x[r] = inray[r].dir()[0]; + rh.ray.dir_y[r] = inray[r].dir()[1]; + rh.ray.dir_z[r] = inray[r].dir()[2]; + + rh.ray.tnear[r] = minDist; + rh.ray.tfar[r] = RayHit::InfinityDist; + rh.hit.geomID[r] = RTC_INVALID_GEOMETRY_ID; + } + + if (init() == false) + SIBR_ERR << "cannot initialize embree, failed cast rays." << std::endl; + else + { + RTCIntersectContext context; + rtcInitIntersectContext(&context); + rtcIntersect8(valid8.data(), *_scene.get(), &context, &rh); + } + + std::array res; + for (int r = 0; r < 8; r++) { + if (valid8[r]) + res[r] = { + inray[r], + rh.ray.tfar[r], + RayHit::BCCoord{ + rh.hit.u[r],rh.hit.v[r] + }, + sibr::Vector3f(rh.hit.Ng_x[r], rh.hit.Ng_y[r], rh.hit.Ng_z[r]), + RayHit::Primitive{ +#ifdef SIBR_OS_WINDOWS + (uint)rh.hit.primID[r] ,(uint)rh.hit.geomID[r],(uint)rh.hit.instID[r] +#else + // Considering RTC_MAX_INSTANCE_LEVEL_COUNT to be 1 (Single-level instancing); see https://www.embree.org/api.html#rtchit + (uint)rh.hit.primID[r] ,(uint)rh.hit.geomID[r],(uint)rh.hit.instID[0][r] +#endif + + } + }; + } + return res; + } + + void Raycaster::clearGeometry() + { + _scene.reset(); + } + + sibr::Vector3f Raycaster::smoothNormal(const sibr::Mesh& mesh, const RayHit& hit) + { + if (!mesh.hasNormals()) { + SIBR_ERR << " cannot compute smoothed normals if the mesh does not have normals " << std::endl; + } + const sibr::Mesh::Normals& normals = mesh.normals(); + const sibr::Vector3u& tri = mesh.triangles()[hit.primitive().triID]; + + const float ucoord = hit.barycentricCoord().u; + const float vcoord = hit.barycentricCoord().v; + float wcoord = 1.f - ucoord - vcoord; + wcoord = (wcoord >= 0.0f ? (wcoord <= 1.0f ? wcoord : 1.0f) : 0.0f); + + return (wcoord * normals[tri[0]] + ucoord * normals[tri[1]] + vcoord * normals[tri[2]]).normalized(); + } + + sibr::Vector3f Raycaster::smoothColor(const sibr::Mesh& mesh, const RayHit& hit) + { + if (!mesh.hasColors()) { + SIBR_ERR << " cannot compute smoothed color if the mesh does not have colors " << std::endl; + } + const sibr::Mesh::Colors& colors = mesh.colors(); + const sibr::Vector3u& tri = mesh.triangles()[hit.primitive().triID]; + + const float ucoord = hit.barycentricCoord().u; + const float vcoord = hit.barycentricCoord().v; + float wcoord = 1.f - ucoord - vcoord; + wcoord = (wcoord >= 0.0f ? (wcoord <= 1.0f ? wcoord : 1.0f) : 0.0f); + + return wcoord * colors[tri[0]] + ucoord * colors[tri[1]] + vcoord * colors[tri[2]]; + } + + sibr::Vector2f Raycaster::smoothUV(const sibr::Mesh& mesh, const RayHit& hit) + { + if (!mesh.hasTexCoords()) { + SIBR_ERR << " cannot compute UV if the mesh does not have texcoords " << std::endl; + } + const sibr::Mesh::UVs& uvs = mesh.texCoords(); + const sibr::Vector3u& tri = mesh.triangles()[hit.primitive().triID]; + + const float ucoord = hit.barycentricCoord().u; + const float vcoord = hit.barycentricCoord().v; + float wcoord = 1.f - ucoord - vcoord; + wcoord = (wcoord >= 0.0f ? (wcoord <= 1.0f ? wcoord : 1.0f) : 0.0f); + + return wcoord * uvs[tri[0]] + ucoord * uvs[tri[1]] + vcoord * uvs[tri[2]]; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/raycaster/Raycaster.hpp b/SIBR_viewers/src/core/raycaster/Raycaster.hpp new file mode 100644 index 0000000000..121b5022f8 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/Raycaster.hpp @@ -0,0 +1,179 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# pragma warning(push, 0) +# include +# include +# include // functions for setting the control register +# include // functions for setting the control register +# pragma warning(pop) + +# include +# include +# include "core/raycaster/Config.hpp" +# include "core/raycaster/Ray.hpp" + +namespace sibr +{ + /// + /// This class can be used to cast rays against a scene containing triangular + /// meshes. You can check for intersections with the geometry and get + /// information about the hit (such as coordinates, distance, triangle id). + /// + /// You should have one or few instance of this class (for performance + /// purposes). Each instance can run in parallel. + /// + /// \note This abstraction is built on top of Embree. + /// \warning There is no backface culling applied. + /// \ingroup sibr_raycaster + /// + class SIBR_RAYCASTER_EXPORT Raycaster + { + public: + typedef std::shared_ptr RTCDevicePtr; + typedef std::shared_ptr RTCScenePtr; + typedef std::shared_ptr Ptr; + + typedef uint geomId; + /// Stores a number representing an invalid geom id. + static const geomId InvalidGeomId; + + /// Destructor. + ~Raycaster( void ); + + + /// Init the raycaster. + /// Called automatically whenever you call a member that need this + /// instance to be init. However, you can call it manually to check + /// error on init. + /// \param sceneType the type of scene, see Embree doc. + /// \return a success flag + bool init(RTCSceneFlags sceneType = RTC_SCENE_FLAG_NONE ); + + /// Add a triangle mesh to the raycast scene, taht you won't modify frequently + /// Return the id of the geometry added so you can track your mesh (and compare + /// its id to the one stored in RayHits). + /// \param mesh the mesh to add + /// \return the mesh ID or Raycaster::InvalidGeomId if it fails. + geomId addMesh( const sibr::Mesh& mesh ); + + /// Add a triangle mesh to the raycast scene, that you will frequently update. + /// \param mesh the mesh to add + /// \return the mesh ID or Raycaster::InvalidGeomId if it fails. + geomId addDynamicMesh( const sibr::Mesh& mesh ); + + /// Add a triangle mesh to the raycast scene. + /// \param mesh the mesh to add + /// \param type the type of mesh + /// \return the mesh ID or Raycaster::InvalidGeomId if it fails. + geomId addGenericMesh( const sibr::Mesh& mesh, RTCBuildQuality type ); + + /// Transform the vertices of a mesh by applying a sibr::Matrix4f mat. + /// \note The original positions are always stored *unchanged* in mesh.vertices -- we only xform the vertices in the embree buffer + /// \param mesh the mesh to transform + /// \param mesh_id the corresponding raycaster mesh id + /// \param mat the transformation to apply + /// \param centerPt will contain the new centroid + /// \param maxlen will contain the maximum distance from a vertex to the centroid + /// \bug maxlen is computed incrementally and may be incorrect + void xformRtcMeshOnly(sibr::Mesh& mesh, geomId mesh_id, sibr::Matrix4f& mat, sibr::Vector3f& centerPt, float& maxlen); + + /// Launch a ray into the raycaster scene. Return information about + /// this cast in RayHit. To simply know if something has been hit, use RayHit::hitSomething(). + /// \sa hitSomething + /// \param ray the ray to cast + /// \param minDist Any intersection closer than minDist from the ray origin will be ignored. Useful to avoid self intersections. + /// \return the (potential) intersection information + RayHit intersect( const Ray& ray, float minDist=0.f ); + + /// Launch 8 rays into the raycaster scene in an optimized fashion, reporting intersections infos. + /// \param inray the rays to cast + /// \param valid8 an indication of which of the rays should be cast + /// \param minDist Any intersection closer than minDist from the ray origin will be ignored. Useful to avoid self intersections. + /// \return the list of (potential) intersection informations + std::array intersect8(const std::array& inray,const std::vector & valid8=std::vector(8,-1), float minDist = 0.f ); + + /// Optimized ray-cast that only tells you if an intersection occured. + /// \sa intersect + /// \param ray the ray to cast + /// \param minDist Any intersection closer than minDist from the ray origin will be ignored. Useful to avoid self intersections. + /// \return true if an intersection took place + bool hitSomething( const Ray& ray, float minDist=0.f ); + + /// Launch 8 rays into the raycaster scene in an optimized fashion, reporting if intersections occured. + /// \param inray the rays to cast + /// \param minDist Any intersection closer than minDist from the ray origin will be ignored. Useful to avoid self intersections. + /// \return a list of boolean denoting if intersections happened + std::array hitSomething8(const std::array& inray, float minDist = 0.f); + + /// Disable geometry to avoid raycasting against it (eg background when only intersecting a foreground object). + /// \param id the mesh to disable + /// \todo Untested. + void disableGeom(geomId id) { rtcDisableGeometry(rtcGetGeometry((*_scene.get()),id)); rtcCommitGeometry(rtcGetGeometry(*_scene.get(),id)); rtcCommitScene(*_scene.get()); } + + /// Enable geometry to start raycasting it again. + /// \param id the geometry to enable + /// \todo Untested. + void enableGeom(geomId id) { rtcEnableGeometry(rtcGetGeometry((*_scene.get()),id)); rtcCommitGeometry(rtcGetGeometry(*_scene.get(),id)); rtcCommitScene(*_scene.get());} + + /// Delete geometry + /// \param id the geometry to delete + void deleteGeom(geomId id) { rtcReleaseGeometry(rtcGetGeometry((*_scene.get()),id)); rtcCommitGeometry(rtcGetGeometry(*_scene.get(),id)); rtcCommitScene(*_scene.get());} + + /// Clears internal scene.. + void clearGeometry(); + + /// Returns the normalized smooth normal (shading normal) from a hit, assuming the mesh has normals + /// \param mesh sibr::Mesh used by raycaster + /// \param hit intersection basic information + /// \return the interpolated normalized normal + static sibr::Vector3f smoothNormal(const sibr::Mesh & mesh, const RayHit & hit); + + /// Interpolate color at a hit (barycentric interpolation), assuming the mesh has colors. + /// \param mesh sibr::Mesh used by raycaster + /// \param hit intersection basic information + /// \return the interpolated color + static sibr::Vector3f smoothColor(const sibr::Mesh & mesh, const RayHit & hit); + + /// Interpolate texcoords from a hit (barycentric interpolation), assuming the mesh has UVs. + /// \param mesh sibr::Mesh used by raycaster + /// \param hit intersection basic information + /// \‚eturn the interpolated texture coordinates + static sibr::Vector2f smoothUV(const sibr::Mesh & mesh, const RayHit & hit); + + /// \return true if the raycaster is initialized. + bool isInit() { return g_device && _scene; } + + private: + + /// Will be called by embree whenever an error occurs + /// \param userPtr the user data pointer + /// \param code the error code + /// \param msg additional info message. + static void rtcErrorCallback(void* userPtr, RTCError code, const char* msg); + + + static bool g_initRegisterFlag; ///< Used to initialize flag of registers used by SSE + static RTCDevicePtr g_device; ///< embree device (context for a raycaster) + + /// \return the internal scene pointer + RTCScenePtr scene() { return _scene; } + + RTCScenePtr _scene; ///< scene storing raycastable meshes + RTCDevicePtr _devicePtr; ///< embree device (context for a raycaster) + }; + + ///// DEFINITION ///// + +} // namespace sibr diff --git a/SIBR_viewers/src/core/raycaster/VoxelGrid.cpp b/SIBR_viewers/src/core/raycaster/VoxelGrid.cpp new file mode 100644 index 0000000000..3c903db99b --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/VoxelGrid.cpp @@ -0,0 +1,403 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "VoxelGrid.hpp" + +namespace sibr { + + VoxelGridBase::VoxelGridBase(const Box & boundingBox, int n, bool forceCube) + : VoxelGridBase(boundingBox, sibr::Vector3i(n, n, n), forceCube) + { + } + + VoxelGridBase::VoxelGridBase(const Box & boundingBox, const sibr::Vector3i & numsPerDim, bool forceCube) + : box(boundingBox), dims(numsPerDim), _generator(0), _distribution(-1.0, 1.0) + { + if (forceCube) { + float maxDimSize = box.sizes().cwiseQuotient(dims.cast()).maxCoeff(); + for (int c = 0; c < 3; ++c) { + dims[c] = (int)std::round(box.sizes()[c] / maxDimSize); + } + } + cellSize = box.sizes().cwiseQuotient(dims.cast()); + cellSizeNorm = cellSize.norm(); + + //std::cout << dims << std::endl; + //std::cout << getCellSize() << std::endl; + + static const sibr::Mesh::Triangles trianglesBorders = + { + { 0,4, 4 }, + { 5,1, 1 }, + { 4,5, 5 }, + { 0,1, 1 }, + { 2,6, 6 }, + { 7,3, 3 }, + { 6,7, 7 }, + { 2,3, 3 }, + { 0,2, 2 }, + { 1,3, 3 }, + { 4,6, 6 }, + { 5,7, 7 } + }; + + + Box baseCell; + baseCell.extend(box.min()); + baseCell.extend(box.min() + getCellSize()); + + + sibr::Mesh::Vertices vs(8); + for (int i = 0; i < 8; ++i) { + vs[i] = baseCell.corner((Box::CornerType)i); + } + + baseCellMesh.reset(new sibr::Mesh(false)); + baseCellMesh->vertices(vs); + baseCellMesh->triangles(trianglesBorders); + + static const sibr::Mesh::Triangles trianglesFilled = + { + { 0,1,5 }, + { 0,5,4 }, + { 1,3,7 }, + { 1,7,5 }, + { 3,2,6 }, + { 3,6,7 }, + { 2,0,4 }, + { 2,4,6 }, + { 0,2,3 }, + { 0,3,1 }, + { 4,5,7 }, + { 4,7,6 } + }; + + + baseCellMeshFilled.reset(new sibr::Mesh(false)); + baseCellMeshFilled->vertices(vs); + baseCellMeshFilled->triangles(trianglesFilled); + } + + bool VoxelGridBase::isInside(const sibr::Vector3f & worldPos) const + { + return box.contains(worldPos); + } + + bool VoxelGridBase::outOfBounds(const sibr::Vector3i & v) const + { + return (v.array() < 0).any() || (v.array() >= dims.array()).any(); + //return v[0] < 0 || v[0] >= dims[0] || v[1] < 0 || v[1] >= dims[1] || v[2] < 0 || v[2] >= dims[2]; + } + + size_t VoxelGridBase::getNumCells() const + { + return (size_t)dims.prod(); + } + + const sibr::Vector3i & VoxelGridBase::getDims() const + { + return dims; + } + + sibr::Vector3i VoxelGridBase::getCell(size_t cellId) const + { + if (cellId >= getNumCells()) { + SIBR_ERR; + } + + sibr::Vector3i cell; + + std::div_t div; + for (int i = 0; i < 2; ++i) { + div = std::div((int)cellId, dims[i]); + cell[i] = div.rem; + cellId = div.quot; + } + cell[2] = (int)cellId; + + if (outOfBounds(cell)) { + SIBR_ERR << cell << " " << dims; + } + + //if ((cell.array() < 0).any() || (cell.array() >= dims.array()).any()) { + // SIBR_ERR; + //} + + return cell; + } + + sibr::Vector3i VoxelGridBase::getCell(const sibr::Vector3f & worldPos) const + { + sibr::Vector3f posUV = (worldPos - box.min()).cwiseQuotient(box.sizes()); + sibr::Vector3i cellCoord = (dims.cast().cwiseProduct(posUV)).unaryExpr([](float f) { return std::floor(f); }).cast(); + + if ((cellCoord.array() < 0).any() || (cellCoord.array() >= dims.array()).any()) { + SIBR_ERR; + } + + return cellCoord; + } + + sibr::Vector3i VoxelGridBase::getCellInclusive(const sibr::Vector3f & worldPos) const + { + sibr::Vector3f posUV = (worldPos - box.min()).cwiseQuotient(box.sizes()); + sibr::Vector3i cellCoord = (dims.cast().cwiseProduct(posUV).unaryExpr([](float f) { return std::floor(f); })).cast(); + + //because of the floor function, a pixel exactly at the boundary would be outside + for (int c = 0; c < 3; c++) { + if (cellCoord[c] == -1){ + ++cellCoord[c]; + } + if (cellCoord[c] == dims[c]) { + --cellCoord[c]; + } + } + + if ((cellCoord.array() < 0).any() || (cellCoord.array() >= dims.array()).any()) { + SIBR_ERR << worldPos << " " << box.min() << " " << box.max() << " " << cellCoord; + } + + return cellCoord; + } + + std::vector VoxelGridBase::rayMarch(const Ray & ray) const + { + sibr::Vector3f start = ray.orig(); + + if (!isInside(start)) { + sibr::Vector3f intersection; + if (intersectionWithBox(ray, intersection)) { + start = intersection; + } else { + return {}; + } + } + + start = start.cwiseMax(box.min()).cwiseMin(box.max() - 0.01f*getCellSize()); + + sibr::Vector3i currentVoxel = getCell(start); + + sibr::Vector3i steps = ray.dir().unaryExpr([](float f) { return f >= 0 ? 1 : -1; }).cast(); + + const sibr::Vector3f deltas = getCellSize().cwiseQuotient(ray.dir().cwiseAbs()); + const sibr::Vector3f frac = (start - box.min()).cwiseQuotient(getCellSize()).unaryExpr([](float f) { return f - std::floor(f); }); + sibr::Vector3i finalVoxels; + sibr::Vector3f ts; + for (int c = 0; c < 3; c++) { + ts[c] = deltas[c] * (ray.dir()[c] >= 0 ? 1.0f - frac[c] : frac[c]); + finalVoxels[c] = (ray.dir()[c] >= 0 ? dims[c] : -1); + } + + std::vector visitedCellsIds; + while (true) { + visitedCellsIds.push_back(getCellId(currentVoxel)); + + int c = getMinIndex(ts); + currentVoxel[c] += steps[c]; + if (currentVoxel[c] == finalVoxels[c]) { + break; + } + ts[c] += deltas[c]; + } + + return visitedCellsIds; + } + + sibr::Mesh::Ptr VoxelGridBase::getCellMesh(const sibr::Vector3i & cell) const + { + return getCellMeshInternal(cell, false); + } + + sibr::Mesh::Ptr VoxelGridBase::getAllCellMesh() const + { + return getAllCellMeshInternal(false); + } + + sibr::Mesh::Ptr VoxelGridBase::getCellMeshFilled(const sibr::Vector3i & cell) const + { + return getCellMeshInternal(cell, true); + } + + sibr::Mesh::Ptr VoxelGridBase::getAllCellMeshFilled() const + { + return getAllCellMeshInternal(true); + } + + Eigen::AlignedBox3f VoxelGridBase::getCellBox(size_t cellId) const + { + sibr::Vector3i cell = getCell(cellId); + sibr::Vector3f center = getCellCenter(cell); + sibr::Vector3f half_diagonal = 0.5f*getCellSize(); + + Eigen::AlignedBox3f out; + out.extend(center - half_diagonal); + out.extend(center + half_diagonal); + return out; + } + + std::vector VoxelGridBase::getNeighbors(size_t cellId) const + { + static const sibr::Vector3f shifts[6] = { + {-1, 0, 0}, { +1 ,0, 0 }, + {0, -1, 0},{0, +1, 0}, + {0, 0, -1},{0, 0, +1} + }; + + sibr::Vector3f pos = getCellCenter(cellId); + + std::vector n_ids; + for (int i = 0; i < 6; ++i) { + sibr::Vector3f n_pos = pos + shifts[i].cwiseProduct(getCellSize()); + if (getBBox().contains(n_pos)) { + n_ids.push_back(getCellId(n_pos)); + } + } + return n_ids; + } + + VoxelGridBase VoxelGridBase::extend(int numCells) const + { + sibr::Vector3f additionalSize = ((float)numCells)*getCellSize(); + //sibr::Vector3f half_diagonal = 0.5*box.diagonal() + additionalSize; + + Box extendedBox; + extendedBox.extend(box.max() + additionalSize); + extendedBox.extend(box.min() - additionalSize); + + //extendedBox.extend(box.center() + (additionalSize.norm() + 0.5f*box.diagonal().norm()) *box.diagonal().normalized()); + //extendedBox.extend(box.center() - (additionalSize.norm() + 0.5f*box.diagonal().norm()) *box.diagonal().normalized()); + + VoxelGridBase extendedGrid = VoxelGridBase(extendedBox, dims.array() + 2*numCells); + return extendedGrid; + } + + bool VoxelGridBase::intersectionWithBox(const Ray & ray, sibr::Vector3f & intersection) const + { + //adpated from https://github.com/papaboo/smalldacrt/ + + sibr::Vector3f minTs = (box.min() - ray.orig()).cwiseQuotient(ray.dir()); + sibr::Vector3f maxTs = (box.max() - ray.orig()).cwiseQuotient(ray.dir()); + + float nearT = (minTs.cwiseMin(maxTs)).maxCoeff(); + float farT = (minTs.cwiseMax(maxTs)).minCoeff(); + + if (nearT <= farT && 0 <= nearT) { + intersection = ray.orig() + nearT*ray.dir(); + return true; + } + return false; + } + + const sibr::Vector3f & VoxelGridBase::getCellSize() const + { + return cellSize; + } + + float VoxelGridBase::getCellSizeNorm() const + { + return cellSizeNorm; + } + + sibr::Vector3f VoxelGridBase::sampleCell(size_t cellId) + { + sibr::Vector3f out; + out[0] = float(_distribution(_generator)); + out[1] = float(_distribution(_generator)); + out[2] = float(_distribution(_generator)); + return getCellCenter(getCell(cellId)) + out.cwiseProduct(getCellSize()); + } + + sibr::Mesh::Ptr VoxelGridBase::getCellMeshInternal(const sibr::Vector3i & cell, bool filled) const + { + sibr::Mesh::Ptr baseMesh = filled ? baseCellMeshFilled : baseCellMesh; + + const sibr::Vector3f offset = cell.cast().array()*getCellSize().array(); + + auto out = std::make_shared(true); + out->triangles(baseMesh->triangles()); + sibr::Mesh::Vertices vs(8); + for (int i = 0; i < 8; ++i) { + vs[i] = baseMesh->vertices()[i] + offset; + } + out->vertices(vs); + return out; + } + + sibr::Mesh::Ptr VoxelGridBase::getAllCellMeshInternal(bool filled) const + { + auto out = std::make_shared(); + + sibr::Mesh::Ptr baseMesh = filled ? baseCellMeshFilled : baseCellMesh; + + const int numT = int(baseMesh->triangles().size()); + const int numTtotal = int(getNumCells())*numT; + const int numV = int(baseMesh->vertices().size()); + const int numVtotal = int(getNumCells())*numV; + const sibr::Vector3u offsetT = sibr::Vector3u(numV, numV, numV); + + sibr::Mesh::Vertices vs(numVtotal); + sibr::Mesh::Triangles ts(numTtotal); + for (int i = 0; i < getNumCells(); ++i) { + const auto cell = getCell(i); + const sibr::Vector3f offsetV = cell.cast().array()*getCellSize().array(); + + for (int v = 0; v < numV; ++v) { + vs[i*numV + v] = baseMesh->vertices()[v] + offsetV; + } + for (int t = 0; t < numT; ++t) { + ts[i*numT + t] = baseMesh->triangles()[t] + i * offsetT; + } + } + + out->vertices(vs); + out->triangles(ts); + return out; + } + + size_t VoxelGridBase::getCellId(const sibr::Vector3i & v) const + { + if (outOfBounds(v)) { + SIBR_ERR << v << " " << dims; + } + return v[0] + dims[0] * (v[1] + dims[1] * v[2]); //v[2] + dims[2] * (v[1] + dims[1] * v[0]); + } + + size_t VoxelGridBase::getCellId(const sibr::Vector3f & world_pos) const + { + return getCellId(getCell(world_pos)); + } + + sibr::Vector3f VoxelGridBase::getCellCenter(const sibr::Vector3i & cell) const + { + return box.min() + (0.5f*sibr::Vector3f(1, 1, 1) + cell.cast()).cwiseProduct(getCellSize()); + } + + sibr::Vector3f VoxelGridBase::getCellCenter(size_t cellId) const + { + return getCellCenter(getCell(cellId)); + } + + int VoxelGridBase::getMinIndex(const sibr::Vector3f & v) + { + if (v.x() < v.y()) { + return v.x() < v.z() ? 0 : 2; + } else { + return v.y() < v.z() ? 1 : 2; + } + } + + sibr::Vector3f orthoVector(const sibr::Vector3f & v) + { + return std::abs(v[2]) < std::abs(v[0]) ? sibr::Vector3f(v[1], -v[0], 0) : sibr::Vector3f(0, -v[2], v[1]); + } + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/raycaster/VoxelGrid.hpp b/SIBR_viewers/src/core/raycaster/VoxelGrid.hpp new file mode 100644 index 0000000000..362cf0935b --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/VoxelGrid.hpp @@ -0,0 +1,408 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + + +# include +#include + +# include + +#include +#include + +namespace sibr +{ + /** + \addtogroup sibr_raycaster + @{ + */ + + /** Generate a vector orthogonal to the input one. + \param v the input vector + \return the ortogonal vector + \warning The output vector is not necessarily of unit length. + */ + sibr::Vector3f orthoVector(const sibr::Vector3f & v); + + /** Default voxel type, storing binary occupancy. */ + struct BasicVoxelType { + + /** \return true if filled. */ + operator bool() const { return used; } + + bool used = true; ///< The voxel status. + }; + + /** Basic voxel grid interface provinding cell manipulation and query helpers. + It doesn't store any voxel data. */ + class SIBR_RAYCASTER_EXPORT VoxelGridBase { + SIBR_CLASS_PTR(VoxelGridBase); + + public: + + typedef Eigen::AlignedBox Box; + + /** Constructor. + \param boundingBox bounding box delimiting the voxellized region + \param numPerDim number of voxels along each dimension + \param forceCube if true, the largest dimension will be split in numPerDim voxels and the other such that the voxels are cubes in world space + */ + VoxelGridBase(const Box & boundingBox, int numPerDim, bool forceCube = true); + + + /** Constructor. + \param boundingBox bounding box delimiting the voxellized region + \param numsPerDim number of voxels along each dimension + \param forceCube if true, the largest dimension will be split in numPerDims voxels and the other such that the voxels are cubes in world space + */ + VoxelGridBase(const Box & boundingBox, const sibr::Vector3i & numsPerDim, bool forceCube = true); + + /** Check if a position is in the voxel grid. + \param worldPos the world 3D position + \return true if the position is in the grid bounding box + */ + bool isInside(const sibr::Vector3f & worldPos) const; + + /** Check if a set of indices correspond to a reachable voxel. + \param cell the voxel integer coordinates + \return true if the voxel exists in the grid + */ + bool outOfBounds(const sibr::Vector3i & cell) const; + + /** \return the number of voxels. */ + size_t getNumCells() const; + + /** \return the number of voxels along each axis. */ + const sibr::Vector3i & getDims() const; + + /** Convert a linear cell ID to a set of 3D indices. + \param cellId linear ID + \return the indices of the voxel along each axis + */ + sibr::Vector3i getCell(size_t cellId) const; + + /** Convert a voxel 3D indices to a linear ID. + \param cell the voxel integer coordinates + \return the linear ID + */ + size_t getCellId(const sibr::Vector3i & cell) const; + + /** Convert a 3D position to the linear ID of the voxel containing it. + \param world_pos the position + \return the linear ID of the voxel + */ + size_t getCellId(const sibr::Vector3f & world_pos) const; + + /** Get the position of a voxel center in world space. + \param cell the voxel integer coordinates + \return the center 3D position + */ + sibr::Vector3f getCellCenter(const sibr::Vector3i & cell) const; + + /** Get the position of a voxel center in world space. + \param cellId linear voxel ID + \return the center 3D position + */ + sibr::Vector3f getCellCenter(size_t cellId) const; + + /** Intersect a ray with the voxel grid, listing all intersected voxels. + \param ray the ray to cast + \return linear IDs of the intersected voxels + */ + std::vector rayMarch(const Ray & ray) const; + + /** Generate a wireframe mesh representing a voxel. + \param cell the voxel integer coordinates + \return the generated wireframe cube mesh + */ + sibr::Mesh::Ptr getCellMesh(const sibr::Vector3i & cell) const; + + /** Generate a wireframe mesh representing all voxels. + \return the generated wireframe cube mesh + */ + sibr::Mesh::Ptr getAllCellMesh() const; + + /** Generate a triangle mesh representing a voxel. + \param cell the voxel integer coordinates + \return the generated filled cube mesh + */ + sibr::Mesh::Ptr getCellMeshFilled(const sibr::Vector3i & cell) const; + + /** Generate a triangle mesh representing all voxels. + \return the generated filled cube mesh + */ + sibr::Mesh::Ptr getAllCellMeshFilled() const; + + /** Get a voxel bounding box. + \param cellId the voxel linear index + \return the bounding box. + */ + Eigen::AlignedBox3f getCellBox(size_t cellId) const; + + /** Get a voxel neighbors linear IDs. + \param cellId linear voxel ID + \return the linear IDs of the neigbors. + */ + std::vector getNeighbors(size_t cellId) const; + + /** Extend the voxel grid along all dimensions. + This means that if the initial count along a given axis was N, the new is N+2*numCells. + \param numCells the number of cells to add + \return the extended voxel grid + */ + VoxelGridBase extend(int numCells) const; + + /** \return the voxel grid bounding box. */ + const Box & getBBox() const { return box; } + + /** Return the index of the smallest coefficient of the input vector. + \param v the vector + \return the location of the minimum + */ + static int getMinIndex(const sibr::Vector3f & v); + + /** Get the integer coordinates of the cell containing a position. + \param worldPos the position + \return the cell integer coordinates + */ + sibr::Vector3i getCell(const sibr::Vector3f & worldPos) const; + + /** Get the integer coordinates of the cell containing a position. + Positions along the boundaries of the voxel grid are considered as belonging to the closest cell. + \param worldPos the position + \return the cell integer coordinates + */ + sibr::Vector3i getCellInclusive(const sibr::Vector3f & worldPos) const; + + /** Check if a ray intersect the voxel grid. + \param ray the ray to cast + \param intersection will contain the intersection position if it exists + \return true if there is an intersection + */ + bool intersectionWithBox(const Ray & ray, sibr::Vector3f & intersection) const; + + /** \return the size of a voxel. */ + const sibr::Vector3f & getCellSize() const; + + /** \return the length of a voxel diagonal. */ + float getCellSizeNorm() const; + + /** Sample a random position in a given voxel. + \param cellId the voxel to sample from + \return the sampled position + \note The random generator is seeded at 0 when creating the grid. + \warning The current implementation is sampling in center+(random(-1,1)^3)*cellSize. + */ + sibr::Vector3f sampleCell(size_t cellId); + + protected: + + /** Helper to generate a voxel mesh. + \param cell the coordinates of the voxel to generate + \param filled should the mesh be wireframe (false) or faceted (true) + \return the generated mesh + */ + sibr::Mesh::Ptr getCellMeshInternal(const sibr::Vector3i & cell, bool filled) const; + + /** Helper to generate the voxel grid mesh. + \param filled should the mesh be wireframe (false) or faceted (true) + \return the generated mesh + */ + sibr::Mesh::Ptr getAllCellMeshInternal(bool filled) const; + + sibr::Vector3i dims; ///< Integer grid dimensions. + sibr::Vector3f cellSize; ///< World space voxel size. + float cellSizeNorm; ///< World space voxel diagonal length. + Box box; ///< Grid bounding box. + sibr::Mesh::Ptr baseCellMesh, baseCellMeshFilled; ///< Base meshes for visualisation. + + std::mt19937 _generator; ///< Generator for sampling, seeded at 0. + std::uniform_real_distribution _distribution; ///< (-1,1) distribution. + + }; + + + /** Voxel grid with custom data storage. */ + template class VoxelGrid : public VoxelGridBase { + + SIBR_CLASS_PTR(VoxelGrid); + public: + using VoxelType = CellType; + + public: + + /** Constructor. + \param boundingBox bounding box delimiting the voxellized region + \param numPerDim number of voxels along each dimension + \param forceCube if true, the largest dimension will be split in numPerDim voxels and the other such that the voxels are cubes in world space + */ + VoxelGrid(const Box & boundingBox, int numPerDim, bool forceCube = true) + : VoxelGrid(boundingBox, sibr::Vector3i(numPerDim, numPerDim, numPerDim) , forceCube) + { + } + + /** Constructor. + \param boundingBox bounding box delimiting the voxellized region + \param numsPerDim number of voxels along each dimension + \param forceCube if true, the largest dimension will be split in numPerDim voxels and the other such that the voxels are cubes in world space + */ + VoxelGrid(const Box & boundingBox, const sibr::Vector3i & numsPerDim, bool forceCube = true) + : VoxelGridBase(boundingBox, numsPerDim, forceCube) { + data.resize(getNumCells()); + } + + /** Get voxel at a given linear index. + \param cell_id the linear index + \return a reference to the voxel + */ + CellType & operator[](size_t cell_id) { + return data[cell_id]; + } + + /** Get voxel at a given linear index. + \param cell_id the linear index + \return a reference to the voxel + */ + const CellType & operator[](size_t cell_id) const { + return data[cell_id]; + } + + /** Get voxel at given integer 3D coordinates. + \param x x integer coordinate + \param y y integer coordinate + \param z z integer coordinate + \return a reference to the voxel + */ + CellType & operator()(int x, int y, int z) { + sibr::Vector3i v(x,y,z); + return data[getCellId(v)]; + } + + /** Get voxel at given integer 3D coordinates. + \param x x integer coordinate + \param y y integer coordinate + \param z z integer coordinate + \return a reference to the voxel + */ + const CellType & operator()(int x, int y, int z) const { + sibr::Vector3i v(x,y,z); + return data[getCellId(v)]; + } + + /** Get voxel at given integer 3D coordinates. + \param v integer coordinates + \return a reference to the voxel + */ + CellType & operator[](const sibr::Vector3i & v) { + return data[getCellId(v)]; + } + + /** Get voxel at given integer 3D coordinates. + \param v integer coordinates + \return a reference to the voxel + */ + const CellType & operator[](const sibr::Vector3i & v) const { + return data[getCellId(v)]; + } + + /** Generate a mesh from all voxels satisfying a condition. + \param filled should the mesh be wireframe (false) or faceted (true) + \param func the predicate to evaluate, will receive as unique argument a voxel (CellType). + \return the generated mesh + */ + template + sibr::Mesh::Ptr getAllCellMeshWithCond(bool filled, const FuncType & func) const; + + /** Get cell meshes from their ids. + \param filled should the mesh be wireframe (false) or faceted (true) + \param cell_ids ids of cell meshes. + \return the generated mesh + */ + sibr::Mesh::Ptr getAllCellMeshWithIds(bool filled, std::vector cell_ids) const; + + /** List the voxels that statisfy a condition (for instance fullness) + \param func the predicate to evaluate, will receive as unique argument a voxel (CellType). + \return a list of linear indices of all voxels such that func(voxel) is true. + */ + template + std::vector detect_non_empty_cells(const FuncType & func) const; + + /** \return the voxel grid data. */ + const std::vector & getData() const { + return data; + } + + protected: + + std::vector data; ///< Voxels storage. + }; + + + + template template + inline std::vector VoxelGrid::detect_non_empty_cells(const FuncType & func) const { + std::vector out_ids; + for (size_t i = 0; i < data.size(); ++i) { + if (func(data[i])) { + out_ids.push_back(i); + } + } + return out_ids; + } + + template template + inline sibr::Mesh::Ptr VoxelGrid::getAllCellMeshWithCond(bool filled, const FuncType & f) const + { + std::vector cell_ids = detect_non_empty_cells(f); + return getAllCellMeshWithIds(filled, cell_ids); + } + + /** }@ */ + + template + inline sibr::Mesh::Ptr VoxelGrid::getAllCellMeshWithIds(bool filled, std::vector cell_ids) const + { + int numNonZero = (int)cell_ids.size(); + + auto out = std::make_shared(); + + sibr::Mesh::Ptr baseMesh = filled ? baseCellMeshFilled : baseCellMesh; + + const int numT = (int)baseMesh->triangles().size(); + const int numTtotal = numNonZero * numT; + const int numV = (int)baseMesh->vertices().size(); + const int numVtotal = numNonZero * numV; + const sibr::Vector3u offsetT = sibr::Vector3u(numV, numV, numV); + + sibr::Mesh::Vertices vs(numVtotal); + sibr::Mesh::Triangles ts(numTtotal); + for (int i = 0; i < numNonZero; ++i) { + const auto cell = getCell(cell_ids[i]); + const sibr::Vector3f offsetV = cell.cast().array() * getCellSize().array(); + + for (int v = 0; v < numV; ++v) { + vs[i * numV + v] = baseMesh->vertices()[v] + offsetV; + } + for (int t = 0; t < numT; ++t) { + ts[i * numT + t] = baseMesh->triangles()[t] + i * offsetT; + } + } + + out->vertices(vs); + out->triangles(ts); + return out; + } + +} // namespace sibr + diff --git a/SIBR_viewers/src/core/raycaster/sibr_raycaster.dox b/SIBR_viewers/src/core/raycaster/sibr_raycaster.dox new file mode 100644 index 0000000000..51c1d570d2 --- /dev/null +++ b/SIBR_viewers/src/core/raycaster/sibr_raycaster.dox @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! + \defgroup sibr_raycaster sibr_raycaster + + \brief Raycasting utilities. + + This module provides functionalities related to raycasting on 2D and 3D geometry. + It contains basic 2D intersection tests, a wrapper around the embree raycasting library (http://embree.github.io/), + and helpers to perform raycasting over all pixels of an image. + +*/ diff --git a/SIBR_viewers/src/core/renderer/AddShadowRenderer.cpp b/SIBR_viewers/src/core/renderer/AddShadowRenderer.cpp new file mode 100644 index 0000000000..5b832f66ee --- /dev/null +++ b/SIBR_viewers/src/core/renderer/AddShadowRenderer.cpp @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include + +namespace sibr { + AddShadowRenderer::AddShadowRenderer( void ) + { + _shader.init("AddShadowShader", + sibr::loadFile(sibr::getShadersDirectory("core") + "/texture.vert"), + sibr::loadFile(sibr::getShadersDirectory("core") + "/addshadow.frag")); + _paramInvProj.init(_shader, "in_inv_proj"); + _paramImgSize.init(_shader, "in_image_size"); + } + + void AddShadowRenderer::process( + uint backgroundTextureID, + uint foregroundTextureID, + const Vector2f& textureSize, + const Camera& camera, + + IRenderTarget& dst ) + { + dst.bind(); + + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, foregroundTextureID ); + glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, backgroundTextureID ); + glDisable(GL_DEPTH_TEST); + glDisable(GL_BLEND); + glDepthMask(GL_TRUE); // but write the current values + _shader.begin(); + _paramInvProj.set(camera.invViewproj()); + _paramImgSize.set(textureSize); + RenderUtility::renderScreenQuad(); + _shader.end(); + + dst.unbind(); + } + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/AddShadowRenderer.hpp b/SIBR_viewers/src/core/renderer/AddShadowRenderer.hpp new file mode 100644 index 0000000000..e007da0910 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/AddShadowRenderer.hpp @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include + +# include + +namespace sibr { + + /** Composite two rendered scenes while generating local cast shadows from the top one to the bottom one. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT AddShadowRenderer + { + public: + typedef std::shared_ptr Ptr; + + public: + + /// Constructor. + AddShadowRenderer( void ); + + /** Composite the two textures, they sjould contain color+depth information in the alpha channel. + \param backgroundTextureID handle of the background image + \param foregroundTextureID handle of the foreground image + \param textureSize the texture size (should be the same) + \param camera the viewpoint used + \param dst the destination rendertarget + */ + void process( + /*input*/ uint backgroundTextureID, + uint foregroundTextureID, + const Vector2f& textureSize, + const Camera& camera, + /*output*/ IRenderTarget& dst ); + + private: + + GLShader _shader; ///< Composite shader. + GLParameter _paramInvProj; ///< Inverse proj matrix uniform. + GLParameter _paramImgSize; ///< Image size uniform. + + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/BinaryMeshRenderer.cpp b/SIBR_viewers/src/core/renderer/BinaryMeshRenderer.cpp new file mode 100644 index 0000000000..c63f946f4b --- /dev/null +++ b/SIBR_viewers/src/core/renderer/BinaryMeshRenderer.cpp @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "BinaryMeshRenderer.hpp" + +namespace sibr { + + BinaryMeshRenderer::BinaryMeshRenderer() + { + std::string vertex_shader = + SIBR_SHADER(420, + uniform mat4 MVP; + layout(location = 0) in vec3 in_vertex; + void main(void) { + gl_Position = MVP * vec4(in_vertex, 1.0); + } + ); + + std::string fragment_shader = SIBR_SHADER(420, + out vec4 out_color; + uniform float epsilon; + void main(void) { + out_color = vec4(1, 1, 1, 1); + gl_FragDepth = gl_FragCoord.z * (1.0 - epsilon); + } + ); + + _shader.init("binaryMeshShader", vertex_shader, fragment_shader); + _paramMVP.init(_shader, "MVP"); + epsilon.init(_shader, "epsilon"); + } + + void BinaryMeshRenderer::process(const Mesh & mesh, const Camera & eye, IRenderTarget & dst) + { + dst.bind(); + _shader.begin(); + _paramMVP.set(eye.viewproj()); + epsilon.send(); + + mesh.render(true, false); + + _shader.end(); + dst.unbind(); + } +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/renderer/BinaryMeshRenderer.hpp b/SIBR_viewers/src/core/renderer/BinaryMeshRenderer.hpp new file mode 100644 index 0000000000..b628b04365 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/BinaryMeshRenderer.hpp @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include +# include + +# include + +namespace sibr { + + /** Render a binary mask of a mesh, with options to limit Z-fighting. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT BinaryMeshRenderer + { + SIBR_CLASS_PTR(BinaryMeshRenderer); + + public: + + /// Constructor. + BinaryMeshRenderer(); + + /** Render the mesh mask. + Regions covered by the mesh will be filled with (1,1,1,1). + \param mesh the mesh to render + \param eye the viewpoint to use + \param dst the destination rendertarget + */ + void process( const Mesh& mesh, const Camera& eye, IRenderTarget& dst ); + + /** Shift that can be used to modify the depth written, + to avoid Z-fighting when rendering multiple masks of + the same mesh or combining masks. + If set to 0.0: no shift, if set to 1.0: all vertices sent to depth 0.0. + \return a reference to the shift + */ + float & getEpsilon() { + return epsilon.get(); + } + + private: + + GLShader _shader; ///< Mask shader. + GLuniform _paramMVP; ///< MVP uniform. + GLuniform epsilon = 0; ///< Epsilon uniform. + + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/BlurRenderer.cpp b/SIBR_viewers/src/core/renderer/BlurRenderer.cpp new file mode 100644 index 0000000000..d8aa678452 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/BlurRenderer.cpp @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include + +namespace sibr { + BlurRenderer::BlurRenderer( void ) + { + _shader.init("BlurShader", + sibr::loadFile(sibr::getShadersDirectory("core") + "/texture.vert"), + sibr::loadFile(sibr::getShadersDirectory("core") + "/blur.frag")); + _paramImgSize.init(_shader, "in_image_size"); + } + + void BlurRenderer::process( uint textureID, const Vector2f& textureSize, IRenderTarget& dst ) + { + dst.bind(); + + glDisable(GL_DEPTH_TEST); + glDisable(GL_BLEND); + + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, textureID ); + glDisable(GL_DEPTH_TEST); + _shader.begin(); + _paramImgSize.set(textureSize); + RenderUtility::renderScreenQuad(); + _shader.end(); + + dst.unbind(); + } + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/BlurRenderer.hpp b/SIBR_viewers/src/core/renderer/BlurRenderer.hpp new file mode 100644 index 0000000000..8daf4693bc --- /dev/null +++ b/SIBR_viewers/src/core/renderer/BlurRenderer.hpp @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include + +# include + +namespace sibr { + + /** Blur on color edges present in a texture. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT BlurRenderer + { + public: + typedef std::shared_ptr Ptr; + + public: + + /// Constructor. + BlurRenderer( void ); + + /** Process the texture. + \param textureID the texture to blur + \param textureSize the texture dimensions + \param dst the destination rendertarget + */ + void process( + /*input*/ uint textureID, + /*input*/ const Vector2f& textureSize, + /*output*/ IRenderTarget& dst ); + + private: + + GLShader _shader; ///< Blur shader. + GLParameter _paramImgSize; ///< Texture size uniform. + + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/CMakeLists.txt b/SIBR_viewers/src/core/renderer/CMakeLists.txt new file mode 100644 index 0000000000..212b23816c --- /dev/null +++ b/SIBR_viewers/src/core/renderer/CMakeLists.txt @@ -0,0 +1,65 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(sibr_renderer) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +file(GLOB SHADERS "shaders/*.frag" "shaders/*.vert" "shaders/*.geom" "shaders/*.fp" "shaders/*.gp" "shaders/*.vp") +source_group("Source Files\\shaders" FILES ${SHADERS}) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp" "shaders/*.frag" "shaders/*.vert" "shaders/*.geom" "shaders/*.fp" "shaders/*.gp" "shaders/*.vp") + +## Specify target rules +add_library(${PROJECT_NAME} SHARED ${SOURCES}) + +include_directories(${Boost_INCLUDE_DIRS} .) +if(WIN32) +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + glfw3 + sibr_system + sibr_view + sibr_assets + sibr_scene +) +else() +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + ${GLFW_LIBRARY} + sibr_system + sibr_view + sibr_assets + sibr_scene +) +endif() + +add_definitions( -DSIBR_EXP_RENDERER_EXPORTS -DBOOST_ALL_DYN_LINK ) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER ${SIBR_FOLDER}) + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + SHADERS "${SHADERS}" + RSC_FOLDER "core" + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) + diff --git a/SIBR_viewers/src/core/renderer/ColoredMeshRenderer.cpp b/SIBR_viewers/src/core/renderer/ColoredMeshRenderer.cpp new file mode 100644 index 0000000000..ceb0e2723e --- /dev/null +++ b/SIBR_viewers/src/core/renderer/ColoredMeshRenderer.cpp @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/Texture.hpp" +#include + +namespace sibr { + ColoredMeshRenderer::ColoredMeshRenderer( void ) + { + _shader.init("ColoredMesh", + sibr::loadFile(sibr::getShadersDirectory("core") + "/colored_mesh.vert"), + sibr::loadFile(sibr::getShadersDirectory("core") + "/colored_mesh.frag")); + _paramMVP.init(_shader,"MVP"); + } + + void ColoredMeshRenderer::process( const Mesh& mesh, const Camera& eye, IRenderTarget& target, sibr::Mesh::RenderMode mode, bool backFaceCulling ) + { + //glViewport(0.f, 0.f, target.w(), target.h()); + target.bind(); + glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT); + _shader.begin(); + _paramMVP.set(eye.viewproj()); + mesh.render(true, backFaceCulling); + _shader.end(); + target.unbind(); + } + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/ColoredMeshRenderer.hpp b/SIBR_viewers/src/core/renderer/ColoredMeshRenderer.hpp new file mode 100644 index 0000000000..507cdd75b6 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/ColoredMeshRenderer.hpp @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include +# include + +# include + +namespace sibr { + + /** Render a mesh colored using the per-vertex color attribute. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT ColoredMeshRenderer + { + public: + typedef std::shared_ptr Ptr; + + public: + + /// Constructor. + ColoredMeshRenderer( void ); + + /** Render the mesh using its vertices colors, interpolated over triangles. + \param mesh the mesh to render + \param eye the viewpoint to use + \param dst the destination rendertarget + \param mode the rendering mode of the mesh + \param backFaceCulling should backface culling be performed + */ + void process( + /*input*/ const Mesh& mesh, + /*input*/ const Camera& eye, + /*output*/ IRenderTarget& dst, + /*mode*/ sibr::Mesh::RenderMode mode = sibr::Mesh::FillRenderMode, + /*BFC*/ bool backFaceCulling = true); + + private: + + GLShader _shader; ///< Color shader. + GLParameter _paramMVP; ///< MVP uniform. + + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/Config.hpp b/SIBR_viewers/src/core/renderer/Config.hpp new file mode 100644 index 0000000000..d031cf4691 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/Config.hpp @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include + +# ifdef SIBR_OS_WINDOWS +# ifdef SIBR_STATIC_DEFINE +# define SIBR_EXPORT +# define SIBR_NO_EXPORT +# else +# ifndef SIBR_EXP_RENDERER_EXPORT +# ifdef SIBR_EXP_RENDERER_EXPORTS +/* We are building this library */ +# define SIBR_EXP_RENDERER_EXPORT __declspec(dllexport) +# else +/* We are using this library */ +# define SIBR_EXP_RENDERER_EXPORT __declspec(dllimport) +# endif +# endif +# ifndef SIBR_NO_EXPORT +# define SIBR_NO_EXPORT +# endif +# endif +# else +# define SIBR_EXP_RENDERER_EXPORT +# endif diff --git a/SIBR_viewers/src/core/renderer/CopyRenderer.cpp b/SIBR_viewers/src/core/renderer/CopyRenderer.cpp new file mode 100644 index 0000000000..b491aacf7c --- /dev/null +++ b/SIBR_viewers/src/core/renderer/CopyRenderer.cpp @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include + +namespace sibr { + CopyRenderer::CopyRenderer(const std::string& vertFile, const std::string& fragFile) + { + _shader.init("CopyShader", + sibr::loadFile(vertFile), + sibr::loadFile(fragFile)); + + _flip.init(_shader, "flip"); + } + + void CopyRenderer::process( uint textureID, IRenderTarget& dst, bool disableTest ) + { + if (disableTest) + glDisable(GL_DEPTH_TEST); + else + glEnable(GL_DEPTH_TEST); + + _shader.begin(); + _flip.send(); + + dst.clear(); + dst.bind(); + + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, textureID ); + sibr::RenderUtility::renderScreenQuad(); + + dst.unbind(); + _shader.end(); + } + + void CopyRenderer::copyToWindow(uint textureID, Window& dst) + { + glDisable(GL_DEPTH_TEST); + + _shader.begin(); + + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, textureID); + sibr::RenderUtility::renderScreenQuad(); + + _shader.end(); + } + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/CopyRenderer.hpp b/SIBR_viewers/src/core/renderer/CopyRenderer.hpp new file mode 100644 index 0000000000..2baf4f57fc --- /dev/null +++ b/SIBR_viewers/src/core/renderer/CopyRenderer.hpp @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include + +# include + +namespace sibr { + + /** Copy the content of an input texture to another rendertarget or to the window. + If you need a basic copy, prefer using blit. + \sa sibr::blit + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT CopyRenderer + { + public: + typedef std::shared_ptr Ptr; + + public: + + /** Constructor. You can specify custom shaders, refer to noproj.vert and copy.frag for examples. + \param vertFile pah to the vertex shader file + \param fragFile pah to the fragment shader file + */ + CopyRenderer( + const std::string& vertFile = sibr::getShadersDirectory("core") + "/noproj.vert", + const std::string& fragFile = sibr::getShadersDirectory("core") + "/copy.frag" + ); + + /** Copy input texture to the output texture, copy also the input alpha into depth. + \param textureID the texture to copy + \param dst the destination + \param disableTest disable depth testing (depth won't be written) + */ + void process( uint textureID, IRenderTarget& dst, + bool disableTest=true); + + /** Copy input texture to a window. + \param textureID the texture to copy + \param dst the destination window + */ + void copyToWindow( uint textureID, Window& dst); + + /** \return option to flip the texture when copying. */ + bool & flip() { return _flip.get(); } + + private: + + GLShader _shader; ///< Copy shader. + GLuniform _flip = false; ///< Flip the texture when copying. + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/DepthRenderer.cpp b/SIBR_viewers/src/core/renderer/DepthRenderer.cpp new file mode 100644 index 0000000000..76503b3465 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/DepthRenderer.cpp @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +# include +# include "core/graphics/RenderUtility.hpp" + + +namespace sibr +{ + + DepthRenderer::~DepthRenderer() {}; + + DepthRenderer::DepthRenderer(int w,int h) + { + _depthShader.init("DepthShader", + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("depthRenderer.vp")), + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("depthRenderer.fp"))); + + _depthShader_MVP.init(_depthShader,"MVP"); + _depth_RT.reset(new sibr::RenderTargetLum32F(w,h)); + + } + + void DepthRenderer::render( const sibr::InputCamera& cam, const Mesh& mesh, bool backFaceCulling, bool frontFaceCulling) + { + + //sibr::Vector1f cc(1.0); + //_depth_RT->clear(cc); + + glViewport(0, 0, _depth_RT->w(), _depth_RT->h()); + _depth_RT->bind(); + glClearColor(1.0, 1.0, 1.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + _depthShader.begin(); + _depthShader_MVP.set(cam.viewproj()); + + mesh.render(true, backFaceCulling, sibr::Mesh::FillRenderMode, frontFaceCulling); + + _depthShader.end(); + + } + +} // namespace \ No newline at end of file diff --git a/SIBR_viewers/src/core/renderer/DepthRenderer.hpp b/SIBR_viewers/src/core/renderer/DepthRenderer.hpp new file mode 100644 index 0000000000..9c3c83d047 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/DepthRenderer.hpp @@ -0,0 +1,65 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include "core/assets/InputCamera.hpp" +# include "core/graphics/Texture.hpp" +# include "core/graphics/Camera.hpp" +# include "core/graphics/RenderUtility.hpp" +# include "core/assets/Resources.hpp" +# include "core/graphics/Shader.hpp" +# include "core/graphics/Mesh.hpp" + + +namespace sibr +{ + + /** Render a mesh to a depth rendertarget. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT DepthRenderer + { + + public: + + using Ptr = std::shared_ptr; + + /** Constructor with a target size. + \param w target width + \param h target height + */ + DepthRenderer(int w,int h) ; + + /// Destructor. + ~DepthRenderer(); + + /** Render a mesh depth in the result rendertarget. + \param cam the viewpoint to use + \param mesh the mesh to render + \param backFaceCulling should perform backface culling + \param frontFaceCulling flip culling test orientation + */ + void render( const sibr::InputCamera &cam, const Mesh& mesh, bool backFaceCulling=false, bool frontFaceCulling=false); + + std::shared_ptr _depth_RT; ///< The result depth rendertarget. + + private: + + sibr::GLShader _depthShader; ///< Depth shader. + sibr::GLParameter _depthShader_MVP; ///< Shader MVP. + + }; + +} // namespace + diff --git a/SIBR_viewers/src/core/renderer/NormalRenderer.cpp b/SIBR_viewers/src/core/renderer/NormalRenderer.cpp new file mode 100755 index 0000000000..f9f3a492cf --- /dev/null +++ b/SIBR_viewers/src/core/renderer/NormalRenderer.cpp @@ -0,0 +1,111 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +# include +# include "core/graphics/RenderUtility.hpp" + +# define USE_PIXELART_MODEN 0 // just for fun (and e-art!) + +namespace sibr +{ + + NormalRenderer::~NormalRenderer() {}; + + NormalRenderer::NormalRenderer(int w, int h, bool generate, bool useFloats, bool imSpace) + { + _generate = generate; + _useFloats = useFloats; + + if (_generate) { + + _normalShader.init("NormalShader", + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("normalRendererGen.vp")), + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("normalRenderer.fp")), + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("normalRendererGen.gp"))); + + _normalShader_projInv.init(_normalShader, "MVPinv"); + } + else { + + _normalShader.init("NormalShader", + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("normalRenderer.vp")), + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("normalRenderer.fp"))); + } + + _normalShader_proj.init(_normalShader, "MVP"); + _normalShader_view.init(_normalShader, "V"); + _normalShader_model.init(_normalShader, "M"); + _normalShader_imSpace.init(_normalShader, "imSpaceNormals"); + _normalShader.begin(); + _normalShader_imSpace.set(imSpace); + _normalShader.end(); + + if (_useFloats) { + _normal_RT_32F.reset(new sibr::RenderTargetRGBA32F(w, h)); + } else { + _normal_RT.reset(new sibr::RenderTargetRGB(w, h)); + } + + + } + + void NormalRenderer::setWH(int w, int h) { + if (_useFloats) { + _normal_RT_32F.reset(new sibr::RenderTargetRGBA32F(w, h)); + } + else { + _normal_RT.reset(new sibr::RenderTargetRGB(w, h)); + } + } + + void NormalRenderer::render(const sibr::InputCamera& cam, const Mesh& mesh, const Matrix4f &modelMat, bool clear) + { +#if USE_PIXELART_MODEN + glPointSize(10.f); +#else + glPointSize(2.f); +#endif + + if (_useFloats) { + if(clear) + _normal_RT_32F->clear(sibr::Vector4f(0.5f,0.5f,0.5f,1.0f)); + glViewport(0, 0, _normal_RT_32F->w(), _normal_RT_32F->h()); + _normal_RT_32F->bind(); + } else { + _normal_RT->bind(); + if (clear) { + glClearColor(0.5f, 0.5f, 0.5f, 1.0f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + } + glViewport(0, 0, _normal_RT->w(), _normal_RT->h()); + glScissor(0, 0, _normal_RT->w(), _normal_RT->h()); + } + + _normalShader.begin(); + const Matrix4f MVP = cam.viewproj() * modelMat; + _normalShader_proj.set(MVP); + _normalShader_view.set(cam.view()); + _normalShader_model.set(modelMat); + + if (_generate) { + const Matrix4f MVPinv = (cam.viewproj()*modelMat).inverse(); + _normalShader_projInv.set(MVPinv); + } + + // std::cout << cam.znear() << " " << cam.zfar() << " " << cam.viewproj() << std::endl; + mesh.render(true, true, sibr::Mesh::FillRenderMode); + + _normalShader.end(); + + } + +} // namespace \ No newline at end of file diff --git a/SIBR_viewers/src/core/renderer/NormalRenderer.hpp b/SIBR_viewers/src/core/renderer/NormalRenderer.hpp new file mode 100644 index 0000000000..f1a48800cd --- /dev/null +++ b/SIBR_viewers/src/core/renderer/NormalRenderer.hpp @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include + +# include "core/assets/InputCamera.hpp" +# include "core/graphics/Texture.hpp" +# include "core/graphics/Camera.hpp" +# include "core/graphics/RenderUtility.hpp" +# include "core/assets/Resources.hpp" +# include "core/graphics/Shader.hpp" +# include "core/graphics/Mesh.hpp" + + +namespace sibr +{ + + /** Render the world or view space normals of a mesh. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT NormalRenderer + { + + public: + + /** Constructor. + \param w target width + \param h target height + \param generate if true, use a geoemtry shader to compute normals on the fly, else use vertex normals + \param useFloats if true, render in a 32F rendertarget, else use 8U + \param imSpace if true, render view space normals, else render world space normals + */ + NormalRenderer(int w,int h, bool generate = true, bool useFloats = false, bool imSpace = false) ; + + /// Destructor. + ~NormalRenderer(); + + /** Render the mesh normals in the internal render target. + \param cam the viewpoint to use + \param mesh the mesh to render + \param modelMat additional model matrix + \param clear clear the rendertarget before rendering + */ + void render( const sibr::InputCamera &cam, const Mesh& mesh, const Matrix4f &modelMat = Matrix4f::Identity(), bool clear=true); + + /** Resize the internal rendertarget. + \param w the new width + \param h the new height + */ + void setWH(int w, int h); + + std::shared_ptr _normal_RT; ///< The low-precision normal result rendertarget (used if useFloats is false). + std::shared_ptr _normal_RT_32F; ///< The high-precision normal result rendertarget (used if useFloats is true). + + private: + + sibr::GLShader _normalShader; ///< Normal shader. + sibr::GLParameter _normalShader_proj; ///< Projection matrix uniform. + sibr::GLParameter _normalShader_view; ///< View matrix uniform. + sibr::GLParameter _normalShader_model; ///< Model matrix uniform. + sibr::GLParameter _normalShader_projInv; ///< Inverse projection matrix uniform. + sibr::GLParameter _normalShader_imSpace; ///< View space toggle uniform. + bool _generate; ///< Should normals be generated on the fly. + bool _useFloats; ///< Should the normals be rendered to a 32F precision target. + + }; + + +} // namespace + diff --git a/SIBR_viewers/src/core/renderer/PointBasedRenderer.cpp b/SIBR_viewers/src/core/renderer/PointBasedRenderer.cpp new file mode 100644 index 0000000000..ea7b043cdc --- /dev/null +++ b/SIBR_viewers/src/core/renderer/PointBasedRenderer.cpp @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include + +namespace sibr { + PointBasedRenderer::PointBasedRenderer() + { + _shader.init("PointBased", + sibr::loadFile(sibr::getShadersDirectory("core") + "/alpha_points.vert"), + sibr::loadFile(sibr::getShadersDirectory("core") + "/alpha_points.frag")); + _paramMVP.init(_shader,"mvp"); + _paramAlpha.init(_shader,"alpha"); + _paramRadius.init(_shader,"radius"); + _paramUserColor.init(_shader,"user_color"); + } + + void PointBasedRenderer::meshToDevice(const Mesh& mesh) + { + mesh.forceBufferGLUpdate(); + } + + void PointBasedRenderer::process(const Mesh& mesh, const Camera& eye, IRenderTarget& dst, bool backfaceCull) + { + glEnable(GL_DEPTH_TEST); + glEnable(GL_PROGRAM_POINT_SIZE); + dst.bind(); + _shader.begin(); + _paramMVP.set(eye.viewproj()); + _paramAlpha.set(float(1.0)); + _paramRadius.set(3); + _paramUserColor.set(Vector3f(.1, .1, 1.0)); + + mesh.render_points(); + _shader.end(); + dst.unbind(); + glDisable(GL_PROGRAM_POINT_SIZE); + glDisable(GL_DEPTH_TEST); + } + + void PointBasedRenderer::process(const Mesh& mesh, const Camera& eye, const sibr::Matrix4f& model, IRenderTarget& dst, bool backfaceCull) + { + glEnable(GL_DEPTH_TEST); + glEnable(GL_PROGRAM_POINT_SIZE); + dst.bind(); + _shader.begin(); + _paramMVP.set(sibr::Matrix4f(eye.viewproj() * model)); + _paramAlpha.set(float(1.0)); + _paramRadius.set(2); + _paramUserColor.set(Vector3f(.1, .1, 1.0)); + mesh.render_points(); + _shader.end(); + dst.unbind(); + glDisable(GL_PROGRAM_POINT_SIZE); + glDisable(GL_DEPTH_TEST); + } + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/PointBasedRenderer.hpp b/SIBR_viewers/src/core/renderer/PointBasedRenderer.hpp new file mode 100644 index 0000000000..87bbd40e4e --- /dev/null +++ b/SIBR_viewers/src/core/renderer/PointBasedRenderer.hpp @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include +# include + +# include + +namespace sibr { + + /** Render a Point Cloud with colors + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT PointBasedRenderer + { + public: + typedef std::shared_ptr Ptr; + + public: + + /** Constructor. + */ + PointBasedRenderer(); + + void meshToDevice(const Mesh& mesh); + + /** Render the textured mesh. + \param mesh the mesh to render (should have UV attribute) + \param eye the viewpoint to use + \param dst destination rendertarget + \param backfaceCull should backface culling be performed + */ + void process(const Mesh& mesh, const Camera& eye, IRenderTarget& dst, bool backfaceCull = true); + + /** Render the textured mesh. + \param mesh the mesh to render (should have UV attribute) + \param eye the viewpoint to use + \param model additional transformation matrix + \param dst destination rendertarget + \param backfaceCull should backface culling be performed + */ + void process(const Mesh & mesh, const Camera & eye, const sibr::Matrix4f & model, IRenderTarget & dst, bool backfaceCull = true); + + protected: + + GLShader _shader; ///< The point based shader. + GLuniform _paramMVP; ///< MVP uniform. + GLuniform _paramAlpha; ///< Alpha uniform. + GLuniform _paramRadius; ///< Radius uniform. + GLuniform _paramUserColor; + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/PoissonRenderer.cpp b/SIBR_viewers/src/core/renderer/PoissonRenderer.cpp new file mode 100644 index 0000000000..f0804df95f --- /dev/null +++ b/SIBR_viewers/src/core/renderer/PoissonRenderer.cpp @@ -0,0 +1,168 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/** +* +* Poisson synthesis. +*/ + +#include +#include + +#include +#include + +#include + +using namespace sibr; + +/** Number of levels poisson multi-grid */ +#define POISSON_LEVELS 5 + +/** Number of relaxation/jacobi iterations at each level */ +#define POISSON_ITERATIONS 2 + +/** Ratio of successive levels of poisson multi-grid */ +#define MULTIGRID_SCALE 2 + +namespace sibr { + // ----------------------------------------------------------------------- + + PoissonRenderer ::PoissonRenderer ( uint w, uint h ) : + _size(w, h) + { + std::string vp = sibr::loadFile(sibr::getShadersDirectory("core") + "/texture.vert"); + _jacobiShader .init("Jacobi", vp, sibr::loadFile(sibr::getShadersDirectory("core") + "/poisson_jacobi.frag")); + _restrictShader.init("Restrict",vp, sibr::loadFile(sibr::getShadersDirectory("core") + "/poisson_restrict.frag")); + _interpShader .init("Interp", vp, sibr::loadFile(sibr::getShadersDirectory("core") + "/poisson_interp.frag")); + _divergShader .init("Diverg", vp, sibr::loadFile(sibr::getShadersDirectory("core") + "/poisson_diverg.frag")); + + // GLParameters + _jacobi_weights.init(_jacobiShader, "weights"); + _jacobi_scale.init(_jacobiShader, "scale"); + _restrict_scale.init(_restrictShader, "scale"); + _interp_scale .init(_interpShader, "scale"); + + _poisson_div_RT.resize(POISSON_LEVELS); + for (uint i=0; i<_poisson_div_RT.size(); i++) { + uint ww = std::max(1u, uint(w/pow( (float)MULTIGRID_SCALE, (int)i))); + uint hh = std::max(1u, uint(h/pow( (float)MULTIGRID_SCALE, (int)i))); + _poisson_div_RT[i].reset(new sibr::RenderTargetRGBA(ww,hh, SIBR_CLAMP_UVS)); + } + _poisson_RT.reset(new sibr::RenderTargetRGBA(w,h, SIBR_CLAMP_UVS | SIBR_GPU_LINEAR_SAMPLING)); + _poisson_tmp_RT.reset(new sibr::RenderTargetRGBA(w,h, SIBR_CLAMP_UVS | SIBR_GPU_LINEAR_SAMPLING)); + _enableFix = true; + + } + + // ----------------------------------------------------------------------- + + uint PoissonRenderer::render( uint texture ) + { + glPushDebugGroup(GL_DEBUG_SOURCE_APPLICATION, 0, -1, "Poisson filling"); + // divergence of gradient map and dirichlet constraints + _divergShader.begin(); + _poisson_div_RT[0]->clear(); + _poisson_div_RT[0]->bind(); + glViewport(0, 0, _poisson_div_RT[0]->w(), _poisson_div_RT[0]->h()); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, texture); + RenderUtility::renderScreenQuad(); + _poisson_div_RT[0]->unbind(); + _divergShader.end(); + + // restrict the divergence + for (int k=0; kclear(); + _poisson_div_RT[k+1]->bind(); + glViewport(0,0, _poisson_div_RT[k+1]->w(), _poisson_div_RT[k+1]->h()); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, _poisson_div_RT[k]->texture()); + _restrict_scale.set(float(_poisson_div_RT[k]->w())/_poisson_div_RT[k+1]->w()); + RenderUtility::renderScreenQuad(); + _poisson_div_RT[k+1]->unbind(); + _restrictShader.end(); + } + + // perform jacobi iterations and upsample the result to higher level + bool isFirst = _enableFix; + for (int k=(int)_poisson_div_RT.size()-1; k>=0; k--) { + for (uint i=0; iclear(); + _poisson_RT->bind(); + glViewport(0,0, _poisson_div_RT[k]->w(), _poisson_div_RT[k]->h()); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, _poisson_tmp_RT->texture()); + _jacobi_weights.set((float)xh, (float)e, (float)c, (float)(1.0/(m-xh))); + _jacobi_scale.set( isFirst ? (float(_poisson_tmp_RT->w()) / _poisson_div_RT[k]->w()) : 1.0f); + RenderUtility::renderScreenQuad(); + _poisson_RT->unbind(); + _jacobiShader.end(); + + isFirst = false; + } + + if (k > 0) { + std::swap(_poisson_tmp_RT, _poisson_RT); + _interpShader.begin(); + _poisson_RT->clear(); + _poisson_RT->bind(); + glViewport(0,0, _poisson_div_RT[k-1]->w(), _poisson_div_RT[k-1]->h()); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, _poisson_tmp_RT->texture()); + glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, _poisson_div_RT[k-1]->texture()); + _interp_scale.set(float(_poisson_div_RT[k-1]->w()) / _poisson_div_RT[k]->w()); + RenderUtility::renderScreenQuad(); + _poisson_RT->unbind(); + _interpShader.end(); + } else { + std::swap(_poisson_tmp_RT, _poisson_RT); + _interpShader.begin(); + _poisson_RT->clear(); + _poisson_RT->bind(); + glViewport(0,0, _poisson_RT->w(), _poisson_RT->h()); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, _poisson_tmp_RT->texture()); + glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, texture); + _interp_scale.set(1.0f); + RenderUtility::renderScreenQuad(); + _poisson_RT->unbind(); + _interpShader.end(); + } + } + glPopDebugGroup(); + return _poisson_RT->texture(); + } + + void PoissonRenderer::process( const RenderTargetRGBA::Ptr& src, RenderTargetRGBA::Ptr& dst ) + { + SIBR_ASSERT(src != nullptr); + /// \todo TODO SR: support IRenderTarget instead of just RGBA + render(src->texture()); + std::swap(dst, _poisson_RT); + } + + void PoissonRenderer::process( uint texID, RenderTargetRGBA::Ptr& dst ) + { + render(texID); + std::swap(dst, _poisson_RT); + } + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/PoissonRenderer.hpp b/SIBR_viewers/src/core/renderer/PoissonRenderer.hpp new file mode 100644 index 0000000000..ecc91ed45f --- /dev/null +++ b/SIBR_viewers/src/core/renderer/PoissonRenderer.hpp @@ -0,0 +1,119 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "Config.hpp" + +# include +# include +# include + +# include +# include +# include "core/graphics/Shader.hpp" + +namespace sibr { + + /** + * Hole filling by poisson synthesis on an input texture; + * contains all shaders, render targets and render passes. + * All black pixels on the input texture are considered holes + * and Poisson synthesis affects these pixels only, all + * other pixels are treated at Dirichlet boundary conditions. + * \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT PoissonRenderer + { + public: + typedef std::shared_ptr Ptr; + + public: + + /** + * Initialize Poisson solvers render targets and shaders. + * \param w width of highest resolution multigrid level + * \param h height of highest resolution multigrid level + */ + PoissonRenderer ( uint w, uint h ); + + /** Perform poisson filling. + \param src source rendertarget, black pixels will be filled + \param dst destination rendertarget + */ + void process( + /*input*/ const RenderTargetRGBA::Ptr& src, + /*ouput*/ RenderTargetRGBA::Ptr& dst ); + + /** Perform poisson filling. + \param texID source texture handle, black pixels will be filled + \param dst destination rendertarget + */ + void process( + /*input*/ uint texID, + /*ouput*/ RenderTargetRGBA::Ptr& dst ); + + /** + * \return the size used for in/out textures (defined in ctor) + */ + const Vector2i& getSize( void ) const; + + /** If true, fix a bug caused by erroneous viewport when initializing the internal pyramid. + Left exposed for retrocompatibility reasons. + \return a reference to the bugfix toggle. */ + bool & enableFix() { return _enableFix; } + + private: + /** + * Render the full Poisson synthesis on the holes in texture 'tex'. + * \param tex OpenGL texture handle of input texture + * \returns OpenGL texture handle of texture containing Poisson synthesis solution + */ + uint render( uint tex ); + + /** Size defined in the ctor */ + Vector2i _size; + + /** Shader to perform Jacobi relaxations */ + sibr::GLShader _jacobiShader; + + /** Shader to downsample input texture and boundary conditions from + * higher multigrid level to next lower level */ + sibr::GLShader _restrictShader; + + /** Shader to interpolate Poisson synthesis solution from + * lower multigrid level to next higher level */ + sibr::GLShader _interpShader; + + /** Shader to compute divergence (second derivative) field of input texture */ + sibr::GLShader _divergShader; + + /** Render target to store Poisson synthesis result */ + RenderTargetRGBA::Ptr _poisson_RT; + + /** Helper render target for \p _poisson_RT to + * perform ping-pong render passes during Jacobi relaxations */ + RenderTargetRGBA::Ptr _poisson_tmp_RT; + + /** Dirichlet constraints for each multigrid level */ + std::vector _poisson_div_RT; + + /** Jacobi step parameters. */ + sibr::GLParameter _jacobi_weights, _jacobi_scale, _restrict_scale; + /** Interpolation scale. */ + sibr::GLParameter _interp_scale; + + /** Enable the "weird large regions of color" bugfix. */ + bool _enableFix = true; + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/PositionRender.cpp b/SIBR_viewers/src/core/renderer/PositionRender.cpp new file mode 100644 index 0000000000..e357d3bc73 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/PositionRender.cpp @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +# include "PositionRender.hpp" + +#include + +namespace sibr +{ + PositionRenderer::PositionRenderer(int w,int h) + { + _shader.init("positionRendere", + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("positionRenderer.vert")), + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("positionRenderer.frag"))); + + _MVP.init(_shader,"MVP"); + _RT.reset(new sibr::RenderTargetRGB32F(w,h)); + } + + void PositionRenderer::render( const sibr::Camera& cam, const Mesh& mesh, bool backFaceCulling, bool frontFaceCulling) + { + glViewport(0, 0, _RT->w(), _RT->h()); + _RT->bind(); + glClearColor(0.0, 0.0, 0.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + _shader.begin(); + _MVP.set(cam.viewproj()); + + mesh.render(true, backFaceCulling, sibr::Mesh::FillRenderMode, frontFaceCulling); + + _shader.end(); + _RT->unbind(); + } + +} // namespace \ No newline at end of file diff --git a/SIBR_viewers/src/core/renderer/PositionRender.hpp b/SIBR_viewers/src/core/renderer/PositionRender.hpp new file mode 100644 index 0000000000..e59f756f5b --- /dev/null +++ b/SIBR_viewers/src/core/renderer/PositionRender.hpp @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "Config.hpp" + +# include +# include +# include +# include + +# include + + +namespace sibr +{ + /** Render the world space positions of a mesh surface. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT PositionRenderer + { + SIBR_CLASS_PTR(PositionRenderer); + + public: + + /** Constructor with a target size. + \param w the target width + \param h the target height + */ + PositionRenderer(int w,int h); + + /** Render the mesh world positions. + \param cam the viewpoint to use + \param mesh the mesh to render + \param backFaceCulling should backface culling be performed + \param frontFaceCulling flip the culling test orientation + */ + void render( const sibr::Camera &cam, const Mesh& mesh, bool backFaceCulling=false, bool frontFaceCulling=false); + + /** \return the result rendertarget containing world space positions. */ + const sibr::RenderTargetRGB32F::Ptr & getPositionsRT() { return _RT; } + + private: + + sibr::GLShader _shader; ///< The positions shader. + sibr::GLuniform _MVP; ///< MVP uniform. + sibr::RenderTargetRGB32F::Ptr _RT; ///< Destination render target. + + }; + +} // namespace + diff --git a/SIBR_viewers/src/core/renderer/RenderMaskHolder.cpp b/SIBR_viewers/src/core/renderer/RenderMaskHolder.cpp new file mode 100644 index 0000000000..ed68b03fc5 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/RenderMaskHolder.cpp @@ -0,0 +1,143 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include + +namespace sibr { + void RenderMaskHolder::setMasks( const std::vector& masks ) + { + _masks = masks; + } + + const std::vector& RenderMaskHolder::getMasks( void ) const + { + return _masks; + } + + bool RenderMaskHolder::useMasks( void ) const + { + return _masks.empty() == false; + } + + void RenderMaskHolder::uploadMaskGPU(sibr::ImageL8& img, int i, std::vector & masks, bool invert) + { + sibr::GLShader textureShader; + textureShader.init("Texture", + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("texture.vp")), + invert ? sibr::loadFile(sibr::getShadersDirectory("core") + "/texture-invert.frag") : sibr::loadFile(sibr::getShadersDirectory("core") + "/texture.frag")); + + std::shared_ptr maskRTPtr; + maskRTPtr.reset(new sibr::RenderTargetLum(img.w(), img.h())); + + img.flipH(); + std::shared_ptr rawInputImage(new sibr::Texture2DLum(img)); + img.flipH(); + + glViewport(0,0, img.w(), img.h()); + maskRTPtr->clear(); + maskRTPtr->bind(); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, rawInputImage->handle()); + + glDisable(GL_DEPTH_TEST); + textureShader.begin(); + sibr::RenderUtility::renderScreenQuad(); + textureShader.end(); + + maskRTPtr->unbind(); +/* + maskRTPtr->readBack(img); + sibr::show(img); +*/ + masks.push_back(maskRTPtr); + } + + + void RenderMaskHolder::loadMasks(const sibr::BasicIBRScene::Ptr& ibrScene, const std::string& maskDir, + const std::string& preFileName, const std::string& postFileName, int w, int h) + { + if( boost::filesystem::exists(maskDir) ) { + + for(int i=0; i<(int)ibrScene->cameras()->inputCameras().size(); i++ ) { + sibr::ImageRGB mask; + std::string filename = maskDir + "/" + preFileName + sibr::imageIdToString(i) + postFileName; + + if( boost::filesystem::exists(filename)) { + mask.load(filename,false); + // Split the image in its channels and keep only the first. + cv::Mat channels[3]; + cv::split(mask.toOpenCV(), channels); + sibr::ImageL8 maskOneChan; + maskOneChan.fromOpenCV(channels[0]); + uploadMaskGPU(maskOneChan, i, _masks, false); + } + else { + if( ibrScene->cameras()->inputCameras()[i]->isActive() ) + SIBR_ERR << "[RenderMaskHolder] couldnt find " << filename << std::endl; + else { /// push back empty mask so array is consistent + /// \todo TODO GD -- this is wasteful, should fine better way + std::shared_ptr maskRTPtr; + maskRTPtr.reset(new sibr::RenderTargetLum(w, h)); + _masks.push_back(maskRTPtr); + } + } + } + + } + else + SIBR_ERR << "[RenderMaskHolder] Cant find directory " << maskDir << std::endl; + } + + void RenderMaskHolderArray::setMasks(const MaskArrayPtr& masks) + { + _masks = masks; + } + + const RenderMaskHolderArray::MaskArrayPtr & RenderMaskHolderArray::getMasks(void) const { + return _masks; + } + + void RenderMaskHolderArray::loadMasks( + const sibr::BasicIBRScene::Ptr& ibrScene, + const std::string& maskDir, const std::string& preFileName, + const std::string& postFileName, int w, int h + ) { + std::string maskdir = (maskDir == "" ? ibrScene->data()->basePathName() + "/images/" : maskDir); + + if (!boost::filesystem::exists(maskdir)) { + SIBR_ERR << "[RenderMaskHolder] Cant find directory " << maskDir << std::endl; + } else { + int numInputImgs = (int)ibrScene->cameras()->inputCameras().size(); + std::vector masks(numInputImgs); + for (int i = 0; i < numInputImgs; i++) { + std::string filename = maskDir + "/" + preFileName + sibr::imageIdToString(i) + postFileName; + + cv::Mat mask = cv::imread(filename); + + if (mask.empty()) { + SIBR_ERR << "[RenderMaskHolderArray] couldnt find or read " << filename << std::endl; + } + + cv::Mat channels[3]; + cv::split(mask, channels); + if (w > 0 && h > 0) { + cv::resize(channels[0], channels[0], cv::Size(w, h)); + } + masks[i] = channels[0]; + } + + _masks = MaskArrayPtr(new MaskArray(masks, SIBR_FLIP_TEXTURE)); + } + } +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/RenderMaskHolder.hpp b/SIBR_viewers/src/core/renderer/RenderMaskHolder.hpp new file mode 100644 index 0000000000..5af2996d2f --- /dev/null +++ b/SIBR_viewers/src/core/renderer/RenderMaskHolder.hpp @@ -0,0 +1,111 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "Config.hpp" +# include +# include +# include +# include +# include + +namespace sibr { + + /** Store a set of masks associated to a set of images (dataset input images for instance), on the GPU. + This version uses a list of R8 rendertargets. + \note Might want to use textures instead of RTs here. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT RenderMaskHolder + { + typedef RenderTargetLum::Ptr MaskPtr; + public: + + /** Update the masks + \param masks the new masks to use + */ + void setMasks( const std::vector& masks ); + + /** \return the masks rendertargets. */ + const std::vector& getMasks( void ) const; + + /** \return true if masks are available (non empty list). */ + bool useMasks( void ) const; + + /** Load masks from black and white images on disk. + \param ibrScene the dataset scene associated to the masks + \param maskDir the masks directory + \param preFileName mask filename prefix + \param postFileName mask filename suffix and extension + \param w target width + \param h target height + */ + void loadMasks( + const sibr::BasicIBRScene::Ptr& ibrScene, + const std::string& maskDir, const std::string& preFileName, + const std::string& postFileName, int w, int h); + + /** Upload a mask image to the GPU. + \param img the mask image to upload + \param i the mask index in the list + \param masks the uploaded masks list (will be updated) + \param invert should the mask be inverted + **/ + void uploadMaskGPU(sibr::ImageL8& img, int i, std::vector & masks, bool invert) ; + + private: + + std::vector _masks; ///< List of masks on the GPU. + + }; + + /** Store a set of masks associated to a set of images (dataset input images for instance), on the GPU. + This version uses a R8 texture array. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT RenderMaskHolderArray + { + using MaskArray = sibr::Texture2DArrayLum; + using MaskArrayPtr = MaskArray::Ptr; + + public: + + /** Update the masks + \param masks the new masks to use + */ + void setMasks(const MaskArrayPtr& masks); + + /** \return the masks texture array. */ + const MaskArrayPtr & getMasks(void) const; + + /** Load masks from black and white images on disk. + \param ibrScene the dataset scene associated to the masks + \param maskDir the masks directory + \param preFileName mask filename prefix + \param postFileName mask filename suffix and extension + \param w target width + \param h target height + */ + void loadMasks( + const sibr::BasicIBRScene::Ptr& ibrScene, + const std::string& maskDir = "", const std::string& preFileName = "masks" , + const std::string& postFileName = "", int w = -1, int h = -1 + ); + + protected: + + MaskArrayPtr _masks; ///< The masks texture array. + + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/ShadowMapRenderer.cpp b/SIBR_viewers/src/core/renderer/ShadowMapRenderer.cpp new file mode 100644 index 0000000000..a6ee3663d5 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/ShadowMapRenderer.cpp @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +# include "ShadowMapRenderer.hpp" +# include "core/graphics/RenderUtility.hpp" + +float SUN_APP_DIAM = 0.5358f; + +namespace sibr +{ + + ShadowMapRenderer::~ShadowMapRenderer() {}; + + ShadowMapRenderer::ShadowMapRenderer(const sibr::InputCamera& depthMapCam, std::shared_ptr depthMap_RT):_depthMap_RT(depthMap_RT) + { + _shadowMapShader.init("ShadowMapShader", + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("shadowMapRenderer.vp")), + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("shadowMapRenderer.fp"))); + + _shadowMapShader_MVP.init(_shadowMapShader,"MVP"); + _depthMap_MVP.init(_shadowMapShader, "depthMapMVP"); + _depthMap_MVPinv.init(_shadowMapShader, "depthMapMVPinv"); + _depthMap_radius.init(_shadowMapShader, "depthMapRadius"); + _lightDir.init(_shadowMapShader, "lightDir"); + _bias_control.init(_shadowMapShader, "biasControl"); + _sun_app_radius.init(_shadowMapShader, "sun_app_radius"); + + sibr::Vector3f toLight = -depthMapCam.dir(); + _shadowMapShader.begin(); + _depthMap_MVP.set(depthMapCam.viewproj()); + _depthMap_MVPinv.set(depthMapCam.invViewproj()); + _depthMap_radius.set(depthMapCam.orthoRight()); + _lightDir.set(toLight); + _sun_app_radius.set(SUN_APP_DIAM/2.0f); + _shadowMapShader.end(); + } + + void ShadowMapRenderer::render(int w, int h, const sibr::InputCamera& cam, const Mesh& mesh, float bias ) + { + + //sibr::Vector1f cc(1.0); + //_depth_RT->clear(cc); + + _shadowMap_RT.reset(new sibr::RenderTargetLum(w, h)); + + glViewport(0, 0, _shadowMap_RT->w(), _shadowMap_RT->h()); + _shadowMap_RT->bind(); + glClearColor(1.0, 1.0, 1.0, 1.0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + _shadowMapShader.begin(); + _shadowMapShader_MVP.set(cam.viewproj()); + _bias_control.set(bias); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, _depthMap_RT->texture()); + + mesh.render(true, false, sibr::Mesh::FillRenderMode); + + _shadowMapShader.end(); + + } + +} // namespace \ No newline at end of file diff --git a/SIBR_viewers/src/core/renderer/ShadowMapRenderer.hpp b/SIBR_viewers/src/core/renderer/ShadowMapRenderer.hpp new file mode 100644 index 0000000000..0c35ce43c9 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/ShadowMapRenderer.hpp @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include + +# include "core/assets/InputCamera.hpp" +# include "core/graphics/Texture.hpp" +# include "core/graphics/Camera.hpp" +# include "core/graphics/RenderUtility.hpp" +# include "core/assets/Resources.hpp" +# include "core/graphics/Shader.hpp" +# include "core/graphics/Mesh.hpp" + + +namespace sibr +{ + + /** Render high quality soft shadows, designed to mimick the sun shadowing. + \note Soft shadowing require a lot of texture fetches that can impact performances. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT ShadowMapRenderer + { + + public: + + /** Constructor. + \param depthMapCam the light viewpoint + \param depthMap_RT depth map rendered from the light viewpoint + */ + ShadowMapRenderer(const sibr::InputCamera& depthMapCam, std::shared_ptr depthMap_RT) ; + + /// Destructor. + ~ShadowMapRenderer(); + + /** + Render soft sun shadows on the mesh, using the precomputed depth map. + \param w the target width + \param h the target height + \param cam the viewpoint to use + \param mesh the mesh to render + \param bias shadow acne bias + */ + void render(int w, int h,const sibr::InputCamera &cam, const Mesh& mesh, float bias= 0.0005f); + + std::shared_ptr _shadowMap_RT; ///< Result containing the soft shadows. + + std::shared_ptr _depthMap_RT; ///< Depth map rendered from the light viewpoint. + + + private: + + sibr::GLShader _shadowMapShader; ///< Shadow rendering. + sibr::GLParameter _shadowMapShader_MVP; ///< Final MVP uniform. + sibr::GLParameter _depthMap_MVP; ///< Light MVP uniform. + sibr::GLParameter _depthMap_MVPinv; ///< Light inverse MVP uniform. + sibr::GLParameter _depthMap_radius; ///< Depth map radius. + sibr::GLParameter _lightDir; ///< Light direction uniform. + sibr::GLParameter _bias_control; ///< Bias uniform. + sibr::GLParameter _sun_app_radius; ///< Sun radius (for soft shadows). + std::shared_ptr _textureDepthMap; ///< Shadow map target (unused). + + }; + +} // namespace + diff --git a/SIBR_viewers/src/core/renderer/TexturedMeshRenderer.cpp b/SIBR_viewers/src/core/renderer/TexturedMeshRenderer.cpp new file mode 100644 index 0000000000..005e897a1e --- /dev/null +++ b/SIBR_viewers/src/core/renderer/TexturedMeshRenderer.cpp @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include + +namespace sibr { + TexturedMeshRenderer::TexturedMeshRenderer( bool flipY ) + { + if(flipY) + _shader.init("TexturedMesh", + sibr::loadFile(sibr::getShadersDirectory("core") + "/textured_mesh_flipY.vert"), + sibr::loadFile(sibr::getShadersDirectory("core") + "/textured_mesh.frag")); + else + _shader.init("TexturedMesh", + sibr::loadFile(sibr::getShadersDirectory("core") + "/textured_mesh.vert"), + sibr::loadFile(sibr::getShadersDirectory("core") + "/textured_mesh.frag")); + _paramMVP.init(_shader,"MVP"); + } + + void TexturedMeshRenderer::process(const Mesh& mesh, const Camera& eye, uint textureID, IRenderTarget& dst, bool backfaceCull) + { + dst.bind(); + _shader.begin(); + _paramMVP.set(eye.viewproj()); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, textureID); + mesh.render(true, backfaceCull); + _shader.end(); + dst.unbind(); + + } + + void TexturedMeshRenderer::process(const Mesh& mesh, const Camera& eye, const sibr::Matrix4f& model, uint textureID, IRenderTarget& dst, bool backfaceCull) + { + dst.bind(); + _shader.begin(); + _paramMVP.set(sibr::Matrix4f(eye.viewproj() * model)); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, textureID); + mesh.render(true, backfaceCull); + _shader.end(); + dst.unbind(); + + } + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/TexturedMeshRenderer.hpp b/SIBR_viewers/src/core/renderer/TexturedMeshRenderer.hpp new file mode 100644 index 0000000000..f22f1c5dc6 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/TexturedMeshRenderer.hpp @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include +# include + +# include + +namespace sibr { + + /** Render a textured mesh, using per-vertex texture coordinates. + \ingroup sibr_renderer + */ + class SIBR_EXP_RENDERER_EXPORT TexturedMeshRenderer + { + public: + typedef std::shared_ptr Ptr; + + public: + + /** Constructor. + \param flipY if set to true, UV coordinates will be flipped vertically. + */ + TexturedMeshRenderer(bool flipY = false ); + + /** Render the textured mesh. + \param mesh the mesh to render (should have UV attribute) + \param eye the viewpoint to use + \param textureID handle of the texture to use + \param dst destination rendertarget + \param backfaceCull should backface culling be performed + */ + void process(const Mesh& mesh, const Camera& eye, uint textureID, IRenderTarget& dst, bool backfaceCull = true); + + /** Render the textured mesh. + \param mesh the mesh to render (should have UV attribute) + \param eye the viewpoint to use + \param model additional transformation matrix + \param textureID handle of the texture to use + \param dst destination rendertarget + \param backfaceCull should backface culling be performed + */ + void process(const Mesh & mesh, const Camera & eye, const sibr::Matrix4f & model, uint textureID, IRenderTarget & dst, bool backfaceCull = true); + + protected: + + GLShader _shader; ///< The texture mesh shader. + GLParameter _paramMVP; ///< MVP uniform. + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/core/renderer/shaders/addshadow.frag b/SIBR_viewers/src/core/renderer/shaders/addshadow.frag new file mode 100644 index 0000000000..f365380478 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/addshadow.frag @@ -0,0 +1,240 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +#define SHADOWPOWER_METHOD_ESTIM 1 +#define SHADOWPOWER_METHOD_3D 2 +#define SHADOWPOWER_METHOD_ESTIM_NONLINEAR 3 + +#define SHADOWPOWER_METHOD SHADOWPOWER_METHOD_ESTIM + +layout(binding = 0) uniform sampler2D tex; +layout(binding = 1) uniform sampler2D firstPassRT; /// \todo TODO: use ping pong buffering to update it with the last add + +uniform mat4 in_inv_proj; +uniform vec2 in_image_size; + +layout(location= 0) out vec4 out_color; + +in vec2 tex_coord; + + + +//const float blurSize = 1.0 / 1000.0; + +const float constFgAdditionalOffset = -0.02; // note it should not be linear because of near/far+proj +const float constSmoothShadowDistAtten = 8.0; + +vec3 unproject(vec3 xyd, mat4 inv_proj) { + vec4 pxl = vec4(xyd,1.0)*vec4(2.0)-vec4(1.0); // [0,1] -> [-1,1] + vec4 obj = inv_proj * pxl; // unproject + return (obj.xyz/obj.w); +} + +float smoothShadowDist( float dist01 ) +{ + float v = 1.0 - max(0.0, min(1.0, dist01) ); + return exp(log(v)*constSmoothShadowDistAtten); +} + +void main(void) { + +//===========================================================================// +// // +// Adding Shadow // +// // +//===========================================================================// +{ + const float scanSizeX = (1.0 / in_image_size.x)*4.0; /// \todo TODO: should be split into H and W and use image size + const float scanSizeY = (1.0 / in_image_size.y)*4.0; /// \todo TODO: should be split into H and W and use image size + + vec4 bg = texture(firstPassRT,tex_coord); // background color + vec4 fg = texture(tex,tex_coord); // foreground color (object to add) + float bgDepth = bg.a; + float outDepth = bgDepth; + float fgDepth = fg.a+constFgAdditionalOffset; + + // By default set output values using bg + out_color = vec4(bg.rgb, 1.0); + //out_color = vec4(bg.a, 0.0, 0.0, 1.0); + //gl_FragDepth = bgDepth; + + bool fgIsEmpty = (fg.r == 0 && fg.g == 0 && fg.b == 0); + /// gl_FragDepth = 0; + + if (fgIsEmpty == false) + { + out_color = vec4(fg.rgb, (bgDepth <= fgDepth)? 0.0 : 1.0); + //fgDepth = bgDepth; + outDepth = (bgDepth <= fgDepth)? bgDepth : fgDepth; + //gl_FragDepth = fgDepth; + /// out_color = vec4(fg.a, 0.0, 0.0, 1.0); + } + else + { + // Scan for non-empty pixels for determining the power + // of the shadow. + // 'non-empty' pixels are FULL black pixels + + const int scanItCount = 8; + const int maxScanablePixels = (scanItCount*2 + 1)*(scanItCount*2 + 1); + const float maxAxisX = (scanItCount*2 + 1)*scanSizeX; + const float maxAxisY = (scanItCount*2 + 1)*scanSizeY; + const float maxScanDist = maxAxisX*maxAxisX + maxAxisY*maxAxisY; + + float nearestDist = maxScanDist*2.0;//maxScanDist + 1.0; + float nearestXs = 1.0; + float nearestYs = 1.0; + float nearestDepth = 0.0; + float averageBgDepth = 0.0; + float nonEmptyPixelFound = 0; + for (int x = -scanItCount; x <= scanItCount; x++) + { + for (int y = -scanItCount; y <= scanItCount; y++) + { + float xs = x*scanSizeX; + float ys = y*scanSizeY; + float dist = (xs*xs + ys*ys); + vec4 color = texture(tex, vec2(tex_coord.x+xs, tex_coord.y+ys)); + float sampleDepth = color.a+constFgAdditionalOffset; + + averageBgDepth += sampleDepth; + + if ( (color.r == 0 && color.g == 0 && color.b == 0) == false +//// [A] this one will cause you trouble with object in front of your shadow caster +// ) +//// [B] this one will prevent you from casting shadow in front of your object +//// but visually, you can make it fly a bit and it look like the under is in front + && sampleDepth <= bgDepth ) +//// [C] this one is the best in fidelity but requires a call to texture(...) +// && sampleDepth <= texture(firstPassRT, vec2(tex_coord.x+xs, tex_coord.y+ys)).a) + { + if (dist < nearestDist) + { + nearestXs = xs; + nearestYs = ys; + // nearestDist = dist; + // nearestDepth = sampleDepth; + } + + + //nearestXs = min(xs, nearestXs); + //nearestYs = min(ys, nearestYs); // note that stored nearestXs/Ys might stores an unexisting coordinate pair + nearestDist = min(nearestDist, dist); + nearestDepth += sampleDepth;//max(nearestDepth, sampleDepth); + ++nonEmptyPixelFound; + + averageBgDepth -= sampleDepth; // cancel this in this case + } + } + } + nearestDepth = nearestDepth/float(nonEmptyPixelFound); + averageBgDepth = averageBgDepth/float(maxScanablePixels-nonEmptyPixelFound); + + //if (nearestDist > 0) + { + + // Compute the shadow power + float shadowPower = 1.0; + + float ratioNonEmptyPixelFound = float(nonEmptyPixelFound) / float(maxScanablePixels); + // influence of the caster size + shadowPower *= smoothstep(0.0, 0.5, ratioNonEmptyPixelFound); + + //if (nonEmptyPixelFound < 100) + // shadowPower = 0.0; + + //shadowPower *= max(0.0, min(1.0, nonEmptyPixelFound/minPixelCaster )); + + // Dev Note for improving things + // There are two way to implement the influence of the shadow caster/receiver distance. + // [3d solution] + // - one is to unproject both points and measure their distance in 3d world unit + // [estim solution] + // - another one is roughly estimate the effect + +#if SHADOWPOWER_METHOD == SHADOWPOWER_METHOD_ESTIM_NONLINEAR + // [estim solution] + // influence of the distance to the object that cast this shadow (slightly improve but not enough) + //shadowPower *= smoothShadowDist(nearestDist/maxScanDist); + // influence of the depth distance + const float maxDiffDepth = 0.04;//0.15; // because it's nonlinear, it will react differently depending on Z (and your dataset clipping planes's near/far) + float diffDepth = bgDepth-nearestDepth; + diffDepth = diffDepth / maxDiffDepth; + float depthFactor = clamp(diffDepth, 0.0, 1.0); + shadowPower *= (1.0 - depthFactor); +#endif + +#if SHADOWPOWER_METHOD == SHADOWPOWER_METHOD_ESTIM + // [estim solution] + // influence of the distance to the object that cast this shadow (slightly improve but not enough) + //shadowPower *= smoothShadowDist(nearestDist/maxScanDist); + // influence of the depth distance + const float maxDist = 0.4; // in world unit + vec3 bg2dPos = vec3(tex_coord.xy, bgDepth); + vec3 bg3dPos = unproject(bg2dPos, in_inv_proj); + vec3 caster2dPos = vec3(vec2(tex_coord.x+nearestXs, tex_coord.y+nearestYs), nearestDepth); + vec3 caster3dPos = unproject(caster2dPos, in_inv_proj); + float line = abs(caster3dPos.z-bg3dPos.z); + float factorDist = 1.0 - max(0.0, min(1.0, line/maxDist) ); + shadowPower *= factorDist; +#endif + +#if SHADOWPOWER_METHOD == SHADOWPOWER_METHOD_3D + // [3d solution] + // influence of the shadow receiver distance + const float maxDist = 0.25; // in world unit + const float maxDistSqr = maxDist*maxDist; + vec3 bg2dPos = vec3(tex_coord.xy, bgDepth); + vec3 bg3dPos = unproject(bg2dPos, in_inv_proj); + vec3 caster2dPos = vec3(vec2(tex_coord.x+nearestXs, tex_coord.y+nearestYs), nearestDepth); + vec3 caster3dPos = unproject(caster2dPos, in_inv_proj); + vec3 line = caster3dPos-bg3dPos; + float distSqr = line.x*line.x + line.y*line.y + line.z*line.z; + float factorDist = 1.0 - max(0.0, min(1.0, distSqr/maxDistSqr) ); + shadowPower *= factorDist; +#endif + + + + out_color = vec4(0, 0, 0, shadowPower / 1.5); + + // //out_color = vec4(fgZ/10.0, 0, 0, 1.0); + // float nearPlane = 3.23569; + // float farPlane = 17.1543; + // //bgZ = (bg2dPos.z * bg2dPos.w - nearPlane) / (farPlane - nearPlane); + // out_color = vec4(bg2dPos.z/farPlane, 0, 0, 1.0); + //out_color = vec4(bgDepth, 0, 0, 1.0); + //gl_FragDepth = nearestDepth; + + + //gl_FragDepth = bgDepth + constFgAdditionalOffset - 1; + float newDepth = bgDepth;// + constFgAdditionalOffset; + outDepth = (newDepth <= bgDepth)? newDepth : bgDepth; + } + + // if (nearestDist < 1.0) + // { + // out_color = vec4(nearestDepth, 0.0, 0.0, 1.0); + // gl_FragDepth = 0; + // } + } + + // Simulate BLEND function (GL_ONE_MINUS_SRC_ALPHA) + //out_color = vec4(bg.xyz + out_color.xyz/out_color.a, gl_FragDepth); + out_color = vec4(bg.xyz*(1.0 - out_color.a) + out_color.xyz*out_color.a, outDepth); + //gl_FragDepth = outDepth; + //out_color = bg; +} + +} diff --git a/SIBR_viewers/src/core/renderer/shaders/blur.frag b/SIBR_viewers/src/core/renderer/shaders/blur.frag new file mode 100644 index 0000000000..4710e513a3 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/blur.frag @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) out vec4 out_color; + +uniform sampler2D image; +uniform vec2 in_image_size; + + +in vec2 tex_coord; + + +void main(void) { + + vec4 color = texture(image, tex_coord); + + const float blurPixelStep = 1.25; + const float blurSizeX = (1.0 / in_image_size.x)*blurPixelStep; + const float blurSizeY = (1.0 / in_image_size.y)*blurPixelStep; + + const int nbVisit = 4; + ivec2 visit[nbVisit] = ivec2 []( + // cross + // ivec2( 0, -1), + // ivec2( 0, 1), + // ivec2( 1, 0), + // ivec2(-1, 0) + + // corner (better, detect more edge) + ivec2(-1, -1), + ivec2(-1, 1), + ivec2( 1, -1), + ivec2( 1, 1) + ); + + vec4 avcolor; + vec4 bgColor = vec4(color.xyz, 0.0); + for (int i = 0; i < nbVisit; ++i) + { + vec4 col = texture( image, + vec2(tex_coord.x + visit[i].x* blurSizeX, tex_coord.y + visit[i].y * blurSizeY) ); + + bgColor = (col.a > bgColor.a)? col : bgColor; + avcolor += col; + } + + avcolor /= float(nbVisit); + + float dColor = abs(avcolor.a - color.a);//length(avcolor - color); + const float maxDColor = 0.015f; + float mixFactor = 1.0 - min(1.0, dColor/maxDColor); + vec4 correction = bgColor;//mix(bgColor, avcolor, mixFactor); + + // [USEFUL FOR DEBUGGING]: show detected edge + //out_color = (dColor > maxDColor)? vec4(1.0, 0.0, 1.0, 1.0) : color; + + out_color = (dColor > maxDColor)? mix(correction, color, 0.5) : color; + + // [USEFUL FOR DEBUGGING]: change nothing + //out_color = color; + +} diff --git a/SIBR_viewers/src/core/renderer/shaders/colored_mesh.frag b/SIBR_viewers/src/core/renderer/shaders/colored_mesh.frag new file mode 100644 index 0000000000..a551ab0e7f --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/colored_mesh.frag @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +out vec4 out_color; + +in vec3 vertColor; + +void main(void) { + out_color = vec4(vertColor, 1.0); +} diff --git a/SIBR_viewers/src/core/renderer/shaders/colored_mesh.vert b/SIBR_viewers/src/core/renderer/shaders/colored_mesh.vert new file mode 100644 index 0000000000..47592f8feb --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/colored_mesh.vert @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; +layout(location = 1) in vec3 in_color; + +out vec3 vertColor; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + + vertColor = in_color; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/copy.frag b/SIBR_viewers/src/core/renderer/shaders/copy.frag new file mode 100644 index 0000000000..47164cdcf7 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/copy.frag @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) out vec4 out_color; + +uniform sampler2D image; +uniform bool flip = false; + +in vec4 texcoord; + +void main(void) +{ + vec4 color = texture(image, flip ? vec2(texcoord.x, 1.0 - texcoord.y) : texcoord.xy); + out_color = color;//vec4(color.rgb, 1.0); + gl_FragDepth = color.w; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/copy_depth.frag b/SIBR_viewers/src/core/renderer/shaders/copy_depth.frag new file mode 100644 index 0000000000..564782f411 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/copy_depth.frag @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) out vec4 out_color; + +layout(binding = 0) uniform sampler2D image; + +in vec4 texcoord; + +void main(void) +{ + vec4 color = texture(image, texcoord.xy); + out_color = vec4(vec3(color.r), 1.0); + gl_FragDepth = color.r; + //gl_FragDepth = color.r == 0? 1.0 : color.r; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/depthRenderer.fp b/SIBR_viewers/src/core/renderer/shaders/depthRenderer.fp new file mode 100644 index 0000000000..9c555cce1b --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/depthRenderer.fp @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +out float out_depth; + +void main(void) { + + out_depth = 2.0*gl_FragCoord.z-1.0; + //out_color = fragTexCoord.x*vec4(1.0,0.0,0.0,1.0); +} + diff --git a/SIBR_viewers/src/core/renderer/shaders/depthRenderer.vp b/SIBR_viewers/src/core/renderer/shaders/depthRenderer.vp new file mode 100644 index 0000000000..65c6db061a --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/depthRenderer.vp @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; + + +void main(void) { + + gl_Position = MVP * vec4(in_vertex,1.0); + //fragTexCoord = vec2(0.2,0.8); +} diff --git a/SIBR_viewers/src/core/renderer/shaders/emotive_relight.frag b/SIBR_viewers/src/core/renderer/shaders/emotive_relight.frag new file mode 100644 index 0000000000..160a2f1eef --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/emotive_relight.frag @@ -0,0 +1,86 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform vec3 lightDir; +uniform vec3 cameraEye; + +layout(binding=0) uniform sampler2D tex; +layout(binding=1) uniform sampler2D smTex; + + +out vec4 out_color; + +in vec2 vertUV; +in float vertAO; +in vec3 VtoF_normal; +in vec3 vertPos; + +float sRGB2LinF(float inF){ + if(inF<0.04045){ + return inF/12.92; + } + else{ + return pow((inF+0.055)/(1.055),2.4); + } +} + +float lin2sRGBF(float inF){ + + if(inF<0.0031308){ + return 12.92*inF; + } + else{ + return 1.055*pow(inF,1.0/2.4)-0.055; + } + +} + +vec4 sRGB2Lin(vec4 inVec){ + return vec4(sRGB2LinF(inVec.x),sRGB2LinF(inVec.y),sRGB2LinF(inVec.z),inVec.w); +} + +vec4 lin2sRGB(vec4 inVec){ + return vec4(lin2sRGBF(inVec.x),lin2sRGBF(inVec.y),lin2sRGBF(inVec.z),inVec.w); +} + +float getFogFactor(float d) +{ + const float FogMax = 70.0; + const float FogMin = 10.0; + + if (d>=FogMax) return 1; + if (d<=FogMin) return 0; + + return 1 - (FogMax - d) / (FogMax - FogMin); +} + + +void main(void) { + vec2 uv = vertUV; + uv.y = 1.0 - uv.y; /// \todo TODO: Why Texture are flipped in y ? + + vec4 sky_color_lin = vec4(0.7,1.0,1.2,1.0)*sRGB2Lin(texture(tex, uv)); + + float shadowVal=texture(smTex,gl_FragCoord.xy/textureSize(smTex,0).xy).x; + + vec4 sun_color_lin = max(0.0,dot(VtoF_normal,lightDir))*shadowVal*sRGB2Lin(texture(tex, uv))/(vertAO+0.0001); + + float d = distance(cameraEye, vertPos); + float alpha = getFogFactor(d); + + vec4 composed_color = lin2sRGB(sun_color_lin+0.1*sky_color_lin); + + out_color = mix(composed_color, vec4(0.5,0.5,0.5,1.0), alpha); +} + diff --git a/SIBR_viewers/src/core/renderer/shaders/emotive_relight.vert b/SIBR_viewers/src/core/renderer/shaders/emotive_relight.vert new file mode 100644 index 0000000000..10356ef295 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/emotive_relight.vert @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; +layout(location = 1) in vec3 in_ao; +layout(location = 2) in vec2 in_uv; +layout(location = 3) in vec3 in_normal; + +out vec2 vertUV; +out float vertAO; +out vec3 VtoF_normal; +out vec3 vertPos; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + + vertUV = in_uv; + vertAO = in_ao.x; + VtoF_normal = in_normal; + vertPos = in_vertex; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/hdrEnvMap.frag b/SIBR_viewers/src/core/renderer/shaders/hdrEnvMap.frag new file mode 100644 index 0000000000..d6d39fc522 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/hdrEnvMap.frag @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform sampler2D tex; + +out vec4 out_color; + +in vec2 vertUV; + +float lin2sRGBF(float inF){ + + if(inF<0.0031308){ + return 12.92*inF; + } + else{ + return 1.055*pow(inF,1.0/2.4)-0.055; + } + +} + +vec4 lin2sRGB(vec4 inVec){ + return vec4(lin2sRGBF(inVec.x),lin2sRGBF(inVec.y),lin2sRGBF(inVec.z),inVec.w); +} + +void main(void) { + vec2 uv = vertUV; + uv.y = 1.0 - uv.y; /// \todo TODO: Why Texture are flipped in y ? + out_color = lin2sRGB(texture(tex, uv)); +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/renderer/shaders/hdrEnvMap.vert b/SIBR_viewers/src/core/renderer/shaders/hdrEnvMap.vert new file mode 100644 index 0000000000..c8a20d337d --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/hdrEnvMap.vert @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; +layout(location = 2) in vec2 in_uv; + +out vec2 vertUV; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + + vertUV = in_uv; +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/renderer/shaders/longlat.gp b/SIBR_viewers/src/core/renderer/shaders/longlat.gp new file mode 100755 index 0000000000..d7b2afd9f9 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/longlat.gp @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 450 + +layout(triangles) in; +layout(triangle_strip, max_vertices=6) out; + +layout(location = 1) in vec3 colors_tes[]; +layout(location = 2) in vec2 coordsTex_tes[]; +layout(location = 3) in vec3 normals_tes[]; + +uniform vec3 pos; + +const float PI = 3.1415926535897932384626433832795; + +layout(location = 0) out vec4 position; +layout(location = 1) out vec3 colors_gs; +layout(location = 2) out vec2 coordsTex_gs; +layout(location = 3) out vec3 normals_gs; + +void main() +{ +int i,j; +vec3 toPoint[3]; +vec3 d[3]; +float lat[3]; +float longt[3]; + + +for(i=0; i<3; i++) +{ + toPoint[i] = gl_in[i].gl_Position.xyz-pos; + d[i] = normalize(toPoint[i]); + lat[i] = d[i].z; + longt[i] = atan(d[i].y,d[i].x); + if(longt[i]<0) + longt[i] += 2.0f*PI; +} + + +if((abs(longt[1]-longt[2])PI && abs(longt[i]-longt[(i+2)%3])>PI){ + + float longt_0[3]=longt; + float longt_1[3]=longt; + + if(longt[i]>PI){ + longt_0[i]=longt[i]-2.0f*PI; + longt_1[(i+1)%3]=longt[(i+1)%3]+2.0f*PI; + longt_1[(i+2)%3]=longt[(i+2)%3]+2.0f*PI; + } + else{ + longt_0[i]=longt[i]+2.0f*PI; + longt_1[(i+1)%3]=longt[(i+1)%3]-2.0f*PI; + longt_1[(i+2)%3]=longt[(i+2)%3]-2.0f*PI; + } + + for(j=0; j<3; j++) + { + gl_Position = vec4(longt_0[j]/PI-1.0,-lat[j],length(toPoint[j])/100.0f,1.0f); + position=gl_Position; + colors_gs = colors_tes[i]; + coordsTex_gs = coordsTex_tes[i]; + normals_gs = normals_tes[i]; + EmitVertex(); + } + EndPrimitive(); + + for(j=0; j<3; j++) + { + gl_Position = vec4(longt_1[j]/PI-1.0,-lat[j],length(toPoint[j])/100.0f,1.0f); + position=gl_Position; + colors_gs = colors_tes[i]; + coordsTex_gs = coordsTex_tes[i]; + normals_gs = normals_tes[i]; + EmitVertex(); + } + EndPrimitive(); + break; + } +} + + +} + +} diff --git a/SIBR_viewers/src/core/renderer/shaders/longlat.tcs b/SIBR_viewers/src/core/renderer/shaders/longlat.tcs new file mode 100755 index 0000000000..f4ee63b374 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/longlat.tcs @@ -0,0 +1,58 @@ +#version 450 core + +uniform vec3 pos; + +const float PI = 3.1415926535897932384626433832795; + +layout(vertices = 3) out; + +layout(location = 1) in vec3 vs_colors[]; +layout(location = 2) in vec2 vs_coordsTex[]; +layout(location = 3) in vec3 vs_normals[]; + +out vec3 colors_tcs []; +out vec2 coordsTex_tcs []; +out vec3 normals_tcs []; + +void main(void) { + +colors_tcs[gl_InvocationID] = vs_colors[gl_InvocationID]; +coordsTex_tcs[gl_InvocationID] = vs_coordsTex[gl_InvocationID]; +normals_tcs[gl_InvocationID] = vs_normals[gl_InvocationID]; + +if (gl_InvocationID == 0) { + int i; + vec3 toPoint[3]; + vec3 d[3]; + float lat[3]; + float longt[3]; + + for(i=0; i<3; i++) + { + toPoint[i] = gl_in[i].gl_Position.xyz-pos; + d[i] = normalize(toPoint[i]); + lat[i] = d[i].z; + longt[i] = atan(d[i].y,d[i].x); + if(longt[i]<0) + longt[i] += 2.0f*PI; + } + + float inner=0; + for(i=0; i<3; i++) + { + float level= 512*sqrt( + pow((longt[(i+1)%3]-longt[(i+2)%3])/PI,2)+ + pow((lat[(i+1)%3]-lat[(i+2)%3]),2) + ); + gl_TessLevelOuter[i] = level; + if(level>inner) + inner=level; + } + + gl_TessLevelInner[0] = inner/2; + +} + +gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position; + +} diff --git a/SIBR_viewers/src/core/renderer/shaders/longlat.tes b/SIBR_viewers/src/core/renderer/shaders/longlat.tes new file mode 100755 index 0000000000..3dd95c3ded --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/longlat.tes @@ -0,0 +1,20 @@ +#version 450 core + +layout(triangles, equal_spacing, cw) in; + +layout(location = 1) in vec3 colors_tcs[]; +layout(location = 2) in vec2 coordsTex_tcs[]; +layout(location = 3) in vec3 normals_tcs[]; + +layout(location = 1) out vec3 colors_tes; +layout(location = 2) out vec2 coordsTex_tes; +layout(location = 3) out vec3 normals_tes; + +void main(void) { + colors_tes = colors_tcs[0]; + coordsTex_tes = coordsTex_tcs[0]; + normals_tes = normals_tcs[0]; +vec4 inPos = (gl_TessCoord.x*gl_in[0].gl_Position + gl_TessCoord.y*gl_in[1].gl_Position + gl_TessCoord.z*gl_in[2].gl_Position); + + gl_Position = inPos; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/longlat.vp b/SIBR_viewers/src/core/renderer/shaders/longlat.vp new file mode 100755 index 0000000000..fe04322efe --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/longlat.vp @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 450 +layout(location = 0) in vec3 inPos; +layout(location = 1) in vec3 inColors; +layout(location = 2) in vec2 inCoordsTex; +layout(location = 3) in vec3 inNormals; + +layout(location = 1) out vec3 vs_colors; +layout(location = 2) out vec2 vs_coordsTex; +layout(location = 3) out vec3 vs_normals; + +void main() +{ + vs_colors= inColors; + vs_coordsTex = inCoordsTex; + vs_normals = inNormals; + gl_Position = vec4(inPos,1.0f); +} diff --git a/SIBR_viewers/src/core/renderer/shaders/longlatColor.fp b/SIBR_viewers/src/core/renderer/shaders/longlatColor.fp new file mode 100755 index 0000000000..2321ce60e7 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/longlatColor.fp @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 450 +layout(location = 0) out vec4 outColor; +layout(location = 0) in vec4 position; +layout(location = 1) in vec3 colors_gs; +layout(location = 2) in vec2 texCoords_gs; +layout(location = 3) in vec3 normals_gs; + +void main() +{ + + if(100.f*position.z<0.001) + discard; + //outColor = vec4(1.f-10.f*position.z, 1.f-10.f*position.z, 1.f-10.f*position.z , 1.0f); + outColor = vec4(colors_gs.x, colors_gs.y, colors_gs.z , 1.0f); +} diff --git a/SIBR_viewers/src/core/renderer/shaders/longlatDepth.fp b/SIBR_viewers/src/core/renderer/shaders/longlatDepth.fp new file mode 100755 index 0000000000..75d5db24cb --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/longlatDepth.fp @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 450 +layout(location = 0) out vec4 outColor; +layout(location = 0) in vec4 position; +layout(location = 1) in vec3 colors_gs; +layout(location = 2) in vec2 texCoords_gs; +layout(location = 3) in vec3 normals_gs; + +void main() +{ + + if(100.f*position.z<0.001) + discard; + outColor = vec4(1.f-10.f*position.z, 1.f-10.f*position.z, 1.f-10.f*position.z , 1.0f); + //outColor = vec4(colors_gs.x, colors_gs.y, colors_gs.z , 1.0f); +} diff --git a/SIBR_viewers/src/core/renderer/shaders/noproj.vert b/SIBR_viewers/src/core/renderer/shaders/noproj.vert new file mode 100644 index 0000000000..453eec2899 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/noproj.vert @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/** \file ibr.vp + * + * Vertex shader WITHOUT projection and modelview transformations. + */ + +#version 420 + +layout(location = 0) in vec4 in_vertex; /**< Input vertex coordinates */ +layout(location = 1) in vec4 in_texcoord; /**< Input texture coordinates */ +layout(location = 2) in vec4 in_color; /**< Input colour value */ + +out vec4 texcoord; /**< Output texture coordinates */ +out vec4 color; /**< Output color value */ + +void main(void) { + gl_Position = in_vertex; + texcoord = in_texcoord; + color = in_color; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/normalRenderer.fp b/SIBR_viewers/src/core/renderer/shaders/normalRenderer.fp new file mode 100644 index 0000000000..21a45c9524 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/normalRenderer.fp @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +in vec3 GtoF_normal; +layout(location = 0) out vec4 out_color; + +void main(void) { + + vec3 colorN=(GtoF_normal+1.0)/2.0; + out_color = vec4(colorN,1.0); + //out_color = fragTexCoord.x*vec4(1.0,0.0,0.0,1.0); +} + diff --git a/SIBR_viewers/src/core/renderer/shaders/normalRenderer.vp b/SIBR_viewers/src/core/renderer/shaders/normalRenderer.vp new file mode 100644 index 0000000000..90a0aaea17 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/normalRenderer.vp @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; +uniform mat4 M; +uniform mat4 V; +uniform bool imSpaceNormals; + +layout(location = 0) in vec3 in_vertex; +layout(location = 3) in vec3 in_normal; + +out vec3 GtoF_normal; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + + if(imSpaceNormals) + GtoF_normal = normalize((inverse(transpose(V*M)) * vec4(in_normal,0.0)).xyz); + else + GtoF_normal = normalize((inverse(transpose(M)) * vec4(in_normal,0.0)).xyz); +} diff --git a/SIBR_viewers/src/core/renderer/shaders/normalRendererGen.gp b/SIBR_viewers/src/core/renderer/shaders/normalRendererGen.gp new file mode 100644 index 0000000000..07a981dabb --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/normalRendererGen.gp @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVPinv; + +layout(triangles) in; +layout (triangle_strip) out; +layout (max_vertices = 3) out; + +out vec3 GtoF_normal; + +void main(void) { + + vec3 P0 = (MVPinv *gl_in[0].gl_Position).xyz; + vec3 P1 = (MVPinv *gl_in[1].gl_Position).xyz; + vec3 P2 = (MVPinv *gl_in[2].gl_Position).xyz; + + vec3 V0 = P0 - P1; + vec3 V1 = P2 - P1; + + vec3 N = normalize( cross(V1, V0) ); + + int i; + + for (i = 0; i < gl_in.length(); i++) + { + GtoF_normal = N; // Specs say we need to set again output values after calling EmitVertex + gl_Position = gl_in[i].gl_Position; + EmitVertex(); + } + EndPrimitive(); + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/renderer/shaders/normalRendererGen.vp b/SIBR_viewers/src/core/renderer/shaders/normalRendererGen.vp new file mode 100644 index 0000000000..e81091e636 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/normalRendererGen.vp @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + //fragTexCoord = vec2(0.2,0.8); +} diff --git a/SIBR_viewers/src/core/renderer/shaders/poisson_diverg.frag b/SIBR_viewers/src/core/renderer/shaders/poisson_diverg.frag new file mode 100644 index 0000000000..10bc19d574 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/poisson_diverg.frag @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(binding = 0) uniform sampler2D synth; +layout(location= 0) out vec4 out_constraint; + +void main(void) { + vec4 I = texelFetch(synth, ivec2(gl_FragCoord.xy), 0); + + // hole - perform Poisson synthesis here + if (all(lessThan(I.xyz,vec3(0.01)))) + out_constraint = vec4(0); + else + out_constraint = I; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/poisson_interp.frag b/SIBR_viewers/src/core/renderer/shaders/poisson_interp.frag new file mode 100644 index 0000000000..dbd6b94952 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/poisson_interp.frag @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform float scale; + +layout(binding = 0) uniform sampler2D coarse; +layout(binding = 1) uniform sampler2D constraint; +layout(location= 0) out vec4 out_color; + +in vec4 texcoord; + + +void main(void) { + // sample color from lower multigrid level by scaling texture coordinates + vec4 color = texture(coarse,vec2(gl_FragCoord.xy/scale)/textureSize(coarse,0).xy,0); + + // sample Dirichlet constraint without texture filtering because pixel without + // Dirichlet constraint are black and texture filtering may break this check + vec4 cons = texelFetch(constraint,ivec2(gl_FragCoord),0); + + // write color of lower level to output except holes pixels in the constraint + if (any(greaterThan(cons.rgb,vec3(0.01)))) + out_color = cons; + else + out_color = color; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/poisson_jacobi.frag b/SIBR_viewers/src/core/renderer/shaders/poisson_jacobi.frag new file mode 100644 index 0000000000..814ad92c3e --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/poisson_jacobi.frag @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform vec4 weights; +uniform float scale; + +layout(binding = 0) uniform sampler2D curr_tex; +layout(location= 0) out vec4 out_color; + +void main(void) { + ivec2 coord = ivec2(gl_FragCoord.xy*scale); + + float w_center = weights.x; + float w_edge = weights.y; + float w_corner = weights.z; + float w_c_x_inv= weights.w; + + // Solve the Laplace equation, same as Poisson equation with + // divergence equal to 0 + out_color = + -w_c_x_inv * ( + (texelFetch(curr_tex, coord, 0) * w_center + + (texelFetch(curr_tex, coord+ivec2( 0, 1), 0) + + texelFetch(curr_tex, coord+ivec2( 0,-1), 0) + + texelFetch(curr_tex, coord+ivec2( 1, 0), 0) + + texelFetch(curr_tex, coord+ivec2(-1, 0), 0)) * w_edge + + (texelFetch(curr_tex, coord+ivec2(-1,-1), 0) + + texelFetch(curr_tex, coord+ivec2(-1, 1), 0) + + texelFetch(curr_tex, coord+ivec2( 1,-1), 0) + + texelFetch(curr_tex, coord+ivec2( 1, 1), 0)) * w_corner + ) + ); +} diff --git a/SIBR_viewers/src/core/renderer/shaders/poisson_restrict.frag b/SIBR_viewers/src/core/renderer/shaders/poisson_restrict.frag new file mode 100644 index 0000000000..986c0d588e --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/poisson_restrict.frag @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform float scale; + +layout(binding = 0) uniform sampler2D cons; +layout(location= 0) out vec4 out_constraint; + +void main(void) { + mat3 f = mat3( + 0.25, 0.50, 0.25, + 0.50, 1.00, 0.50, + 0.25, 0.50, 0.25); + + vec4 constr = vec4(0); + + float sum = 0; + + ivec2 coord = ivec2(gl_FragCoord.xy*scale); + for (int i=0; i<3; i++) { + for (int j=0; j<3; j++) { + vec4 c = texelFetch(cons,coord+ivec2(i-1,j-1),0); + float a = float(any(greaterThan(c.rgb, vec3(0.01)))); + constr += f[i][j] * a * c; + sum += f[i][j] * a; + } + } + out_constraint = constr / sum; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/positionReflectedDirRenderer.frag b/SIBR_viewers/src/core/renderer/shaders/positionReflectedDirRenderer.frag new file mode 100644 index 0000000000..8b2d513e43 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/positionReflectedDirRenderer.frag @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +in vec3 position; +in vec3 normal; + +uniform vec3 cameraPos; + +layout(location = 0) out vec3 outPosition; +layout(location = 1) out vec3 outDirection; + +void main(void) { + outPosition = position; + outDirection = reflect(normalize(position - cameraPos), normal); +} + diff --git a/SIBR_viewers/src/core/renderer/shaders/positionReflectedDirRenderer.vert b/SIBR_viewers/src/core/renderer/shaders/positionReflectedDirRenderer.vert new file mode 100644 index 0000000000..175a2bd670 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/positionReflectedDirRenderer.vert @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; +layout(location = 3) in vec3 in_normal; + +out vec3 position; +out vec3 normal; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + position = in_vertex; + normal = in_normal; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/positionRenderer.frag b/SIBR_viewers/src/core/renderer/shaders/positionRenderer.frag new file mode 100644 index 0000000000..e0eecff1f8 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/positionRenderer.frag @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +out vec3 out_position; + +in vec3 position; + +void main(void) { + out_position = position; +} + diff --git a/SIBR_viewers/src/core/renderer/shaders/positionRenderer.vert b/SIBR_viewers/src/core/renderer/shaders/positionRenderer.vert new file mode 100644 index 0000000000..b16e2db726 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/positionRenderer.vert @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; + +out vec3 position; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + position = in_vertex; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/shadowMapRenderer.fp b/SIBR_viewers/src/core/renderer/shaders/shadowMapRenderer.fp new file mode 100644 index 0000000000..a52b4b78ef --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/shadowMapRenderer.fp @@ -0,0 +1,190 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 +const float PI = 3.1415926535897932384626433832795; + +vec2 poissonDisk[64] = vec2[]( +vec2(-0.613392, 0.617481), +vec2(0.170019, -0.040254), +vec2(-0.299417, 0.791925), +vec2(0.645680, 0.493210), +vec2(-0.651784, 0.717887), +vec2(0.421003, 0.027070), +vec2(-0.817194, -0.271096), +vec2(-0.705374, -0.668203), +vec2(0.977050, -0.108615), +vec2(0.063326, 0.142369), +vec2(0.203528, 0.214331), +vec2(-0.667531, 0.326090), +vec2(-0.098422, -0.295755), +vec2(-0.885922, 0.215369), +vec2(0.566637, 0.605213), +vec2(0.039766, -0.396100), +vec2(0.751946, 0.453352), +vec2(0.078707, -0.715323), +vec2(-0.075838, -0.529344), +vec2(0.724479, -0.580798), +vec2(0.222999, -0.215125), +vec2(-0.467574, -0.405438), +vec2(-0.248268, -0.814753), +vec2(0.354411, -0.887570), +vec2(0.175817, 0.382366), +vec2(0.487472, -0.063082), +vec2(-0.084078, 0.898312), +vec2(0.488876, -0.783441), +vec2(0.470016, 0.217933), +vec2(-0.696890, -0.549791), +vec2(-0.149693, 0.605762), +vec2(0.034211, 0.979980), +vec2(0.503098, -0.308878), +vec2(-0.016205, -0.872921), +vec2(0.385784, -0.393902), +vec2(-0.146886, -0.859249), +vec2(0.643361, 0.164098), +vec2(0.634388, -0.049471), +vec2(-0.688894, 0.007843), +vec2(0.464034, -0.188818), +vec2(-0.440840, 0.137486), +vec2(0.364483, 0.511704), +vec2(0.034028, 0.325968), +vec2(0.099094, -0.308023), +vec2(0.693960, -0.366253), +vec2(0.678884, -0.204688), +vec2(0.001801, 0.780328), +vec2(0.145177, -0.898984), +vec2(0.062655, -0.611866), +vec2(0.315226, -0.604297), +vec2(-0.780145, 0.486251), +vec2(-0.371868, 0.882138), +vec2(0.200476, 0.494430), +vec2(-0.494552, -0.711051), +vec2(0.612476, 0.705252), +vec2(-0.578845, -0.768792), +vec2(-0.772454, -0.090976), +vec2(0.504440, 0.372295), +vec2(0.155736, 0.065157), +vec2(0.391522, 0.849605), +vec2(-0.620106, -0.328104), +vec2(0.789239, -0.419965), +vec2(-0.545396, 0.538133), +vec2(-0.178564, -0.596057) +); + +uniform vec3 lightDir; +uniform float sun_app_radius; +uniform mat4 depthMapMVPinv; +uniform float depthMapRadius; +uniform float biasControl; + +layout(binding=0) uniform sampler2D depthMap; + +in vec4 depthMapProj; +in vec3 VtoF_normal; +in vec3 VtoF_pos; + +out float out_val; + +void main(void) { + + vec2 texc = (depthMapProj.xy + 1.0) / 2.0; + + float depthImSpace = depthMapProj.z; + + float cosTheta = clamp(dot(VtoF_normal,lightDir),0.0,1.0); + float bias = biasControl*tan(acos(cosTheta)); + bias = clamp(bias, 0.0, 5*biasControl); + + int textureWidth = textureSize(depthMap,0).x; + + // Compute the size of the shadow transition + + // The 2 account for the fact that we are treating the radius. + + int r_blocker = int(ceil(0.5*tan(sun_app_radius*PI/180.0)*textureWidth)); + float mean_blocker_val = 0.0; + float blocker_num_val = 0.0; + float sum_weight = 0.0; + + for(int i = 0; i<7 ; i++){ + + float theta_rot=i; + mat2 rotation_poisson =mat2(cos(theta_rot), sin(theta_rot), -sin(theta_rot), cos(theta_rot)); + + for(int k = 0; k <64 ; k++){ + + float pixDist = length(r_blocker*poissonDisk[k]/textureWidth); + if(pixDist<=r_blocker){ + float depthMapVal = texture(depthMap, texc + r_blocker*rotation_poisson*poissonDisk[k]/textureWidth).x; + + float bias_with_dist = bias*(pixDist+1.0); + + if( depthImSpace-bias_with_dist > depthMapVal ){ + + vec3 blocker_pos=(depthMapMVPinv*vec4(depthMapProj.x,depthMapProj.y,depthMapVal,1.0)).xyz; + + float weight = 0.01+exp(-pow(pixDist/(0.02*r_blocker),2.0)); + mean_blocker_val += weight*length(VtoF_pos-blocker_pos); + sum_weight += weight; + blocker_num_val += 1.0; + } + } + } + } + + if( dot(VtoF_normal,lightDir) <= -0.017 ){ + out_val = 0.0; + } + else if(blocker_num_val < 1.0){ + out_val = 1.0; + } + else{ + + float d_blocker_receiver = mean_blocker_val/sum_weight; + + float wShadow=2*d_blocker_receiver*tan(sun_app_radius*PI/180.0); + //float angleCompensation= dot(normalize(VtoF_normal),normalize(lightDir)); + //float wShadowAngle = wShadow/angleCompensation; + float ratioShadowTexture = wShadow/(2.0*depthMapRadius); + float pixelShadowTexture = ratioShadowTexture*textureWidth; + + const int r = int(ceil(pixelShadowTexture)); + + float num_val = 0.0; + float sum_val = 0.0; + + for(int i = 0; i<14 ; i++){ + + float theta_rot=float(i); + mat2 rotation_poisson =mat2(cos(theta_rot), sin(theta_rot), -sin(theta_rot), cos(theta_rot)); + + for(int k = 0; k <64 ; k++){ + + float depthMapVal = texture(depthMap, texc + r*rotation_poisson*poissonDisk[k]/textureWidth).x; + float pixDist = length(r*poissonDisk[k]/textureWidth); + float bias_with_dist = bias*(pixDist+1.0); + + if( depthImSpace-bias_with_dist > depthMapVal ){ + sum_val += 0.0; + } + else{ + sum_val += 1.0; + } + num_val +=1.0; + } + } + + out_val = sum_val/num_val; + } + +} + diff --git a/SIBR_viewers/src/core/renderer/shaders/shadowMapRenderer.vp b/SIBR_viewers/src/core/renderer/shaders/shadowMapRenderer.vp new file mode 100644 index 0000000000..a816a358e2 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/shadowMapRenderer.vp @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; +uniform mat4 depthMapMVP; + +layout(location = 0) in vec3 in_vertex; +layout(location = 3) in vec3 in_normal; + +out vec4 depthMapProj; +out vec3 VtoF_normal; +out vec3 VtoF_pos; + +void main(void) { + + gl_Position = MVP * vec4(in_vertex,1.0); + + depthMapProj = depthMapMVP * vec4(in_vertex,1.0); + + VtoF_normal = in_normal; + VtoF_pos = in_vertex; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/texture-invert.frag b/SIBR_viewers/src/core/renderer/shaders/texture-invert.frag new file mode 100644 index 0000000000..2ed2b52f13 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/texture-invert.frag @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(binding = 0) uniform sampler2D tex; +layout(location= 0) out vec4 out_color; + +in vec2 tex_coord; + +void main(void) { + vec2 texcoord = tex_coord ; + out_color = vec4(1, 1, 1, 1) - texture(tex,texcoord); +} diff --git a/SIBR_viewers/src/core/renderer/shaders/texture.frag b/SIBR_viewers/src/core/renderer/shaders/texture.frag new file mode 100644 index 0000000000..ee57f7b8ca --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/texture.frag @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(binding = 0) uniform sampler2D tex; +layout(location= 0) out vec4 out_color; + +in vec2 tex_coord; + +void main(void) { + vec2 texcoord = tex_coord ; + out_color = texture(tex,texcoord); +} diff --git a/SIBR_viewers/src/core/renderer/shaders/texture.vert b/SIBR_viewers/src/core/renderer/shaders/texture.vert new file mode 100644 index 0000000000..e58522417f --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/texture.vert @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +#define VERTICAL_FLIP (0) + +layout(location = 0) in vec2 in_vertex; +layout(location = 1) in vec2 in_texcoord; + + +out vec2 tex_coord; + +void main(void) { + gl_Position = vec4(in_vertex, 0.0, 1.0); + tex_coord.x = in_texcoord.x; + if (VERTICAL_FLIP==1) { + tex_coord.y = 1.0 - in_texcoord.y; + } + else { + tex_coord.y = in_texcoord.y; + } +} diff --git a/SIBR_viewers/src/core/renderer/shaders/textured_mesh.frag b/SIBR_viewers/src/core/renderer/shaders/textured_mesh.frag new file mode 100644 index 0000000000..84fd8d2424 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/textured_mesh.frag @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform sampler2D tex; + +out vec4 out_color; + +in vec2 vertUV; + +void main(void) { + vec2 uv = vertUV; + if(uv.x==0.0 && uv.y==0.0){ + out_color = vec4(1.0,1.0,1.0,1.0); + } + else{ + uv.y = 1.0 - uv.y; /// \todo TODO: Why Texture are flipped in y ? + out_color = texture(tex, uv); + } +} diff --git a/SIBR_viewers/src/core/renderer/shaders/textured_mesh.vert b/SIBR_viewers/src/core/renderer/shaders/textured_mesh.vert new file mode 100644 index 0000000000..8a7dccc29f --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/textured_mesh.vert @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; +layout(location = 2) in vec2 in_uv; + +out vec2 vertUV; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + + vertUV = in_uv; +} diff --git a/SIBR_viewers/src/core/renderer/shaders/textured_mesh_flipY.vert b/SIBR_viewers/src/core/renderer/shaders/textured_mesh_flipY.vert new file mode 100755 index 0000000000..f4a47b79cd --- /dev/null +++ b/SIBR_viewers/src/core/renderer/shaders/textured_mesh_flipY.vert @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; +layout(location = 2) in vec2 in_uv; + +out vec2 vertUV; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + vec2 uv = in_uv; + uv.y = 1.0 - uv.y ; + vertUV = uv; +} diff --git a/SIBR_viewers/src/core/renderer/sibr_renderer.dox b/SIBR_viewers/src/core/renderer/sibr_renderer.dox new file mode 100644 index 0000000000..ee1fe1e040 --- /dev/null +++ b/SIBR_viewers/src/core/renderer/sibr_renderer.dox @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! + \defgroup sibr_renderer sibr_renderer + + \brief Renderer utilities. + +*/ diff --git a/SIBR_viewers/src/core/scene/BasicIBRScene.cpp b/SIBR_viewers/src/core/scene/BasicIBRScene.cpp new file mode 100644 index 0000000000..291c574007 --- /dev/null +++ b/SIBR_viewers/src/core/scene/BasicIBRScene.cpp @@ -0,0 +1,173 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "BasicIBRScene.hpp" +#include +#include + +#include "core/scene/CalibratedCameras.hpp" +#include "core/scene/ParseData.hpp" +#include "core/scene/ProxyMesh.hpp" +#include "core/scene/InputImages.hpp" + +namespace sibr +{ + + BasicIBRScene::BasicIBRScene() { + _data.reset(new ParseData()); + _cams.reset(new CalibratedCameras()); + _imgs.reset(new InputImages()); + _proxies.reset(new ProxyMesh()); + _renderTargets.reset(new RenderTargetTextures()); + } + + BasicIBRScene::BasicIBRScene(const BasicIBRAppArgs & myArgs, bool noRTs, bool noMesh) + { + + BasicIBRScene(); + // parse metadata file + _data.reset(new ParseData()); + _currentOpts.renderTargets = !noRTs; + _currentOpts.mesh = !noMesh; + + _data->getParsedData(myArgs); + std::cout << "Number of input Images to read: " << _data->imgInfos().size() << std::endl; + + if (_data->imgInfos().size() != _data->numCameras()) + SIBR_ERR << "List Image file size do not match number of input cameras in Bundle file!" << std::endl; + + if (_data->datasetType() != IParseData::Type::EMPTY) { + createFromData(myArgs.texture_width); + } + } + + BasicIBRScene::BasicIBRScene(const BasicIBRAppArgs& myArgs, SceneOptions myOpts) + { + BasicIBRScene(); + _currentOpts = myOpts; + + // parse metadata file + _data.reset(new ParseData()); + + + _data->getParsedData(myArgs); + std::cout << "Number of input Images to read: " << _data->imgInfos().size() << std::endl; + + if (_data->imgInfos().size() != _data->numCameras()) + SIBR_ERR << "List Image file size do not match number of input cameras in Bundle file!" << std::endl; + + if (_data->datasetType() != IParseData::Type::EMPTY) { + createFromData(myArgs.texture_width); + } + } + + void BasicIBRScene::createFromCustomData(const IParseData::Ptr & data, const uint width, BasicIBRScene::SceneOptions myOpts) + { + _data = data; + _currentOpts = myOpts; + createFromData(width); + } + + + void BasicIBRScene::createRenderTargets() + { + _renderTargets->initializeDefaultRenderTargets(_cams, _imgs, _proxies); + } + + BasicIBRScene::BasicIBRScene(BasicIBRScene & scene) + { + _data = scene.data(); + _cams = scene.cameras(); + _imgs = scene.images(); + _proxies = scene.proxies(); + _renderTargets = scene.renderTargets(); + } + + void BasicIBRScene::createFromData(const uint width) + { + _cams.reset(new CalibratedCameras()); + _imgs.reset(new InputImages()); + _proxies.reset(new ProxyMesh()); + + // setup calibrated cameras + if (_currentOpts.cameras) { + + _cams->setupFromData(_data); + + std::cout << "Number of Cameras set up: " << _cams->inputCameras().size() << std::endl; + } + + // load input images + + uint mwidth = width; + if (_currentOpts.images) { + _imgs->loadFromData(_data); + std::cout << "Number of Images loaded: " << _imgs->inputImages().size() << std::endl; + + if (width == 0) {// default + if (_imgs->inputImages()[0]->w() > 1920) { + SIBR_LOG << "Limiting width to 1920 for performance; use --texture-width to override" << std::endl; + mwidth = 1920; + } + } + } + _renderTargets.reset(new RenderTargetTextures(mwidth)); + + if (_currentOpts.mesh) { + // load proxy + _proxies->loadFromData(_data); + + + std::vector inCams = _cams->inputCameras(); + float eps = 0.1f; + if (inCams.size() > 0 && (abs(inCams[0]->znear() - 0.1) < eps || abs(inCams[0]->zfar() - 1000.0) < eps || abs(inCams[0]->zfar() - 100.0) < eps) && _proxies->proxy().triangles().size() > 0) { + std::vector nearsFars; + CameraRaycaster::computeClippingPlanes(_proxies->proxy(), inCams, nearsFars); + _cams->updateNearsFars(nearsFars); + } + + //// Load the texture. + sibr::ImageRGB inputTextureImg; + + std::string texturePath, textureImageFileName; + + // Assumes that the texture is stored next to the mesh in the same directory + // This information comes from Assimp and the mtl file if available + if ((textureImageFileName = _proxies->proxy().getTextureImageFileName()) != "") { + texturePath = sibr::parentDirectory(_data->meshPath()) + "/" + textureImageFileName; + // check if full path given + if (!sibr::fileExists(texturePath) && sibr::fileExists(textureImageFileName)) + texturePath = textureImageFileName; + } + else { + texturePath = sibr::parentDirectory(_data->meshPath()) + "/mesh_u1_v1.png"; + if (sibr::fileExists(texturePath)) { + texturePath = sibr::parentDirectory(_data->meshPath()) + "/textured_u1_v1.png"; + if (!sibr::fileExists(texturePath)) + texturePath = sibr::parentDirectory(_data->meshPath()) + "/texture.png"; + } + } + + + if (_currentOpts.texture && sibr::fileExists(texturePath)) { + inputTextureImg.load(texturePath); + _inputMeshTexture.reset(new sibr::Texture2DRGB(inputTextureImg, SIBR_GPU_LINEAR_SAMPLING)); + } + + } + + if (_currentOpts.renderTargets) { + createRenderTargets(); + } + } + +} diff --git a/SIBR_viewers/src/core/scene/BasicIBRScene.hpp b/SIBR_viewers/src/core/scene/BasicIBRScene.hpp new file mode 100644 index 0000000000..035607b54b --- /dev/null +++ b/SIBR_viewers/src/core/scene/BasicIBRScene.hpp @@ -0,0 +1,193 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include + +namespace sibr { + + /** + * Class used to define a basic IBR Scene + * containing multiple components required to define a scene. + * + * \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT BasicIBRScene: public IIBRScene + { + + public: + + /** + * \brief Pointer to the instance of class sibr::BasicIBRScene. + */ + SIBR_CLASS_PTR(BasicIBRScene); + + /** + * \brief Default constructor to create a BasicIBRScene. + */ + BasicIBRScene(); + + /** + * \brief Constructor to create a BasicIBRScene given command line arguments. + * The scene may be created using either dataset path, or explicitly specifying individual componenets. + * \param myArgs to provide all command line arguments containing path to specific components. + * \param noRTs to specify whether to initialize render target textures or not. + * \param noMesh skip loading the mesh + */ + BasicIBRScene(const BasicIBRAppArgs & myArgs, bool noRTs, bool noMesh = false); + + /** + * \brief Constructor to create a BasicIBRScene given command line arguments. + * The scene may be created using either dataset path, or explicitly specifying individual componenets. + * \param myArgs to provide all command line arguments containing path to specific components. + * \param myOpts to specify initialization paramters for the scene. + */ + BasicIBRScene(const BasicIBRAppArgs& myArgs, SceneOptions myOpts = SceneOptions()); + + + /** Destructor. */ + ~BasicIBRScene() {}; + + /** + * \brief Creates a BasicIBRScene given custom data argument. + * The scene will be created using the custom data (cameras/images/proxies/textures etc.) provided. + * \param data to provide data instance holding customized components. + * \param width the constrained width for GPU texture data. + * \param myOpts to specify whether to initialize specific parts of the scene (RTs, geometry,...) + */ + void createFromCustomData(const IParseData::Ptr & data, const uint width = 0, SceneOptions myOpts = SceneOptions()) override; + + /** + * \brief Function to create a scene directly using the dataset path specified in command-line. + */ + void createFromDatasetPath() {}; + + /** + * \brief Function to generate render targets using the _data (regarding cameras, images, proxies ) parsed from metadata file. + */ + void createRenderTargets() override; + + /** + * \brief Getter for the pointer holding the data related to the scene. + * + */ + const IParseData::Ptr data(void) const override; + + /** + * \brief Setter for the pointer holding the data related to the scene for scene creation. + * \param data the setup data + */ + void data(const sibr::IParseData::Ptr & data) override; + + + /** + * \brief Getter for the pointer holding cameras related to each input iamge of the scene. + * + */ + const ICalibratedCameras::Ptr cameras(void) const override; + + /** + * \brief Getter for the pointer holding the input images to the scene. + * + */ + const IInputImages::Ptr images(void) const override; + + /** + * \brief Getter for the pointer holding the proxies required by the scene. + * + */ + const IProxyMesh::Ptr proxies(void) const override; + + /** + * \brief Getter for the pointer holding the render targets textures related to the scene. + * + */ + const RenderTargetTextures::Ptr & renderTargets(void) const override; + + /** + * \brief Getter for the pointer holding the render targets textures related to the scene. + * + */ + RenderTargetTextures::Ptr & renderTargets(void) override; + + /** + * \brief Getter for the pointer holding the mesh textures related to the mesh loaded for the scene. + * + */ + Texture2DRGB::Ptr & inputMeshTextures(void) override; + + protected: + BasicIBRScene(BasicIBRScene & scene); + BasicIBRScene& operator =(const BasicIBRScene&) = delete; + + IParseData::Ptr _data; + ICalibratedCameras::Ptr _cams; + IInputImages::Ptr _imgs; + IProxyMesh::Ptr _proxies; + Texture2DRGB::Ptr _inputMeshTexture; + RenderTargetTextures::Ptr _renderTargets; + SceneOptions _currentOpts; + + /** + * \brief Creates a BasicIBRScene from the internal stored data component in the scene. + * The data could be populated either from dataset path or customized by the user externally. + * \param width the constrained width for GPU texture data. + */ + void createFromData(const uint width = 0); + + + }; + + ///// INLINE DEFINITIONS ///// + + inline const IParseData::Ptr BasicIBRScene::data(void) const + { + return _data; + } + + inline void BasicIBRScene::data(const IParseData::Ptr & data) + { + _data = data; + } + + inline const ICalibratedCameras::Ptr BasicIBRScene::cameras(void) const + { + return _cams; + } + + inline const IInputImages::Ptr BasicIBRScene::images(void) const + { + return _imgs; + } + + inline const IProxyMesh::Ptr BasicIBRScene::proxies(void) const + { + return _proxies; + } + + inline const RenderTargetTextures::Ptr & BasicIBRScene::renderTargets(void) const + { + return _renderTargets; + } + + inline RenderTargetTextures::Ptr & BasicIBRScene::renderTargets(void) + { + return _renderTargets; + } + + inline Texture2DRGB::Ptr & BasicIBRScene::inputMeshTextures(void) + { + return _inputMeshTexture; + } + +} diff --git a/SIBR_viewers/src/core/scene/CMakeLists.txt b/SIBR_viewers/src/core/scene/CMakeLists.txt new file mode 100644 index 0000000000..a3a1f5fa96 --- /dev/null +++ b/SIBR_viewers/src/core/scene/CMakeLists.txt @@ -0,0 +1,41 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(sibr_scene) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + + +## Specify target rules +add_library(${PROJECT_NAME} SHARED ${SOURCES}) + +include_directories(${Boost_INCLUDE_DIRS}) +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + OpenMP::OpenMP_CXX + sibr_assets + sibr_graphics + sibr_raycaster +) + +add_definitions( -DSIBR_SCENE_EXPORTS -DBOOST_ALL_DYN_LINK ) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER ${SIBR_FOLDER}) + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) +) diff --git a/SIBR_viewers/src/core/scene/CalibratedCameras.cpp b/SIBR_viewers/src/core/scene/CalibratedCameras.cpp new file mode 100644 index 0000000000..2dbe9585e9 --- /dev/null +++ b/SIBR_viewers/src/core/scene/CalibratedCameras.cpp @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "CalibratedCameras.hpp" + +namespace sibr { + void CalibratedCameras::setupFromData(const sibr::IParseData::Ptr& data) + { + + + _inputCameras.resize(data->numCameras()); + _inputCameras = data->cameras(); + return; + } + + void CalibratedCameras::debugFlagCameraAsUsed(const std::vector& selectedCameras) + { + // Used for Debugging -- Display colored cameras in TopView + std::vector cameraUsed(inputCameras().size(), false); + for (uint usedID : selectedCameras) + cameraUsed[usedID] = true; + usedCameraForRendering(cameraUsed); + + } + + const void CalibratedCameras::updateNearsFars(std::vector & nearsFars) + { + if (_inputCameras.size() != nearsFars.size()) + SIBR_ERR << "InputCamera size does not match Clipping Planes size!" << std::endl; + + for (int c = 0; c < _inputCameras.size(); c++){ + _inputCameras[c]->znear(nearsFars[c].x()); + _inputCameras[c]->zfar(nearsFars[c].y()); + } + } + + + + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/scene/CalibratedCameras.hpp b/SIBR_viewers/src/core/scene/CalibratedCameras.hpp new file mode 100644 index 0000000000..9aa9e7affe --- /dev/null +++ b/SIBR_viewers/src/core/scene/CalibratedCameras.hpp @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once +# include "core/scene/ICalibratedCameras.hpp" +#include "core/scene/Config.hpp" + +namespace sibr +{ + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT CalibratedCameras : public ICalibratedCameras { + public: + + /** + * \brief Pointer to the instance of class sibr::CalibratedCameras. + */ + typedef std::shared_ptr Ptr; + + // load from a path on disk in a predefined format (or could detect from file extension) + + /** + * \brief Creates the calibrated cameras for a scene given data parsed from dataset path. + * + * \param data Holds all information required to created a set of calibrated cameras + */ + void setupFromData(const IParseData::Ptr & data) override; + + /** + * \brief Assigns the calibrated cameras for a scene to a list of cameras passed as parameter. + * + * \param cams Vector of type sibr::InputCamera to which the scene inputCameras will be set + */ + void setupCamerasFromExisting(const std::vector & cams) override; + + /** + * \brief Function to set a camera as active. + * + * \param camId Integer ID of the camera to be set active + */ + void activateCamera(uint camId) override; + + /** + * \brief Function to set a camera as inactive. + * + * \param camId Integer ID of the camera to be set inactive + */ + void deactivateCamera(uint camId) override; + + /** + * \brief Function to mark the cameras used for rendering. + * Generally used for debugging purposes + * \param selectedCameras list of camera IDs that are used for rendering + */ + void debugFlagCameraAsUsed(const std::vector& selectedCameras) override; + + /** + * \brief Function to check if the camera is used for rendering. + * + * \param camId Integer ID of the cameras to be checked if it is being used for rendering + * \return true if used for rendering + */ + bool isCameraUsedForRendering(size_t camId) const override; + + /** + * \brief Function to set the cameras used for rendering. + * + * \param usedCamera Vector to specify which cameras are used for rendering + */ + void usedCameraForRendering(const std::vector usedCamera) override; + + /** + * \brief Getter to the vector of input cameras used to create the scene + * + */ + const std::vector& inputCameras(void) const override; + + const void updateNearsFars(std::vector & nearsFars) override; + + protected: + std::vector _inputCameras; + std::vector _usedCameraFlag; + + }; + + ///// INLINE DEFINITIONS ///// + + inline void CalibratedCameras::setupCamerasFromExisting(const std::vector& cams) + { + _inputCameras = cams; + } + + inline const std::vector& CalibratedCameras::inputCameras( void ) const { + return _inputCameras; + } + + inline void CalibratedCameras::activateCamera(uint camId) + { + _inputCameras[camId]->setActive(true); + } + + inline void CalibratedCameras::deactivateCamera(uint camId) + { + _inputCameras[camId]->setActive(false); + } + + inline bool CalibratedCameras::isCameraUsedForRendering(size_t camId) const + { + return (_usedCameraFlag.empty()) ? false : _usedCameraFlag[camId]; + } + + inline void CalibratedCameras::usedCameraForRendering(const std::vector usedCamera) + { + _usedCameraFlag = usedCamera; + } +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/scene/Config.hpp b/SIBR_viewers/src/core/scene/Config.hpp new file mode 100644 index 0000000000..32042781db --- /dev/null +++ b/SIBR_viewers/src/core/scene/Config.hpp @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Config.hpp" +# include + + +#ifdef SIBR_OS_WINDOWS +//// Export Macro (used for creating DLLs) //// +# ifdef SIBR_STATIC_DEFINE +# define SIBR_EXPORT +# define SIBR_NO_EXPORT +# else +# ifndef SIBR_SCENE_EXPORT +# ifdef SIBR_SCENE_EXPORTS + /* We are building this library */ +# define SIBR_SCENE_EXPORT __declspec(dllexport) +# else + /* We are using this library */ +# define SIBR_SCENE_EXPORT __declspec(dllimport) +# endif +# endif +# ifndef SIBR_NO_EXPORT +# define SIBR_NO_EXPORT +# endif +# endif +# else +# define SIBR_SCENE_EXPORT +# endif + diff --git a/SIBR_viewers/src/core/scene/ICalibratedCameras.hpp b/SIBR_viewers/src/core/scene/ICalibratedCameras.hpp new file mode 100644 index 0000000000..90245bb09f --- /dev/null +++ b/SIBR_viewers/src/core/scene/ICalibratedCameras.hpp @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once +# include "core/scene/IParseData.hpp" +#include "core/scene/Config.hpp" + +namespace sibr +{ + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT ICalibratedCameras { + public: + + /** + * \brief Pointer to the instance of class sibr::CalibratedCameras. + */ + typedef std::shared_ptr Ptr; + + // load from a path on disk in a predefined format (or could detect from file extension) + + /** + * \brief Creates the calibrated cameras for a scene given data parsed from dataset path. + * + * \param data Holds all information required to created a set of calibrated cameras + */ + virtual void setupFromData(const IParseData::Ptr & data) = 0; + + /** + * \brief Assigns the calibrated cameras for a scene to a list of cameras passed as parameter. + * + * \param cams Vector of type sibr::InputCamera to which the scene inputCameras will be set + */ + virtual void setupCamerasFromExisting(const std::vector & cams) = 0; + + /** + * \brief Function to set a camera as active. + * + * \param camId Integer ID of the camera to be set active + */ + virtual void activateCamera(uint camId) = 0; + + /** + * \brief Function to set a camera as inactive. + * + * \param camId Integer ID of the camera to be set inactive + */ + virtual void deactivateCamera(uint camId) = 0; + + /** + * \brief Function to mark the cameras used for rendering. + * Generally used for debugging purposes + * \param selectedCameras list of camera IDs that are used for rendering + */ + virtual void debugFlagCameraAsUsed(const std::vector& selectedCameras) = 0; + + /** + * \brief Function to check if the camera is used for rendering. + * + * \param camId Integer ID of the cameras to be checked if it is being used for rendering + * \return true if used for rendering + */ + virtual bool isCameraUsedForRendering(size_t camId) const = 0; + + /** + * \brief Function to set the cameras used for rendering. + * + * \param usedCamera Vector to specify which cameras are used for rendering + */ + virtual void usedCameraForRendering(const std::vector usedCamera) = 0; + + /** + * \brief Getter to the vector of input cameras used to create the scene + * + */ + virtual const std::vector& inputCameras(void) const = 0; + + + virtual const void updateNearsFars(std::vector & nearsFars) = 0; + + }; +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/scene/IIBRScene.hpp b/SIBR_viewers/src/core/scene/IIBRScene.hpp new file mode 100644 index 0000000000..5ac9a5d8e8 --- /dev/null +++ b/SIBR_viewers/src/core/scene/IIBRScene.hpp @@ -0,0 +1,130 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include +#include "core/raycaster/CameraRaycaster.hpp" +#include "core/scene/ICalibratedCameras.hpp" +#include "core/scene/IParseData.hpp" +#include "core/scene/IProxyMesh.hpp" +#include "core/scene/IInputImages.hpp" +#include "core/scene/RenderTargetTextures.hpp" +#include "core/scene/Config.hpp" +#include "core/system/String.hpp" + +namespace sibr { + + /** + * Interface used to define how an IBR Scene is shaped + * containing multiple components required to define a scene. + * + * Members: + * - ICalibratedCameras + * - IInputImages + * - IProxyMesh + * - RenderTargetTextures + * + * \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT IIBRScene + { + + /** + * \brief Pointer to the instance of class sibr::IIBRScene. + */ + SIBR_CLASS_PTR(IIBRScene); + + public: + /** Scene initialization infos. */ + struct SceneOptions + { + bool renderTargets = true; ///< Load rendertargets? + bool mesh = true; ///< Load mesh? + bool images = true; ///< Load images? + bool cameras = true; ///< Load cameras? + bool texture = true; ///< Load texture ? + + SceneOptions() {} + }; + + /** + * \brief Creates a BasicIBRScene given custom data argument. + * The scene will be created using the custom data (cameras/images/proxies/textures etc.) provided. + * \param data to provide data instance holding customized components. + * \param width the constrained width for GPU texture data. + * \param myOpts to specify whether to initialize specific parts of the scene (RTs, geometry,...) + */ + virtual void createFromCustomData(const IParseData::Ptr & data, const uint width = 0, SceneOptions myOpts = SceneOptions()) = 0; + + /** + * \brief Function to create a scene directly using the dataset path specified in command-line. + */ + virtual void createFromDatasetPath() = 0; + + /** + * \brief Function to generate render targets using the _data (regarding cameras, images, proxies ) parsed from metadata file. + */ + virtual void createRenderTargets() = 0; + + + /** + * \brief Getter for the pointer holding the data related to the scene. + * + */ + virtual const IParseData::Ptr data(void) const = 0; + + /** + * \brief Setter for the pointer holding the data related to the scene for scene creation. + * \param data the setup data + */ + virtual void data(const sibr::IParseData::Ptr & data) = 0; + + + /** + * \brief Getter for the pointer holding cameras related to each input iamge of the scene. + * + */ + virtual const ICalibratedCameras::Ptr cameras(void) const = 0; + + /** + * \brief Getter for the pointer holding the input images to the scene. + * + */ + virtual const IInputImages::Ptr images(void) const = 0; + + /** + * \brief Getter for the pointer holding the proxies required by the scene. + * + */ + virtual const IProxyMesh::Ptr proxies(void) const = 0; + + /** + * \brief Getter for the pointer holding the render targets textures related to the scene. + * + */ + virtual const RenderTargetTextures::Ptr & renderTargets(void) const = 0; + + /** + * \brief Getter for the pointer holding the render targets textures related to the scene. + * + */ + virtual RenderTargetTextures::Ptr & renderTargets(void) = 0; + + /** + * \brief Getter for the pointer holding the mesh textures related to the mesh loaded for the scene. + * + */ + virtual Texture2DRGB::Ptr & inputMeshTextures(void) = 0; + + }; +} diff --git a/SIBR_viewers/src/core/scene/IInputImages.hpp b/SIBR_viewers/src/core/scene/IInputImages.hpp new file mode 100644 index 0000000000..95d19fa0df --- /dev/null +++ b/SIBR_viewers/src/core/scene/IInputImages.hpp @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/scene/Config.hpp" +#include "core/scene/IParseData.hpp" + +namespace sibr +{ + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT IInputImages { + SIBR_DISALLOW_COPY(IInputImages); + public: + + + typedef std::shared_ptr Ptr; + + virtual void loadFromData(const IParseData::Ptr & data) = 0; + virtual void loadFromExisting(const std::vector & imgs) = 0; + virtual void loadFromExisting(const std::vector & imgs) = 0; + virtual void loadFromPath(const IParseData::Ptr & data, const std::string & prefix, const std::string & postfix) = 0; + + // Alpha blend and modify input images -- for fences + virtual void alphaBlendInputImages(const std::vector& back, std::vector& alphas) = 0; + + virtual const std::vector& inputImages(void) const = 0; + virtual const sibr::ImageRGB& image(uint i) = 0; + + protected: + IInputImages() {}; + + }; + +} diff --git a/SIBR_viewers/src/core/scene/IParseData.hpp b/SIBR_viewers/src/core/scene/IParseData.hpp new file mode 100644 index 0000000000..ca8f202479 --- /dev/null +++ b/SIBR_viewers/src/core/scene/IParseData.hpp @@ -0,0 +1,169 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once +#include "picojson/picojson.hpp" +#include "core/scene/Config.hpp" +#include "core/system/CommandLineArgs.hpp" +# +#include "core/system/Matrix.hpp" +#include "core/assets/ImageListFile.hpp" +#include "core/assets/InputCamera.hpp" + + +#include +#include +#include + + +namespace sibr{ + + /** + * Interface used to store the data required for defining an IBR Scene + * + * + * Members: + * - _basePathName: Base dataset directory path. + * - _camInfos: Vector of sibr::InputCamera holding all data attached with the scene cameras. + * - _meshPath: Filepath of the mesh associated to the scene. + * - _imgInfos: Vector of sibr::ImageListFile::Infos holding filename, width, height, and id of the input images. + * - _imgPath: Path to the calibrated images directory. + * - _activeImages: Vector of bools storing active state of the camera. + * - _numCameras: Number of cameras associated with the dataset + * - _datasetType: Type if dataset being used. Currently supported: COLMAP, SIBR_BUNDLER, NVM, MESHROOM + * + * \ingroup sibr_scene + */ + + class SIBR_SCENE_EXPORT IParseData { + + public: + + /** + * \brief Denotes the type of dataset represented by a IParseData object. + * \ingroup sibr_scene + */ + enum class Type { + EMPTY, GAUSSIAN, BLENDER, SIBR, COLMAP_CAPREAL, COLMAP, COLMAP2, NVM, MESHROOM, CHUNKED, EXTERNAL + }; + + /** + * \brief Pointer to the instance of class sibr::IParseData. + */ + typedef std::shared_ptr Ptr; + + /** + * \brief Function to parse data from a dataset path. Will automatically determine the type of dataset based on the files present. + * \param myArgs Arguments containing the dataset path and other infos + * \param customPath additional data path + */ + virtual void getParsedData(const BasicIBRAppArgs & myArgs, const std::string & customPath = "") = 0; + + /** + * \brief Getter for the information regarding the input images. + * + */ + virtual const std::vector& imgInfos(void) const = 0; + + /** + * \brief Setter for the information regarding the input images. + * + */ + virtual void imgInfos(std::vector& infos) = 0; + + /** + * \brief Getter to the number of cameras defined in the bundle file. + * + */ + virtual const int numCameras(void) const = 0; + + /** + * \brief Setter to the number of cameras defined in the bundle file. + * + */ + virtual void numCameras(int numCams) = 0; + + /** + * \brief Getter for the list of active cameras/images. + * + */ + virtual const std::vector& activeImages(void) const = 0; + + /** + * \brief Setter for the list of active cameras/images. + * + */ + virtual void activeImages(std::vector& activeCams) = 0; + + /** + * \brief Getter for the base path name where the dataset is located. + * + */ + virtual const std::string& basePathName(void) const = 0; + + /** + * \brief Setter for the base path name where the dataset is located. + * + */ + virtual void basePathName(std::string & path) = 0; + + /** + * \brief Getter for the mesh path where the dataset is located. + * + */ + virtual const std::string& meshPath(void) const = 0; + + /** + * \brief Setter for the mesh path where the dataset is located. + * + */ + virtual void meshPath(std::string & path) = 0; + + /** + * \brief Getter for the dataset type. + * + */ + virtual const IParseData::Type& datasetType(void) const = 0; + + /** + * \brief Setter for the dataset type. + * + */ + virtual void datasetType(IParseData::Type dataType) = 0; + + /** + * \brief Getter for the camera infos. + * + */ + virtual const std::vector cameras(void) const = 0; + + /** + * \brief Setter for the camera infos. + * + */ + virtual void cameras(std::vector& cams) = 0; + + /** + * \brief Getter for the image path. + * + */ + virtual const std::string imgPath(void) const = 0; + + /** + * \brief Setter for the image path. + * + */ + virtual void imgPath(std::string& imPath) = 0; + + }; + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/scene/IProxyMesh.hpp b/SIBR_viewers/src/core/scene/IProxyMesh.hpp new file mode 100644 index 0000000000..c2adc02c96 --- /dev/null +++ b/SIBR_viewers/src/core/scene/IProxyMesh.hpp @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/scene/Config.hpp" +#include "core/scene/IParseData.hpp" +#include "core/graphics/Mesh.hpp" + +namespace sibr { + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT IProxyMesh { + SIBR_DISALLOW_COPY(IProxyMesh); + public: + typedef std::shared_ptr Ptr; + + virtual void loadFromData(const IParseData::Ptr & data) = 0; + virtual void replaceProxy(Mesh::Ptr newProxy) = 0; + virtual void replaceProxyPtr(Mesh::Ptr newProxy) = 0; + virtual bool hasProxy(void) const = 0; + virtual const Mesh& proxy(void) const = 0; + virtual const Mesh::Ptr proxyPtr(void) const = 0; + + protected: + IProxyMesh() {}; + + }; + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/scene/InputImages.cpp b/SIBR_viewers/src/core/scene/InputImages.cpp new file mode 100644 index 0000000000..1484c81320 --- /dev/null +++ b/SIBR_viewers/src/core/scene/InputImages.cpp @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "InputImages.hpp" + + +namespace sibr +{ + void InputImages::loadFromData(const IParseData::Ptr & data) + { + //InputImages out; + _inputImages.resize(data->imgInfos().size()); + + if (data->imgInfos().empty() == false) + { +// #pragma omp parallel for + for (int i = 0; i < data->imgInfos().size(); ++i) { + if (data->activeImages()[i]) { + _inputImages[i] = std::make_shared(); + _inputImages[i]->load(data->imgPath() + "/" + data->imgInfos().at(i).filename, false); + } + else { + _inputImages[i] = std::make_shared(16,16, 0); + } + } + + } + else + SIBR_WRG << "cannot load images (ImageListFile is empty. Did you use ImageListFile::load(...) before ?"; + + std::cout << std::endl; + + return; + } + + void InputImages::loadFromExisting(const std::vector & imgs) + { + _inputImages.resize(imgs.size()); + for (size_t i = 0; i < imgs.size(); ++i) { + _inputImages[i].reset(new ImageRGB(imgs[i].clone())); + } + } + + /// \todo UN-TESTED code!!!! + void InputImages::loadFromPath(const IParseData::Ptr & data, const std::string & prefix, const std::string & postfix) + { + _inputImages.resize(data->imgInfos().size()); + + #pragma omp parallel for + for (int i = 0; i < data->imgInfos().size(); ++i) { + if (data->activeImages()[i]) { + std::string imgPath = data->basePathName()+ "/images/" + prefix + sibr::imageIdToString(i) + postfix; + if (!_inputImages[i]->load(imgPath, false)) { + SIBR_WRG << "could not load input image : " << imgPath << std::endl; + } + } + } + } + + + void InputImages::alphaBlendInputImages(const std::vector& back, std::vector& alphas) + { + for (uint i = 0; i< _inputImages.size(); i++) { + // check size + if (_inputImages[i]->w() != alphas[i].w() || + _inputImages[i]->h() != alphas[i].h()) + alphas[i] = alphas[i].resized(_inputImages[i]->w(), _inputImages[i]->h()); + for (uint x = 0; x<_inputImages[i]->w(); x++) + for (uint y = 0; y<_inputImages[i]->h(); y++) { + ImageRGB::Pixel p = _inputImages[i](x, y); + ImageRGB::Pixel bp = back[i](x, y); + ImageRGB::Pixel a = alphas[i](x, y); + Vector3f alpha(float(a[0] / 255.), float(a[1] / 255.), float(a[2] / 255.)); + float al = alpha[0]; // assume grey for now + Vector3f val = Vector3f(float(p[0]), float(p[1]), float(p[2])); + Vector3f bval = Vector3f(float(bp[0]), float(bp[1]), float(bp[2])); + Vector3f out; + if (alpha[0] > 0.4) { + out = (val - bval + al*bval) / al; // foreground solving for a + + // clamp +#define NZ(x) ((x)<0.f?0.f:x) +#define UP(x) ((x)>255.f?255.f:x) + out[0] = UP(NZ(out[0])); + out[1] = UP(NZ(out[1])); + out[2] = UP(NZ(out[2])); + } + else + out = Vector3f(0, 0, 0); + + _inputImages[i](x, y) = ImageRGB::Pixel((uint)out[0], (uint)out[1], (uint)out[2]); + } + } + } +} + diff --git a/SIBR_viewers/src/core/scene/InputImages.hpp b/SIBR_viewers/src/core/scene/InputImages.hpp new file mode 100644 index 0000000000..e6b14b2448 --- /dev/null +++ b/SIBR_viewers/src/core/scene/InputImages.hpp @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/scene/IInputImages.hpp" +#include "core/scene/Config.hpp" + +namespace sibr +{ + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT InputImages : public IInputImages { + SIBR_DISALLOW_COPY(InputImages); + public: + + + typedef std::shared_ptr Ptr; + + InputImages(){}; + void loadFromData(const IParseData::Ptr & data) override; + virtual void loadFromExisting(const std::vector & imgs) override; + void loadFromExisting(const std::vector & imgs) override; + void loadFromPath(const IParseData::Ptr & data, const std::string & prefix, const std::string & postfix) override; + + // Alpha blend and modify input images -- for fences + void alphaBlendInputImages(const std::vector& back, std::vector& alphas) override; + + const std::vector& inputImages(void) const override; + const sibr::ImageRGB& image(uint i) override { return *_inputImages[i]; } + + ~InputImages(){}; + + protected: + + std::vector _inputImages; + + }; + + inline void InputImages::loadFromExisting(const std::vector& imgs) + { + _inputImages = imgs; + } + + inline const std::vector& InputImages::inputImages(void) const { + return _inputImages; + } + +} diff --git a/SIBR_viewers/src/core/scene/ParseData.cpp b/SIBR_viewers/src/core/scene/ParseData.cpp new file mode 100755 index 0000000000..f709af5a64 --- /dev/null +++ b/SIBR_viewers/src/core/scene/ParseData.cpp @@ -0,0 +1,637 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "ParseData.hpp" + +#include +#include +#include + +#include +#include +#include +#include +#include "core/system/String.hpp" +#include "core/graphics/Mesh.hpp" +#include "core/system/Utils.hpp" +#include + +using namespace boost::algorithm; +namespace sibr { + + + bool ParseData::parseBundlerFile(const std::string & bundler_file_path) + { + // check bundler file + std::ifstream bundle_file(bundler_file_path); + if (!bundle_file.is_open()) { + SIBR_ERR << "Bundler file does not exist at " + bundler_file_path << std::endl; + } + + // read number of images + std::string line; + safeGetline(bundle_file, line); // ignore first line - contains version + + bundle_file >> _numCameras; // read first value (number of images) + safeGetline(bundle_file, line); // ignore the rest of the line + + //_outputCamsMatrix.resize(_numCameras); + _camInfos.resize(_numCameras); + for (int i = 0; i < _numCameras; i++) { + const sibr::ImageListFile::Infos& infos = _imgInfos[i]; + + //Matrix4f &m = _outputCamsMatrix[i]; + Matrix4f m; + bundle_file >> m(0) >> m(1) >> m(2) >> m(3) >> m(4); + bundle_file >> m(5) >> m(6) >> m(7) >> m(8) >> m(9); + bundle_file >> m(10) >> m(11) >> m(12) >> m(13) >> m(14); + + _camInfos[i] = InputCamera::Ptr(new InputCamera(infos.camId, infos.width, infos.height, m, _activeImages[i])); + _camInfos[i]->name(infos.filename); + _camInfos[i]->znear(0.001f); + _camInfos[i]->zfar(1000.0f); + } + + return true; + } + + void ParseData::populateFromCamInfos() + { + _numCameras = _camInfos.size(); + _imgInfos.resize(_numCameras); + _activeImages.resize(_numCameras); + for (uint id = 0; id < _numCameras; id++) { + _imgInfos[id].camId = _camInfos[id]->id(); + _imgInfos[id].filename = _camInfos[id]->name(); + _imgInfos[id].height = _camInfos[id]->h(); + _imgInfos[id].width = _camInfos[id]->w(); + + _activeImages[id] = _camInfos[id]->isActive(); + } + } + + bool ParseData::parseSceneMetadata(const std::string& scene_metadata_path) + { + + std::string line; + std::vector splitS; + std::ifstream scene_metadata(scene_metadata_path); + if (!scene_metadata.is_open()) { + return false; + } + + uint camId = 0; + + while (safeGetline(scene_metadata, line)) + + { + if (line.compare("[list_images]") == 0 ) + { + safeGetline(scene_metadata, line); // ignore template specification line + ImageListFile::Infos infos; + int id; + while (safeGetline(scene_metadata, line)) + { +// std::cerr << line << std::endl; + split(splitS, line, is_any_of(" ")); +// std::cerr << splitS.size() << std::endl; + if (splitS.size() > 1) { + infos.filename = splitS[0]; + infos.width = stoi(splitS[1]); + infos.height = stoi(splitS[2]); + infos.camId = camId; + + //infos.filename.erase(infos.filename.find_last_of("."), std::string::npos); + id = atoi(infos.filename.c_str()); + + InputCamera::Z nearFar(100.0f, 0.1f); + + if (splitS.size() > 3) { + nearFar.near = stof(splitS[3]); + nearFar.far = stof(splitS[4]); + } + _imgInfos.push_back(infos); + + ++camId; + infos.filename.clear(); + splitS.clear(); + } + else + break; + } + } + else if (line.compare("[active_images]") == 0) { + + safeGetline(scene_metadata, line); // ignore template specification line + + _activeImages.resize(_imgInfos.size()); + + for (int i = 0; i < _imgInfos.size(); i++) + _activeImages[i] = false; + + while (safeGetline(scene_metadata, line)) + { + split(splitS, line, is_any_of(" ")); + //std::cout << splitS.size() << std::endl; + if (splitS.size() >= 1) { + for (auto& s : splitS) + if (!s.empty()) + _activeImages[stoi(s)] = true; + splitS.clear(); + break; + } + else + break; + } + } + else if (line.compare("[exclude_images]") == 0) { + + safeGetline(scene_metadata, line); // ignore template specification line + + _activeImages.resize(_imgInfos.size()); + + for (int i = 0; i < _imgInfos.size(); i++) + _activeImages[i] = true; + + while (safeGetline(scene_metadata, line)) + { + split(splitS, line, is_any_of(" ")); + if (splitS.size() >= 1) { + for (auto& s : splitS) + if (!s.empty()) + _activeImages[stoi(s)] = false; + splitS.clear(); + break; + } + else + break; + } + } + else if (line == "[proxy]") { + // Read the relative path of the mesh to load. + safeGetline(scene_metadata, line); + + _meshPath = _basePathName + "/" + line; + } + } + + if (_activeImages.empty()) { + _activeImages.resize(_imgInfos.size()); + for (int i = 0; i < _imgInfos.size(); i++) { + _activeImages[i] = true; + } + } + + + + scene_metadata.close(); + + return true; + } + + void ParseData::getParsedBundlerData(const std::string & dataset_path, const std::string & customPath, const std::string & scene_metadata_filename) + { + _basePathName = dataset_path + customPath; + /*std::cout << scene_metadata_filename << std::endl;*/ + if (!parseSceneMetadata(_basePathName + "/" + scene_metadata_filename)) { + SIBR_ERR << "Scene Metadata file does not exist at /" + _basePathName + "/." << std::endl; + } + + if (!parseBundlerFile(_basePathName + "/cameras/bundle.out")) { + SIBR_ERR << "Bundle file does not exist at /" + _basePathName + "/cameras/." << std::endl; + } + + _imgPath = _basePathName + "/images/"; + + // Default mesh path if none found in the metadata file. + if (_meshPath.empty()) { + _meshPath = _basePathName + "/meshes/recon.obj"; + _meshPath = (sibr::fileExists(_meshPath)) ? _meshPath : _basePathName + "/meshes/recon.ply"; + } + + } + + void ParseData::getParsedMeshroomData(const std::string & dataset_path, const std::string & customPath) + { + _basePathName = dataset_path; + + std::string meshRoomCachePath = sibr::listSubdirectories(_basePathName + "/StructureFromMotion/")[0]; + + _camInfos = sibr::InputCamera::loadMeshroom(_basePathName + "/StructureFromMotion/" + meshRoomCachePath); + + if (_camInfos.empty()) { + SIBR_ERR << "Could not load Meshroom sfm file at /" + _basePathName + "/StructureFromMotion/"<< meshRoomCachePath << std::endl; + } + + _imgPath = _basePathName + "/PrepareDenseScene/" + sibr::listSubdirectories(_basePathName + "/PrepareDenseScene/")[0]; + + populateFromCamInfos(); + + _meshPath = _basePathName + "/Texturing/" + sibr::listSubdirectories(_basePathName + "/Texturing/")[0] + "/texturedMesh.obj"; + } + + void ParseData::getParsedBlenderData(const std::string& dataset_path) + { + _camInfos = InputCamera::loadTransform(dataset_path + "/transforms_test.json", 800, 800, "png", 0.01f, 1000.0f); + auto testInfos = InputCamera::loadTransform(dataset_path + "/transforms_train.json", 800, 800, "png", 0.01f, 1000.0f, _camInfos.size()); + _camInfos.insert(_camInfos.end(), testInfos.begin(), testInfos.end()); + + _basePathName = dataset_path; + + if (_camInfos.empty()) { + SIBR_ERR << "Colmap camera calibration file does not exist at /" + _basePathName + "/sparse/." << std::endl; + } + + _imgPath = dataset_path; + + populateFromCamInfos(); + + _meshPath = dataset_path; + } + + void ParseData::getParsedGaussianData(const std::string& dataset_path) + { + _camInfos = InputCamera::loadJSON(dataset_path + "/cameras.json"); + _meshPath = dataset_path + "/input.ply"; + + _basePathName = dataset_path; + + _imgPath = "."; + + populateFromCamInfos(); + + _meshPath = dataset_path + "/input.ply"; + } + + void ParseData::getParsedColmap2Data(const std::string& dataset_path, const int fovXfovY_flag, const bool capreal_flag) + { + _basePathName = dataset_path + "/sparse/0/"; + + _camInfos = sibr::InputCamera::loadColmapBin(_basePathName, 0.01f, 1000.0f, fovXfovY_flag); + + if (_camInfos.empty()) { + _camInfos = sibr::InputCamera::loadColmap(_basePathName, 0.01f, 1000.0f, fovXfovY_flag); + } + + if (_camInfos.empty()) { + SIBR_ERR << "Colmap camera calibration file does not exist at /" + _basePathName + "/sparse/." << std::endl; + } + + _imgPath = dataset_path + "/images/"; + + populateFromCamInfos(); + + _meshPath = dataset_path + "/sparse/0/points3d.bin"; + + if (!std::ifstream(_meshPath).good()) + _meshPath = dataset_path + "/sparse/0/points3d.txt"; + } + + void colmapSave(const std::string& filename, const std::vector& xformPath, float scale) { + // save as colmap images.txt file + sibr::Matrix3f converter; + converter << 1, 0, 0, + 0, -1, 0, + 0, 0, -1; + + std::ofstream outputColmapPath, outputColmapPathCams; + std::string colmapPathCams = parentDirectory(filename) + std::string("/cameras.txt"); + + std::cerr << std::endl; + std::cerr << std::endl; + std::cerr << "Writing colmap path to " << parentDirectory(filename) << std::endl; + + outputColmapPath.open(filename); + if (!outputColmapPath.good()) + SIBR_ERR << "Cant open output file " << filename << std::endl; + outputColmapPathCams.open(colmapPathCams); + + outputColmapPathCams << "# Camera list with one line of data per camera:" << std::endl; + outputColmapPathCams << "# CAMERA_ID, MODEL, WIDTH, HEIGHT, PARAMS[]" << std::endl; + outputColmapPathCams << "# Number of cameras: " << xformPath.size() << std::endl; + + SIBR_WRG << "No focal x given making it equal to focaly * aspect ratio; use result at own risk. Should have a colmap dataset as input" << std::endl; + + for (int i = 0; i < xformPath.size(); i++) { + float focalx = xformPath[i]->focal() * xformPath[i]->aspect(); // use aspect ratio + outputColmapPathCams << i + 1 << " PINHOLE " << xformPath[i]->w() * scale << " " << xformPath[i]->h() * scale + << " " << xformPath[i]->focal() * scale << " " << focalx * scale + << " " << xformPath[i]->w() * scale * 0.5 << " " << xformPath[i]->h() * scale * 0.5 << std::endl; + } + + + outputColmapPath << "# Image list with two lines of data per image:" << std::endl; + outputColmapPath << "# IMAGE_ID, QW, QX, QY, QZ, TX, TY, TZ, CAMERA_ID, NAME" << std::endl; + outputColmapPath << "# POINTS2D[] as (X, Y, POINT3D_ID)" << std::endl; + for (int i = 0; i < xformPath.size(); i++) { + sibr::Matrix3f tmp = xformPath[i]->rotation().toRotationMatrix() * converter; + sibr::Matrix3f Qinv = tmp.transpose(); + sibr::Quaternionf q = quatFromMatrix(Qinv); + sibr::Vector3f t = -Qinv * xformPath[i]->position(); + + outputColmapPath << (i+1) << " " << q.w() << " " << -q.x() << " " << -q.y() << " " << -q.z() << " " << + t.x() << " " << t.y() << " " << t.z() << " " << (i+1) << " " << xformPath[i]->name() << std::endl; + outputColmapPath << std::endl; // empty line, no points + } + outputColmapPath.close(); + outputColmapPathCams.close(); + } + + void ParseData::getParsedChunkedData(const std::string& dataset_path) + { + _basePathName = sibr::parentDirectory(sibr::parentDirectory(dataset_path));; + + auto test = sibr::getFileName(dataset_path); + std::replace(test.begin(), test.end(), '_', ' '); + std::stringstream ss(test); + int x, y; + ss >> x >> y; + x = 0; + y = 0; + + _imgPath = _basePathName + "/cameras/"; + + auto camdirs = sibr::listSubdirectories(_imgPath); + + for (int i = 0; i < camdirs.size(); i++) + { + auto cam = std::make_shared(0, 0, 0, 0, 0, 0, _camInfos.size()); + cam->loadFromBinary(_imgPath + camdirs[i] + "/incam.bin"); + + auto quat = cam->transform().rotation(); + auto mat = sibr::matFromQuat(quat); + + if (mat(2, 2) > 0.9 || cam->position().x() < (x) * 100.9 || cam->position().x() > (x+1) * 100.9 || cam->position().y() < y * 100.9 || cam->position().y() > (y + 1) * 100.9) + continue; + + cam->name(camdirs[i] + ".png"); + _camInfos.push_back(cam); + } + + populateFromCamInfos(); + + colmapSave(_basePathName + "/sparse/images.txt", _camInfos, 1.0f); + + _meshPath = dataset_path + "/mesh.ply"; + } + + + void ParseData::getParsedColmapData(const std::string & dataset_path, const int fovXfovY_flag, const bool capreal_flag) + { + _basePathName = dataset_path + "/colmap/stereo"; + + _camInfos = sibr::InputCamera::loadColmap(_basePathName + "/sparse", 0.01f, 1000.0f, fovXfovY_flag); + + if (_camInfos.empty()) { + SIBR_ERR << "Colmap camera calibration file does not exist at /" + _basePathName + "/sparse/." << std::endl; + } + + _imgPath = _basePathName + "/images/"; + + std::string blackListFile = dataset_path + "/colmap/database.blacklist"; + + if (sibr::fileExists(blackListFile)) { + std::string line; + std::vector splitS; + std::ifstream blackListFileF(blackListFile); + if (blackListFileF.is_open()) { + while (safeGetline(blackListFileF, line)) { + + split(splitS, line, is_any_of(" ")); + //std::cout << splitS.size() << std::endl; + if (splitS.size() > 0) { + for (uint cam_id = 0; cam_id < _camInfos.size(); cam_id++) { + if (find_any(splitS, _camInfos[cam_id]->name())) { + _camInfos[cam_id]->setActive(false); + } + } + splitS.clear(); + } + else + break; + } + } + } + + populateFromCamInfos(); + + if(capreal_flag) { + _meshPath = dataset_path + "/capreal/mesh.obj"; + _meshPath = (sibr::fileExists(_meshPath)) ? _meshPath : dataset_path + "/capreal/mesh.ply"; + } + else { + _meshPath = dataset_path + "/colmap/stereo/meshed-delaunay.ply"; + } + + } + + void ParseData::getParsedNVMData(const std::string & dataset_path, const std::string & customPath, const std::string & nvm_path) + { + _basePathName = dataset_path + customPath + nvm_path; + + _camInfos = sibr::InputCamera::loadNVM(_basePathName + "/scene.nvm", 0.001f, 1000.0f); + if (_camInfos.empty()) { + SIBR_ERR << "Error reading NVM dataset at /" + _basePathName << std::endl; + } + + _imgPath = _basePathName; + + populateFromCamInfos(); + + _meshPath = dataset_path + "/capreal/mesh.obj"; + _meshPath = (sibr::fileExists(_meshPath)) ? _meshPath : dataset_path + "/capreal/mesh.ply"; + } + + void ParseData::getParsedData(const BasicIBRAppArgs & myArgs, const std::string & customPath) + { + std::string datasetTypeStr = myArgs.dataset_type.get(); + + boost::algorithm::to_lower(datasetTypeStr); + + std::string bundler = myArgs.dataset_path.get() + customPath + "/cameras/bundle.out"; + std::string colmap = myArgs.dataset_path.get() + "/colmap/stereo/sparse/images.txt"; + std::string colmap_2 = myArgs.dataset_path.get() + "/sparse/0/images.bin"; + std::string caprealobj = myArgs.dataset_path.get() + "/capreal/mesh.obj"; + std::string caprealply = myArgs.dataset_path.get() + "/capreal/mesh.ply"; + std::string nvmscene = myArgs.dataset_path.get() + customPath + "/nvm/scene.nvm"; + std::string meshroom = myArgs.dataset_path.get() + "/../../StructureFromMotion/"; + std::string meshroom_sibr = myArgs.dataset_path.get() + "/StructureFromMotion/"; + std::string chunked = myArgs.dataset_path.get() + "/chunk.dat"; + std::string blender = myArgs.dataset_path.get() + "/transforms_train.json"; + std::string gaussian = myArgs.dataset_path.get() + "/cameras.json"; + + if(datasetTypeStr == "sibr") { + if (!sibr::fileExists(bundler)) + SIBR_ERR << "Cannot use dataset_type " + myArgs.dataset_type.get() + " at /" + myArgs.dataset_path.get() + "." << std::endl + << "Reason : bundler folder (" << bundler << ") does not exist" << std::endl; + + _datasetType = Type::SIBR; + } + else if (datasetTypeStr == "colmap_capreal") { + if (!sibr::fileExists(colmap)) + SIBR_ERR << "Cannot use dataset_type " + myArgs.dataset_type.get() + " at /" + myArgs.dataset_path.get() + "." << std::endl + << "Reason : colmap folder (" << colmap << ") does not exist" << std::endl; + + if (!(sibr::fileExists(caprealobj) || sibr::fileExists(caprealply))) + SIBR_ERR << "Cannot use dataset_type " + myArgs.dataset_type.get() + " at /" + myArgs.dataset_path.get() + "." << std::endl + << "Reason : capreal mesh (" << caprealobj << ", " << caprealply << ") does not exist" << std::endl; + + _datasetType = Type::COLMAP_CAPREAL; + } + else if (datasetTypeStr == "colmap") { + if (!sibr::fileExists(colmap)) + SIBR_ERR << "Cannot use dataset_type " + myArgs.dataset_type.get() + " at /" + myArgs.dataset_path.get() + "." << std::endl + << "Reason : colmap folder (" << colmap << ") does not exist" << std::endl; + + _datasetType = Type::COLMAP; + } + else if (datasetTypeStr == "nvm") { + if (!sibr::fileExists(nvmscene)) + SIBR_ERR << "Cannot use dataset_type " + myArgs.dataset_type.get() + " at /" + myArgs.dataset_path.get() + "." << std::endl + << "Reason : nvmscene folder (" << nvmscene << ") does not exist" << std::endl; + + _datasetType = Type::NVM; + } + else if (datasetTypeStr == "meshroom") { + if (!(sibr::directoryExists(meshroom) || sibr::directoryExists(meshroom_sibr))) + SIBR_ERR << "Cannot use dataset_type " + myArgs.dataset_type.get() + " at /" + myArgs.dataset_path.get() + "." << std::endl + << "Reason : meshroom folder (" << meshroom << ", " << meshroom_sibr << ") does not exist" << std::endl; + + _datasetType = Type::MESHROOM; + } + else if (datasetTypeStr == "blender") + { + if (!sibr::fileExists(blender)) + SIBR_ERR << "Cannot use dataset_type " + myArgs.dataset_type.get() + " at /" + myArgs.dataset_path.get() + "." << std::endl + << "Reason : blender transform (" << blender << ") does not exist" << std::endl; + + _datasetType = Type::BLENDER; + } + else if (datasetTypeStr == "gaussian") + { + if (!sibr::fileExists(gaussian)) + SIBR_ERR << "Cannot use dataset_type " + myArgs.dataset_type.get() + " at /" + myArgs.dataset_path.get() + "." << std::endl + << "Reason : Gaussian transform (" << blender << ") does not exist" << std::endl; + + _datasetType = Type::BLENDER; + } + else { + if (sibr::fileExists(bundler)) { + _datasetType = Type::SIBR; + } + else if (sibr::fileExists(gaussian)) + { + _datasetType = Type::GAUSSIAN; + } + else if (sibr::fileExists(colmap) && (sibr::fileExists(caprealobj) || sibr::fileExists(caprealply))) { + _datasetType = Type::COLMAP_CAPREAL; + } + else if (sibr::fileExists(colmap)) { + _datasetType = Type::COLMAP; + } + else if (sibr::fileExists(nvmscene)) { + _datasetType = Type::NVM; + } + else if (sibr::directoryExists(meshroom) || sibr::directoryExists(meshroom_sibr)) { + _datasetType = Type::MESHROOM; + } + else if (sibr::fileExists(colmap_2)) + _datasetType = Type::COLMAP2; + + else if (sibr::fileExists(chunked)) + { + _datasetType = Type::CHUNKED; + } + else if (sibr::fileExists(blender)) + { + _datasetType = Type::BLENDER; + } + else { + SIBR_ERR << "Cannot determine type of dataset at /" + myArgs.dataset_path.get() + customPath << std::endl; + } + } + + switch(_datasetType) { + case Type::GAUSSIAN: getParsedGaussianData(myArgs.dataset_path); break; + case Type::BLENDER: getParsedBlenderData(myArgs.dataset_path); break; + case Type::SIBR : getParsedBundlerData(myArgs.dataset_path, customPath, myArgs.scene_metadata_filename); break; + case Type::COLMAP_CAPREAL : getParsedColmapData(myArgs.dataset_path, myArgs.colmap_fovXfovY_flag, true); break; + case Type::COLMAP : getParsedColmapData(myArgs.dataset_path, myArgs.colmap_fovXfovY_flag, false); break; + case Type::COLMAP2 : getParsedColmap2Data(myArgs.dataset_path, myArgs.colmap_fovXfovY_flag, false); break; + case Type::CHUNKED: getParsedChunkedData(myArgs.dataset_path); break; + case Type::NVM : getParsedNVMData(myArgs.dataset_path, customPath, "/nvm/"); break; + case Type::MESHROOM : if (sibr::directoryExists(meshroom)) getParsedMeshroomData(myArgs.dataset_path.get() + "/../../"); + else if (sibr::directoryExists(meshroom_sibr)) getParsedMeshroomData(myArgs.dataset_path); break; + } + + // What happens if multiple are present? + // Ans: Priority --> SIBR > COLMAP > NVM + + // Subtract minCAMID from all + uint minCamID = UINT_MAX; + for (const auto& cam : _camInfos) + minCamID = std::min(minCamID, cam->id()); + for (auto& cam : _camInfos) + cam->_id -= minCamID; + for (auto& img : _imgInfos) + img.camId -= minCamID; + + // Find max cam ID and check present image IDs + int maxId = 0; + std::vector presentIDs; + + presentIDs.resize(_numCameras); + + for (int c = 0; c < _numCameras; c++) { + maxId = (maxId > int(_imgInfos[c].camId)) ? maxId : int(_imgInfos[c].camId); + if (_imgInfos[c].camId >= presentIDs.size()) + { + //SIBR_ERR << "Incorrect Camera IDs " << std::endl; + continue; + } + try + { + presentIDs[_imgInfos[c].camId] = true; + } + catch (const std::exception&) + { + SIBR_ERR << "Incorrect Camera IDs " << std::endl; + } + } + + // Check if max cam ID matches max number of cams + // If not find the missing IDs + std::vector missingIDs; + int curid; + int j, pos; + if (maxId >= _numCameras) { + for (int i = 0; i < _numCameras; i++) { + if (!presentIDs[i]) { missingIDs.push_back(i); } + } + + // Now, shift the imgInfo IDs to adjust max Cam IDs + for (int k = 0; k < _numCameras; k++) { + curid = _imgInfos[k].camId; + pos = -1; + for (j = 0; j < missingIDs.size(); j++) { + if (curid > missingIDs[j]) { pos = j; } + else { break; } + } + + _imgInfos[k].camId = _imgInfos[k].camId - (pos + 1); + } + } + + } + +} diff --git a/SIBR_viewers/src/core/scene/ParseData.hpp b/SIBR_viewers/src/core/scene/ParseData.hpp new file mode 100644 index 0000000000..09ac8b5329 --- /dev/null +++ b/SIBR_viewers/src/core/scene/ParseData.hpp @@ -0,0 +1,309 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/scene/IParseData.hpp" + + +namespace sibr{ + + /** + * Class used to store the data required for defining an IBR Scene + * + * + * Members: + * - _basePathName: Base dataset directory path. + * - _camInfos: Vector of sibr::InputCamera holding all data attached with the scene cameras. + * - _meshPath: Filepath of the mesh associated to the scene. + * - _imgInfos: Vector of sibr::ImageListFile::Infos holding filename, width, height, and id of the input images. + * - _imgPath: Path to the calibrated images directory. + * - _activeImages: Vector of bools storing active state of the camera. + * - _numCameras: Number of cameras associated with the dataset + * - _datasetType: Type if dataset being used. Currently supported: COLMAP, SIBR_BUNDLER, NVM, MESHROOM + * + * \ingroup sibr_scene + */ + + class SIBR_SCENE_EXPORT ParseData: public IParseData { + + public: + + /** + * \brief Pointer to the instance of class sibr::ParseData. + */ + typedef std::shared_ptr Ptr; + + /** + * \brief Function to parse data from a template dataset path. + * \param dataset_path Path to the folder containing data + * \param customPath Path to algorithm specific data + * \param scene_metadata_filename Specify the filename of the Scene Metadata file to load specific scene + */ + void getParsedBundlerData(const std::string & dataset_path, const std::string & customPath, const std::string & scene_metadata_filename); + + /** + * \brief Function to parse data from a template dataset path. + * \param dataset_path Path to the folder containing data + * \param customPath Path to algorithm specific data + */ + void getParsedMeshroomData(const std::string & dataset_path, const std::string & customPath = ""); + + + /** + * \brief Function to parse data from a colmap dataset path. + * + * The function takes in a colmap dataset folder path and populates ParseData members with data. + * This function can be used for direct compatibility with colmap data in SIBR. + * The function automatically computes the intrinsic and extrinsic parameters of the camera, input images filename, widht and height etc. + * Colmap uses LHS coordinate system while SIBR uses RHS coordinate system. The function applies appropriate transformation to handle this case. + * + * For further compatibility with FrIBR, which enforces a Y-up RHS coordinate system, we need to apply an extra conversion to the rotation matrix, to 'flip back' from y-down to y-up. + * \note Note: when applying the above mentioned conversion, the mesh needs to be converted by the same converter matrix + * \param dataset_path Path to the folder containing data + * \param fovXfovY_flag activate two dimensional fov parameters + * \param capreal_flag use capreal data + */ + void getParsedColmapData(const std::string & dataset_path, const int fovXfovY_flag, const bool capreal_flag = true); + + + void getParsedColmap2Data(const std::string & dataset_path, const int fovXfovY_flag, const bool capreal_flag = true); + + void getParsedGaussianData(const std::string& dataset_path); + + void getParsedBlenderData(const std::string& dataset_path); + + void getParsedChunkedData(const std::string& dataset_path); + + /** + * \brief Function to parse data from a template dataset path. + * \param dataset_path Path to the folder containing data + * \param customPath Path to algorithm specific data + * \param nvm_path Specify the filename of the NVM path. + */ + void getParsedNVMData(const std::string & dataset_path, const std::string & customPath, const std::string & nvm_path); + + /** + * \brief Function to parse data from a dataset path. Will automatically determine the type of dataset based on the files present. + * \param myArgs Arguments containing the dataset path and other infos + * \param customPath additional data path + */ + void getParsedData(const BasicIBRAppArgs & myArgs, const std::string & customPath = "") override; + + /** + * \brief Getter for the information regarding the input images. + * + */ + const std::vector& imgInfos(void) const override; + + /** + * \brief Setter for the information regarding the input images. + * + */ + void imgInfos(std::vector& infos) override; + + /** + * \brief Getter to the number of cameras defined in the bundle file. + * + */ + const int numCameras(void) const override; + + /** + * \brief Setter to the number of cameras defined in the bundle file. + * + */ + void numCameras(int numCams) override; + + /** + * \brief Getter for the list of active cameras/images. + * + */ + const std::vector& activeImages(void) const override; + + /** + * \brief Setter for the list of active cameras/images. + * + */ + void activeImages(std::vector& activeCams) override; + + /** + * \brief Getter for the base path name where the dataset is located. + * + */ + const std::string& basePathName(void) const override; + + /** + * \brief Setter for the base path name where the dataset is located. + * + */ + void basePathName(std::string & path) override; + + /** + * \brief Getter for the mesh path where the dataset is located. + * + */ + const std::string& meshPath(void) const override; + + /** + * \brief Setter for the mesh path where the dataset is located. + * + */ + void meshPath(std::string & path) override; + + /** + * \brief Getter for the dataset type. + * + */ + const IParseData::Type& datasetType(void) const override; + + /** + * \brief Setter for the dataset type. + * + */ + void datasetType(IParseData::Type dataType) override; + + /** + * \brief Getter for the camera infos. + * + */ + const std::vector cameras(void) const override; + + /** + * \brief Setter for the camera infos. + * + */ + void cameras(std::vector& cams) override; + + /** + * \brief Getter for the image path. + * + */ + const std::string imgPath(void) const override; + + /** + * \brief Setter for the image path. + * + */ + void imgPath(std::string& imPath) override; + + /** + * \brief Function to parse the scene metadata file to read image data. + * + */ + virtual bool parseSceneMetadata(const std::string & scene_metadata_path); + + protected: + + /** + * \brief Function to parse the camera calibration files to read camera properties (camera matrix etc.). + * + */ + bool parseBundlerFile(const std::string & bundler_file_path); + + + /** + * \brief Function to populate scene info from camera infos to appropriate location. + * + */ + void populateFromCamInfos(); + + std::vector _camInfos; + std::string _basePathName; + std::string _meshPath; + std::vector _imgInfos; + std::string _imgPath = ""; + std::vector _activeImages; + int _numCameras; + Type _datasetType = Type::EMPTY; + + }; + + + ///// INLINE DEFINITIONS ///// + + inline const std::vector& ParseData::imgInfos(void) const { + return _imgInfos; + } + + inline void ParseData::imgInfos(std::vector& infos) + { + _imgInfos = infos; + } + + inline const int ParseData::numCameras( void ) const { + return _numCameras; + } + + inline void ParseData::numCameras(int numCams) + { + _numCameras = numCams; + } + + inline const std::vector& ParseData::activeImages(void) const { + return _activeImages; + } + + inline void ParseData::activeImages(std::vector& activeCams) + { + _activeImages = activeCams; + } + + inline const std::string & ParseData::basePathName(void) const + { + return _basePathName; + } + + inline void ParseData::basePathName(std::string& path) + { + _basePathName = path; + } + + inline const std::string & ParseData::meshPath(void) const + { + return _meshPath; + } + + inline void ParseData::meshPath(std::string& path) + { + _meshPath = path; + } + + inline void ParseData::datasetType(IParseData::Type dataType) { + _datasetType = dataType; + } + + inline const std::vector ParseData::cameras(void) const + { + return _camInfos; + } + + inline void ParseData::cameras(std::vector& cams) + { + _camInfos = cams; + } + + inline const std::string ParseData::imgPath(void) const + { + return _imgPath; + } + + inline void ParseData::imgPath(std::string& imPath) + { + _imgPath = imPath; + } + + inline const ParseData::Type & ParseData::datasetType(void) const + { + return _datasetType; + } + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/scene/ProxyMesh.cpp b/SIBR_viewers/src/core/scene/ProxyMesh.cpp new file mode 100644 index 0000000000..19c1812174 --- /dev/null +++ b/SIBR_viewers/src/core/scene/ProxyMesh.cpp @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "ProxyMesh.hpp" + + +namespace sibr { + + void ProxyMesh::loadFromData(const IParseData::Ptr & data) + { + _proxy.reset(new Mesh()); + // GD HACK + if (boost::filesystem::extension(data->meshPath()) == ".bin") { + if (!_proxy->loadSfM(data->meshPath(), data->basePathName())) { + SIBR_WRG << "proxy model not found at " << data->meshPath() << std::endl; + } + } + else if (!_proxy->load(data->meshPath(), data->basePathName()) && !_proxy->load(removeExtension(data->meshPath()) + ".ply") && !_proxy->load(removeExtension(data->meshPath()) + ".obj")) { + if (!_proxy->loadSfM(data->meshPath(), data->basePathName())) { + SIBR_WRG << "proxy model not found at " << data->meshPath() << std::endl; + } + } + if (!_proxy->hasNormals()) { + _proxy->generateNormals(); + } + } + + void ProxyMesh::replaceProxy(Mesh::Ptr newProxy) + { + _proxy.reset(new Mesh()); + _proxy->vertices(newProxy->vertices()); + _proxy->normals(newProxy->normals()); + _proxy->colors(newProxy->colors()); + _proxy->triangles(newProxy->triangles()); + _proxy->texCoords(newProxy->texCoords()); + + // Used by inputImageRT init() and debug rendering + if (!_proxy->hasNormals()) + { + _proxy->generateNormals(); + } + + } + + void ProxyMesh::replaceProxyPtr(Mesh::Ptr newProxy) + { + _proxy = newProxy; + } + + +} + diff --git a/SIBR_viewers/src/core/scene/ProxyMesh.hpp b/SIBR_viewers/src/core/scene/ProxyMesh.hpp new file mode 100644 index 0000000000..fbdcf2c815 --- /dev/null +++ b/SIBR_viewers/src/core/scene/ProxyMesh.hpp @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/scene/IProxyMesh.hpp" + +namespace sibr { + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT ProxyMesh : public IProxyMesh { + SIBR_DISALLOW_COPY(ProxyMesh); + public: + typedef std::shared_ptr Ptr; + + ProxyMesh() {}; + ~ProxyMesh() {}; + void loadFromData(const IParseData::Ptr & data) override; + void replaceProxy(Mesh::Ptr newProxy) override; + void replaceProxyPtr(Mesh::Ptr newProxy) override; + bool hasProxy(void) const; + const Mesh& proxy(void) const; + const Mesh::Ptr proxyPtr(void) const; + + protected: + + Mesh::Ptr _proxy; + + }; + + inline bool sibr::ProxyMesh::hasProxy(void) const + { + return _proxy && !_proxy->vertices().empty(); + } + + inline const Mesh& ProxyMesh::proxy(void) const + { + return *_proxy; + } + + inline const Mesh::Ptr ProxyMesh::proxyPtr(void) const + { + return _proxy; + } + +}; diff --git a/SIBR_viewers/src/core/scene/RenderTargetTextures.cpp b/SIBR_viewers/src/core/scene/RenderTargetTextures.cpp new file mode 100644 index 0000000000..79f66ebbdb --- /dev/null +++ b/SIBR_viewers/src/core/scene/RenderTargetTextures.cpp @@ -0,0 +1,261 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "RenderTargetTextures.hpp" + +namespace sibr { + + void RTTextureSize::initSize(uint w, uint h, bool force_aspect_ratio) + { + + std::cerr << "RTTextureSize::initSize NEW FORCE ASPECT " << force_aspect_ratio << " : " << w << "x" << h << " " << std::endl; + + float aspect; + if (_width == 0) { // use full resolution + _width = w; + _height = h; + } else if (!force_aspect_ratio) { // use constrained resolution + + if (w >= h) { + aspect = float(w) / float(h); + _height = uint(floor(float(_width) / aspect)); + } + else { + _height = _width; + aspect = float(w) / float(h); + _width = uint(floor(float(_height) * aspect)); + } + + } + else { + if (w >= h) _height = w, _width = h; + else _width = w, _height = h; + } + + SIBR_LOG << "Rendering resolution: (" << _width << "," << _height << ")" << std::endl; + _isInit = true; + } + + bool RTTextureSize::isInit() const + { + return _isInit; + } + + const std::vector& RGBDInputTextures::inputImagesRT() const + { + return _inputRGBARenderTextures; + } + + void RGBDInputTextures::initializeImageRenderTargets(ICalibratedCameras::Ptr cams, IInputImages::Ptr imgs) + { + SIBR_LOG << "Initializing input image RTs " << std::endl; + + if (!isInit()) { + initSize(cams->inputCameras()[_initActiveCam]->w(), cams->inputCameras()[_initActiveCam]->h()); + } + + _inputRGBARenderTextures.resize(imgs->inputImages().size()); + + GLShader textureShader; + textureShader.init("Texture", + loadFile(Resources::Instance()->getResourceFilePathName("texture.vp")), + loadFile(Resources::Instance()->getResourceFilePathName("texture.fp"))); + uint interpFlag = (SIBR_SCENE_LINEAR_SAMPLING & SIBR_SCENE_LINEAR_SAMPLING) ? SIBR_GPU_LINEAR_SAMPLING : 0; // LINEAR_SAMPLING Set to default + + for (uint i = 0; i < imgs->inputImages().size(); i++) { + if (cams->inputCameras()[i]->isActive()) { + std::cerr << "." ; + ImageRGB img = std::move(imgs->inputImages()[i]->clone()); + img.flipH(); + + std::shared_ptr rawInputImage(new Texture2DRGB(img, interpFlag)); + + glViewport(0, 0, _width, _height); + _inputRGBARenderTextures[i].reset(new RenderTargetRGBA32F(_width, _height, interpFlag)); + _inputRGBARenderTextures[i]->clear(); + _inputRGBARenderTextures[i]->bind(); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, rawInputImage->handle()); + + glDisable(GL_DEPTH_TEST); + textureShader.begin(); + RenderUtility::renderScreenQuad(); + textureShader.end(); + _inputRGBARenderTextures[i]->unbind(); + } + } + std::cerr << std::endl; + } + + void RGBDInputTextures::initializeDepthRenderTargets(ICalibratedCameras::Ptr cams, IProxyMesh::Ptr proxies, bool facecull) + { + if (!isInit()) { + initSize(cams->inputCameras()[_initActiveCam]->w(), cams->inputCameras()[_initActiveCam]->h()); + } + + GLParameter size; + GLParameter proj; + + GLShader depthShader; + depthShader.init("Depth", + loadFile(Resources::Instance()->getResourceFilePathName("depth.vp")), + loadFile(Resources::Instance()->getResourceFilePathName("depth.fp"))); + + proj.init(depthShader, "proj"); // [SP]: ?? + size.init(depthShader, "size"); // [SP]: ?? + for (uint i = 0; i < cams->inputCameras().size(); i++) { + if (cams->inputCameras()[i]->isActive()) { + _inputRGBARenderTextures[i]->bind(); + glEnable(GL_DEPTH_TEST); + glClear(GL_DEPTH_BUFFER_BIT); + glDepthMask(GL_TRUE); + glColorMask(GL_FALSE, GL_FALSE, GL_FALSE, GL_TRUE); + + if (!proxies->proxy().triangles().empty()) + { + + const uint w = _inputRGBARenderTextures[i]->w(); + const uint h = _inputRGBARenderTextures[i]->h(); + + depthShader.begin(); + size.set((float)w, (float)h); + proj.set(cams->inputCameras()[i]->viewproj()); + proxies->proxy().render(true, facecull); + + depthShader.end(); + } + _inputRGBARenderTextures[i]->unbind(); + } + } + glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE); + } + + void DepthInputTextureArray::initDepthTextureArrays(ICalibratedCameras::Ptr cams, IProxyMesh::Ptr proxies, bool facecull, int flags) + { + + if (!isInit()) { + initSize(cams->inputCameras()[_initActiveCam]->w(), cams->inputCameras()[_initActiveCam]->h()); + } + + if (!proxies->hasProxy()) { + SIBR_WRG << " Cannot init DepthTextureArrays without proxy." << std::endl; + return; + } + + SIBR_LOG << "Depth vertex shader location: " << Resources::Instance()->getResourceFilePathName("depthonly.vp") << std::endl; + SIBR_LOG << "Depth fragment shader location: " << Resources::Instance()->getResourceFilePathName("depthonly.fp") << std::endl; + + GLShader depthOnlyShader; + depthOnlyShader.init("DepthOnly", + loadFile(Resources::Instance()->getResourceFilePathName("depthonly.vp")), + loadFile(Resources::Instance()->getResourceFilePathName("depthonly.fp"))); + + const uint interpFlag = (flags & SIBR_SCENE_LINEAR_SAMPLING) ? SIBR_GPU_LINEAR_SAMPLING : 0; + + RenderTargetLum32F depthRT(_width, _height, interpFlag); + + GLParameter proj; + proj.init(depthOnlyShader, "proj"); + + + const uint numCams = (uint)cams->inputCameras().size(); + _inputDepthMapArrayPtr.reset(new Texture2DArrayLum32F(_width, _height, numCams, flags)); + + for (uint i = 0; i < numCams; i++) { + glViewport(0, 0, _width, _height); + + depthRT.bind(); + glEnable(GL_DEPTH_TEST); + glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT); + glDepthMask(GL_TRUE); + + depthOnlyShader.begin(); + proj.set(cams->inputCameras()[i]->viewproj()); + proxies->proxy().render(true, facecull); + depthOnlyShader.end(); + + depthRT.unbind(); + + glCopyImageSubData( + depthRT.handle(), GL_TEXTURE_2D, 0, 0, 0, 0, + _inputDepthMapArrayPtr->handle(), GL_TEXTURE_2D_ARRAY, 0, 0, 0, i, + _width, _height, 1); + CHECK_GL_ERROR; + } + CHECK_GL_ERROR; + } + + const Texture2DArrayLum32F::Ptr & DepthInputTextureArray::getInputDepthMapArrayPtr() const + { + return _inputDepthMapArrayPtr; + } + + void RGBInputTextureArray::initRGBTextureArrays(IInputImages::Ptr imgs, int flags, bool force_aspect_ratio) + { + if (!isInit()) { + std::cerr << "RGBInputTextureArray::initRGBTextureArrays NEW FORCE ASPECT " << force_aspect_ratio << std::endl; + initSize(imgs->inputImages()[_initActiveCam]->w(), imgs->inputImages()[_initActiveCam]->h(), force_aspect_ratio); + } + + _inputRGBArrayPtr.reset(new Texture2DArrayRGB(imgs->inputImages(), _width, _height, flags)); + } + + const Texture2DArrayRGB::Ptr & RGBInputTextureArray::getInputRGBTextureArrayPtr() const + { + return _inputRGBArrayPtr; + } + + void RenderTargetTextures::initializeDefaultRenderTargets(ICalibratedCameras::Ptr cams, IInputImages::Ptr imgs, IProxyMesh::Ptr proxies) + { + if (!isInit()) { + initRenderTargetRes(cams); + + } + initializeImageRenderTargets(cams, imgs); + initializeDepthRenderTargets(cams, proxies, true); + } + + void RenderTargetTextures::initRenderTargetRes(ICalibratedCameras::Ptr cams) + { + // Find the first active camera and use it's reolution to init Rendertargets + for (int i = 0; i < cams->inputCameras().size(); i++) { + if (cams->inputCameras()[i]->isActive()) { + _initActiveCam = i; + return; + } + } + SIBR_ERR << "No cameras active! Fail to initialize RenderTarget!!" << std::endl; + } + + void RenderTargetTextures::initRGBandDepthTextureArrays(ICalibratedCameras::Ptr cams, IInputImages::Ptr imgs, IProxyMesh::Ptr proxies, int textureFlags, int texture_width, bool faceCull, bool force_aspect_ratio) + { + _width = texture_width; + initRGBandDepthTextureArrays(cams, imgs, proxies, textureFlags, faceCull, force_aspect_ratio); + } + + void RenderTargetTextures::initRGBandDepthTextureArrays(ICalibratedCameras::Ptr cams, IInputImages::Ptr imgs, IProxyMesh::Ptr proxies, int textureFlags, unsigned int width, unsigned int height, bool faceCull) + { + initSize(width, height, true); + initRGBTextureArrays(imgs, textureFlags, true); + initDepthTextureArrays(cams, proxies, faceCull); + } + + void RenderTargetTextures::initRGBandDepthTextureArrays(ICalibratedCameras::Ptr cams, IInputImages::Ptr imgs, IProxyMesh::Ptr proxies, int textureFlags, bool faceCull, bool force_aspect_ratio) + { + if (!isInit()) { + initRenderTargetRes(cams); + } + initRGBTextureArrays(imgs, textureFlags, force_aspect_ratio); + initDepthTextureArrays(cams, proxies, faceCull); + } +} diff --git a/SIBR_viewers/src/core/scene/RenderTargetTextures.hpp b/SIBR_viewers/src/core/scene/RenderTargetTextures.hpp new file mode 100644 index 0000000000..e4329ea379 --- /dev/null +++ b/SIBR_viewers/src/core/scene/RenderTargetTextures.hpp @@ -0,0 +1,121 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/graphics/Texture.hpp" +#include "core/scene/ICalibratedCameras.hpp" +#include "core/scene/IInputImages.hpp" +#include "core/scene/IProxyMesh.hpp" +#include "core/assets/Resources.hpp" +# include "core/graphics/Shader.hpp" +#include "core/graphics/Utils.hpp" +#include "core/scene/Config.hpp" + + +# define SIBR_SCENE_LINEAR_SAMPLING 4 + + +namespace sibr{ + + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT RTTextureSize { + + public: + RTTextureSize(uint w = 0) : _width(w) {} + + void initSize(uint w, uint h, bool force_aspect_ratio = false); + + bool isInit() const; + + protected: + uint _width = 0; //constrained width provided by the command line args, defaults to 0 + uint _height = 0; //associated height, computed in initSize + bool _isInit = false; + int _initActiveCam = 0; + + }; + + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT RGBDInputTextures : public virtual RTTextureSize { + SIBR_CLASS_PTR(RGBDInputTextures) + public: + const std::vector & inputImagesRT() const; + + virtual void initializeImageRenderTargets(ICalibratedCameras::Ptr cams, IInputImages::Ptr imgs); + virtual void initializeDepthRenderTargets(ICalibratedCameras::Ptr cams, IProxyMesh::Ptr proxies, bool facecull); + + protected: + std::vector _inputRGBARenderTextures; + + }; + + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT DepthInputTextureArray : public virtual RTTextureSize { + SIBR_CLASS_PTR(DepthInputTextureArray) + public: + virtual void initDepthTextureArrays(ICalibratedCameras::Ptr cams, IProxyMesh::Ptr proxies, bool facecull, int flags = SIBR_GPU_LINEAR_SAMPLING); + const Texture2DArrayLum32F::Ptr & getInputDepthMapArrayPtr() const; + + protected: + Texture2DArrayLum32F::Ptr _inputDepthMapArrayPtr; + + }; + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT RGBInputTextureArray : public virtual RTTextureSize { + + SIBR_CLASS_PTR(RGBInputTextureArray) + + public: + virtual void initRGBTextureArrays(IInputImages::Ptr imgs, int flags = 0, bool force_aspect_ratio=false); + const Texture2DArrayRGB::Ptr & getInputRGBTextureArrayPtr() const; + + protected: + Texture2DArrayRGB::Ptr _inputRGBArrayPtr; + + }; + + /** + \ingroup sibr_scene + */ + class SIBR_SCENE_EXPORT RenderTargetTextures : + public virtual RGBDInputTextures, + public virtual DepthInputTextureArray, + public virtual RGBInputTextureArray + { + + public: + SIBR_CLASS_PTR(RenderTargetTextures) + + RenderTargetTextures(uint w = 0) : RTTextureSize(w) {} + + virtual void initRGBandDepthTextureArrays(ICalibratedCameras::Ptr cams, IInputImages::Ptr imgs, IProxyMesh::Ptr proxies, int textureFlags, unsigned int w, unsigned int h, bool faceCull = true); + // TODO: remove this, not needed + virtual void initRGBandDepthTextureArrays(ICalibratedCameras::Ptr cams, IInputImages::Ptr imgs, IProxyMesh::Ptr proxies, int textureFlags, int texture_width, bool faceCull = true, bool force_aspect_ratio = false); + virtual void initRGBandDepthTextureArrays(ICalibratedCameras::Ptr cams, IInputImages::Ptr imgs, IProxyMesh::Ptr proxies, int textureFlags, bool faceCull = true, bool force_aspect_ratio=false); + virtual void initializeDefaultRenderTargets(ICalibratedCameras::Ptr cams, IInputImages::Ptr imgs, IProxyMesh::Ptr proxies); + + protected: + void initRenderTargetRes(ICalibratedCameras::Ptr cams); + + }; + + +} diff --git a/SIBR_viewers/src/core/scene/sibr_scene.dox b/SIBR_viewers/src/core/scene/sibr_scene.dox new file mode 100644 index 0000000000..919aa241a1 --- /dev/null +++ b/SIBR_viewers/src/core/scene/sibr_scene.dox @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! + \defgroup sibr_scene sibr_scene + + \brief IBR Scene components. + +*/ diff --git a/SIBR_viewers/src/core/system/Array2d.hpp b/SIBR_viewers/src/core/system/Array2d.hpp new file mode 100644 index 0000000000..beb3aba1db --- /dev/null +++ b/SIBR_viewers/src/core/system/Array2d.hpp @@ -0,0 +1,256 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +#include + +namespace sibr +{ + template class Array2d; + + + /// + /// Used to store custom data on a map using pixel position + /// (2d unsigned pos). + /// Internally, this simply use a one dimensional std::vector. + /// This class abstract convert operation from 2d to 1d for + /// making code easy to read. + /// \ingroup sibr_system + /// + template + class Array2d + { + public: + // We use 'reference' defined by std::vector (and STL) and they are + // a bit special. For example, I suppose that some compiler should + // be able to replace a heave 'const bool&' by a simple 'bool' (in + // this case a copy is far more cheaper). And what about 'bool&' ? + typedef typename std::vector::const_reference const_reference; + typedef typename std::vector::reference reference; + + /// Build from the given size. + /// Note you can't resize your Array2d (just create a new one + /// if you need). + Array2d( uint width=0, uint height=0 ); + /// Build from the given size and using the given default value. + /// Note you can't resize your Array2d (just create a new one + /// if you need). + Array2d( uint width, uint height, const_reference defaultValue ); + + /// Destructor. + ~Array2d( ); + + /// Return the width of this Array2d + uint width( void ) const; + /// Return the height of this Array2d + uint height( void ) const; + /// Return the width of this Array2d + uint w(void) const; + /// Return the height of this Array2d + uint h(void) const; + + /// Return TRUE if is empty + bool empty( void ) const; + + /// Return data about a pixel at given coordinates + const_reference operator ()( uint x, uint y ) const; + /// Access data about a pixel at given coordinates + reference operator ()( uint x, uint y ); + + /// Return data about a pixel at given coordinates + const_reference operator ()(const sibr::Vector2i & coords) const; + /// Access data about a pixel at given coordinates + reference operator ()(const sibr::Vector2i & coords); + + /// Return data about a pixel at given index + const_reference operator []( size_t i ) const; + /// Access data about a pixel at given index + reference operator []( size_t i ); + + /// Return the total size of the one dimensional array + size_t size( void ) const; + + /// Return data accessible in a one array form + /// \deprecated Use Array2d::vector( void ) instead. + const std::vector& operator () ( void ) const; + std::vector& operator () ( void ); + + /// Return the internally used std::vector (so you + /// can use STL algos). + const std::vector& vector( void ) const; + std::vector& vector( void ); + + /// Return a pointer to the first byte a stored + /// data. + void* data( void ) const; + void* data( void ); + + + + /// Return the element index for the given coordinates + inline uint index( uint x, uint y ) const; + + /// Return FALSE if x,y are out of range. (DON'T print error) + inline bool inRange( uint x, uint y ) const; + inline bool isInRange( uint x, uint y) const; + + + protected: + /// Return FALSE if x,y are out of range. (print error) + bool checkSizeFor( uint x, uint y ) const; + + uint _width; ///< Width of the pixel map + uint _height; ///< Height of the pixel map + std::vector _data; ///< data of the pixel map + }; + + + ///// DEFINITION ///// + + template + Array2d::Array2d( uint width, uint height ) + : _width(width), _height(height), _data(_width*_height) { + } + + template + Array2d::Array2d( uint width, uint height, const_reference defaultValue ) + : _width(width), _height(height), _data(_width*_height, defaultValue) { + } + + template + Array2d::~Array2d( ) + { + _data.clear(); + } + + template + uint Array2d::width( void ) const { + return _width; + } + + template + uint Array2d::height( void ) const { + return _height; + } + + template + uint Array2d::w(void) const { + return _width; + } + + template + uint Array2d::h(void) const { + return _height; + } + + + template + typename Array2d::const_reference Array2d::operator ()( uint x, uint y ) const { + checkSizeFor(x, y); + return _data.at(index(x, y)); + } + template + typename Array2d::reference Array2d::operator ()( uint x, uint y) { + checkSizeFor(x, y); + return _data[index(x, y)]; + } + + template + typename Array2d::const_reference Array2d::operator ()(const sibr::Vector2i & coords) const { + return _data[index(coords[0], coords[1])]; + } + template + typename Array2d::reference Array2d::operator ()(const sibr::Vector2i & coords) { + return _data[index(coords[0], coords[1])]; + } + + template + const std::vector& Array2d::operator () ( void ) const { + return _data; + } + template + std::vector& Array2d::operator () ( void ) { + return _data; + } + + + template + const std::vector& Array2d::vector( void ) const { + return _data; + } + template + std::vector& Array2d::vector( void ) { + return _data; + } + + template + void* Array2d::data( void ) const { + return vector().empty()? nullptr : &vector()[0]; + } + template + void* Array2d::data( void ) { + return vector().empty()? nullptr : &vector()[0]; + } + + template + bool Array2d::empty( void ) const { + return vector().empty(); + } + + + template + typename Array2d::const_reference Array2d::operator []( size_t i ) const { + return _data.at(i); + } + + template + typename Array2d::reference Array2d::operator []( size_t i ) { + return _data[i]; + } + + template + size_t Array2d::size( void ) const { + return _data.size(); + } + + + template + uint Array2d::index( uint x, uint y ) const { + return y*_width + x; + } + + template + bool Array2d::inRange( uint x, uint y ) const { + return (x < _width && y < _height); + } + + template + bool Array2d::isInRange(uint x, uint y) const { + return (x < _width && y < _height); + } + + template + bool Array2d::checkSizeFor( uint x, uint y ) const { + if (inRange(x, y)) + return true; + //else + SIBR_ERR << "invalid pixelmap range at " << x << ", " << y + << "(current size: " << _width << ", " << _height << "). " + << std::endl; + + assert(false);// else it will crash because of std::vector + return false; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/ByteStream.cpp b/SIBR_viewers/src/core/system/ByteStream.cpp new file mode 100644 index 0000000000..825bfb6c48 --- /dev/null +++ b/SIBR_viewers/src/core/system/ByteStream.cpp @@ -0,0 +1,236 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include +#include +#include + +#ifndef SIBR_OS_WINDOWS +# include +#endif + +#include "core/system/ByteStream.hpp" + + +namespace sibr +{ + void ByteStream::memoryDump( void ) const + { + const unsigned char* data = reinterpret_cast(&_buffer[0]); + std::cout << "Readable size: " << readableSize() << std::endl; + std::cout << "Real size: " << bufferSize() << std::endl; + std::cout << std::hex << std::setfill('0') << std::setw(2); + for (unsigned i = 0; i < _buffer.size(); ++i) + { + const int blocksize = 2; + for (unsigned j = 0; i < _buffer.size() && j < blocksize; ++j, ++i) + std::cout << uint(data[i]); + std::cout << ' '; + for (unsigned j = 0; i < _buffer.size() && j < blocksize; ++j, ++i) + std::cout << uint(data[i]); + std::cout << ' '; + for (unsigned j = 0; i < _buffer.size() && j < blocksize; ++j, ++i) + std::cout << uint(data[i]); + std::cout << ' '; + for (unsigned j = 0; i < _buffer.size() && j < blocksize; ++j, ++i) + std::cout << uint(data[i]); + std::cout << ' '; + std::cout << std::endl; + } + std::cout << std::dec << std::setw(0); + } + + uint64 ByteStream::htonll(uint64 n) + { + if (ByteStream::systemIsBigEndian()) + return n; + // Else we are on a little endian system + uint32 out = 0; + out |= (n & 0xFF00000000000000) >> 56; + out |= (n & 0x00FF000000000000) >> 40; + out |= (n & 0x0000FF0000000000) >> 24; + out |= (n & 0x000000FF00000000) >> 8; + out |= (n & 0x00000000FF000000) << 8; + out |= (n & 0x0000000000FF0000) << 24; + out |= (n & 0x000000000000FF00) << 40; + out |= (n & 0x00000000000000FF) << 56; + return out; + } + + uint32 ByteStream::htonl( uint32 n ) + { + if (ByteStream::systemIsBigEndian()) + return n; + // Else we are on a little endian system + uint32 out = 0; + + out |= (n & 0xFF000000) >> 24; + out |= (n & 0x00FF0000) >> 8; + out |= (n & 0x0000FF00) << 8; + out |= (n & 0x000000FF) << 24; + return out; + } + + uint16 ByteStream::htons( uint16 n ) + { + if (ByteStream::systemIsBigEndian()) + return n; + // Else we are on a little endian system + uint16 out = 0; + + out |= (n & 0xFF00) >> 8; + out |= (n & 0x00FF) << 8; + return out; + } + + bool ByteStream::systemIsBigEndian( void ) + { + static int16 isBigEndian = -1; + if (isBigEndian == -1) + { + /// \todo TODO: check the compiler is not too smart and that it does not + /// optimize this at compile-time with a const. + int16 word = 0x0001; + char *b = (char *) &word; + isBigEndian = (b[0]? 0 /*little endian*/ : 1 /*big endian*/); + } + return isBigEndian != 0; + } + + bool ByteStream::load( const std::string& filename ) + { + std::ifstream file(filename.c_str(), std::ios::in | std::ios::binary); + + if (file) + { + file.seekg(0, file.end); + auto len = file.tellg(); + file.seekg(0, file.beg); + + _buffer.resize(len); + file.read(reinterpret_cast(&_buffer[0]), len); + + file.close(); + return true; + } + else + SIBR_WRG << "cannot load ByteStream from file '" << filename << "'." << std::endl; + return false; + } + + void ByteStream::saveToFile( const std::string& filename ) + { + if (bufferSize() == 0) + return; + + std::ofstream file(filename.c_str(), std::ios::out | std::ios::binary | std::ios::trunc); + + if (file) + { + file.write((char*)&_buffer[0], _buffer.size() * sizeof(_buffer[0])); + file.close(); + } + else + SIBR_LOG << "ERROR: cannot write to the file '" << filename << "'" << std::endl; + } + + void ByteStream::push(const void* data, uint size) + { + assert(data != nullptr && size > 0); + + size_t curpos = _buffer.size(); + _buffer.resize(curpos + size); + memcpy(&_buffer[curpos], data, size); + } + + + ByteStream& ByteStream::operator <<( bool b ) + { + return ByteStream::operator << (static_cast(b)); + } + + ByteStream& ByteStream::operator <<( int8 i ) + { + push(&i, sizeof(i)); + return *this; + } + + ByteStream& ByteStream::operator <<( int16 i ) + { + int16 netorder = htons(i); + push(&netorder, sizeof(netorder)); + return *this; + } + + ByteStream& ByteStream::operator <<( int32 i ) + { + int32 netorder = htonl(i); + push(&netorder, sizeof(netorder)); + return *this; + } + + ByteStream& ByteStream::operator <<( int64 i ) + { + int64 netorder = htonll(i); + push(&netorder, sizeof(netorder)); + return *this; + } + + ByteStream& ByteStream::operator <<( uint8 i ) + { + push(&i, sizeof(i)); + return *this; + } + + ByteStream& ByteStream::operator <<( uint16 i ) + { + uint16 netorder = htons(i); + push(&netorder, sizeof(netorder)); + return *this; + } + + ByteStream& ByteStream::operator <<( uint32 i ) + { + uint32 netorder = htonl(i); + push(&netorder, sizeof(netorder)); + return *this; + } + + ByteStream& ByteStream::operator <<(uint64 i) + { + uint64 netorder = htonll(i); + push(&netorder, sizeof(netorder)); + return *this; + } + + ByteStream& ByteStream::operator <<( const std::string& str ) + { + uint32 size = static_cast(str.size()); + operator << (size); + push(str.data(), sizeof(char)*size); + return *this; + } + + ByteStream& ByteStream::operator <<( float f ) + { + int32* p = (int32*)&f; + return ByteStream:: operator<<( *p ); + } + + ByteStream& ByteStream::operator <<(double d) + { + int64* p = (int64*)&d; + return ByteStream:: operator<<(*p); + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/ByteStream.hpp b/SIBR_viewers/src/core/system/ByteStream.hpp new file mode 100644 index 0000000000..5211c713b8 --- /dev/null +++ b/SIBR_viewers/src/core/system/ByteStream.hpp @@ -0,0 +1,457 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include "core/system/Config.hpp" + + +namespace sibr +{ + /// Be sure to use STL objects from client's dll version by exporting this declaration (see warning C4251) + //template class SIBR_EXPORT std::vector; + + /** + Used to manipulate stream of bytes. + \note This ByteStream stores integer using the network byte order (which is big endian). + \ingroup sibr_system + */ + class SIBR_SYSTEM_EXPORT ByteStream + { + public: + + /** Stream endianness, always default to BigEndian. */ + enum Endianness + { + BigEndian = 0, // always default + LittleEndian + }; + + public: + typedef std::vector bytes; ///< type used for storing bytes + + /// Constructor + ByteStream( void ) : _readPos(0), _valid(true) /*,_endianness(BigEndian)*/ { } + + /** Load all bytes from a file using the given filename + * \param filename the filename + * \return success boolean + * */ + bool load( const std::string& filename ); + + /** Save all bytes to a file using the given filename + *\param filename file apth + **/ + void saveToFile( const std::string& filename ); + + /** Append data to the current buffer + *\param data pointer to the data + *\param size size in bytes + **/ + void push(const void* data, uint size); + + /** \return true if the stream is opened and valid. */ + operator bool( void ) const { return _valid; } + + /** Write a bool to the stream. + *\param b input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<( bool b ); + + /** Write an 8bits-integer to the stream. + *\param i input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<( int8 i ); + + /** Write a 16bits-integer to the stream. + *\param i input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<( int16 i ); + + /** Write a 32bits-integer to the stream. + *\param i input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<( int32 i ); + + /** Write a 64bits-integer to the stream. + *\param i input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<( int64 i ); + + /** Write an 8bits-unsigned-integer to the stream. + *\param i input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<( uint8 i ); + + /** Write a 16bits-unsigned-integer to the stream. + *\param i input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<( uint16 i ); + + /** Write a 32bits-unsigned-integer to the stream. + *\param i input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<( uint32 i ); + + /** Write a 64bits-unsigned-integer to the stream. + *\param i input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<( uint64 i ); + + /** Write a string to the stream. + *\param str input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<( const std::string& str ); + + /** Write a float to the stream. + *\param f input value + *\return the stream (for chaining). + *\note Use the same endianness as for integers (not specified in IEEE 754). + **/ + ByteStream& operator <<( float f ); + + /** Write a double to the stream. + *\param d input value + *\return the stream (for chaining). + **/ + ByteStream& operator <<(double d); + + /** Read a bool from the stream. + *\param b output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>( bool & b ); + + /** Read an 8bits-integer from the stream. + *\param i output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>( int8& i ); + + /** Read a 16bits-integer from the stream. + *\param i output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>( int16& i ); + + /** Read a 32bits-integer from the stream. + *\param i output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>( int32& i ); + + /** Read a 64bits-integer from the stream. + *\param i output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>( int64& i ); + + /** Read an 8bits-unsigned-integer from the stream. + *\param i output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>( uint8& i ); + + /** Read a 16bits-unsigned-integer from the stream. + *\param i output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>( uint16& i ); + + /** Read a 32bits-unsigned-integer from the stream. + *\param i output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>( uint32& i ); + + /** Read a 64bits-unsigned-integer from the stream. + *\param i output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>( uint64 & i ); + + /** Read a string from the stream. + *\param str output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>( std::string& str ); + + /** Read a float from the stream. + *\param f output value + *\return the stream (for chaining). + *\note Use the same endianness as for integers (not specified in IEEE 754). + **/ + inline ByteStream& operator >>( float& f ); + + /** Read a double from the stream. + *\param d output value + *\return the stream (for chaining). + **/ + inline ByteStream& operator >>(double& d); + + /** \return the number of bytes that have not been read yet.*/ + inline size_t readableSize( void ) const; + /** \return the total number of bytes in the buffer used by the stream*/ + inline size_t bufferSize( void ) const; + /** \return a pointer to the buffer */ + inline const uint8* buffer( void ) const { return &_buffer[0]; } + + // We don't want to include network-related libs (and all their stuffs), so we use a custom implementation of htonl/htons, ntohl/ntohs. + + /** Convert an uint32 from host to network byte order (which is big endian) + *\param n host order value + *\return network order value + **/ + static uint64 htonll(uint64 n); + + /** Convert an uint32 from host to network byte order (which is big endian) + *\param n host order value + *\return network order value + **/ + static uint32 htonl( uint32 n ); + + /** Convert an uint16 from host to network byte order (which is big endian) + *\param n host order value + *\return network order value + **/ + static uint16 htons( uint16 n ); + + /** Convert an uint32 from network to host byte order + *\param n network order value + *\return host order value + **/ + inline static uint64 ntohll(uint64 n); + + /** Convert an uint32 from network to host byte order + *\param n network order value + *\return host order value + **/ + inline static uint32 ntohl( uint32 n ); + + /** Convert an uint16 from network to host byte order + *\param n network order value + *\return host order value + **/ + inline static uint16 ntohs( uint16 n ); + + /** \return true if the current system runs using Big Endian **/ + static bool systemIsBigEndian( void ); + + // (Not used for now: future features to change how are stored float) + // void setEndianness( Endianness e ); + // Endianness getEndianness( void ); + + /** Dump the buffer contents to stdout. (used for debugging purposes) + **/ + void memoryDump( void ) const; + + private: + /** Test if we can read n bytes in the buffer. + *\param n the number of bytes to check + *\return false if it fails (and set valid flag to false). + **/ + inline bool testSize( uint n ); + + bytes _buffer; ///< the whole stream + uint32 _readPos; ///< Current position in the buffer when reading. + bool _valid; ///< tells if no error occured when reading + // Endianness _endianness; + + }; + + ///// INLINE FUNCTIONS ///// + size_t ByteStream::readableSize( void ) const { + return bufferSize() - _readPos; + } + size_t ByteStream::bufferSize( void ) const { + return _buffer.size(); + } + + uint64 ByteStream::ntohll(uint64 n) { + return htonll(n); + } + uint32 ByteStream::ntohl( uint32 n ) { + return htonl(n); + } + uint16 ByteStream::ntohs( uint16 n ) { + return htons(n); + } + bool ByteStream::testSize( uint n ) { + return (_valid = (_valid && (readableSize() >= n))); + } + + ByteStream& ByteStream::operator >>( bool& b ) { + uint8 i; + ByteStream::operator >>(i); + b = (i != 0); + return *this; + } + ByteStream& ByteStream::operator >>( int8& i ) { + if (testSize(sizeof(i))) + { + i = *reinterpret_cast(&_buffer[_readPos]); + _readPos += sizeof(i); + } + return *this; + } + ByteStream& ByteStream::operator >>( int16& i ) { + if (testSize(sizeof(i))) + { + i = ntohs(*reinterpret_cast(&_buffer[_readPos])); + _readPos += sizeof(i); + } + return *this; + } + + ByteStream& ByteStream::operator >>( int32& i ) { + if (testSize(sizeof(i))) + { + i = ntohl(*reinterpret_cast(&_buffer[_readPos])); + _readPos += sizeof(i); + } + return *this; + } + ByteStream& ByteStream::operator >>(int64& i) { + if (testSize(sizeof(i))) + { + i = ntohll(*reinterpret_cast(&_buffer[_readPos])); + _readPos += sizeof(i); + } + return *this; + } + + ByteStream& ByteStream::operator >>( uint8& i ) { + if (testSize(sizeof(i))) + { + i = *reinterpret_cast(&_buffer[_readPos]); + _readPos += sizeof(i); + } + return *this; + } + ByteStream& ByteStream::operator >>( uint16& i ) { + if (testSize(sizeof(i))) + { + i = ntohs(*reinterpret_cast(&_buffer[_readPos])); + _readPos += sizeof(i); + } + return *this; + } + ByteStream& ByteStream::operator >>( uint32& i ) { + if (testSize(sizeof(i))) + { + i = ntohl(*reinterpret_cast(&_buffer[_readPos])); + _readPos += sizeof(i); + } + return *this; + } + ByteStream& ByteStream::operator >>(uint64& i) { + if (testSize(sizeof(i))) + { + i = ntohll(*reinterpret_cast(&_buffer[_readPos])); + _readPos += sizeof(i); + } + return *this; + } + ByteStream& ByteStream::operator >>( std::string& str ) { + uint32 size; + operator >> (size); + str.resize(size); + + if (testSize(sizeof(char)*size)) + { + str.insert(str.begin(), + reinterpret_cast(&_buffer[_readPos]), + reinterpret_cast(&_buffer[_readPos + size])); + _readPos += sizeof(char)*size; + } + return *this; + } + ByteStream& ByteStream::operator >>( float& f ) { + int32 p; + ByteStream::operator>> (p); + char* ptr = (char*)&p; + float *fptr = (float*)ptr; + if (_valid) + f = *fptr; + return *this; + } + ByteStream& ByteStream::operator >>( double& d ) { + int64 p; + ByteStream::operator>> (p); + char* ptr = (char*)&p; + double *fptr = (double*)ptr; + if (_valid) + d = *fptr; + return *this; + } + + // Function used to test this class (might be still useful to test future improvement) + /* + static void unitTestByteStream( void ) + { + SIBR_LOG << "[work in progress] - testing ByteStream" << std::endl; + + struct SomeData { + bool b; + int8 s8; + uint8 u8; + int16 s16; + uint16 u16; + int32 s32; + uint32 u32; + float f; + + void dump( void ) { + SIBR_DEBUG(b); + SIBR_DEBUG(s8); + SIBR_DEBUG(u8); + SIBR_DEBUG(s16); + SIBR_DEBUG(u16); + SIBR_DEBUG(s32); + SIBR_DEBUG(u32); + SIBR_DEBUG(f); + } + }; + + SomeData di = {true, -30, 120, -12000, 23000, -1234567, 2345678, 2.8f}; + std::cout << "Dumping DataIN:" << std::endl; + di.dump(); + + sibr::ByteStream bytes; + + bytes << di.b << di.s8 << di.u8 << di.s16 << di.u16 << di.s32 << di.u32 << di.f; + SomeData dout = {false, 0, 0, 0, 0, 0, 0, 0.f}; + std::cout << "Dumping DataOUT:" << std::endl; + dout.dump(); + + bytes.memoryDump(); + + + bytes >> dout.b >> dout.s8 >> dout.u8 >> dout.s16 >> dout.u16 >> dout.s32 >> dout.u32 >> dout.f; + std::cout << "Dumping DataOUT:" << std::endl; + dout.dump(); + } + */ + + } // namespace sibr diff --git a/SIBR_viewers/src/core/system/CMakeLists.txt b/SIBR_viewers/src/core/system/CMakeLists.txt new file mode 100644 index 0000000000..9e0a4afb78 --- /dev/null +++ b/SIBR_viewers/src/core/system/CMakeLists.txt @@ -0,0 +1,48 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(sibr_system) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +## Specify target rules +add_library(${PROJECT_NAME} SHARED ${SOURCES}) + +include_directories( + ${Boost_INCLUDE_DIRS} + ${picojson_INCLUDE_DIRS} + ${rapidxml_INCLUDE_DIRS} +) +if (WIN32) +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + picojson + rapidxml + nfd +) +else() +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + picojson + rapidxml + nativefiledialog +) +endif() + +add_definitions( -DSIBR_SYSTEM_EXPORTS -DBOOST_ALL_DYN_LINK ) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER ${SIBR_FOLDER}) + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) +) diff --git a/SIBR_viewers/src/core/system/CommandLineArgs.cpp b/SIBR_viewers/src/core/system/CommandLineArgs.cpp new file mode 100644 index 0000000000..31ef823585 --- /dev/null +++ b/SIBR_viewers/src/core/system/CommandLineArgs.cpp @@ -0,0 +1,150 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/system/CommandLineArgs.hpp" +#include "core/system/Utils.hpp" + + +namespace sibr +{ + CommandLineArgs CommandLineArgs::global = CommandLineArgs(); + + const CommandLineArgs & getCommandLineArgs() + { + return CommandLineArgs::getGlobal(); + } + + CommandLineArgs & CommandLineArgs::getGlobal() + { + static bool first = true; + if (!global.init && first) { + SIBR_WRG << "CommandLineArgs::parseMainArgs(ac, av) was not called rigth after main(ac, av) \n default value (empty command line) will be used" << std::endl; + first = false; + } + return global; + } + + void CommandLineArgs::parseMainArgs(const int argc, const char * const * argv) + { + static const std::vector acceptable_prefixes = { "--", "-" }; + + global.args.clear(); + + global.args["app_path"] = { std::string(argv[0])}; + + std::string current_arg; + for (int i = 1; i < argc; ++i) { + std::string arg = std::string(argv[i]); + bool new_arg = false; + for (const auto & prefix : acceptable_prefixes) { + if (arg.substr(0, prefix.size()) == prefix) { + current_arg = arg.substr(prefix.size()); + new_arg = true; + break; + } + } + if (current_arg.empty()) { + continue; + } + if (new_arg) { + if (global.args.count(current_arg) > 0) { + SIBR_WRG << "Collision for argument : " << arg << std::endl; + } else { + global.args[current_arg] = {}; + } + } else { + global.args[current_arg].push_back(arg); + } + } + + global.init = true; + } + + bool CommandLineArgs::contains(const std::string & key) const + { + return args.count(key) > 0; + } + + int CommandLineArgs::numArguments(const std::string & key) const + { + if (contains(key)) { + return (int)args.at(key).size(); + } else { + return -1; + } + } + + + void CommandLineArgs::displayHelp() const { + // Find the maximum length. + size_t maxLength = 0; + for (const auto & command : commands) { + maxLength = std::max(maxLength, command.first.size()); + } + + const Path path = args.at("app_path")[0]; + SIBR_LOG << "Help for " << path.filename().string() << ":" << std::endl; + for(const auto & command : commands) { + // Pad to align everything. +#ifdef WIN32 // green + std::string req = "[required]"; + std::string sec = command.second, xx; + bool tgreen = false; + if(sec.substr(sec.size()-req.size(), req.size()+1) == req) { + setupConsole(); + printf("\x1b[32m"); + tgreen = true; + } +#endif + std::cout << "\t" << "--" << command.first; + std::cout << std::string(int(maxLength) - command.first.size() + 1, ' '); + std::cout << command.second << std::endl; + +#ifdef WIN32 + if( tgreen ) + restoreConsole(); +#endif + } + std::cout << std::endl; + } + + void CommandLineArgs::registerCommand(const std::string & key, const std::string & description, const std::string & defaultValue) { + // Register the command. + std::string defaultDesc = description.empty() ? "" : " "; + defaultDesc.append("(default: " + defaultValue + ")"); + commands[key] = description + defaultDesc; + } + + void CommandLineArgs::registerRequiredCommand(const std::string & key, const std::string & description) { + // Register the command. + std::string defaultDesc = description.empty() ? "" : " "; + defaultDesc.append("[required]"); + commands[key] = description + defaultDesc; + } + + + AppArgs::AppArgs() + { + Path path = CommandLineArgs::getGlobal().getRequired("app_path"); + appName = path.filename().string(); + appPath = path.parent_path().string(); + } + + void AppArgs::displayHelpIfRequired() const { + if(showHelp.get()) { + getCommandLineArgs().displayHelp(); + } + } + +} // namespace sirb + diff --git a/SIBR_viewers/src/core/system/CommandLineArgs.hpp b/SIBR_viewers/src/core/system/CommandLineArgs.hpp new file mode 100644 index 0000000000..b83e9a1487 --- /dev/null +++ b/SIBR_viewers/src/core/system/CommandLineArgs.hpp @@ -0,0 +1,540 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include + +# include "Config.hpp" +# include + +namespace sibr +{ + /** + \addtogroup sibr_system + @{ + */ + + /// Used to wrap a toggle argument in the command line. + struct Switch {}; + + /// uint contexpr helper, defining the number of command line tokens required to init T + template + constexpr uint NumberOfArg = 1; + /// uint contexpr helper, defining the number of command line tokens required to init T + template<> + constexpr uint NumberOfArg = 0; + /// uint contexpr helper, defining the number of command line tokens required to init T + template<> + constexpr uint NumberOfArg = 0; + /// uint contexpr helper, defining the number of command line tokens required to init T + template + constexpr uint NumberOfArg> = N * NumberOfArg; + + /// Helper to extract values from a vector of strings. + template struct ValueGetter { + + /** Extract the N-th element from a vector of string representations. + \param values a list of strings representing elements + \param n the index of the element to query + \return the element corresponding to the N-th string. + */ + static T get(const std::vector & values, uint n); + + /** Convert an element to its string representation. + \param value the element to convert + \return the string representation + */ + static std::string toString(const T & value); + }; + + /** Available rendering modes for IBR views. */ + enum RenderingModes { + RENDERMODE_MONO, + RENDERMODE_STEREO_ANAGLYPH, + RENDERMODE_STEREO_QUADBUFFER + }; + + + + /** @} */ + + /* Parse and store the command line arguments specified by the user. + * Only a static instance exists, that must be init with parseMainArgs(argc,argv) right after main(argc,argv) + * Parses -key or --key with any number of value. + * \ingroup sibr_system + */ + class SIBR_SYSTEM_EXPORT CommandLineArgs { + + public: + + /** Populate arguments list, should be called once at launch. + * \param argc argument count + * \param argv argument list + * */ + static void parseMainArgs(const int argc, const char* const* argv); + + /** Get the Nth parsed element following -key or --key as a T + * If not available (key not found or not enough token), return default_val argument + * \param key the argument keyword + * \param default_val the default value to use if not present + * */ + template + T get(const std::string & key, const T & default_val) const { + T out; + if (getInternal(key, out)) { + return out; + } else { + return default_val; + } + } + + /** Get the Nth parsed element following -key or --key as a T + * If not available (key not found or not enough token), an error is raised. + * \param key the argument keyword + * */ + template + T getRequired(const std::string & key) const { + T out; + if (!getInternal(key, out)) { + SIBR_ERR; + } + return out; + } + + /** Register a command for the help message. + * \param key the command + * \param description a string describing the use of the command + * \param defaultValue string representation of the default value + */ + void registerCommand(const std::string & key, const std::string & description, const std::string & defaultValue); + + /** Register a mandatory command for the help message. + * \param key the command + * \param description a string describing the use of the command + */ + void registerRequiredCommand(const std::string & key, const std::string & description); + + /** Check if a given argument was specified by the user. + *\param key the argument to look for + *\return whether the argument was specified + */ + bool contains(const std::string & key) const; + + /** Count how many parameters were specified by the suer for a given argument. + *\param key the argument to look for + *\return the number of parameters + */ + int numArguments(const std::string & key) const; + + /** Global instance getter. */ + static CommandLineArgs & getGlobal(); + + /** Display an help message to stdout. */ + void displayHelp() const; + + protected: + + /// Default constructor. + CommandLineArgs() = default; + + /** Get the Nth parsed element following -key or --key as a T + * If not available (key not found or not enough token), an error is raised. + * */ + template + bool getInternal(const std::string & key, T & val) const { + if (contains(key) && (N + 1)*NumberOfArg <= args.at(key).size()) { + val = ValueGetter::get(args.at(key), N); + + return true; + } else { + return false; + } + } + + std::map> args; ///< List of arguments input by the user and their parameters. + std::map commands; ///< List of registered commands to display the help. + bool init = false; ///< Have the arguments been parsed. + + static CommandLineArgs global;///< Singleton (because there is only one command line). + }; + + /** Getter for the command line args manager singleton. + * \ingroup sibr_system + */ + SIBR_SYSTEM_EXPORT const CommandLineArgs & getCommandLineArgs(); + + /** Internal argument based interface. + * \ingroup sibr_system*/ + template + class ArgBase { + public: + + /// \return a reference to the argument value + operator const T &() const { return _value; } + + /// \return a reference to the argument value + const T & get() const { return _value; } + + /** Copy operator. + \param t the value to copy + \return a reference to the argument value + */ + T & operator=(const T & t) { _value = t; return _value; } + + protected: + + T _value; ///< the argument value. + }; + + /** Template Arg class, will init itself in the defaut ctor using the command line args (ie. --key value) + * Should be declared as some class/struct member using Arg myArg = { "key", some_default_value }; + * is implicitly convertible to the template type + * \note As multiple implicit conversion is not possible in cpp, you might have to use the .get() method to access the inner T value + * \ingroup sibr_system + * */ + template + class Arg : public ArgBase { + public: + /** Constructor + *\param key the command argument + *\param default_value the default value + *\param description help message description + */ + Arg(const std::string & key, const T & default_value, const std::string & description = "") { + this->_value = CommandLineArgs::getGlobal().get(key, default_value); + // \todo We could display default values if we had a common stringization method. + CommandLineArgs::getGlobal().registerCommand(key, description, ValueGetter::toString(default_value)); + } + using ArgBase::operator=; + }; + + /// Specialization of Arg for Switch, default value get flipped if arg is present + /// \ingroup sibr_system + template<> + class Arg : public ArgBase { + public: + /** Constructor + *\param key the command argument + *\param default_value the default boolean value + *\param description help message description + */ + Arg(const std::string & key, const bool & default_value, const std::string & description = "") { + const bool arg_is_present = CommandLineArgs::getGlobal().get(key, false); + if (arg_is_present) { + _value = !default_value; + } else { + _value = default_value; + } + const std::string defaultDesc = (default_value ? "enabled" : "disabled"); + CommandLineArgs::getGlobal().registerCommand(key, description, defaultDesc); + } + + using ArgBase::operator=; + }; + using ArgSwitch = Arg; + + /// Specialization of Arg for bool, value is true if key is present and false otherwise + /// \ingroup sibr_system + template<> + class Arg : public ArgBase { + public: + /** Constructor + *\param key the command argument + *\param description help message description + *\note Will default to false + */ + Arg(const std::string & key, const std::string & description = "") { + const bool arg_is_present = CommandLineArgs::getGlobal().get(key, false); + _value = arg_is_present; + CommandLineArgs::getGlobal().registerCommand(key, description, "disabled"); + } + + using ArgBase::operator=; + }; + + /// Represent a mandatory argument + /// \ingroup sibr_system + template + class RequiredArgBase { + public: + /** Constructor + *\param _key the command argument + *\param description help message description + */ + RequiredArgBase(const std::string & _key, const std::string & description = "") : key(_key) { + if (CommandLineArgs::getGlobal().contains(key)) { + _value = CommandLineArgs::getGlobal().get(key, _value); + wasInit = true; + } + CommandLineArgs::getGlobal().registerRequiredCommand(key, description); + } + + /// \return a reference to the argument value + operator const T &() const { checkInit(); return _value; } + + /// \return a reference to the argument value + const T & get() const { checkInit(); return _value; } + + /** Copy operator. + \param t the value to copy + \return a reference to the argument value + */ + T & operator=(const T & t) { _value = t; wasInit = true; return _value; } + + /// \return true if the argument was given + const bool & isInit() const { return wasInit; } + + protected: + + /** Check if the argument was init.If not, as it is a required argument we display the help message and raise an error.*/ + void checkInit() const { + if (!wasInit) { + CommandLineArgs::getGlobal().displayHelp(); + SIBR_ERR << "Argument \"" << key << "\" is required." << std::endl; + } + } + + std::string key; ///< Argument key. + T _value; ///< Argument value. + bool wasInit = false; ///< Was the argument initialized. + }; + + /// Similar to Arg, except this one will crash if attempt to use the value while not initialized + /// initialization can be done using the command line or manually + /// \ingroup sibr_system + template + class RequiredArg : public RequiredArgBase { + using RequiredArgBase::RequiredArgBase; + }; + + /// Specialization required for std::string as const string & key constructor and const T & constructor are ambiguous. + /// TT : no const T & ctor anymore but operator const char*() const operator added + /// \ingroup sibr_system + template<> + class RequiredArg : public RequiredArgBase { + + public: + using RequiredArgBase::RequiredArgBase; + std::string & operator=(const std::string & t) { _value = t; wasInit = true; return _value; } + + operator const char*() const { checkInit(); return _value.c_str(); } + }; + + /// Hierarchy of Args classes that can be seens as modules, and can be combined using virtual inheritance, with no duplication of code so derived Args has no extra work to do + /// Assuming CommandLineArgs::parseMainArgs() was called once, Args arguments will be automatically initialized with the value from the command line by the constructor + /// Existing Args structs should cover most of the existing IBR apps + /// To add a new argument like --my-arg 5 on top of existing arguments and + /// to add a new required argument like --important-param "on" on top of existing arguments, do the following: + /// + /// struct SIBR_SYSTEM_EXPORT MyArgs : virtual ExistingArg1, virtual ExistingArgs2, ... { + /// Arg myParameter = { "my-arg", some_default_value }; + /// RequiredArg myRequiredParameter = { "important-param" }; + /// } + /// \ingroup sibr_system + struct SIBR_SYSTEM_EXPORT AppArgs { + /// Constructor + AppArgs(); + + std::string appName; + std::string appPath; + Arg custom_app_path = { "appPath", "./", "define a custom app path" }; + Arg showHelp = {"help", "display this help message"}; + + /// Helper to print the help message if the help argument was passed. + void displayHelpIfRequired() const; + + // offline path rendering options + Arg noExit = {"noExit", "dont exit after rendering path "}; + Arg pathFile = { "pathFile", "", "filename of path to render offline; app renders path and exits" }; // app needs to handle this; if it does default behavior is to render the path and exit + Arg outPath = { "outPath", "pathOutput", "Path of directory to store path output default relative the input path directory " }; // app needs to handle this; if it does default behavior is to render the path and exit + + }; + + /// Arguments related to a window. + /// \ingroup sibr_system + struct SIBR_SYSTEM_EXPORT WindowArgs { + Arg win_width = { "width", 720, "initial window width" }; + Arg win_height = { "height", 480, "initial window height" }; + Arg vsync = { "vsync", 1, "enable vertical sync" }; + Arg fullscreen = { "fullscreen", "set the window to fullscreen" }; + Arg hdpi = { "hd", "rescale UI elements for high-density screens" }; + Arg no_gui = { "nogui", "do not use ImGui" }; + Arg gl_debug = { "gldebug", "enable OpenGL error callback" }; + Arg offscreen = { "offscreen", "do not open window" }; + }; + + /// Combination of window and application arguments. + /// \ingroup sibr_system + struct SIBR_SYSTEM_EXPORT WindowAppArgs : + virtual AppArgs, virtual WindowArgs { + }; + + /// Common rendering settings. + /// \ingroup sibr_system + struct SIBR_SYSTEM_EXPORT RenderingArgs { + Arg scene_metadata_filename = { "scene", "scene_metadata.txt", "scene metadata file" }; + Arg rendering_size = { "rendering-size", { 0, 0 }, "size at which rendering is performed" }; + Arg texture_width = { "texture-width", 0 , "size of the input data in memory"}; + Arg texture_ratio = { "texture-ratio", 1.0f }; + Arg rendering_mode = { "rendering-mode", RENDERMODE_MONO, "select mono (0) or stereo (1) rendering mode" }; + Arg focal_pt = { "focal-pt", {0.0f, 0.0f, 0.0f} }; + Arg colmap_fovXfovY_flag = { "colmap_fovXfovY_flag", false }; + Arg force_aspect_ratio = { "force-aspect-ratio", false }; + }; + + /// Dataset related arguments. + /// \ingroup sibr_system + struct SIBR_SYSTEM_EXPORT BasicDatasetArgs { + RequiredArg dataset_path = { "path", "path to the dataset root" }; + Arg dataset_type = { "dataset_type", "", "type of dataset" }; + }; + + /// "Default" set of arguments. + /// \ingroup sibr_system + struct SIBR_SYSTEM_EXPORT BasicIBRAppArgs : + virtual WindowAppArgs, virtual BasicDatasetArgs, virtual RenderingArgs { + }; + + /// Specialization of value getter for strings. + /// \ingroup sibr_system + template<> + struct ValueGetter { + static std::string get(const std::vector & values, uint n) { + return values[n]; + } + static std::string toString(const std::string & value) { + return "\"" + value + "\""; + } + }; + + /// Specialization of value getter for booleans. + /// \ingroup sibr_system + template<> + struct ValueGetter { + static bool get(const std::vector & values, uint n) { + return true; + } + static std::string toString(const bool & value) { + return value ? "true" : "false"; + } + }; + + /// Specialization of value getter for doubles. + /// \ingroup sibr_system + template<> + struct ValueGetter { + static double get(const std::vector & values, uint n) { + return std::stod(values[n]); + } + static std::string toString(const double & value) { + return std::to_string(value); + } + }; + + /// Specialization of value getter for floats. + /// \ingroup sibr_system + template<> + struct ValueGetter { + static float get(const std::vector & values, uint n) { + return std::stof(values[n]); + } + static std::string toString(const float & value) { + return std::to_string(value); + } + }; + + /// Specialization of value getter for integers. + /// \ingroup sibr_system + template<> + struct ValueGetter { + static int get(const std::vector & values, uint n) { + return std::stoi(values[n]); + } + static std::string toString(const int & value) { + return std::to_string(value); + } + }; + + /// Specialization of value getter for chars. + /// \ingroup sibr_system + template<> + struct ValueGetter { + static char get(const std::vector & values, uint n) { + return static_cast(std::stoi(values[n])); + } + static std::string toString(const char & value) { + return std::to_string(value); + } + }; + + /// Specialization of value getter for unsigned integers. + /// \ingroup sibr_system + template<> + struct ValueGetter { + static uint get(const std::vector & values, uint n) { + return static_cast(std::stoi(values[n])); + } + static std::string toString(const uint & value) { + return std::to_string(value); + } + }; + + /// Specialization of value getter for arrays. + /// \ingroup sibr_system + template + struct ValueGetter> { + static std::array get(const std::vector & values, uint n) { + std::array out; + for (uint i = 0; i < N; ++i) { + out[i] = ValueGetter::get(values, n*N*NumberOfArg + i); + } + return out; + } + static std::string toString(const std::array & value) { + std::string res = "("; + for (uint i = 0; i < N; ++i) { + res.append(ValueGetter::toString(value[i])); + if (i != N - 1) { + res.append(","); + } + } + return res + ")"; + } + }; + + /// Specialization of value getter for sibr::Vectors & eigen matrices. + /// \ingroup sibr_system + template + struct ValueGetter> { + static Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> get(const std::vector & values, uint n) { + Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> out; + for (uint i = 0; i < _Rows*_Cols; ++i) { + out[i] = ValueGetter<_Scalar>::get(values, n*_Rows*_Cols*NumberOfArg<_Scalar> + i); + } + return out; + } + static std::string toString(const Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> & value) { + std::string res = "("; + for (uint i = 0; i < _Rows*_Cols; ++i) { + res.append(ValueGetter<_Scalar>::toString(value[i])); + if(i != _Rows*_Cols-1) { + res.append(","); + } + } + return res + ")"; + } + }; + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/Config.cpp b/SIBR_viewers/src/core/system/Config.cpp new file mode 100644 index 0000000000..3dfd2c80a4 --- /dev/null +++ b/SIBR_viewers/src/core/system/Config.cpp @@ -0,0 +1,50 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include +#include "core/system/Config.hpp" + +std::mutex gLogMutex; + +namespace sibr +{ + + LogExit::LogExit(void) : + lock(gLogMutex) + { } + + void LogExit::operator <<=( const std::ostream& /*stream*/ ) + { + // do exit, only profit a the rules of 'operator precedence' + // to be executed after operator << when writing to the stream + // itself. + // So that this class is evaluated after writing the output and + // it will exit (see dtor) + //exit(EXIT_FAILURE); + throw std::runtime_error("See log for message errors"); + } + + DebugScopeProfiler::~DebugScopeProfiler( void ) + { + double t = double(clock() - _t0) / CLOCKS_PER_SEC; + SIBR_LOG << "[PROFILER] Scope '" << _name << + "' completed in " << t << "sec." << std::endl; + } + + DebugScopeProfiler::DebugScopeProfiler( const std::string& name ) + : _name(name) + { + _t0 = clock(); + } + +} // namespace sirb \ No newline at end of file diff --git a/SIBR_viewers/src/core/system/Config.hpp b/SIBR_viewers/src/core/system/Config.hpp new file mode 100644 index 0000000000..941a0f2dd6 --- /dev/null +++ b/SIBR_viewers/src/core/system/Config.hpp @@ -0,0 +1,304 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +//// Default includes //// +# ifndef _USE_MATH_DEFINES +# define _USE_MATH_DEFINES // for C++ +# endif +# include +# include +# include +# include +# include +# include +# include +# include +# include +#include + +//// Determine the operating system //// +# if defined(_WIN32) +# define SIBR_OS_WINDOWS +// Windows define macro for 'far' and 'near'... +// http://stackoverflow.com/questions/118774/is-there-a-clean-way-to-prevent-windows-h-from-creating-a-near-far-macro +// We could use other names than far and near but because we work in +// computer graphics, I am sure that future guys will also try to +// declare variables called far/near and loose time until finding +// this is all because windows. + +// Edit: I wanted to do something about it (a warning message) but it +// slow the compilation time (~5sec on my machine), so I let this code +// but disabled by default. +# if SIBR_UNDEF_WINDOWMACROS +// The strategy here is to undef macros AFTER including +// headers that use them. +# pragma warning(push, 0) + +// Note including this file increase the compilation time +// of the core libs by 5 additional seconds. +# include +# include +# include +# include +# include +# pragma warning(pop) +# undef far +# undef near +# endif // SIBR_UNDEF_WINDOWMACROS +# elif defined(__unix__) +# define SIBR_OS_UNIX +# elif defined(__APPLE__) && defined(__MACH__) +# define SIBR_OS_MAC +# else +# error This operating system might be not supported. +# endif + +//# undef NDEBUG /// \todo By undefining NDEBUG, I enable the assert system definition. (TODO RELEASE: remove this) +// (it certainly not a good pratice but it reveal previous assert already in the code) + +# ifdef SIBR_OS_WINDOWS + +# pragma warning(disable:4503) // decorated name length exceeded, name was truncated +// The two following lines disable warning concerning 'inconsistent dll linkage'. +// MSVC doesn't like exporting STL containers because their implementation (their 'dll') +// can be different from one Windows to another. Unix garantees to provide a universal +// implementation and doesn't have this problem. +// My point of view is: +// - Make the code compliants with Windows' dlls will make us: +// 1) lose lots of time (if we need to wrap STL containers each time we use them...) +// 2) break the beauty of the code (we want to keep simple code). +// - Once we will release this code (for a large public), we should: +// 1) Either explicitely export EVERY template/stl containers we use. +// 2) Or provide msvc's dll (redistribuable) that contains the same stl implementation +# pragma warning(disable:4251) +# pragma warning(disable:4273) + +//// Export Macro (used for creating DLLs) //// +# ifdef SIBR_STATIC_DEFINE +# define SIBR_EXPORT +# define SIBR_NO_EXPORT +# else +# ifndef SIBR_SYSTEM_EXPORT +# ifdef SIBR_SYSTEM_EXPORTS + /* We are building this library */ +# define SIBR_SYSTEM_EXPORT __declspec(dllexport) +# else + /* We are using this library */ +# define SIBR_SYSTEM_EXPORT __declspec(dllimport) +# endif +# endif +# ifndef SIBR_NO_EXPORT +# define SIBR_NO_EXPORT +# endif +# endif +# else +# define SIBR_SYSTEM_EXPORT +# endif + +//// Deprecator Macro (used to flag as 'deprecated' some functionalities) //// +#ifndef SIBR_DEPRECATED +# define SIBR_DEPRECATED __declspec(deprecated) +#endif + +//// Int To String Macro (used to convert int into string at compile-time) //// +# define SIBR_MACROINTTOSTR_IMPL(x) #x // small trick to get __LINE__ into a string +# define SIBR_MACROINTTOSTR(x) SIBR_MACROINTTOSTR_IMPL(x) +//// Concatenate Macro (used to concatenate two things, whatever it is. //// +//// See SIBR_PROFILESCOPE for an example of use). //// +# define SIBR_CATMACRO_IMPL(x, y) x ## y +# define SIBR_CATMACRO(x, y) SIBR_CATMACRO_IMPL(x, y) + +//# if SIBR_OS_WINDOWS +# define __FUNCTION_STR__ __FUNCTION__ +//# else +//# define __FUNCTION_STR__ SIBR_MACROINTTOSTR(__FUNCTION__) +//# endif + +// Macro used for +// Use: #pragma message WARN("My message") +# if _MSC_VER +# define FILE_LINE_LINK __FILE__ "(" SIBR_MACROINTTOSTR(__LINE__) ") : " +# define PRAGMAWARN(exp) (FILE_LINE_LINK "WARNING: " exp) +# else//__GNUC__ - may need other defines for different compilers +# define PRAGMAWARN(exp) ("WARNING: " exp) +# endif + +//// Math Macro //// +# define SIBR_PI 3.14159265358979323846 +# define SIBR_2PI (SIBR_PI * 2.0) + +# define SIBR_PI_DIV_180 0.01745329251 +# define SIBR_180_DIV_PI 57.2957795131 + +# define SIBR_RADTODEG(x) ((x) * (float)SIBR_180_DIV_PI) // ( (x) * (180.0f / PI) ) +# define SIBR_DEGTORAD(x) ((x) * (float)SIBR_PI_DIV_180) // ( (x) * (PI / 180.0f) ) + +//// Class Attribute Macro //// +# define SIBR_DISALLOW_COPY( classname ) \ + private: \ + classname( const classname& ); \ + classname& operator =( const classname& ); + +# define SIBR_CLASS_PTR( classname ) \ + public: \ + typedef std::shared_ptr Ptr; \ + typedef std::unique_ptr UPtr; + +namespace sibr +{ + /** Ensure that all logs are output before exiting when an error or exception is raised. + \ingroup sibr_system + */ + struct SIBR_SYSTEM_EXPORT LogExit + { + /// Constructor. + LogExit( void ); + + /** Throw an exception and trigger exit. + \param stream the log stream. + */ + void operator <<=( const std::ostream& stream ); + + std::lock_guard lock; ///< Sync lock. + }; +} + + +#ifdef NDEBUG +# define SIBR_MAXIMIZE_INLINE +#endif + +# ifdef SIBR_MAXIMIZE_INLINE +# define SIBR_OPT_INLINE inline +# else +# define SIBR_OPT_INLINE +# endif + + +//// Log Macro //// +# define SIBR_LOG std::cout << "[SIBR] -- INFOS --:\t" // Must be replaced by a true log system +# define SIBR_WRG std::cout << "[SIBR] !! WARNING !!:\tFILE " << __FILE__ << "\n\t\t\tLINE " << __LINE__ << ", FUNC " << __FUNCTION_STR__ << "\n\t\t\t" +# define SIBR_ERR ::sibr::LogExit() <<= \ + std::cerr << "[SIBR] ## ERROR ##:\tFILE " << __FILE__ << "\n\t\t\tLINE " << __LINE__ << ", FUNC " << __FUNCTION_STR__ << "\n\t\t\t" // Could be augmented for exiting + +// One drawback of using the standard assert is that you MUST catch the exception +// it throws in order to display its message and know the error. Not everyone thinks +// to do this (or want to add try/catch block in their code). Thus the solution here +// is to, first display the message (btw we inform on the precise location where it +// happens using __FILE__ and __LINE__) and then throw an exception (using the std +// assert) so that we can retrieve the callstack easily for debugging). + + +#ifdef NDEBUG +# define SIBR_ASSERT(condition) ((void)0) +# define SIBR_ASSERT_LOGIC(condition) (condition) // This assertion can contain code logic (this code will also be included at release) +#else +# define SIBR_ASSERT(condition) do { if(!(condition)) { SIBR_WRG << "ASSERT FAILED: " #condition << std::endl; assert(condition); } } while(0) +# define SIBR_ASSERT_LOGIC(condition) do { if(!(condition)) { SIBR_WRG << "ASSERT FAILED: " #condition << std::endl; assert(condition); } } while(0) +#endif + +// Small variants for adding function name +# define SIBR_FLOG SIBR_LOG "[" << __FUNCTION_STR__ << "]" +// Some code parts are written to manage additional or future features. They might remain untested +// until they are required (avoiding losing time to test code that could be useless at the end). +# define SIBR_UNTESTED \ + SIBR_LOG << "!Warning! Using an untested code flagged as potentially " \ + "unstable. (if something goes wrong, check over here - " __FILE__ ":" << __LINE__ << ")" << std::endl; +# define SIBR_DEBUG(var) std::cout << __FILE__ ":\n" "[Debug] " #var " = "<< (var) << std::endl // No access to debug mode for now (so I made this tmp tool) + +// Note Visual studio is bugged with multiple statements macro (I avoided them): +// http://stackoverflow.com/questions/22212737/strange-syntax-error-reported-in-a-range-based-for-loop + +//// TYPEDEF //// +typedef int8_t int8; +typedef int16_t int16; +typedef int32_t int32; +typedef int64_t int64; +typedef unsigned uint; +typedef uint8_t uint8; +typedef uint16_t uint16; +typedef uint32_t uint32; +typedef uint64_t uint64; + +using Path = boost::filesystem::path; + +// This stuff should be in a file gathering all debug tools +//# if !defined(NDEBUG) +# include +namespace sibr +{ + /// Used for quickly measuring time for completing a scope. + /// \ingroup sibr_system + struct SIBR_SYSTEM_EXPORT DebugScopeProfiler + { + /** Constructor. + \param name the display name of the profiling session + */ + DebugScopeProfiler( const std::string& name ); + + /// Destructor. + ~DebugScopeProfiler( void ); + + private: + clock_t _t0; ///< Timing. + std::string _name; ///< Name. + }; + +# define SIBR_PROFILESCOPE_EXPAND(x, y) sibr::DebugScopeProfiler x(y); + // its a bit weird (because of macro's tricks) but that just create an instance of DebugScopeProfiler (with a generated var name) +# define SIBR_PROFILESCOPE \ + SIBR_PROFILESCOPE_EXPAND(SIBR_CATMACRO(debugScopeProfiler,__COUNTER__), std::string(__FUNCTION_STR__) + std::string(" (File: " __FILE__ ":" SIBR_MACROINTTOSTR(__LINE__) ")") ); +# define SIBR_PROFILESCOPE_NAME(name) \ + SIBR_PROFILESCOPE_EXPAND(SIBR_CATMACRO(debugScopeProfiler,__COUNTER__), name ); +} // namespace sibr +//# endif + +//// Define the init behavior //// +# define SIBR_INITZERO +// Initializing with a default value (zero) can be slightly slower but +// make the code safe. In the current case, we don't have performance +// problems (of this level). +# if defined(SIBR_INITZERO) +# ifndef EIGEN_INITIALIZE_MATRICES_BY_ZERO +# define EIGEN_INITIALIZE_MATRICES_BY_ZERO +# endif +# endif + +// I didn't use the Plugin system for Eigen's MatrixBase +// because I wanted also custom ctor +// EDIT: +// Now that libslmini leaved out, we don't need this ctor +// anymore. +# define EIGEN_MATRIXBASE_PLUGIN "core/system/MatrixBasePlugin.hpp" +# define EIGEN_MATRIX_PLUGIN "core/system/MatrixPlugin.hpp" +# include +# include + +# define SIBR_USE_CHOLMOD_EIGEN + + + +namespace sibr +{ + /** Rounding operation. + \param x the value to round + \return the rounded value + \todo Compare behaviour with std::round + \ingroup sibr_system + */ + inline float round(float x) { + return x >= 0.0f ? floorf(x + 0.5f) : ceilf(x - 0.5f); + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/LoadingProgress.cpp b/SIBR_viewers/src/core/system/LoadingProgress.cpp new file mode 100644 index 0000000000..4bc8287fff --- /dev/null +++ b/SIBR_viewers/src/core/system/LoadingProgress.cpp @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/system/LoadingProgress.hpp" + +namespace sibr +{ + + LoadingProgress::LoadingProgress( size_t maxIteration, + const std::string& status, float interval ) + : _currentStep(0), _maxProgress(maxIteration), _status(status), _interval(interval) + { + _lastReport = clock::now(); + } + + void LoadingProgress::walk( size_t step ) + { + std::lock_guard l(_mutex); + + _currentStep += step; + if (std::chrono::duration(clock::now()-_lastReport).count() >= _interval + || _currentStep >= _maxProgress) + { + report(); + _lastReport = clock::now(); + } + + } + + float LoadingProgress::current( void ) const + { + if (_maxProgress <= 0) + return 1.f; + return (float)_currentStep/(float)_maxProgress; + } + + void LoadingProgress::report( void ) const + { + if (_status.empty()) + SIBR_LOG << "Progression [ "<< current()*100.f <<"% ]" << std::endl; + else + SIBR_LOG << "Progression [ "<< current()*100.f <<"% ] - " << _status << std::endl; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/LoadingProgress.hpp b/SIBR_viewers/src/core/system/LoadingProgress.hpp new file mode 100644 index 0000000000..1fba6045b2 --- /dev/null +++ b/SIBR_viewers/src/core/system/LoadingProgress.hpp @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include +# include "core/system//Config.hpp" + + +namespace sibr +{ + /// + /// Simple utility class for reporting on the standard output + /// a loading progess. (So users know your heavy computations + /// didn't crash) + /// + /// Instructions: + /// 1) Instantiate just before a loop (for or while), providing + /// the max number of iterations. + /// 2) Call walk() once in a the loop. + /// \ingroup sibr_system + /// + class SIBR_SYSTEM_EXPORT LoadingProgress + { + public: + typedef std::chrono::steady_clock clock; + typedef clock::time_point time_point; + typedef std::function ExternalCallback; + + /** Create a progress bar. + \param maxIteration total number of iterations + \param status a message that will be inserted in next reports + \param interval an interval of time between each report. + */ + LoadingProgress( size_t maxIteration, + const std::string& status="", float interval=1.f ); + + /// Make the loading progress by the given number of steps. + /// \param step number of steps + void walk( size_t step = 1); + /// \return the current progress in a range [0.0, 1.0] + float current( void ) const; + + /// \return the time interval used + inline float interval( void ) const; + /// Change the frequency of each report + /// \param interval the new step interval to use + inline void interval( float interval ); + + /// \return the status message used + inline const std::string& status( void ) const; + /// Insert a message in printed reports + /// \param message the message to insert + inline void status( const std::string& message ); + + private: + /// Print a report + void report( void ) const; + + size_t _currentStep; ///< current number of iterations + size_t _maxProgress; ///< number of iterations before reaching 100% + std::string _status; ///< inserted into a report (you can update it) + float _interval; ///< time interval before next report (sec) + time_point _lastReport; ///< time point saved during the last report + std::mutex _mutex; ///< used ot thread-safe this class (not heavly tested!) + }; + + ///// DEFINITIONS ///// + + float LoadingProgress::interval( void ) const { + return _interval; + } + void LoadingProgress::interval( float interval ) { + _interval = interval; + } + + + const std::string& LoadingProgress::status( void ) const { + return _status; + } + void LoadingProgress::status( const std::string& message ) { + _status = message; + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/MD5.h b/SIBR_viewers/src/core/system/MD5.h new file mode 100644 index 0000000000..97955cd66c --- /dev/null +++ b/SIBR_viewers/src/core/system/MD5.h @@ -0,0 +1,353 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/* + ********************************************************************** + ** md5.h -- Header file for implementation of MD5 ** + ** RSA Data Security, Inc. MD5 Message Digest Algorithm ** + ** Created: 2/17/90 RLR ** + ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version ** + ** Revised (for MD5): RLR 4/27/91 ** + ** -- G modified to have y&~z instead of y&z ** + ** -- FF, GG, HH modified to add in last register done ** + ** -- Access pattern: round 2 works mod 5, round 3 works mod 3 ** + ** -- distinct additive constant for each step ** + ** -- round 4 added, working mod 7 ** + ********************************************************************** + */ + +/* + ********************************************************************** + ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. ** + ** ** + ** License to copy and use this software is granted provided that ** + ** it is identified as the "RSA Data Security, Inc. MD5 Message ** + ** Digest Algorithm" in all material mentioning or referencing this ** + ** software or this function. ** + ** ** + ** License is also granted to make and use derivative works ** + ** provided that such works are identified as "derived from the RSA ** + ** Data Security, Inc. MD5 Message Digest Algorithm" in all ** + ** material mentioning or referencing the derived work. ** + ** ** + ** RSA Data Security, Inc. makes no representations concerning ** + ** either the merchantability of this software or the suitability ** + ** of this software for any particular purpose. It is provided "as ** + ** is" without express or implied warranty of any kind. ** + ** ** + ** These notices must be retained in any copies of any part of this ** + ** documentation and/or software. ** + ********************************************************************** + */ + +#ifndef SIBR_SYSTEM_MD5 +#define SIBR_SYSTEM_MD5 + +#include + +/* typedef a 32 bit type */ +typedef unsigned long int UINT4; + +/* Data structure for MD5 (Message Digest) computation */ +typedef struct { + UINT4 i[2]; /* number of _bits_ handled mod 2^64 */ + UINT4 buf[4]; /* scratch buffer */ + unsigned char in[64]; /* input buffer */ + unsigned char digest[16]; /* actual digest after MD5Final call */ +} MD5_CTX; + +void MD5Init (MD5_CTX *mdContext); +void MD5Update (MD5_CTX *mdContext, unsigned char *inBuf, size_t inLen); +void MD5Final (MD5_CTX *mdContext); + + +/* + Compute MD5 for a binary blob + Writes 16 bytes (4 uints) to pDigest + */ +void MD5Buffer( void* buffer, size_t bufLen, unsigned int* pDigest ) +{ + int i; + MD5_CTX mdContext; + + // compute MD5 + MD5Init(&mdContext); + MD5Update(&mdContext, (unsigned char*)buffer, bufLen); + MD5Final(&mdContext); + + // copy digest over + for( i = 0; i < 4; ++i ) + pDigest[i] = *(((unsigned int*)mdContext.digest)+i); +} + +/* + ********************************************************************** + ** md5.c ** + ** RSA Data Security, Inc. MD5 Message Digest Algorithm ** + ** Created: 2/17/90 RLR ** + ** Revised: 1/91 SRD,AJ,BSK,JT Reference C Version ** + ********************************************************************** + */ + +/* + ********************************************************************** + ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. ** + ** ** + ** License to copy and use this software is granted provided that ** + ** it is identified as the "RSA Data Security, Inc. MD5 Message ** + ** Digest Algorithm" in all material mentioning or referencing this ** + ** software or this function. ** + ** ** + ** License is also granted to make and use derivative works ** + ** provided that such works are identified as "derived from the RSA ** + ** Data Security, Inc. MD5 Message Digest Algorithm" in all ** + ** material mentioning or referencing the derived work. ** + ** ** + ** RSA Data Security, Inc. makes no representations concerning ** + ** either the merchantability of this software or the suitability ** + ** of this software for any particular purpose. It is provided "as ** + ** is" without express or implied warranty of any kind. ** + ** ** + ** These notices must be retained in any copies of any part of this ** + ** documentation and/or software. ** + ********************************************************************** + */ + +/* forward declaration */ +static void Transform (UINT4 *buf, UINT4 *in); + +static unsigned char PADDING[64] = { + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 +}; + +/* F, G and H are basic MD5 functions: selection, majority, parity */ +#define F(x, y, z) (((x) & (y)) | ((~x) & (z))) +#define G(x, y, z) (((x) & (z)) | ((y) & (~z))) +#define H(x, y, z) ((x) ^ (y) ^ (z)) +#define I(x, y, z) ((y) ^ ((x) | (~z))) + +/* ROTATE_LEFT rotates x left n bits */ +#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n)))) + +/* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4 */ +/* Rotation is separate from addition to prevent recomputation */ +#define FF(a, b, c, d, x, s, ac) \ + {(a) += F ((b), (c), (d)) + (x) + (UINT4)(ac); \ + (a) = ROTATE_LEFT ((a), (s)); \ + (a) += (b); \ + } +#define GG(a, b, c, d, x, s, ac) \ + {(a) += G ((b), (c), (d)) + (x) + (UINT4)(ac); \ + (a) = ROTATE_LEFT ((a), (s)); \ + (a) += (b); \ + } +#define HH(a, b, c, d, x, s, ac) \ + {(a) += H ((b), (c), (d)) + (x) + (UINT4)(ac); \ + (a) = ROTATE_LEFT ((a), (s)); \ + (a) += (b); \ + } +#define II(a, b, c, d, x, s, ac) \ + {(a) += I ((b), (c), (d)) + (x) + (UINT4)(ac); \ + (a) = ROTATE_LEFT ((a), (s)); \ + (a) += (b); \ + } + +void MD5Init (MD5_CTX *mdContext) +{ + mdContext->i[0] = mdContext->i[1] = (UINT4)0; + + /* Load magic initialization constants. + */ + mdContext->buf[0] = (UINT4)0x67452301; + mdContext->buf[1] = (UINT4)0xefcdab89; + mdContext->buf[2] = (UINT4)0x98badcfe; + mdContext->buf[3] = (UINT4)0x10325476; +} + +void MD5Update (MD5_CTX *mdContext, unsigned char *inBuf, size_t inLen) +{ + UINT4 in[16]; + int mdi; + unsigned int i, ii; + + /* compute number of bytes mod 64 */ + mdi = (int)((mdContext->i[0] >> 3) & 0x3F); + + /* update number of bits */ + if ((mdContext->i[0] + ((UINT4)inLen << 3)) < mdContext->i[0]) + mdContext->i[1]++; + mdContext->i[0] += ((UINT4)inLen << 3); + mdContext->i[1] += ((UINT4)inLen >> 29); + + while (inLen--) { + /* add new character to buffer, increment mdi */ + mdContext->in[mdi++] = *inBuf++; + + /* transform if necessary */ + if (mdi == 0x40) { + for (i = 0, ii = 0; i < 16; i++, ii += 4) + in[i] = (((UINT4)mdContext->in[ii+3]) << 24) | + (((UINT4)mdContext->in[ii+2]) << 16) | + (((UINT4)mdContext->in[ii+1]) << 8) | + ((UINT4)mdContext->in[ii]); + Transform (mdContext->buf, in); + mdi = 0; + } + } +} + +void MD5Final (MD5_CTX *mdContext) +{ + UINT4 in[16]; + int mdi; + unsigned int i, ii; + unsigned int padLen; + + /* save number of bits */ + in[14] = mdContext->i[0]; + in[15] = mdContext->i[1]; + + /* compute number of bytes mod 64 */ + mdi = (int)((mdContext->i[0] >> 3) & 0x3F); + + /* pad out to 56 mod 64 */ + padLen = (mdi < 56) ? (56 - mdi) : (120 - mdi); + MD5Update (mdContext, PADDING, padLen); + + /* append length in bits and transform */ + for (i = 0, ii = 0; i < 14; i++, ii += 4) + in[i] = (((UINT4)mdContext->in[ii+3]) << 24) | + (((UINT4)mdContext->in[ii+2]) << 16) | + (((UINT4)mdContext->in[ii+1]) << 8) | + ((UINT4)mdContext->in[ii]); + Transform (mdContext->buf, in); + + /* store buffer in digest */ + for (i = 0, ii = 0; i < 4; i++, ii += 4) { + mdContext->digest[ii] = (unsigned char)(mdContext->buf[i] & 0xFF); + mdContext->digest[ii+1] = + (unsigned char)((mdContext->buf[i] >> 8) & 0xFF); + mdContext->digest[ii+2] = + (unsigned char)((mdContext->buf[i] >> 16) & 0xFF); + mdContext->digest[ii+3] = + (unsigned char)((mdContext->buf[i] >> 24) & 0xFF); + } +} + +/* Basic MD5 step. Transform buf based on in. + */ +static void Transform (UINT4 *buf, UINT4 *in) +{ + UINT4 a = buf[0], b = buf[1], c = buf[2], d = buf[3]; + + /* Round 1 */ +#define S11 7 +#define S12 12 +#define S13 17 +#define S14 22 + FF ( a, b, c, d, in[ 0], S11, 3614090360); /* 1 */ + FF ( d, a, b, c, in[ 1], S12, 3905402710); /* 2 */ + FF ( c, d, a, b, in[ 2], S13, 606105819); /* 3 */ + FF ( b, c, d, a, in[ 3], S14, 3250441966); /* 4 */ + FF ( a, b, c, d, in[ 4], S11, 4118548399); /* 5 */ + FF ( d, a, b, c, in[ 5], S12, 1200080426); /* 6 */ + FF ( c, d, a, b, in[ 6], S13, 2821735955); /* 7 */ + FF ( b, c, d, a, in[ 7], S14, 4249261313); /* 8 */ + FF ( a, b, c, d, in[ 8], S11, 1770035416); /* 9 */ + FF ( d, a, b, c, in[ 9], S12, 2336552879); /* 10 */ + FF ( c, d, a, b, in[10], S13, 4294925233); /* 11 */ + FF ( b, c, d, a, in[11], S14, 2304563134); /* 12 */ + FF ( a, b, c, d, in[12], S11, 1804603682); /* 13 */ + FF ( d, a, b, c, in[13], S12, 4254626195); /* 14 */ + FF ( c, d, a, b, in[14], S13, 2792965006); /* 15 */ + FF ( b, c, d, a, in[15], S14, 1236535329); /* 16 */ + + /* Round 2 */ +#define S21 5 +#define S22 9 +#define S23 14 +#define S24 20 + GG ( a, b, c, d, in[ 1], S21, 4129170786); /* 17 */ + GG ( d, a, b, c, in[ 6], S22, 3225465664); /* 18 */ + GG ( c, d, a, b, in[11], S23, 643717713); /* 19 */ + GG ( b, c, d, a, in[ 0], S24, 3921069994); /* 20 */ + GG ( a, b, c, d, in[ 5], S21, 3593408605); /* 21 */ + GG ( d, a, b, c, in[10], S22, 38016083); /* 22 */ + GG ( c, d, a, b, in[15], S23, 3634488961); /* 23 */ + GG ( b, c, d, a, in[ 4], S24, 3889429448); /* 24 */ + GG ( a, b, c, d, in[ 9], S21, 568446438); /* 25 */ + GG ( d, a, b, c, in[14], S22, 3275163606); /* 26 */ + GG ( c, d, a, b, in[ 3], S23, 4107603335); /* 27 */ + GG ( b, c, d, a, in[ 8], S24, 1163531501); /* 28 */ + GG ( a, b, c, d, in[13], S21, 2850285829); /* 29 */ + GG ( d, a, b, c, in[ 2], S22, 4243563512); /* 30 */ + GG ( c, d, a, b, in[ 7], S23, 1735328473); /* 31 */ + GG ( b, c, d, a, in[12], S24, 2368359562); /* 32 */ + + /* Round 3 */ +#define S31 4 +#define S32 11 +#define S33 16 +#define S34 23 + HH ( a, b, c, d, in[ 5], S31, 4294588738); /* 33 */ + HH ( d, a, b, c, in[ 8], S32, 2272392833); /* 34 */ + HH ( c, d, a, b, in[11], S33, 1839030562); /* 35 */ + HH ( b, c, d, a, in[14], S34, 4259657740); /* 36 */ + HH ( a, b, c, d, in[ 1], S31, 2763975236); /* 37 */ + HH ( d, a, b, c, in[ 4], S32, 1272893353); /* 38 */ + HH ( c, d, a, b, in[ 7], S33, 4139469664); /* 39 */ + HH ( b, c, d, a, in[10], S34, 3200236656); /* 40 */ + HH ( a, b, c, d, in[13], S31, 681279174); /* 41 */ + HH ( d, a, b, c, in[ 0], S32, 3936430074); /* 42 */ + HH ( c, d, a, b, in[ 3], S33, 3572445317); /* 43 */ + HH ( b, c, d, a, in[ 6], S34, 76029189); /* 44 */ + HH ( a, b, c, d, in[ 9], S31, 3654602809); /* 45 */ + HH ( d, a, b, c, in[12], S32, 3873151461); /* 46 */ + HH ( c, d, a, b, in[15], S33, 530742520); /* 47 */ + HH ( b, c, d, a, in[ 2], S34, 3299628645); /* 48 */ + + /* Round 4 */ +#define S41 6 +#define S42 10 +#define S43 15 +#define S44 21 + II ( a, b, c, d, in[ 0], S41, 4096336452); /* 49 */ + II ( d, a, b, c, in[ 7], S42, 1126891415); /* 50 */ + II ( c, d, a, b, in[14], S43, 2878612391); /* 51 */ + II ( b, c, d, a, in[ 5], S44, 4237533241); /* 52 */ + II ( a, b, c, d, in[12], S41, 1700485571); /* 53 */ + II ( d, a, b, c, in[ 3], S42, 2399980690); /* 54 */ + II ( c, d, a, b, in[10], S43, 4293915773); /* 55 */ + II ( b, c, d, a, in[ 1], S44, 2240044497); /* 56 */ + II ( a, b, c, d, in[ 8], S41, 1873313359); /* 57 */ + II ( d, a, b, c, in[15], S42, 4264355552); /* 58 */ + II ( c, d, a, b, in[ 6], S43, 2734768916); /* 59 */ + II ( b, c, d, a, in[13], S44, 1309151649); /* 60 */ + II ( a, b, c, d, in[ 4], S41, 4149444226); /* 61 */ + II ( d, a, b, c, in[11], S42, 3174756917); /* 62 */ + II ( c, d, a, b, in[ 2], S43, 718787259); /* 63 */ + II ( b, c, d, a, in[ 9], S44, 3951481745); /* 64 */ + + buf[0] += a; + buf[1] += b; + buf[2] += c; + buf[3] += d; +} + +#endif diff --git a/SIBR_viewers/src/core/system/Matrix.cpp b/SIBR_viewers/src/core/system/Matrix.cpp new file mode 100644 index 0000000000..1e21e962b6 --- /dev/null +++ b/SIBR_viewers/src/core/system/Matrix.cpp @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/system/Transform3.hpp" + +namespace sibr +{ + Matrix4f perspective( float fovRadian, float ratio, float zn, float zf, const sibr::Vector2f & p) + { + const float yScale = float(1.0)/std::tan(fovRadian/2.0f); + const float xScale = yScale/ratio; + + Matrix4f m; + const float dx = 2.0f * p.x() - 1.0f; + const float dy = 2.0f * p.y() - 1.0f; + m << + xScale, 0, dx, 0, + 0, yScale, dy, 0, + 0, 0, (zn+zf)/(zn-zf), 2*zn*zf/(zn-zf), + 0, 0, -1, 0; + + return m; + } + + Matrix4f perspectiveOffCenter( + float left, float right, float bottom, float top, float mynear, float myfar ) + { + float x = (2.0f * mynear) / (right - left); + float y = (2.0f * mynear) / (top - bottom); + float a = (right + left) / (right - left); + + float b = (top + bottom) / (top - bottom); + float c = -(myfar + mynear) / (myfar - mynear); + float d = -(2.0f * myfar * mynear) / (myfar - mynear); + float e = -1.0f; + + Matrix4f m; + + m << + x, 0, 0, 0, + 0, y, 0, 0, + a, b, c, e, + 0, 0, d, 0; + + return m; + } + + Matrix4f perspectiveStereo( + float fovRadian, float aspect, float zn, float zf, float focalDistance, float eyeDistance, bool isLeftEye ) + { + + float left, right; + float a = float(1.0f)/std::tan(fovRadian/2.0f); + float b = zf / focalDistance; + + if (isLeftEye) // left camera + { + left = - aspect * a + (eyeDistance) * b; + right = aspect * a + (eyeDistance) * b; + } + else // right camera + { + left = - aspect * a - (eyeDistance) * b; + right = aspect * a - (eyeDistance) * b; + } + + return perspectiveOffCenter(left, right, -a, a, zn, zf); + } + + Matrix4f orthographic(float right, float top, float mynear, float myfar) + { + + Matrix4f m; + + m << + 1.0f/right, 0.0f, 0.0f, 0.0f, + 0.0f, 1.0f/top, 0.0f, 0.0f, + 0.0f, 0.0f, -2.0f/(myfar-mynear), -(myfar + mynear) / (myfar - mynear), + 0.0f, 0.0f, 0.0f, 1.0f; + + return m; + } + + Matrix4f lookAt( + const Vector3f& eye, + const Vector3f& center, + const Vector3f& up ) + { + const sibr::Vector3f f = (center - eye).normalized(); + sibr::Vector3f u = up.normalized(); + const sibr::Vector3f s = f.cross(u).normalized(); + u = s.cross(f); + + Eigen::Matrix res; + res << s.x(),s.y(),s.z(),-s.dot(eye), + u.x(),u.y(),u.z(),-u.dot(eye), + -f.x(),-f.y(),-f.z(),f.dot(eye), + 0,0,0,1; + + return res; + } + + void operator<< (std::ofstream& outfile, const Matrix4f& m) + { + outfile << m(0,0) << " " << m(0,1) << " " << m(0,2) << " " << m(0,3) + << " " << m(1,0) << " " << m(1,1) << " " << m(1,2) << " " << m(1,3) + << " " << m(2,0) << " " << m(2,1) << " " << m(2,2) << " " << m(2,3) + << " " << m(3,0) << " " << m(3,1) << " " << m(3,2) << " " << m(3,3) ; + + } + + void operator>>( std::ifstream& infile, Matrix4f& out) + { + float m[16]; + infile >> m[0] >> m[1] >> m[2] >> m[3] + >> m[4] >> m[5] >> m[6] >> m[7] + >> m[8] >> m[9] >> m[10] >> m[11] + >> m[12] >> m[13] >> m[14] >> m[15]; + + out << m[0] , m[1] , m[2] , m[3] + , m[4] , m[5] , m[6] , m[7] + , m[8] , m[9] , m[10] , m[11] + , m[12] , m[13] , m[14] , m[15]; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/Matrix.hpp b/SIBR_viewers/src/core/system/Matrix.hpp new file mode 100644 index 0000000000..c377760501 --- /dev/null +++ b/SIBR_viewers/src/core/system/Matrix.hpp @@ -0,0 +1,164 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/****************************************************************************** + + Design Decision -- Eigen Integration: + + At the very beginning, we used vector/matrices from libminisl. Then we + began to switch to Eigen's tools (because already used in lots of our code). + Thus during the migration phase, we used custom class inheriting from + Eigen::Matrix. + However I encountered issues when executing the code under linux. It + appears it was because of SSE instructions (special pipeline on CPU allowing + to perform some vector operations in parallel). This SSE instruction required + 128-bit aligned memory. There are articles about this on Eigen website: + eigen.tuxfamily.org/dox/group__DenseMatrixManipulation__Alignement.html + + But to summerize: keeping the alignment is difficult because you have to + overload new operator in each class containing an Eigen::Matrix. Too unsafe, + thus I disable this (Eigen::DontAlign) but missing assignment operators did + that this consideration was ignored in some cases. + E.g.: sibr::Matrix A, B, C; + // ... // set A and B + C = A*B; // A*B return a temporary class of Eigen but C didn't have the + // assignment operator for this class [...] it wrongly considered it has an + // not-aligned matrix and data was corrupted. + + Now SIBR uses a plugin system to extend Eigen classes: + eigen.tuxfamily.org/dox/TopicCustomizingEigen.html + + It's both safer and faster. (but it was not possible during the migration + phase because I needed the child type to perfom automatic convertion with + remaining libminisl tools). + +******************************************************************************/ + +#pragma once + +# include +# include "core/system/Config.hpp" +# include "core/system/Vector.hpp" + + +namespace sibr +{ + /** + \addtogroup sibr_system + @{ + */ + typedef Eigen::Matrix Matrix4u; + typedef Eigen::Matrix Matrix4i; + typedef Eigen::Matrix Matrix4f; + typedef Eigen::Matrix Matrix4d; + typedef Eigen::Matrix Matrix3u; + typedef Eigen::Matrix Matrix3i; + typedef Eigen::Matrix Matrix3f; + typedef Eigen::Matrix Matrix3d; + + /** Convert a quaternion to a rotation matrix. + * \param q the quaternion to convert + * \return the corresponding matrix + */ + template + Eigen::Matrix matFromQuat( const Eigen::Quaternion& q ) { + Eigen::Matrix s = q.toRotationMatrix(); + + Eigen::Matrix mat; + mat << + s(0,0), s(0,1), s(0,2), 0, + s(1,0), s(1,1), s(1,2), 0, + s(2,0), s(2,1), s(2,2), 0, + 0, 0, 0, 1; + return mat; + } + + /** Convert a translation to a rotation matrix. + * \param vec the translation to convert + * \return the corresponding matrix + */ + template + Eigen::Matrix matFromTranslation( const Eigen::Matrix& vec ) { + + Eigen::Matrix mat; + mat.setIdentity(); + + mat(0,3) = vec.x(); + mat(1,3) = vec.y(); + mat(2,3) = vec.z(); + return mat; + } + + /** Generate a perspective matrix. + * \param fovRadian vertical field of view in radians + * \param ratio aspect ratio + * \param zn near plane + * \param zf far plane + * \param p the principal point, expressed in [0,1] + * \return the projection matrix */ + Matrix4f SIBR_SYSTEM_EXPORT perspective( float fovRadian, float ratio, float zn, float zf, const ::sibr::Vector2f & p = {0.5f, 0.5f}); + + /** Generate an off-center perspective matrix. + * Defined by giving the top/left/right/bottom extent in world units. + * \param left left extent + * \param right right extent + * \param bottom bottom extent + * \param top top extent + * \param mynear near plane + * \param myfar dar plane + * \return the projection matrix */ + Matrix4f SIBR_SYSTEM_EXPORT perspectiveOffCenter( + float left, float right, float bottom, float top, float mynear, float myfar ); + + /** Generate a perspective matrix for stereo rendering. + * \param fovRadian vertical field of view in radians + * \param aspect aspect ratio + * \param zn near plane + * \param zf far plane + * \param focalDistance the focal distance + * \param eyeDistance the inter-eye distance + * \param isLeftEye if true computes the left eye matrix, else the right eye + * \return the projection matrix */ + Matrix4f SIBR_SYSTEM_EXPORT perspectiveStereo( float fovRadian, float aspect, float zn, float zf, float focalDistance, + float eyeDistance, bool isLeftEye ); + + /** Generate an orthographic matrix. + * Defined by giving the top/right extent in world units. + * \param right right extent + * \param top top extent + * \param mynear near plane + * \param myfar dar plane + * \return the projection matrix */ + Matrix4f SIBR_SYSTEM_EXPORT orthographic(float right, float top, float mynear, float myfar); + + /** Generate a view matrix using the look at parameters. + * \param eye camera position + * \param center point the camera is looking at + * \param up up vector + * \return the projection matrix */ + Matrix4f SIBR_SYSTEM_EXPORT lookAt( const Vector3f& eye, const Vector3f& center, const Vector3f& up ); + + /** Output a Matrix4f to a file stream. + *\param outfile the output file + *\param m the matrix + */ + void SIBR_SYSTEM_EXPORT operator<< (std::ofstream& outfile, const Matrix4f& m); + + /** Read a Matrix4f from a file stream. + *\param infile the input file + *\param out the matrix + */ + void SIBR_SYSTEM_EXPORT operator>>( std::ifstream& infile, Matrix4f& out); + + /** }@ */ +} // namespace sibr + diff --git a/SIBR_viewers/src/core/system/MatrixBasePlugin.hpp b/SIBR_viewers/src/core/system/MatrixBasePlugin.hpp new file mode 100644 index 0000000000..5b36c57c66 --- /dev/null +++ b/SIBR_viewers/src/core/system/MatrixBasePlugin.hpp @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +// This file is used to extend Eigen's MatrixBase class using +// the following tricks: +// https://eigen.tuxfamily.org/dox-3.2/TopicCustomizingEigen.html + +public: + +/** Helper to evaluate a transposed matrix without overwriting risks. + \return a copy of the matrix, transposed +*/ +inline MatrixBase transposed( void ) { return this->transpose().eval(); } + +/** Get the first two components, filling with a default value if some are missing. + \param fill the default value to use + \return the selected components. +*/ +Matrix xy( float fill=0.f ) const { + return Matrix( this->operator[](0), size()<2? fill:this->operator[](1)); +} + +/** Get the first two components swapped, filling with a default value if some are missing. + \param fill the default value to use + \return the selected components. +*/ +Matrix yx(float fill = 0.f) const { + return Matrix(this->operator[](1), size()<2 ? fill : this->operator[](0)); +} + +/** Get the last two components swapped, filling with a default value if some are missing. + \param fill the default value to use + \return the selected components. +*/ +Matrix wz(float fill = 0.f) const { + return Matrix(size()<4 ? fill : this->operator[](3), size()<3 ? fill : this->operator[](2)); +} + +/** Get the first three components, filling with a default value if some are missing. + \param fill the default value to use + \return the selected components. +*/ +Matrix xyz( float fill=0.f ) const { + return Matrix( this->operator[](0), size()<2? fill:this->operator[](1), size()<3? fill:this->operator[](2)); +} + +/** Get the first four components, filling with a default value if some are missing. + \param fill the default value to use + \return the selected components. +*/ +Matrix xyzw( float fill=0.f ) const { + return Matrix( this->operator[](0), size()<2? fill:this->operator[](1), size()<3? fill:this->operator[](2), size()<4? fill:this->operator[](3)); +} + +/** Get the first three components swapped (YXZ), filling with a default value if some are missing. + \param fill the default value to use + \return the selected components. +*/ +Matrix yxz(float fill = 0.f) const { + return Matrix(size()<2 ? fill : this->operator[](1), this->operator[](0), size()<3 ? fill : this->operator[](2)); +} + +/** Get the first three components swapped (YZX), filling with a default value if some are missing. + \param fill the default value to use + \return the selected components. +*/ +Matrix yzx(float fill = 0.f) const { + return Matrix(size()<2 ? fill : this->operator[](1), size()<3 ? fill : this->operator[](2), this->operator[](0)); +} + +/** Check if a vector is exactly zero for all components +\return true if all components are exactly zero. +*/ +bool isNull( void ) const { + return (array() == 0).all(); +} + +typedef Scalar Type; + +//enum { NumComp = Derived::RowsAtCompileTime }; + diff --git a/SIBR_viewers/src/core/system/MatrixPlugin.hpp b/SIBR_viewers/src/core/system/MatrixPlugin.hpp new file mode 100644 index 0000000000..0035522264 --- /dev/null +++ b/SIBR_viewers/src/core/system/MatrixPlugin.hpp @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +// This file is used to extend Eigen's MatrixBase class using +// the following tricks: +// https://eigen.tuxfamily.org/dox-3.2/TopicCustomizingEigen.html + +public: + +typedef Scalar Type; +enum { NumComp = RowsAtCompileTime }; + +//Matrix( const Scalar* data ) { for(int i=0; ioperator [] (i) = data[i]; } + +/** +Matrix( float x, float y=0.f, float z=0.f, float w=0.f ) { + float data[] = {x, y, z, w}; + for(int i=0; ioperator [] (i) = data[i]; +} +**/ + diff --git a/SIBR_viewers/src/core/system/Quaternion.cpp b/SIBR_viewers/src/core/system/Quaternion.cpp new file mode 100644 index 0000000000..a9d38357cb --- /dev/null +++ b/SIBR_viewers/src/core/system/Quaternion.cpp @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/system/Transform3.hpp" + +namespace sibr +{ + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/Quaternion.hpp b/SIBR_viewers/src/core/system/Quaternion.hpp new file mode 100644 index 0000000000..ef0b44cc4f --- /dev/null +++ b/SIBR_viewers/src/core/system/Quaternion.hpp @@ -0,0 +1,229 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include "core/system/Config.hpp" +# include "core/system/Matrix.hpp" +# include "core/system/Vector.hpp" + +namespace sibr +{ + /** + \addtogroup sibr_system + @{ + */ + + /** Build a quaternion from a rotation matrix + *\param m the rotation matrix + *\return the quaternion + *\todo Seems to be different from sibr::Quaternion(rotationmatrix) + */ + template + Eigen::Quaternion quatFromMatrix(const Eigen::Matrix& m) { + Eigen::Quaternion q; + float trace = m(0, 0) + m(1, 1) + m(2, 2) + 1.f; + if (trace > 0) + { + float s = 0.5f / sqrtf(trace); + q.x() = (m(1, 2) - m(2, 1)) * s; + q.y() = (m(2, 0) - m(0, 2)) * s; + q.z() = (m(0, 1) - m(1, 0)) * s; + q.w() = 0.25f / s; + } + else + { + if ((m(0, 0) > m(1, 1)) && (m(0, 0) > m(2, 2))) + { + float s = sqrtf(1.f + m(0, 0) - m(1, 1) - m(2, 2)) * 2.f; + q.x() = 0.5f / s; + q.y() = (m(1, 0) + m(0, 1)) / s; + q.z() = (m(2, 0) + m(0, 2)) / s; + q.w() = (m(2, 1) + m(1, 2)) / s; + } + else if (m(1, 1) > m(2, 2)) + { + float s = sqrtf(1.f - m(0, 0) + m(1, 1) - m(2, 2)) * 2.f; + q.x() = (m(1, 0) + m(0, 1)) / s; + q.y() = 0.5f / s; + q.z() = (m(2, 1) + m(1, 2)) / s; + q.w() = (m(2, 0) + m(0, 2)) / s; + } + else + { + float s = sqrtf(1.f - m(0, 0) - m(1, 1) + m(2, 2)) * 2.f; + q.x() = (m(2, 0) + m(0, 2)) / s; + q.y() = (m(2, 1) + m(1, 2)) / s; + q.z() = 0.5f / s; + q.w() = (m(1, 0) + m(0, 1)) / s; + } + } + return q; + } + + /** Build a quaternion from a rotation matrix + *\param m the rotation matrix + *\return the quaternion + */ + template + Eigen::Quaternion quatFromMatrix( const Eigen::Matrix& m ) { + Eigen::Quaternion q; + float trace = m(0, 0) + m(1, 1) + m(2, 2) + 1.f; + if (trace > 0) + { + float s = 0.5f / sqrtf(trace); + q.x() = (m(1, 2) - m(2, 1)) * s; + q.y() = (m(2, 0) - m(0, 2)) * s; + q.z() = (m(0, 1) - m(1, 0)) * s; + q.w() = 0.25f / s; + } + else + { + if ((m(0, 0) > m(1, 1)) && (m(0, 0) > m(2, 2))) + { + float s = sqrtf(1.f + m(0, 0) - m(1, 1) - m(2, 2)) * 2.f; + q.x() = 0.5f / s; + q.y() = (m(1, 0) + m(0, 1)) / s; + q.z() = (m(2, 0) + m(0, 2)) / s; + q.w() = (m(2, 1) + m(1, 2)) / s; + } + else if (m(1, 1) > m(2, 2)) + { + float s = sqrtf(1.f - m(0, 0) + m(1, 1) - m(2, 2)) * 2.f; + q.x() = (m(1, 0) + m(0, 1)) / s; + q.y() = 0.5f / s; + q.z() = (m(2, 1) + m(1, 2)) / s; + q.w() = (m(2, 0) + m(0, 2)) / s; + } + else + { + float s = sqrtf(1.f - m(0, 0) - m(1, 1) + m(2, 2)) * 2.f; + q.x() = (m(2, 0) + m(0, 2)) / s; + q.y() = (m(2, 1) + m(1, 2)) / s; + q.z() = 0.5f / s; + q.w() = (m(1, 0) + m(0, 1)) / s; + } + } + return q; + } + + /** Build a quaternion from rotation euler angles. + *\param deg the rotation angles + *\return the quaternion + *\todo Explicit the angles order (yaw, pitch, roll?) + */ + template + Eigen::Quaternion quatFromEulerAngles( const Eigen::Matrix& deg ) { + Vector3f v(SIBR_DEGTORAD(deg.x()), SIBR_DEGTORAD(deg.y()), SIBR_DEGTORAD(deg.z())); + Vector3f halfAngles( v.x() * 0.5f, v.y() * 0.5f, v.z() * 0.5f ); + + const float cx = cosf (halfAngles.x()); + const float sx = sinf (halfAngles.x()); + const float cy = cosf (halfAngles.y()); + const float sy = sinf (halfAngles.y()); + const float cz = cosf (halfAngles.z()); + const float sz = sinf (halfAngles.z()); + + const float cxcz = cx*cz; + const float cxsz = cx*sz; + const float sxcz = sx*cz; + const float sxsz = sx*sz; + + Eigen::Quaternion dst; + dst.vec().x() = (cy * sxcz) - (sy * cxsz); + dst.vec().y() = (cy * sxsz) + (sy * cxcz); + dst.vec().z() = (cy * cxsz) - (sy * sxcz); + dst.w() = (cy * cxcz) + (sy * sxsz); + return dst; + } + + /** Rotate a vector using a quaternion. + *\param rotation the quaternion + *\param vec the vector + *\return the rotated vector. + */ + template + Eigen::Matrix quatRotateVec( + const Eigen::Quaternion& rotation, const Eigen::Matrix& vec ) { + return rotation._transformVector(vec); + } + + /** Quaternion product. + * \param q1 first quaternion + * \param q2 second quaternion + * \return the result quaternion + */ + template + inline static Eigen::Quaternion dot( const Eigen::Quaternion& q1, const Eigen::Quaternion& q2 ) { + return q1.vec().dot(q2.vec()) + q1.w()*q2.w(); + } + + /** Compute the delta angle between two quaternions. + *\param q1 first quaternion + *\param q2 second quaternion + *\return the angle in radians + *\note Will return the smallest angle possible + */ + template + inline static float angleRadian( const Eigen::Quaternion& q1, const Eigen::Quaternion& q2 ) { + const float mid = 3.14159f; + const float angle = q1.angularDistance(q2); + return angle > mid? mid-angle : angle; // be sure to return the shortest angle + } + + /** Linear quaternion interpolation + *\param q1 first quaternion + *\param q2 second quaternion + *\param t interpolation factor + *\return the interpolated quaternion + */ + template + inline static Eigen::Quaternion lerp( const Eigen::Quaternion& q1, const Eigen::Quaternion& q2, float t ) { + return (q1*(1-t) + q2*t).normalized(); + } + + /** Spherical quaternion interpolation + *\param q1 first quaternion + *\param q2 second quaternion + *\param t interpolation factor + *\return the interpolated quaternion + */ + template + static Eigen::Quaternion slerp( const Eigen::Quaternion& q1, const Eigen::Quaternion& q2, float t ) { + Eigen::Quaternion q3; + float dot = q1.dot(q2);// Eigen::Quaternion::dot(q1, q2); + // dot = cos(theta) + // if (dot < 0), q1 and q2 are more than 90 degrees apart, + // so we can invert one to reduce spinning + if (dot < 0) + { + dot = -dot; + q3 = -q2; + } else q3 = q2; + if (dot < 0.95f) + { + float angle = acosf(dot); + return (q1*sinf(angle*(1-t)) + q3*sinf(angle*t))/sinf(angle); + } else // if the angle is small, use linear interpolation + return lerp(q1,q3,t); + } + + typedef Eigen::Quaternion Quaternionu; + typedef Eigen::Quaternion Quaternioni; + typedef Eigen::Quaternion Quaternionf; + typedef Eigen::Quaternion Quaterniond; + + /** }@ */ + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/Rect.hpp b/SIBR_viewers/src/core/system/Rect.hpp new file mode 100644 index 0000000000..6bf742ab01 --- /dev/null +++ b/SIBR_viewers/src/core/system/Rect.hpp @@ -0,0 +1,142 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/system/Config.hpp" +# include "core/system/Vector.hpp" + +namespace sibr +{ + /** Represents a simple aligned axis rectangle + + I use left, top, right, bottom and not x1, x2, y1, y2 + or x, y, w, h for being free of coordinate systems. + (so you can use this class with an origin starting in + the top left corner or the bottom right corner; this + should be the same). + + Note this class is currently what I call a constclass: + once built you cannot modify it. + * \ingroup sibr_system + */ + template + class Rect + { + public: + typedef Eigen::Matrix Vec; + + public: + + /// Default constructor (null everything) + Rect( void ); + + /** Constructor + \param left x-coordinate of the left border + \param top y-coordinate of the top border + \param right x-coordinate of the right border + \param bottom y-coordinate of the bottom border + */ + Rect( T left, T top, T right, T bottom ); + + /// \return the position of the left side + inline T left( void ) const; + /// \return the position of the right side + inline T right( void ) const; + /// \return the position of the top side + inline T top( void ) const; + /// \return the position of the bottom side + inline T bottom( void ) const; + + /// \return the width + inline T width( void ) const; + /// \return the height + inline T height( void ) const; + + /// \return the top left rectangle corner location. + inline Eigen::Matrix cornerLeftTop( void ) const; + /// \return the bottom left rectangle corner location. + inline Eigen::Matrix cornerLeftBottom( void ) const; + /// \return the bottom right rectangle corner location. + inline Eigen::Matrix cornerRightBottom( void ) const; + /// \return the top right rectangle corner location. + inline Eigen::Matrix cornerRightTop( void ) const; + + private: + T _left; ///< x-coordinate of the left border + T _top; ///< y-coordinate of the top border + T _right; ///< x-coordinate of the right border + T _bottom; ///< y-coordinate of the bottom border + }; + + ///// EXPORT DEFAULT TYPES ///// + + typedef Rect Rectf; + typedef Rect Recti; + + ///// DEFINITION ///// + + template + Rect::Rect( void ) + : _left(T(0)), _top(T(0)), _right(T(0)), _bottom(T(0)) { + } + template + Rect::Rect( T left, T top, T right, T bottom ) + : _left(left), _top(top), _right(right), _bottom(bottom) { + } + + template + T Rect::left( void ) const { + return _left; + } + template + T Rect::right( void ) const { + return _right; + } + template + T Rect::top( void ) const { + return _top; + } + template + T Rect::bottom( void ) const { + return _bottom; + } + + template + T Rect::width( void ) const { + T v = _right - _left; + return (v<0.f)? -v : v; + } + template + T Rect::height( void ) const { + T v = _top - _bottom; + return (v<0.f)? -v : v; + } + + template + Eigen::Matrix Rect::cornerLeftTop( void ) const { + return Eigen::Matrix(left(),top()); + } + template + Eigen::Matrix Rect::cornerLeftBottom( void ) const { + return Eigen::Matrix(left(),bottom()); + } + template + Eigen::Matrix Rect::cornerRightBottom( void ) const { + return Eigen::Matrix(right(),bottom()); + } + template + Eigen::Matrix Rect::cornerRightTop( void ) const { + return Eigen::Matrix(right(),top()); + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/SimpleTimer.hpp b/SIBR_viewers/src/core/system/SimpleTimer.hpp new file mode 100644 index 0000000000..ae0b439f76 --- /dev/null +++ b/SIBR_viewers/src/core/system/SimpleTimer.hpp @@ -0,0 +1,142 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/system/Config.hpp" +#include +#include + +namespace sibr +{ + /** + * Timer to monitor performance of a section of code. + * \ingroup sibr_system + */ + class Timer + { + public: + typedef std::chrono::time_point time_point; + typedef std::chrono::nanoseconds nano; + typedef std::chrono::microseconds micro; + typedef std::chrono::milliseconds milli; + typedef std::chrono::seconds s; + + const double timeResolution = (double)std::chrono::high_resolution_clock::period::num + / std::chrono::high_resolution_clock::period::den; ///< Timer resolution. + + /** Constructor. Create a timer. + \param start_now start to measure time at creation + */ + Timer(bool start_now = false ) : hasStarted(false) + { + if (start_now) { + tic(); + } + } + + /** Copy constructor + \param timer another timer + */ + Timer(const Timer & timer) { + hasStarted = timer.hasStarted; + current_tic = timer.current_tic; + } + + /** Start measuring elapsed time. + * \warning This will clear existing recorded times. + */ + void tic() + { + tocs.resize(0); + hasStarted = true; + current_tic = std::chrono::high_resolution_clock::now(); + } + + /** Save currently elapsed time. + * \note You can call toc multiple times in a row. + */ + void toc() + { + auto toc = std::chrono::high_resolution_clock::now(); + tocs.push_back(toc); + } + + /** Get the time elapsed since the last tic, with a precisiond etemrined by the tempalte argument. + \return the measured time (default: in ms) + */ + template + double deltaTimeFromLastTic() const + { + if (!hasStarted) { return std::numeric_limits::max(); } + auto toc = std::chrono::high_resolution_clock::now(); + + double deltaTime = 1; + if (!getDeltaTime(current_tic, toc, deltaTime)) { + std::cout << "[SIBR - Timer] : below time reslution " << std::endl; + } + + return deltaTime; + } + + /** Print a list of all the recorded tocs, with the precision specified as a template argument (by default in ms). + \param toc_now should a toc be generated right now. + */ + template + void display(bool toc_now = false) + { + if (toc_now) { + toc(); + } + const int n = (int)tocs.size(); + if (!hasStarted || n == 0) { + std::cout << "[SIBR - Timer] : no tic or no toc" << std::endl; + } + else { + double deltaTime; + for (auto & toc : tocs) { + if (getDeltaTime(current_tic,toc,deltaTime) ) { + std::cout << "[SIBR - Timer] : " << deltaTime << std::endl; + } + else { + std::cout << "[SIBR - Timer] : below time reslution " << std::endl; + } + } + } + } + + /** Get the time elapsed between two points in time, using the precision specified as a template argument (default to ms). + \param tic first time point + \param toc second time point + \param deltaTime will contain the computed duration + \return false if the elapsed time was below the timer precision. + */ + template + bool getDeltaTime(const time_point & tic, const time_point & toc, double & deltaTime) const { + double timediff_nanoSeconds = (double)std::chrono::duration_cast(toc - tic).count(); + if (timediff_nanoSeconds < Timer::timeResolution) { + return false; + } + else { + deltaTime = (double)std::chrono::duration_cast(toc - tic).count(); + return true; + } + } + + private: + time_point current_tic; ///< Initial tic. + std::vector tocs; ///< Recorded time points. + bool hasStarted; ///< Is the timer currently running. + }; + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/String.cpp b/SIBR_viewers/src/core/system/String.cpp new file mode 100644 index 0000000000..9f4d731139 --- /dev/null +++ b/SIBR_viewers/src/core/system/String.cpp @@ -0,0 +1,168 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/system/String.hpp" +#include +#include +#include + +namespace sibr +{ + std::string strSearchAndReplace( const std::string& src, const std::string& search, const std::string& replaceby ) + { + size_t pos = src.find(search); + if (pos != std::string::npos) + { + std::string out; + out = src.substr(0, pos) + replaceby + src.substr(pos+search.size(), src.size()-pos+search.size()); + return out; + } + return src; + } + + std::string removeExtension(const std::string & str) + { + return str.substr(0, str.find_last_of('.')); + } + + std::string getExtension(const std::string & str) + { + const std::string::size_type dotPos = str.find_last_of('.'); + if(dotPos == std::string::npos) { + return ""; + } + return str.substr(dotPos+1); + } + + std::string parentDirectory(const std::string & str) + { + const char kPathSeparator = +#ifdef _WIN32 + '\\'; +#else + '/'; +#endif + const std::string::size_type pos = str.find_last_of("/\\"); + // If no separator, return empty path. + if(pos == std::string::npos) { + return str + kPathSeparator + ".."; + } + // If the separator is not trailing, we are done. + if(pos < str.size()-1) { + return str.substr(0, pos); + } + // Else we have to look for the previous one. + const std::string::size_type pos1 = str.find_last_of("/\\", pos-1); + return str.substr(0, pos1); + } + + SIBR_SYSTEM_EXPORT std::string getFileName(const std::string & str) + { + const std::string::size_type pos = str.find_last_of("/\\"); + if (pos == std::string::npos) { + return str; + } + return str.substr(pos+1); + } + + bool strContainsOnlyDigits(const std::string& str) + { + for (char c : str) + if (c < '0' || c > '9') + return false; + return true; + } + + std::vector split(const std::string& str, char delim) + { + std::stringstream ss(str); + std::string to; + std::vector out; + + if (str.empty()) + return out; + + while (std::getline(ss, to, delim)) + out.push_back(to); + return out; + } + + /// Wrapper around sibr::sprintf that returns a string + std::string sprint(const char *msg, ...) + { +#define TEMP_STR_SIZE 4096 + va_list args; + va_start(args, msg); + char s_StrSingle[TEMP_STR_SIZE]; +#ifdef WIN32 + vsprintf_s(s_StrSingle, TEMP_STR_SIZE, msg, args); +#else + vsnprintf(s_StrSingle, TEMP_STR_SIZE, msg, args); +#endif + va_end(args); + return std::string(s_StrSingle); +#undef TEMP_STR_SIZE + } + + int sprintf(char* buffer, size_t size, const char* format, ...) + { + va_list args; + int ret = 0; + va_start(args, format); +#ifdef WIN32 + ret = vsprintf_s(buffer, size, format, args); +#else + ret = vsnprintf(buffer, size, format, args); +#endif + va_end(args); + return ret; + } + + SIBR_SYSTEM_EXPORT std::string to_lower(const std::string& str) + { + std::string out; + out.reserve(str.length()); + + for (size_t i = 0; i < str.length(); ++i) + out.push_back(tolower(str[i])); + + return out; + } + + + SIBR_SYSTEM_EXPORT bool find_any(const std::vector& needles, const std::string& haystack) + { + for (std::string needle : needles) + { + if (haystack.find(needle) != std::string::npos) + return true; + } + + return false; + } + + std::string timestamp(const std::string & format) { + auto now = std::time(nullptr); +#ifdef SIBR_OS_WINDOWS + tm ltm = { 0,0,0,0,0,0,0,0,0 }; + localtime_s(<m, &now); +#else + tm ltm = *(std::localtime(&now)); +#endif + std::stringstream buffer; + buffer << std::put_time(<m, format.c_str()); + return buffer.str(); + } + +} // namespace sirb + diff --git a/SIBR_viewers/src/core/system/String.hpp b/SIBR_viewers/src/core/system/String.hpp new file mode 100644 index 0000000000..0e22bb75d6 --- /dev/null +++ b/SIBR_viewers/src/core/system/String.hpp @@ -0,0 +1,116 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/system/Config.hpp" + +namespace sibr +{ + + /** + * \addtogroup sibr_system + * @{ + */ + + /** + * Replaces all occurences of a substring with another substring. + * \param src the string to perform replacements in + * \param search the substring to replace + * \param replaceby the new substring to substitute + * \return the string with the substitutions performed. + */ + SIBR_SYSTEM_EXPORT std::string strSearchAndReplace( const std::string& src, const std::string& search, const std::string& replaceby ); + + /** + * Process a string (a filename or path) to remove any extension if it exists. + * \param str the string to remove the extension from + * \return the string without extension + */ + SIBR_SYSTEM_EXPORT std::string removeExtension(const std::string& str); + + /** + * Process a string (a filename or path) to extract the file extension if it exists. + * \param str the string to get the extension from + * \return the extension string (without the leading dot) + */ + SIBR_SYSTEM_EXPORT std::string getExtension(const std::string& str); + + /** + * Process a string (a path) to return the parent directory. + * \param str the string to process + * \return the string with the last component removed + * \note Will return the empty string if no separator was found. + */ + SIBR_SYSTEM_EXPORT std::string parentDirectory(const std::string& str); + + /** + * Process a string (a path) to return the file name. + * \param str the string to process + * \return the string with all but the last component removed + * \note Will return the full string if no separator was found. + */ + SIBR_SYSTEM_EXPORT std::string getFileName(const std::string& str); + + /** + * Check if a string only contains digits. + * \param str the string to check + * \return true if it only contains digits + */ + SIBR_SYSTEM_EXPORT bool strContainsOnlyDigits(const std::string& str); + + /** Split string into sub-strings delimited by a given character. + * \param str the input string + * \param delim the delimiting characters + * \return a list of split substrings + */ + SIBR_SYSTEM_EXPORT std::vector split(const std::string& str, char delim = '\n'); + + /** Wrapper around sibr::sprintf that returns a string + * \param msg the string with C placeholders + * \param ... the values for each placeholder + * \return the string with the formatted values inserted + */ + SIBR_SYSTEM_EXPORT std::string sprint(const char *msg, ...); + + /** Write a formatted string with inserted values to a buffer. + * \param buffer the destination string + * \param size the size of the format string + * \param format the string with C placeholders + * \param ... the values for each placeholder + * \return a status code similar to sprintf + */ + SIBR_SYSTEM_EXPORT int sprintf(char* buffer, size_t size, const char* format, ...); + + /** Convert the input string to lowert case. + * \param str the input string + * \return the input string in lower case + */ + SIBR_SYSTEM_EXPORT std::string to_lower(const std::string& str); + + /** Find if a list of substring is present in a given string. + * \param needles the list of substring + * \param haystack the search string + * \return true if any substring is present in the search string, else false + */ + SIBR_SYSTEM_EXPORT bool find_any(const std::vector& needles, const std::string& haystack); + + /** Write the current timestamp to a string. + * \param format the formatting to use for the timestamp (see default value for an example) + * \return a string containing the timestamp + */ + SIBR_SYSTEM_EXPORT std::string timestamp(const std::string & format = "%Y_%m_%d_%H_%M_%S"); + + + /*** @} */ + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/ThreadIdWorker.cpp b/SIBR_viewers/src/core/system/ThreadIdWorker.cpp new file mode 100644 index 0000000000..55c19f14c6 --- /dev/null +++ b/SIBR_viewers/src/core/system/ThreadIdWorker.cpp @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/system/ThreadIdWorker.hpp" + +namespace sibr +{ + /*static*/ std::mutex ThreadIdWorker::g_mutex; + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/ThreadIdWorker.hpp b/SIBR_viewers/src/core/system/ThreadIdWorker.hpp new file mode 100644 index 0000000000..afb76a65f2 --- /dev/null +++ b/SIBR_viewers/src/core/system/ThreadIdWorker.hpp @@ -0,0 +1,125 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include +# include + +# include "core/system/Config.hpp" + +namespace sibr +{ + /** Class used to work concurrently on multiple tasks/instructions. + The only shared object is a queue (TaskIds) that + contains ids of remaining tasks to perform. + + Typically, you use this id to access a const array + (input) and write results to another array using once + again this id. The output array is already resized + at the begin so that you can freely modify its + element without hurting other threads. + + Code Example: + + std::vector workers(MASKPATCH_NBTHREADS); + + // Launch all threads + for (ThreadIdWorker& t: workers) + t = std::move(ThreadIdWorker(taskId, workFunc)); + + // Wait for all threads + for (ThreadIdWorker& t: workers) + if (t.joinable()) + t.join(); + + \ingroup sibr_system + */ + class /*SIBR_SYSTEM_EXPORT*/ ThreadIdWorker : public std::thread + { + public: + typedef std::queue TaskIds; + public: + /// Build an empty worker (placeholder) + ThreadIdWorker( void ); + + /** Move constructor + *\param other worker to move + */ + ThreadIdWorker( ThreadIdWorker&& other ) noexcept; + + /** Constructor. Will call the passed function for each given task ID. + \param ids a list of task ids + \param func a function receiving a task ID as parameter returning either FALSE for signaling the worker to stop or TRUE for keep going. + */ + ThreadIdWorker( TaskIds& ids, std::function func ); + + /** Move operator. + *\param other worker to assign + *\return the current worker + */ + ThreadIdWorker& operator =( ThreadIdWorker&& other ) noexcept; + + /// Deleted copy operator. + ThreadIdWorker(const ThreadIdWorker&) = delete; + + private: + + /** Will pull the next task or automatically stop. + \param ids a list of task ids + \param func a function receiving a task ID as parameter + */ + void taskPuller( TaskIds& ids, std::function func ); + + SIBR_SYSTEM_EXPORT static std::mutex g_mutex; ///< used to protect the common shared TaskIds list + }; + + ///// INLINES ///// + inline ThreadIdWorker::ThreadIdWorker( void ) { + } + + inline ThreadIdWorker::ThreadIdWorker( ThreadIdWorker&& other ) noexcept : + std::thread(std::move((std::thread&)other)) { + } + + inline ThreadIdWorker::ThreadIdWorker( TaskIds& ids, std::function func ) + : std::thread( [this, &ids, &func]() { taskPuller(ids, std::move(func)); } ) { + } + + inline ThreadIdWorker& ThreadIdWorker::operator =( ThreadIdWorker&& other ) noexcept { + ((std::thread*)this)->operator=(std::move(other)); return *this; + } + + inline void ThreadIdWorker::taskPuller( TaskIds& ids, std::function func ) { + uint id = 0; + bool stop = false; + while (!stop) + { + { // Pop next id + std::lock_guard lock(g_mutex); + stop = ids.empty(); + + if (!stop) + { + id = ids.front(); + ids.pop(); + } + } + + if (!stop) + stop = !func(id); + } + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/Transform3.hpp b/SIBR_viewers/src/core/system/Transform3.hpp new file mode 100644 index 0000000000..d774d621e6 --- /dev/null +++ b/SIBR_viewers/src/core/system/Transform3.hpp @@ -0,0 +1,404 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/system/ByteStream.hpp" +# include "core/system/Config.hpp" +# include "core/system/Matrix.hpp" +# include "core/system/Vector.hpp" +# include "core/system/Quaternion.hpp" + + +namespace sibr +{ + /** + * Represent a 3D transformation composed of a rotation and translation. + * \ingroup sibr_system + */ + template + class Transform3 + { + public: + typedef Eigen::Matrix Vector3; + typedef Eigen::Quaternion Quaternion; + + public: + + /** Constructor: identity transform. */ + Transform3( void ) : _position(0, 0, 0), _scale(1., 1., 1.) { + _rotation.setIdentity(); + } + + /** Set the transformation parameters. + *\param translation the translation vector + *\param rotation the rotation quaternion + */ + void set( const Vector3& translation, const Quaternion& rotation ) { + _position = translation; + _rotation = rotation; + } + + /** Apply a translation. + *\param x x shift + *\param y y shift + *\param z z shift + **/ + void translate( float x, float y, float z ); + + /** Apply a translation that is itself rotated by another transformation. + *\param x x shift + *\param y y shift + *\param z z shift + *\param ref additional rotation trnasofrmation to apply to the translation vector. + **/ + void translate( float x, float y, float z, const Transform3& ref); + + /** Apply a translation. + *\param v translation vector + **/ + void translate( const Vector3& v ); + + /** Apply a translation that is itself rotated by another transformation. + *\param v translation vector + *\param ref additional rotation trnasofrmation to apply to the translation vector. + **/ + void translate( const Vector3& v, const Transform3& ref ); + + + void scale(const float& s); + /** Set the position. + *\param x x position + *\param y y position + *\param z z position + **/ + void position( float x, float y, float z ); + + /** Set the position. + *\param v position + **/ + void position( const Vector3& v ); + + /** \return the position */ + const Vector3& position( void ) const; + + + /** Apply a rotation. + *\param rotation quaternion rotation + */ + void rotate( const Quaternion& rotation ); + + /** Apply a rotation using Euler angles. + *\param x yaw + *\param y pitch + *\param z roll + *\todo Clarify the angles order. + *\sa quatFromEulerAngles + */ + void rotate( float x, float y, float z ); + + /** Apply a rotation using Euler angles and composite with an additional transformation. + *\param x yaw + *\param y pitch + *\param z roll + *\param ref additional rotation + *\todo Clarify the angles order. + *\sa quatFromEulerAngles + */ + void rotate( float x, float y, float z, + const Transform3& ref); + + /** Apply a rotation using Euler angles. + *\param v angles + *\todo Clarify the angles order. + *\sa quatFromEulerAngles + */ + void rotate( const Vector3& v ); + + /** Apply a rotation using Euler angles and composite with an additional transformation. + *\param v angles + *\param ref additional rotation + *\todo Clarify the angles order. + *\sa quatFromEulerAngles + */ + void rotate( const Vector3& v, const Transform3& ref ); + + /** Set the rotation from Euler angles. + *\param x yaw + *\param y pitch + *\param z roll + *\todo Clarify the angles order. + *\sa quatFromEulerAngles + */ + void rotation( float x, float y, float z ); + + /** Set the rotation from Euler angles. + *\param v angles + *\todo Clarify the angles order. + *\sa quatFromEulerAngles + */ + void rotation( const Vector3& v ); + + /** Set the rotation. + *\param q quaternion rotation + */ + void rotation( const Quaternion& q ); + + /// \return the rotation + const Quaternion& rotation( void ) const; + + /// \return the transformation matrix + Matrix4f matrix( void ) const; + /// \return the inverse of the transformation matrix + Matrix4f invMatrix( void ) const; + + /** Interpolate between two transformations. + *\param from source transformation + *\param to destination transformation + *\param dist01 interpolation factor + *\return the interpolated transformation + */ + static Transform3 interpolate( const Transform3& from, const Transform3& to, float dist01 ) { + dist01 = std::max(0.f, std::min(1.f, dist01)); // clamp + + Transform3 out; + out.position((1.0f-dist01)*from.position() + dist01*to.position()); + out.rotation(from.rotation().slerp(dist01, to.rotation())); + return out; + } + + /** Linearly extrapolate based on two transformations, by reapplying the delta between the two transformations to the current one + * and interpolating between the current and the new estimate. + *\param previous source transformation + *\param current current transformation + *\param dist01 extrapolation factor + *\return the extrapolated transformation + *\note dist01 should still be in 0,1 + */ + static Transform3 extrapolate(const Transform3& previous, const Transform3& current, float dist01) { + + Vector3f deltaPosition = current.position() - previous.position(); + Quaternion deltaRotation = previous.rotation().inverse() * current.rotation(); + + Transform3 t = current; + t.rotate(deltaRotation); + t.translate(deltaPosition); + return interpolate(current, t, dist01); + } + + /** Compute a trnasformation made by compsoiting a parent and child transformations. + * \param parentTr the parent + * \param childTr the child + * \return the composite transformation + */ + static Transform3 computeFinal( const Transform3& parentTr, const Transform3& childTr ) { + Transform3 finalTr; + finalTr.position(parentTr.position() + parentTr.rotation() * childTr.position()); + finalTr.rotation(parentTr.rotation() * childTr.rotation()); + return finalTr; + } + + /** Equality operator with a 1e-3 tolerance. + *\param other transformation to test equality with + *\return true if other is equal + */ + bool operator==(const Transform3 & other) const { + static const float eps = 1e-3f; + return (_position-other._position).norm()/ _position.norm() < eps && std::abs(_rotation.dot(other._rotation)) > ( 1 - eps); + } + + /** Difference operator. + *\param other transformation to test difference with + *\return true if other is different + **/ + bool operator!=(const Transform3 & other) const { + return !(*this == other); + } + + private: + Vector3 _position; + Quaternion _rotation; + Vector3 _scale; + }; + + /// Helper def. + typedef Transform3 Transform3f; + + /** Write transformation to a byte stream. + *\param stream the byte stream + *\param t the transform + *\return the stream for compositing + \ingroup sibr_system + */ + template + ByteStream& operator << (ByteStream& stream, const Transform3& t ) { + typename Transform3::Vector3 v = t.position(); + typename Transform3::Quaternion q = t.rotation(); + return stream + << v.x() << v.y() << v.z() + << q.x() << q.y() << q.z() << q.w(); + } + + /** Read transformation from a byte stream. + *\param stream the byte stream + *\param t the transform + *\return the stream for compositing + \ingroup sibr_system + */ + template + ByteStream& operator >> (ByteStream& stream, Transform3& t ) { + typename Transform3::Vector3 v; + typename Transform3::Quaternion q; + stream + >> v.x() >> v.y() >> v.z() + >> q.x() >> q.y() >> q.z() >> q.w(); + t.position(v); + t.rotation(q); + return stream; + } + + //==================================================================// + // Inlines + //==================================================================// + + template + void Transform3::translate( float x, float y, float z ) { + _position.x() += x; _position.y() += y; _position.z() += z; + } + + template + void Transform3::translate( float x, float y, float z, + const Transform3& ref) { + translate( Vector3( x, y, z ), ref ); + } + + template + void Transform3::translate( const Vector3& v ) { + _position.x() += v.x(); _position.y() += v.y(); _position.z() += v.z(); + } + + template + void Transform3::translate( const Vector3& v, const Transform3& ref ) { + translate( ref.rotation().operator*(v) ); + } + + template + inline void Transform3::scale(const float& s) + { + _scale = Vector3(s, s, s); + } + + template + void Transform3::position( float x, float y, float z ) { + _position.x() = x; _position.y() = y; _position.z() = z; + } + + template + void Transform3::position( const Vector3& v ) { + _position.x() = v.x(); _position.y() = v.y(); _position.z() = v.z(); + } + + template + const typename Transform3::Vector3& Transform3::position( void ) const { + return _position; + } + + + template + void Transform3::rotate( const Quaternion& rotation ) { + _rotation = rotation * _rotation; + _rotation.normalize(); + } + + template + void Transform3::rotate( float x, float y, float z ) { + Quaternion q = quatFromEulerAngles(Vector3(x, y, z)); + q.normalize(); + rotate(q); + } + + template + void Transform3::rotate( const Vector3& v ) { + rotate( v.x(), v.y(), v.z() ); + } + + template + void Transform3::rotate( const Vector3& v, const Transform3& ref ) { + rotate( v.x(), v.y(), v.z(), ref ); + } + + template + void Transform3::rotation( float x, float y, float z ) { + _rotation = quatFromEulerAngles(Vector3(x, y, z)); + } + + template + void Transform3::rotation( const Vector3& v ) { + rotation( v.x(), v.y(), v.z() ); + } + + template + void Transform3::rotation( const Quaternion& q ) { + _rotation = q; + } + + template + const typename Transform3::Quaternion& Transform3::rotation( void ) const { + return _rotation; + } + + template + Matrix4f Transform3::matrix( void ) const { + Matrix4f trans = matFromQuat(_rotation); + Matrix4f scaleMat = Matrix4f::Identity(); + scaleMat(0, 0) = _scale.x(); + scaleMat(1, 1) = _scale.y(); + scaleMat(2, 2) = _scale.z(); + + trans = matFromTranslation(_position) * trans * scaleMat; // Opti (direct) + + return trans; + } + + template + Matrix4f Transform3::invMatrix( void ) const { + // This is wrapped so we can (in the future) add a policy class + // to enable caching this inv matrix + return matrix().inverse(); + } + + template + void Transform3::rotate( float x, float y, float z, + const Transform3& ref) + { + Quaternion q = quatFromEulerAngles(Vector3(x, y, z)); + q.normalize(); + + if ( &ref == this ) // Local Rotation + { + _rotation = _rotation * q; + _rotation.normalize(); + } + else + { + Quaternion refConj = ref.rotation(); + refConj.conjugate(); + + // 1) Apply global rotation of ref on 'q' (ref * q) + // 2) Apply local rotation of ref.conj (~inv) on 'q' (q*ref.conj) + // 3) The rotation is converted and can be applied using rotate + rotate((ref.rotation() * q) * refConj); + } + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/Utils.cpp b/SIBR_viewers/src/core/system/Utils.cpp new file mode 100755 index 0000000000..06670fd654 --- /dev/null +++ b/SIBR_viewers/src/core/system/Utils.cpp @@ -0,0 +1,498 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include +#include +#include +#include +#include "core/system/Utils.hpp" + +#ifdef SIBR_OS_WINDOWS + #include + #include + #include + #include + // Some old MinGW/CYGWIN distributions don't define this: + #ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING + #define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004 + #endif +#else + #include + #include + #include + #include + #include + #include +#endif + +namespace sibr +{ +#ifdef SIBR_OS_WINDOWS + static HANDLE stdoutHandle; + static DWORD outModeInit; + + void setupConsole(void) { + DWORD outMode = 0; + stdoutHandle = GetStdHandle(STD_OUTPUT_HANDLE); + + if(stdoutHandle == INVALID_HANDLE_VALUE) { + exit(GetLastError()); + } + + if(!GetConsoleMode(stdoutHandle, &outMode)) { + exit(GetLastError()); + } + + outModeInit = outMode; + + // Enable ANSI escape codes + outMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING; + + if(!SetConsoleMode(stdoutHandle, outMode)) { + exit(GetLastError()); + } + } + + void restoreConsole(void) { + // Reset colors + printf("\x1b[0m"); + + // Reset console mode + if(!SetConsoleMode(stdoutHandle, outModeInit)) { + exit(GetLastError()); + } + } +#endif + + + std::string loadFile(const std::string& fname) + { + std::ifstream file(fname.c_str(), std::ios::binary); + if (!file || !file.is_open()) { + SIBR_ERR << "File not found: " << fname << std::endl; + return ""; + } + file.seekg(0, std::ios::end); + + std::streampos length = file.tellg(); + file.seekg(0, std::ios::beg); + + std::vector buffer(length); + file.read(&buffer[0], length); + file.close(); + + return std::string(buffer.begin(), buffer.end()); + } + + void makeDirectory(const std::string& path) + { + boost::filesystem::path p(path); + if (boost::filesystem::exists(p) == false) + boost::filesystem::create_directories(p); + } + + std::vector listFiles(const std::string & path, const bool listHidden, const bool includeSubdirectories, const std::vector & allowedExtensions) + { + if (!directoryExists(path)) { + return {}; + } + + std::vector files; + bool shouldCheckExtension = !allowedExtensions.empty(); + + try { + boost::filesystem::directory_iterator end_iter; + for (boost::filesystem::directory_iterator dir_itr(path); dir_itr != end_iter; ++dir_itr) { + + const std::string itemName = dir_itr->path().filename().string(); + if (includeSubdirectories && boost::filesystem::is_directory(dir_itr->status())) { + if (listHidden || (itemName.size() > 0 && itemName.at(0) != '.')) { + files.push_back(itemName); + } + } + else if (boost::filesystem::is_regular_file(dir_itr->status())) { + bool shouldKeep = !shouldCheckExtension; + if (shouldCheckExtension) { + for (const auto & allowedExtension : allowedExtensions) { + if (dir_itr->path().extension() == ("." + allowedExtension) || dir_itr->path().extension() == allowedExtension) { + shouldKeep = true; + break; + } + } + } + + if (shouldKeep && (listHidden || (itemName.size() > 0 && itemName.at(0) != '.'))) { + files.push_back(itemName); + } + } + } + } + catch (const boost::filesystem::filesystem_error&) { + std::cout << "Can't access or find directory." << std::endl; + } + + std::sort(files.begin(), files.end()); + + return files; + } + + std::vector listSubdirectories(const std::string & path, const bool listHidden) + { + if (!directoryExists(path)) { + return {}; + } + + std::vector dirs; + + + try { + boost::filesystem::directory_iterator end_iter; + for (boost::filesystem::directory_iterator dir_itr(path); dir_itr != end_iter; ++dir_itr) { + + const std::string itemName = dir_itr->path().filename().string(); + if (boost::filesystem::is_directory(dir_itr->status())) { + if (listHidden || (itemName.size() > 0 && itemName.at(0) != '.')) { + dirs.push_back(itemName); + } + } + } + } + catch (const boost::filesystem::filesystem_error& ) { + std::cout << "Can't access or find directory." << std::endl; + } + + std::sort(dirs.begin(), dirs.end()); + + return dirs; + } + + + bool copyDirectory(const std::string& src, const std::string& dst) + { + boost::filesystem::path source = src; + boost::filesystem::path destination = dst; + namespace fs = boost::filesystem; + try + { + // Check whether the function call is valid + if (!fs::exists(source) || !fs::is_directory(source)) + { + std::cerr << "Source directory " << source.string() + << " does not exist or is not a directory." << '\n' + ; + return false; + } + if (fs::exists(destination)) + { + std::cerr << "Destination directory " << destination.string() + << " already exists." << '\n' + ; + return false; + } + // Create the destination directory + if (!fs::create_directory(destination)) + { + std::cerr << "Unable to create destination directory" + << destination.string() << '\n' + ; + return false; + } + } + catch (fs::filesystem_error const & e) + { + std::cerr << e.what() << '\n'; + return false; + } + // Iterate through the source directory + for (fs::directory_iterator file(source); file != fs::directory_iterator(); ++file) + { + try + { + fs::path current(file->path()); + if (fs::is_directory(current)) + { + // Found directory: Recursion + if (!copyDirectory(current.string(), (destination / current.filename()).string())) + { + return false; + } + } + else + { + // Found file: Copy + fs::copy_file( + current, + destination / current.filename() + ); + } + } + catch (fs::filesystem_error const & e) + { + std::cerr << e.what() << '\n'; + } + } + return true; + } + + bool copyFile(const std::string & src, const std::string & dst, const bool overwrite) + { + boost::filesystem::path source = src; + boost::filesystem::path destination = dst; + namespace fs = boost::filesystem; + try { + // Check whether the function call is valid + if (!fs::exists(source) || !fs::is_regular_file(source)) + { + std::cerr << "Source file " << source.string() + << " does not exist or is not a regular file." << '\n' + ; + return false; + } + + // If the destination is a directory, we copy the file into this directory, with the same name. + if (fs::is_directory(destination)) { + destination = destination / source.filename(); + } + + if (fs::exists(destination) && !overwrite) + { + std::cerr << "Destination file " << destination.string() + << " already exists." << '\n' + ; + return false; + } + if(overwrite) { + fs::copy_file(source, destination, boost::filesystem::copy_option::overwrite_if_exists); + } else { + fs::copy_file(source, destination); + } + + } + catch (fs::filesystem_error const & e) + { + std::cerr << e.what() << '\n'; + return false; + } + + return true; + } + + void emptyDirectory(const std::string& path) { + boost::filesystem::path p(path); + for (boost::filesystem::directory_iterator end_dir_it, it(p); it != end_dir_it; ++it) { + boost::filesystem::remove_all(it->path()); + } + } + + bool fileExists(const std::string& path) + { + boost::filesystem::path p(path); + return boost::filesystem::exists(p) && boost::filesystem::is_regular_file(path); + } + + bool directoryExists(const std::string& path) + { + boost::filesystem::path p(path); + return boost::filesystem::exists(p) && boost::filesystem::is_directory(path); + } + + size_t getAvailableMem() { +#define DIV 1024 + +#ifdef SIBR_OS_WINDOWS + MEMORYSTATUSEX statex; + statex.dwLength = sizeof(statex); + GlobalMemoryStatusEx(&statex); + return static_cast(statex.ullAvailPhys) / DIV; +#else + long pages = sysconf(_SC_PHYS_PAGES); + long page_size = sysconf(_SC_PAGE_SIZE); + return static_cast(pages * page_size) / DIV; +#endif + } + + SIBR_SYSTEM_EXPORT std::string getInstallDirectory() + { + char exePath[4095]; + +#ifdef SIBR_OS_WINDOWS + unsigned int len = GetModuleFileNameA(GetModuleHandleA(0x0), exePath, MAX_PATH); + + std::string installDirectory = parentDirectory(parentDirectory(exePath)); +#else + unsigned int len=0; + + char result[PATH_MAX]; + ssize_t c = readlink("/proc/self/exe", result, PATH_MAX); + len = c; + result[len]='\0'; + const char* path; + if( c != -1 ) + path = dirname(result); + else + SIBR_ERR << "Cant find executable path "<< std::endl; + + + std::string installDirectory(parentDirectory(path)); +#endif + + if (len == 0 && + !directoryExists(installDirectory + "/bin")) // memory not sufficient or general error occured + { + SIBR_ERR << "Can't find install folder! Please specify as command-line option using --appPath option!" << std::endl; + } + return installDirectory; + } + + SIBR_SYSTEM_EXPORT std::string getBinDirectory() + { + return getInstallSubDirectory("bin"); + } + + SIBR_SYSTEM_EXPORT std::string getShadersDirectory(const std::string & subfolder) + { + return getInstallSubDirectory("shaders" + ((subfolder != "") ? "/" + subfolder : "")); + } + + SIBR_SYSTEM_EXPORT std::string getScriptsDirectory() + { + return getInstallSubDirectory("scripts"); + } + + SIBR_SYSTEM_EXPORT std::string getResourcesDirectory() + { + return getInstallSubDirectory("resources"); + } + + SIBR_SYSTEM_EXPORT std::string getAppDataDirectory() + { + std::string appDataDirectory = ""; +#ifdef SIBR_OS_WINDOWS + PWSTR path_tmp; + + /* Attempt to get user's AppData folder + * + * Microsoft Docs: + * https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath + * https://docs.microsoft.com/en-us/windows/win32/shell/knownfolderid + */ + auto get_folder_path_ret = SHGetKnownFolderPath(FOLDERID_RoamingAppData, 0, nullptr, &path_tmp); + + /* Error check */ + if (get_folder_path_ret != S_OK) { + CoTaskMemFree(path_tmp); + SIBR_ERR << "Could not access AppData folder."; + } + + std::wstring path_wtmp(path_tmp); + appDataDirectory += std::string( path_wtmp.begin(), path_wtmp.end() ); + appDataDirectory += "\\sibr"; + CoTaskMemFree(path_tmp); +#else + struct passwd *pw = getpwuid(getuid()); + appDataDirectory += pw->pw_dir + std::string("/.sibr"); +#endif + + makeDirectory(appDataDirectory); + + return appDataDirectory; + } + + SIBR_SYSTEM_EXPORT std::string getInstallSubDirectory(const std::string & subfolder) + { + std::string installDirectory = getInstallDirectory(); + std::string installSubDirectory = installDirectory + "/" + subfolder; + + if(!directoryExists(installSubDirectory)) + { + // try subdirs GD LINUX issue + installSubDirectory = installDirectory + "/install/" + subfolder; + if(!directoryExists(installSubDirectory)) + SIBR_ERR << "Can't find subfolder " << subfolder << " in " << installDirectory << ". Please specify correct app folder as command-line option using --appPath option!" << std::endl; + } + + return installSubDirectory; + } + + bool showFilePicker(std::string & selectedElement, + + const FilePickerMode mode, const std::string & directoryPath, const std::string & extensionsAllowed) { + + nfdchar_t *outPath = NULL; + nfdresult_t result = NFD_CANCEL; + + if (mode == Directory) { + result = NFD_PickFolder(directoryPath.c_str(), &outPath); + } else if (mode == Save) { + result = NFD_SaveDialog(extensionsAllowed.empty() ? NULL : extensionsAllowed.c_str(), directoryPath.c_str(), &outPath); + } else { + result = NFD_OpenDialog(extensionsAllowed.empty() ? NULL : extensionsAllowed.c_str(), directoryPath.c_str(), &outPath); + } + + + if (result == NFD_OKAY) { + selectedElement = std::string(outPath); + free(outPath); + return true; + } else if (result == NFD_CANCEL) { + // User canceled, do nothing. + } else { + // Programmatic error. + SIBR_WRG << "Unable to present file dialog." << std::endl; + std::cout << std::string(NFD_GetError()) << std::endl; + } + free(outPath); + + return false; + + } + + SIBR_SYSTEM_EXPORT std::istream& safeGetline(std::istream& is, std::string& t) + { +#ifdef SIBR_OS_WINDOWS + return std::getline(is, t); +#else + t.clear(); + + // The characters in the stream are read one-by-one using a std::streambuf. + // That is faster than reading them one-by-one using the std::istream. + // Code that uses streambuf this way must be guarded by a sentry object. + // The sentry object performs various tasks, + // such as thread synchronization and updating the stream state. + + std::istream::sentry se(is, true); + std::streambuf* sb = is.rdbuf(); + + for(;;) { + int c = sb->sbumpc(); + switch (c) { + case '\n': + return is; + case '\r': + if(sb->sgetc() == '\n') + sb->sbumpc(); + return is; + case std::streambuf::traits_type::eof(): + // Also handle the case when the last line has no line ending + is.setstate(std::ios::eofbit); + // this helps ignore the last line if it's empty (otherwise it's a different behavior from std::get_line) + if (t.empty()) is.setstate(std::ios::badbit); + return is; + default: + t += (char)c; + } + } +#endif + } + +} // namespace sirb diff --git a/SIBR_viewers/src/core/system/Utils.hpp b/SIBR_viewers/src/core/system/Utils.hpp new file mode 100644 index 0000000000..4ec59f7d85 --- /dev/null +++ b/SIBR_viewers/src/core/system/Utils.hpp @@ -0,0 +1,159 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include "core/system/Config.hpp" +# include "core/system/String.hpp" + +namespace sibr +{ + /** + * \addtogroup sibr_system + * @{ + */ + +#ifdef SIBR_OS_WINDOWS + /** setup console to allow color printing in console + */ + SIBR_SYSTEM_EXPORT void setupConsole(void) ; + /** restore console to no colors + */ + SIBR_SYSTEM_EXPORT void restoreConsole(void) ; + +#endif + + /** Load the whole file into a std::string + * \param filename the file path + * \return the loaded content */ + SIBR_SYSTEM_EXPORT std::string loadFile( const std::string& filename ); + + /** Create directory (if it doesn't exist already) + * \param path the directory path + */ + SIBR_SYSTEM_EXPORT void makeDirectory( const std::string& path ); + + /** List content of directory, sorted alphabetically. + * \param path directory path + * \param listHidden should hidden files be listed + * \param includeSubdirectories should subdirectories be explored + * \param allowedExtensions a list of allowed extensions to filter the list with (for instance {"png", "bmp"}) + * \return a list of file names/subpaths + * \note To get each element full path, use path + "/" + itemPath + */ + SIBR_SYSTEM_EXPORT std::vector listFiles(const std::string & path, const bool listHidden = false, const bool includeSubdirectories = false, const std::vector & allowedExtensions = {}); + + /** List content of directory, sorted alphabetically, including subdirectories. + * \param path directory path + * \param listHidden should hidden directories be listed + * \return a list of directory names/subpaths + * \note To get each element full path, use path + "/" + itemPath + */ + SIBR_SYSTEM_EXPORT std::vector listSubdirectories(const std::string& path, const bool listHidden = false); + + /** Copy directory. + * \param src source path + * \param dst destination path + * \return success boolean + */ + SIBR_SYSTEM_EXPORT bool copyDirectory(const std::string& src, const std::string& dst); + + /** Copy file. + * \param src source path + * \param dst destination path + * \param overwrite if the file already exists, should it be overwritten + * \return success boolean + */ + SIBR_SYSTEM_EXPORT bool copyFile(const std::string& src, const std::string& dst, const bool overwrite = false); + + /** Empty a directory (if it exist already) + * \param path the directory path + */ + SIBR_SYSTEM_EXPORT void emptyDirectory(const std::string& path); + + /** Test if a file exists. + *\param path the file path + *\return true if file exists + */ + SIBR_SYSTEM_EXPORT bool fileExists( const std::string& path ); + + /** Test if a directory exists. + *\param path the directory path + *\return true if directory exists + */ + SIBR_SYSTEM_EXPORT bool directoryExists( const std::string& path ); + + /** \return the available memory on windows system in Ko*/ + SIBR_SYSTEM_EXPORT size_t getAvailableMem(); + + /** \return the binary directory on windows system*/ + SIBR_SYSTEM_EXPORT std::string getInstallDirectory(); + + /** \return the binary directory on windows system*/ + SIBR_SYSTEM_EXPORT std::string getBinDirectory(); + + /** + * \param subfolder optional subfolder for subproject + * \return the binary directory on windows system + */ + SIBR_SYSTEM_EXPORT std::string getShadersDirectory(const std::string & subfolder = ""); + + /** \return the scripts directory on windows system*/ + SIBR_SYSTEM_EXPORT std::string getScriptsDirectory(); + + /** \return the resources directory on windows system*/ + SIBR_SYSTEM_EXPORT std::string getResourcesDirectory(); + + /** \return the user specific application directory */ + SIBR_SYSTEM_EXPORT std::string getAppDataDirectory(); + + /** + * \param subfolder the subfolder to get + * \return the provided subfolder path on windows system + */ + SIBR_SYSTEM_EXPORT std::string getInstallSubDirectory(const std::string & subfolder); + + /** Selection mode for the file picker. */ + enum FilePickerMode { + Default, Save, Directory + }; + + /** + * Present a native OS file picker. + * \param selectedElement will contain the path to the element selected by the user if any. + * \param mode the mode to use, pick from Save, Directory, Default. + * \param directoryPath the initial directory to present to the user. + * \param extensionsAllowed a list of file extensions to allow: "obj,ply" for instance. + * \return true if an element was selected, else false. + * \warning '.' relative path is unsupported for directoryPath. + */ + SIBR_SYSTEM_EXPORT bool showFilePicker(std::string & selectedElement, + const FilePickerMode mode, const std::string & directoryPath = "", const std::string & extensionsAllowed = ""); + + /** Measure and print the timing of a task. + *\param s description + *\param f function to run + *\param args arguments for the function + */ + template + void taskTiming(const std::string & s, FunType && f, ArgsType && ... args) { + const auto start = std::chrono::high_resolution_clock::now(); + f(args...); + const auto end = std::chrono::high_resolution_clock::now(); + std::cout << s << " : " << std::chrono::duration_cast(end - start).count() << " ms" << std::endl; + }; + + SIBR_SYSTEM_EXPORT std::istream& safeGetline(std::istream& is, std::string& t); + + /*** @} */ +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/Vector.cpp b/SIBR_viewers/src/core/system/Vector.cpp new file mode 100644 index 0000000000..1986be7ef2 --- /dev/null +++ b/SIBR_viewers/src/core/system/Vector.cpp @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/system/Vector.hpp" +# include "core/system/Quaternion.hpp" + +namespace sibr +{ + + Vector3f toColorFloat(Vector3ub & colorUB ) { + return colorUB.cast().unaryExpr( [] (unsigned char c) { return (float)c/255.0f; } ); + } + + Vector3ub toColorUB( Vector3f & colorFloat ) { + return colorFloat.unaryExpr( [] (float f) { return std::floor(f*255.0f); } ).cast(); + } + + Eigen::Matrix alignRotationMatrix(const sibr::Vector3f & from, const sibr::Vector3f & to) + { + sibr::Quaternionf q = sibr::Quaternionf::FromTwoVectors(from, to); + q.normalize(); + Eigen::Matrix3f R = q.toRotationMatrix(); + sibr::Matrix4f R4; + R4.setIdentity(); + R4.block<3, 3>(0, 0) = R; + return R4; + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/Vector.hpp b/SIBR_viewers/src/core/system/Vector.hpp new file mode 100644 index 0000000000..fac26c4440 --- /dev/null +++ b/SIBR_viewers/src/core/system/Vector.hpp @@ -0,0 +1,221 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/system/Config.hpp" + + + +namespace Eigen +{ + /** + * \addtogroup sibr_system + * @{ + */ + + // The following operators work with Eigen structs, so + // they must be declared in the namespace Eigen (or + // you would have to do sibr::operator < (left, right) + // instead of simple left < right) + + /** Lexicographic comparison (from left to right). + *\param left first element + *\param right second element + *\return true if left is lexicographically smaller than right. + */ + template + bool operator<(const Eigen::Matrix& left, const Eigen::Matrix& right) { + + for (int c = 0; c < N; c++) { + if (left[c] < right[c]) return true; + else if (left[c] > right[c]) return false; + } + return false; //case where they are equal + + } + + // stream + + /** Output matrix to a stream. + *\param s stream + *\param t matrix + *\return the stream for chaining + */ + template + std::ostream& operator<<( std::ostream& s, const Eigen::Matrix& t ) { + s << '('; + for (uint i=0; i + std::istream& operator>>( std::istream& s, Eigen::Matrix& t ) { + char tmp = 0; + s >> tmp; // ( + for (int i = 0; i < N; ++i) + { + s >> t [i]; + s >> tmp; //, or ) + } + + return s; + } + + /** @} */ +} + +namespace sibr +{ + + /** + * \addtogroup sibr_system + * @{ + */ + + template + using Vector = Eigen::Matrix; + + /** Fractional part of each component. + *\param A vector + *\return the fractional matrix + **/ + template + Eigen::Matrix frac( const Eigen::Matrix& A ) { + Eigen::Matrix out = A; + for (int i = 0; i < N; ++i) + out[i] = out[i] - floor(out[i]); + return out; + } + + /** Distance between two vectors + *\param A first vector + *\param B second vector + *\return norm(A-B) + */ + template + inline T distance( const Eigen::Matrix& A, const Eigen::Matrix& B ) { + return (A-B).norm(); + } + + /** Return the length of a vector. + *\param A vector + *\return norm(A) + */ + template + inline T length( const Eigen::Matrix& A ) { + return A.norm(); + } + + /** Return the squared length of a vector. + *\param A vector + *\return norm(A)^2 + */ + template + inline T sqLength( const Eigen::Matrix& A ) { + return A.squaredNorm(); + } + + /** Compute the dot product of two vectors + *\param A first vector + *\param B second vector + *\return A.B + */ + template + inline T dot( const Eigen::Matrix& A, const Eigen::Matrix& B ) { + return A.dot(B); + } + + /** Compute the cross product of two vectors + *\param A first vector + *\param B second vector + *\return AxB + */ + template + inline Eigen::Matrix cross( const Eigen::Matrix& A, const Eigen::Matrix& B ) { + return A.cross(B); + } + + /** Clamp each component of a vector between two values. + * \param A vector + * \param min min values vector + * \param max max values vector + * \return min(max(A, min), max) + */ + template + inline Vector clamp(const Vector& A, const Vector & min, const Vector & max) { + return A.cwiseMax(min).cwiseMin(max); + } + + /** Compute the cotangent of the angle between two vectors. + *\param A first vector + *\param B second vector + *\return the cotangent + */ + template + inline T cotan(const Eigen::Matrix& A, const Eigen::Matrix& B) { + return A.dot(B) / A.cross(B).norm(); + } + + /** Convert an unsigned char color in [0,255] to a float color in [0,1]. + *\param colorUB the color vector + *\return the [0,1] float vector + */ + SIBR_SYSTEM_EXPORT Eigen::Matrix toColorFloat( Vector & colorUB ); + + /** Convert a float color in [0,1] to an unsigned char color in [0,255]. + *\param colorFloat the color vector + *\return the [0,255] float vector + */ + SIBR_SYSTEM_EXPORT Eigen::Matrix toColorUB( Vector & colorFloat ); + + // Typedefs. + + typedef Eigen::Matrix Vector1f; + typedef Eigen::Matrix Vector1i; + + typedef Eigen::Matrix Vector2u; + typedef Eigen::Matrix Vector2ub; + typedef Eigen::Matrix Vector2i; + typedef Eigen::Matrix Vector2f; + typedef Eigen::Matrix Vector2d; + + typedef Eigen::Matrix Vector3u; + typedef Eigen::Matrix Vector3ub; + typedef Eigen::Matrix Vector3s; + typedef Eigen::Matrix Vector3i; + typedef Eigen::Matrix Vector3f; + typedef Eigen::Matrix Vector3d; + + typedef Eigen::Matrix Vector4u; + typedef Eigen::Matrix Vector4ub; + typedef Eigen::Matrix Vector4i; + typedef Eigen::Matrix Vector4f; + typedef Eigen::Matrix Vector4d; + + /** + Return a 4x4 3D rotation matrix that aligns the first vector onto the second one. + \param from source vector, current direction + \param to destination vector, target direction + \return the rotation matrix + */ + SIBR_SYSTEM_EXPORT Eigen::Matrix alignRotationMatrix(const sibr::Vector3f & from, const sibr::Vector3f & to); + + /** @} */ +} // namespace sibr + diff --git a/SIBR_viewers/src/core/system/VectorUtils.cpp b/SIBR_viewers/src/core/system/VectorUtils.cpp new file mode 100644 index 0000000000..cba9c4ebdd --- /dev/null +++ b/SIBR_viewers/src/core/system/VectorUtils.cpp @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "VectorUtils.hpp" \ No newline at end of file diff --git a/SIBR_viewers/src/core/system/VectorUtils.hpp b/SIBR_viewers/src/core/system/VectorUtils.hpp new file mode 100644 index 0000000000..e41261bb8c --- /dev/null +++ b/SIBR_viewers/src/core/system/VectorUtils.hpp @@ -0,0 +1,350 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include "core/system/Config.hpp" +#include + +namespace sibr +{ + /** + * \addtogroup sibr_system + * @{ + */ + + /** Sum elements from a vector. + *\param vec vector + *\param f validity function (f(i) == true if the i-th element should be taken into account. + *\return the accumulated sum + **/ + template T_out sum( + const std::vector & vec , + const std::function & f = [](T_in val) { return true; } + ) { + double sum = 0; + for (T_in val : vec) { + if( f(val) ){ + sum += (double)val; + } + } + return (T_out)sum; + } + + /** Weighted sum of elements in a vector. + *\param vec vector + *\param weights per-element weight + *\param f validity function (f(i) == true if the i-th element should be taken into account. + *\return the weighted sum + **/ + template std::vector weighted_normalization( + const std::vector & vec, + const std::vector & weights, + const std::function & f = [](T_in val) { return true; } + ) { + double sum = 0; + int size = (int)std::min(vec.size(), weights.size()); + for (int i = 0; i < size; ++i) { + T_in val = vec[i]; + if (f(val)) { + sum += (double)val*(double)weights[i]; + } + } + + std::vector out(size); + for (int i = 0; i < size; ++i) { + if ((sum == 0) || !f(vec[i])) { + out[i] = (T_out)vec[i]; + } else { + out[i] = (T_out)( ( (double)vec[i] * (double)weights[i] )/sum ); + } + } + + return out; + } + + /** Apply a function to each element of a vector (not in place) + *\param vec vector + *\param f function to apply + *\return vector containing the processed results + */ + template std::vector applyLambda( + const std::vector & vec, + const std::function & f + ) { + std::vector out(vec.size()); + for (int i = 0; i < vec.size(); ++i) { + out[i] = f(vec[i]); + } + return out; + } + + /** Apply a function to each pair of elements from two vectors of same size (not in place). + *\param vec1 first vector + *\param vec2 second vector + *\param f function to apply + *\return vector containing the processed results + */ + template std::vector applyLambda( + const std::vector & vec1, + const std::vector & vec2, + const std::function & f + ) { + int size = (int)std::min(vec1.size(), vec2.size()); + std::vector out(size); + for (int i = 0; i < size; ++i) { + out[i] = f(vec1[i],vec2[i]); + } + return out; + } + + /** Compute the variance of elements in a vector. + *\param vec vector + *\param f validity function (f(i) == true if the i-th element should be taken into account. + *\return the variance + **/ + template T_out var( + const std::vector & vec, + const std::function & f = [](T_in val) { return true; } + ) { + double sum = 0; + double sum2 = 0; + int n = 0; + + for (T_in val : vec) { + if ( f(val) ) { + sum += (double)val; + sum2 += (double)val*(double)val; + ++n; + } + } + + if (n < 2) { + return (T_out)(-1); + } + else { + return (T_out)((sum2 - sum*sum / (double)n) / double(n - 1)); + } + + } + + /** Normalize all elements in a vector based on the min and max values in it (not in place). + *\param vec vector + *\param f validity function (f(i) == true if the i-th element should be taken into account. + *\return a vector containing the normalized values + **/ + template std::vector normalizedMinMax( + const std::vector & vec, + const std::function & f = [](T_in val) { return true; } + ) { + T_in min = 0, max = 0; + bool first = true; + for (T_in val : vec) { + if (f(val)) { + if (first || val > max) { + max = val; + } + if (first || val < min) { + min = val; + } + first = false; + } + } + if (min == max) { + return std::vector(); + } + + std::vector out(vec.size()); + const double normFactor = 1.0 / (double)(max - min); + for (int i = 0; i < (int)vec.size(); ++i) { + out[i] = f(vec[i]) ? (T_out)((double)(vec[i] - min)*normFactor) : (T_out)vec[i]; + } + return out; + } + + /** Apply a power-sum normalization. + *\param vec vector + *\param f validity function (f(i) == true if the i-th element should be taken into account. + *\return a vector containing the normalized values + */ + template std::vector normalizedZeroOne( + const std::vector & vec, + const std::function & f = [](T_in val) { return true; } + ) { + double sumP = 0; + + for (T_in val : vec) { + if (f(val)) { + sumP += std::pow((double)val, Power); + } + + } + + if (sumP == 0) { + return std::vector(); + } + + std::vector out(vec.size()); + for (int i = 0; i <(int)vec.size(); ++i) { + out[i] = f(vec[i]) ? (T_out)(vec[i] / sumP) : (T_out)vec[i]; + } + return out; + + } + + /*** @} */ + + /** + * Multi dimensional vector. + * \ingroup sibr_system + */ + template< typename T, unsigned int N > + class MultiVector : public std::vector< MultiVector > + { + static_assert(N >= 1, " MultiVector : the number of dimensions N must be >= 1 "); + + friend class MultiVector; + + typedef MultiVector SubVector; + + public: + + /// Constructor. + MultiVector() {} + + /** Constructor. + *\param n number of elements on each axis + *\param t default value + */ + MultiVector(int n, const T & t = T() ) + : std::vector< SubVector >(n, SubVector(n, t)) { } + + /** Constructor. + *\param dims number of elements on each axis + *\param t default value + */ + MultiVector(const std::vector & dims, const T & t = T() ) + : std::vector< SubVector >(dims.at(dims.size()-N), SubVector(dims, t)) { } + + /** Getter + *\param ids N-d coordinates + *\return a reference to the corresponding value. + */ + T & multiAt(const std::vector & ids) { + return this.at(ids.at(ids.size() - N)).multiAt(ids); + } + + /** Getter + *\param ids N-d coordinates + *\return a const reference to the corresponding value. + */ + const T & multiAt(const std::vector & ids) const { + return this.at(ids.at(ids.size() - N)).multiAt(ids); + } + + /** Get the size along each dimension. + *\return the N-d size + **/ + std::vector dims() const + { + std::vector v; + dimsRecur(v); + return v; + } + + /**Print the size along each dimension. + */ + void dimsDisplay() const { + std::vector d(dims()); + std::cout << " [ "; + for (int i = 0; i < N; ++i) { + std::cout << d[i] << (i != N - 1 ? " x " : ""); + } + std::cout << " ] " << std::endl; + } + + protected: + + /** Helper to get the dimensions. + *\param v will contain the size along each axis + */ + void dimsRecur(std::vector & v) const + { + v.push_back((int)this.size()); + this.at(0).dimsRecur(v); + } + }; + + /** Base multi-dimensional vector class (a 1D vector). + \ingroup sibr_system + */ + template + class MultiVector : public std::vector + { + friend class MultiVector; + + public: + + /// Constructor. + MultiVector() {} + + /** Constructor. + *\param n number of elements + *\param t default value + */ + MultiVector(int n, const T & t = T() ) + : std::vector(n, t) { } + + /** Constructor. + *\param dims number of elements on each axis (only the last one will be considered here). + *\param t default value + */ + MultiVector(const std::vector & dims, const T & t = T()) + : std::vector(dims.at(dims.size()-1), t) { } + + /** Getter + *\param ids N-d coordinates + *\return a reference to the corresponding value. + */ + T & multiAt(const std::vector & ids) { + return this.at(ids.at(ids.size() - 1)); + } + + /** Getter + *\param ids N-d coordinates + *\return a const reference to the corresponding value. + */ + const T & multiAt(const std::vector & ids) const { + return this.at(ids.at(ids.size() - 1)); + } + + /**Print the size along each dimension. + */ + void dimsDisplay() const { + std::cout << " [ " << this.size() << " ] " << std::endl; + } + + protected: + + /** Helper to get the dimensions. + *\param v will contain the size along each axis + */ + void dimsRecur(std::vector & v) const + { + v.push_back((int)this.size()); + } + + }; + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/system/XMLTree.cpp b/SIBR_viewers/src/core/system/XMLTree.cpp new file mode 100644 index 0000000000..3d1e36efb8 --- /dev/null +++ b/SIBR_viewers/src/core/system/XMLTree.cpp @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "XMLTree.h" +#include "rapidxml/rapidxml_print.hpp" +#include +#include +#include + + +namespace sibr { + XMLTree::XMLTree(const std::string & path) + { + std::cout << "Parsing xml file < " << path << " > : "; + std::ifstream file(path.c_str()); + if (file) { + std::stringstream buffer; + buffer << file.rdbuf(); + file.close(); + xmlString = std::move(std::string(buffer.str())); + this->parse<0>(&xmlString[0]); + std::cout << "success " << std::endl; + } + else { + std::cout << "error, cant open file " << std::endl; + } + } + + + XMLTree::~XMLTree(void) + { + } + + + bool XMLTree::save(const std::string & path) const { + std::ofstream file(path); + if(!file.is_open()) { + SIBR_WRG << "Unable to save XML to path \"" << path << "\"." << std::endl; + return false; + } + + file << *this; + file.close(); + return true; + } + +} diff --git a/SIBR_viewers/src/core/system/XMLTree.h b/SIBR_viewers/src/core/system/XMLTree.h new file mode 100644 index 0000000000..c7825908b4 --- /dev/null +++ b/SIBR_viewers/src/core/system/XMLTree.h @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include +#include +#include "Config.hpp" + +namespace sibr { + + /** Wrapper of rapidxml xml_document<> class so that the string associated to the xml file stays in memory. + Needed to access nodes by their names. + * \ingroup sibr_system + */ + class SIBR_SYSTEM_EXPORT XMLTree : public rapidxml::xml_document<> + { + public: + /** Construct an XML structure from the content of a file. + \param path the file path + */ + XMLTree(const std::string & path); + + /** Destructor. */ + ~XMLTree(void); + + /** Save the XML structure to a file as a string representation. + \param path output path + \return a success flag + */ + bool save(const std::string & path) const; + + private: + std::string xmlString; //< Internal copy of the laoded string. + }; +} diff --git a/SIBR_viewers/src/core/system/sibr_system.dox b/SIBR_viewers/src/core/system/sibr_system.dox new file mode 100644 index 0000000000..8e915b3d1b --- /dev/null +++ b/SIBR_viewers/src/core/system/sibr_system.dox @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! + \defgroup sibr_system sibr_system + + \brief System utilities. + +*/ diff --git a/SIBR_viewers/src/core/video/CMakeLists.txt b/SIBR_viewers/src/core/video/CMakeLists.txt new file mode 100644 index 0000000000..5bf35cb92a --- /dev/null +++ b/SIBR_viewers/src/core/video/CMakeLists.txt @@ -0,0 +1,38 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(sibr_video) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + + +## Specify target rules +add_library(${PROJECT_NAME} SHARED ${SOURCES}) + +include_directories(${Boost_INCLUDE_DIRS}) +target_link_libraries(${PROJECT_NAME} + ${FFMPEG_LIBRARIES} + OpenMP::OpenMP_CXX + sibr_graphics +) + + + +add_definitions( -DSIBR_VIDEO_EXPORTS -DBOOST_ALL_DYN_LINK ) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER ${SIBR_FOLDER}) + + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) +) diff --git a/SIBR_viewers/src/core/video/Config.hpp b/SIBR_viewers/src/core/video/Config.hpp new file mode 100644 index 0000000000..b14cb76bdd --- /dev/null +++ b/SIBR_viewers/src/core/video/Config.hpp @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/graphics/Config.hpp" + +//// Export Macro (used for creating DLLs) //// +# ifdef SIBR_OS_WINDOWS +# ifdef SIBR_STATIC_VIDEO_DEFINE +# define SIBR_VIDEO_EXPORT +# define SIBR_NO_VIDEO_EXPORT +# else +# ifndef SIBR_VIDEO_EXPORT +# ifdef SIBR_VIDEO_EXPORTS + /* We are building this library */ +# define SIBR_VIDEO_EXPORT __declspec(dllexport) +# else + /* We are using this library */ +# define SIBR_VIDEO_EXPORT __declspec(dllimport) +# endif +# endif +# ifndef SIBR_NO_EXPORT +# define SIBR_NO_EXPORT +# endif +# endif +# else +# define SIBR_VIDEO_EXPORT +# endif diff --git a/SIBR_viewers/src/core/video/FFmpegVideoEncoder.cpp b/SIBR_viewers/src/core/video/FFmpegVideoEncoder.cpp new file mode 100644 index 0000000000..d908531272 --- /dev/null +++ b/SIBR_viewers/src/core/video/FFmpegVideoEncoder.cpp @@ -0,0 +1,249 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "FFmpegVideoEncoder.hpp" + +#ifndef HEADLESS +extern "C" +{ +#include +#include +#include +} +#endif + +#define QQ(rat) (rat.num/(double)rat.den) + +// Disable ffmpeg deprecation warning. +#pragma warning(disable : 4996) + +namespace sibr { + + bool FFVideoEncoder::ffmpegInitDone = false; + + FFVideoEncoder::FFVideoEncoder( + const std::string & _filepath, + double _fps, + const sibr::Vector2i & size, + bool forceResize + ) : filepath(_filepath), fps(_fps), _forceResize(forceResize) + { +#ifndef HEADLESS + /** Init FFMPEG, registering available codec plugins. */ + if (!ffmpegInitDone) { + SIBR_LOG << "[FFMPEG] Registering all." << std::endl; + // Ignore next line warning. +#pragma warning(suppress : 4996) + av_register_all(); + ffmpegInitDone = true; + } + + sibr::Vector2i sizeFix = size; + bool hadToFix = false; + if(sizeFix[0]%2 != 0) { + sizeFix[0] -= 1; + hadToFix = true; + } + if (sizeFix[1] % 2 != 0) { + sizeFix[1] -= 1; + hadToFix = true; + } + if(hadToFix) { + SIBR_WRG << "Non-even video dimensions, resized to " << sizeFix[0] << "x" << sizeFix[1] << "." << std::endl; + _forceResize = true; + } + + init(sizeFix); +#endif + } + + bool FFVideoEncoder::isFine() const + { + return initWasFine; + } + + void FFVideoEncoder::close() + { +#ifndef HEADLESS + if (av_write_trailer(pFormatCtx) < 0) { + SIBR_WRG << "[FFMPEG] Can not av_write_trailer " << std::endl; + } + + if (video_st) { + avcodec_close(video_st->codec); + av_free(frameYUV); + } + avio_close(pFormatCtx->pb); + avformat_free_context(pFormatCtx); + + needFree = false; +#endif + } + + FFVideoEncoder::~FFVideoEncoder() + { + if (needFree) { + close(); + } + + } + + void FFVideoEncoder::init(const sibr::Vector2i & size) + { +#ifndef HEADLESS + w = size[0]; + h = size[1]; + + auto out_file = filepath.c_str(); + + + pFormatCtx = avformat_alloc_context(); + + fmt = av_guess_format(NULL, out_file, NULL); + pFormatCtx->oformat = fmt; + + const bool isH264 = pFormatCtx->oformat->video_codec == AV_CODEC_ID_H264; + if(isH264){ + SIBR_LOG << "[FFMPEG] Found H264 codec." << std::endl; + } else { + SIBR_LOG << "[FFMPEG] Found codec with ID " << pFormatCtx->oformat->video_codec << " (not H264)." << std::endl; + } + + if (avio_open(&pFormatCtx->pb, out_file, AVIO_FLAG_READ_WRITE) < 0) { + SIBR_WRG << "[FFMPEG] Could not open file " << filepath << std::endl; + return; + } + + pCodec = avcodec_find_encoder(pFormatCtx->oformat->video_codec); + if (!pCodec) { + SIBR_WRG << "[FFMPEG] Could not find codec." << std::endl; + return; + } + + video_st = avformat_new_stream(pFormatCtx, pCodec); + + if (video_st == NULL) { + SIBR_WRG << "[FFMPEG] Could not create stream." << std::endl; + return; + } + + pCodecCtx = video_st->codec; + pCodecCtx->codec_id = fmt->video_codec; + pCodecCtx->codec_type = AVMEDIA_TYPE_VIDEO; + pCodecCtx->pix_fmt = AV_PIX_FMT_YUV420P; + pCodecCtx->width = w; + pCodecCtx->height = h; + pCodecCtx->gop_size = 10; + pCodecCtx->time_base.num = 1; + pCodecCtx->time_base.den = (int)std::round(fps); + + // Required for the header to be well-formed and compatible with Powerpoint/MediaPlayer/... + if (pFormatCtx->oformat->flags & AVFMT_GLOBALHEADER) { + pCodecCtx->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; + } + + //H.264 specific options. + AVDictionary *param = 0; + if (pCodecCtx->codec_id == AV_CODEC_ID_H264) { + av_dict_set(¶m, "preset", "slow", 0); + av_dict_set(¶m, "tune", "zerolatency", 0); + } + + av_dump_format(pFormatCtx, 0, out_file, 1); + + int res = avcodec_open2(pCodecCtx, pCodec, ¶m); + if(res < 0){ + SIBR_WRG << "[FFMPEG] Failed to open encoder, error: " << res << std::endl; + return; + } + // Write the file header. + avformat_write_header(pFormatCtx, NULL); + + // Prepare the scratch frame. + frameYUV = av_frame_alloc(); + frameYUV->format = (int)pCodecCtx->pix_fmt; + frameYUV->width = w; + frameYUV->height = h; + frameYUV->linesize[0] = w; + frameYUV->linesize[1] = w / 2; + frameYUV->linesize[2] = w / 2; + + yuSize[0] = frameYUV->linesize[0] * h; + yuSize[1] = frameYUV->linesize[1] * h / 2; + + pkt = av_packet_alloc(); + + initWasFine = true; + needFree = true; +#endif + } + + + bool FFVideoEncoder::operator<<(cv::Mat frame) + { +#ifndef HEADLESS + if (!video_st) { + return false; + } + cv::Mat local; + if (frame.cols != w || frame.rows != h) { + if(_forceResize) { + cv::resize(frame, local, cv::Size(w,h)); + } else { + SIBR_WRG << "[FFMPEG] Frame doesn't have the same dimensions as the video." << std::endl; + return false; + } + } else { + local = frame; + } + + cv::cvtColor(local, cvFrameYUV, cv::COLOR_BGR2YUV_I420); + frameYUV->data[0] = cvFrameYUV.data; + frameYUV->data[1] = frameYUV->data[0] + yuSize[0]; + frameYUV->data[2] = frameYUV->data[1] + yuSize[1]; + + //frameYUV->pts = (1.0 / std::round(fps)) *frameCount * 90; + frameYUV->pts = (int)(frameCount*(video_st->time_base.den) / ((video_st->time_base.num) * std::round(fps))); + ++frameCount; + + return encode(frameYUV); +#else + SIBR_ERR << "Not supported in headless" << std::endl; + return false; +#endif + } + + bool FFVideoEncoder::operator<<(const sibr::ImageRGB & frame){ + return (*this)<<(frame.toOpenCVBGR()); + } + +#ifndef HEADLESS + bool FFVideoEncoder::encode(AVFrame * frame) + { + int got_picture = 0; + + int ret = avcodec_encode_video2(pCodecCtx, pkt, frameYUV, &got_picture); + if (ret < 0) { + SIBR_WRG << "[FFMPEG] Failed to encode frame." << std::endl; + return false; + } + if (got_picture == 1) { + pkt->stream_index = video_st->index; + ret = av_write_frame(pFormatCtx, pkt); + av_packet_unref(pkt); + } + + return true; + } +#endif + +} diff --git a/SIBR_viewers/src/core/video/FFmpegVideoEncoder.hpp b/SIBR_viewers/src/core/video/FFmpegVideoEncoder.hpp new file mode 100644 index 0000000000..18f92a1849 --- /dev/null +++ b/SIBR_viewers/src/core/video/FFmpegVideoEncoder.hpp @@ -0,0 +1,118 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + + +#include +#include +#include "Video.hpp" +#include "Config.hpp" + +// Forward libav declarations. +struct AVFrame; +struct AVFormatContext; +struct AVOutputFormat; +struct AVStream; +struct AVCodecContext; +struct AVCodec; +struct AVPacket; + +namespace sibr { + + + /** Video encoder using ffmpeg. + Adapted from https://github.com/leixiaohua1020/simplest_ffmpeg_video_encoder/blob/master/simplest_ffmpeg_video_encoder/simplest_ffmpeg_video_encoder.cpp + \ingroup sibr_video + */ + class SIBR_VIDEO_EXPORT FFVideoEncoder { + + public: + + /** Constructor. + \param _filepath destination file, the extension will be used to infer the container type. + \param fps target video framerate + \param size target video size, should be even else a resize will happen + \param forceResize resize frames that are not at the target dimensions instead of ignoring them + */ + FFVideoEncoder( + const std::string & _filepath, + double fps, + const sibr::Vector2i & size, + bool forceResize = false + ); + + /** \return true if the encoder was properly setup. */ + bool isFine() const; + + /** Close the file. */ + void close(); + + /** Encode a frame. + \param frame the frame to encode + \return a success flag + */ + bool operator << (cv::Mat frame); + + /** Encode a frame. + \param frame the frame to encode + \return a success flag + */ + bool operator << (const sibr::ImageRGB & frame); + + /// Destructor. + ~FFVideoEncoder(); + + protected: + + /** Setup the encoder. + \param size the video target size, prfer using power of two. + */ + void init(const sibr::Vector2i & size); + + /** Encode a frame to the file. + \param frame the frame to encode + \return a success flag. + */ +//#define HEADLESS +#ifndef HEADLESS + bool encode(AVFrame *frame); +#endif + + bool initWasFine = false; ///< Was the encoder init properly. + bool needFree = false; ///< Is the file open. + std::string filepath; ///< Destination path. + int w, h; ///< Dimensions. + int frameCount = 0; ///< Current frame. + double fps; ///< Framerate. + bool _forceResize = false; ///< Resize frames. + +#ifndef HEADLESS + AVFrame * frameYUV = NULL; ///< Working frame. +#endif + cv::Mat cvFrameYUV; ///< Working frame data. + sibr::Vector2i yuSize; ///< Working size. + +#ifndef HEADLESS + AVFormatContext* pFormatCtx; ///< Format context. + AVOutputFormat* fmt; ///< Output format. + AVStream* video_st; ///< Output stream. + AVCodecContext* pCodecCtx; ///< Codec context. + AVCodec* pCodec; ///< Codec. + AVPacket * pkt; ///< Encoding packet. + +#endif + static bool ffmpegInitDone; ///< FFMPEG initialization status. + + }; + +} diff --git a/SIBR_viewers/src/core/video/MultipleVideoDecoder.hpp b/SIBR_viewers/src/core/video/MultipleVideoDecoder.hpp new file mode 100644 index 0000000000..bdd87c8dbd --- /dev/null +++ b/SIBR_viewers/src/core/video/MultipleVideoDecoder.hpp @@ -0,0 +1,243 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "Config.hpp" + +#include + +namespace sibr +{ + + /** Double-buffered texture, used to load/display video frames for instance. + * \ingroup sibr_video + */ + template + struct PingPongTexture { + using TexPtr = std::shared_ptr>; + + /** \return the current loading texture. */ + TexPtr & getLoadingTex(); + + /** \return the current display texture. */ + TexPtr & getDisplayTex(); + + /** Update the content of the loading texture and swap the two textures. + \param frame the new data + */ + template + void update(const ImgType & frame); + + /** Load the frame into the loading texture. + \param frame the new data + */ + template + void updateGPU(const ImgType & frame); + + int displayTex = 1, loadingTex = 1; /// Textures indices. + TexPtr ping, pong; ///< Textures. + bool first = true; ///< First update. + }; + + + /** Batch decoding of multiple videos at the same time, stored in a texture array. + * \ingroup sibr_video + */ + template + struct MultipleVideoDecoder { + using TexArray = sibr::Texture2DArray; + using TexArrayPtr = typename TexArray::Ptr; + + /** Update a set of video players to the next frame. + \param videos the video players to udpate + \note Internally calls both updateCPU and updateGPU. + */ + void update(const std::vector & videos) { + updateCPU(videos); + updateGPU(videos); + + loadingTexArray = (loadingTexArray + 1) % 2; + + if (first) { + first = false; + } else { + displayTexArray = (displayTexArray + 1) % 2; + } + } + + /** Load the next frame on the CPU for a set of video players. + \param videos the video players to udpate + */ + void updateCPU(const std::vector & videos) { + size_t numVids = videos.size(); + + for (size_t i = 0; i < numVids; ++i) { + videos[i]->updateCPU(); + } + + } + + /** Upload the next frame to the GPU for a set of video players. + \param videos the video players to udpate + */ + void updateGPU(const std::vector & videos) { + size_t numVids = videos.size(); + std::vector frames(numVids); + for (size_t i = 0; i < numVids; ++i) { + if (std::is_same_v && N == 3) { + frames[i] = videos[i]->getCurrentFrame(); + } else { + std::vector cs; + cv::split(videos[i]->getCurrentFrame(), cs); + frames[i] = cs[0]; + } + } + + if (getLoadingTexArray().get()) { + getLoadingTexArray()->updateFromImages(frames); + } else { + getLoadingTexArray() = TexArrayPtr(new TexArray(frames)); + } + } + + /** \return the current loading texture array. */ + TexArrayPtr & getLoadingTexArray() { return loadingTexArray ? ping : pong; } + + /** \return the current display texture array. */ + const TexArrayPtr & getDisplayTexArray() const { return displayTexArray ? ping : pong; } + + bool first = true; ///< First frame. + int loadingTexArray = 1, displayTexArray = 1; ///< Texture indices. + TexArrayPtr ping, pong; ///< Textures. + }; + + + /** Batch decoding of multiple videos at the same time, stored in a texture array. + * Support updating an arbitrary subset. + * \ingroup sibr_video + */ + template + struct MultipleVideoDecoderArray : public MultipleVideoDecoder { + using TexArray = sibr::Texture2DArray; + using TexArrayPtr = typename TexArray::Ptr; + + /** Update a set of video players to the next frame. + \param videos the video players list + \param slices the indices of the videos to update + \note Internally calls both updateCPU and updateGPU. + */ + void update(const std::vector & videos, const std::vector & slices) { + updateCPU(videos, slices); + updateGPU(videos, slices); + + loadingTexArray = (loadingTexArray + 1) % 2; + + if (first) { + first = false; + } else { + displayTexArray = (displayTexArray + 1) % 2; + } + } + + /** Load the next frame on the CPU for a set of video players. + \param videos the video players list + \param slices the indices of the videos to update + */ + void updateCPU(const std::vector & videos, const std::vector & slices) { +#pragma omp parallel for num_threads(4) + for (int i = 0; i < (int)slices.size(); ++i) { + videos[slices[i]]->updateCPU(); + } + } + + /** Upload the next frame to the GPU for a set of video players. + \param videos the video players list + \param slices the indices of the videos to update + */ + void updateGPU(const std::vector & videos, const std::vector & slices) { + int numVids = (int)videos.size(); + int numSlices = (int)slices.size(); + + std::vector frames(numVids); + for (int s = 0; s < numSlices; ++s) { + if (std::is_same_v && N == 3) { + frames[slices[s]] = videos[slices[s]]->getCurrentFrame(); + } else { + std::vector cs; + cv::split(videos[slices[s]]->getCurrentFrame(), cs); + frames[slices[s]] = cs[0]; + } + } + + if (!getLoadingTexArray().get()) { + getLoadingTexArray() = TexArrayPtr(new TexArray((uint)videos.size(), SIBR_GPU_LINEAR_SAMPLING)); + } + + CHECK_GL_ERROR; + getLoadingTexArray()->updateSlices(frames, slices); + } + + }; + + + // --- TYPEDEFS ---------------- + + using PingPong4u = PingPongTexture<4>; + using PingPong3u = PingPongTexture<3>; + using PingPong1u = PingPongTexture<1>; + using MultipleVideoDecoder1u = MultipleVideoDecoder; + using MultipleVideoDecoder3u = MultipleVideoDecoder; + using MultipleVideoDecoderArray1u = MultipleVideoDecoderArray; + using MultipleVideoDecoderArray3u = MultipleVideoDecoderArray; + + // --- IMPLEMENTATION ---------------- + + template + std::shared_ptr> & PingPongTexture::getLoadingTex() + { + return loadingTex ? ping : pong; + } + + template + std::shared_ptr> & PingPongTexture::getDisplayTex() + { + return displayTex ? ping : pong; + } + + template template + void PingPongTexture::update(const ImgType & frame) + { + if (first) { + updateGPU(frame); + loadingTex = (loadingTex + 1) % 2; + first = false; + return; + } + + updateGPU(frame); + + displayTex = (displayTex + 1) % 2; + loadingTex = (loadingTex + 1) % 2; + } + + template template + void PingPongTexture::updateGPU(const ImgType & frame) + { + if (getLoadingTex()) { + getLoadingTex()->update(frame); + } else { + getLoadingTex() = TexPtr(new sibr::Texture2D(frame, SIBR_GPU_LINEAR_SAMPLING)); + } + } + + } // namespace sibr diff --git a/SIBR_viewers/src/core/video/Video.cpp b/SIBR_viewers/src/core/video/Video.cpp new file mode 100644 index 0000000000..d276b905ab --- /dev/null +++ b/SIBR_viewers/src/core/video/Video.cpp @@ -0,0 +1,267 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "Video.hpp" +#include +// #include "VideoUtils.hpp" + +namespace sibr +{ + bool Video::load(const std::string & path) + { + cap = cv::VideoCapture(path); + filepath = path; + loaded = cap.isOpened(); + if (loaded) { + nFrames = (int)cap.get(cv::VideoCaptureProperties::CAP_PROP_FRAME_COUNT); + frameRate = (double)cap.get(cv::VideoCaptureProperties::CAP_PROP_FPS); + resolution[0] = (int)cap.get(cv::VideoCaptureProperties::CAP_PROP_FRAME_WIDTH); + resolution[1] = (int)cap.get(cv::VideoCaptureProperties::CAP_PROP_FRAME_HEIGHT); + codec = (int)cap.get(cv::VideoCaptureProperties::CAP_PROP_FOURCC); + SIBR_LOG << "[Video] " << path << " loaded." << std::endl; + } + return loaded; + } + + const sibr::Vector2i & Video::getResolution() { + checkLoad(); + return resolution; + } + + cv::Size Video::getResolutionCV() { + checkLoad(); + return cv::Size(resolution[0], resolution[1]); + } + + int Video::getCurrentFrameNumber() { + checkLoad(); + return (int)cap.get(cv::VideoCaptureProperties::CAP_PROP_POS_FRAMES); + } + + void Video::setCurrentFrame(int i){ + checkLoad(); + cap.set(cv::VideoCaptureProperties::CAP_PROP_POS_FRAMES, i); + } + + int Video::getNumFrames() { + checkLoad(); + return nFrames; + } + + double Video::getFrameRate() { + checkLoad(); + return frameRate; + } + + const Path & Video::getFilepath() const { + return filepath; + } + + bool Video::isLoaded() { + return loaded; + } + + int Video::getCodec() { + checkLoad(); + return codec; + } + + void Video::release() + { + cap = cv::VideoCapture(); + loaded = false; + } + + cv::Mat Video::getVolume(float time_skiped_begin, float time_skiped_end) + { + const int starting_frame = (int)(time_skiped_begin * getFrameRate()); + const int finishing_frame = getNumFrames() - (int)(time_skiped_end*getFrameRate()) - 1; + return getVolume(starting_frame, finishing_frame); + } + + cv::Mat Video::getVolume(int starting_frame, int ending_frame) + { + checkLoad(); + + const int w = getResolution()[0]; + const int h = getResolution()[1]; + const int nc = 3; + + const int npixels = w * h; + const int N = npixels * nc; + const int L = ending_frame - starting_frame + 1; + + cv::Mat volume(L, N, CV_8UC1); + setCurrentFrame(starting_frame); + for (int i = 0; i < L; ++i) { + cv::Mat mat = volume.row(i).reshape(3, h); + cap >> mat; + } + setCurrentFrame(0); + + return volume; + } + + cv::Mat Video::next() + { + checkLoad(); + cv::Mat frame; + cap >> frame; + return frame; + } + + cv::VideoCapture & Video::getCVvideo() + { + checkLoad(); + return cap; + } + + bool Video::exists() const + { + return sibr::fileExists(getFilepath().string()); + } + + void Video::checkLoad() + { + if (!loaded) { + if (!load(filepath.string())) { + SIBR_ERR << "[Video] Could not open video " << filepath << std::endl; + } + } + } + + + //------------------------------------------------------------ + + VideoPlayer::VideoPlayer(const std::string & filepath, const std::function & f) : + Video(filepath), transformation(f) + { + } + + bool VideoPlayer::load(const std::string & path) { + VideoPlayer other; + if (other.Video::load(path)) { + *this = other; + return true; + } + return false; + } + + const std::shared_ptr & VideoPlayer::getDisplayTex() const + { + return displayTex ? ping : pong; + } + + void VideoPlayer::update() + { + checkLoad(); + + if (first) { + loadNext(); + loadingTex = (loadingTex + 1) % 2; + first = false; + return; + } + + if (mode != PLAY) { + return; + } + + loadNext(); + + displayTex = (displayTex + 1) % 2; + loadingTex = (loadingTex + 1) % 2; + } + + void VideoPlayer::onGui(float ratio_display) + { + checkLoad(); + + if (mode == PAUSE){ + if (ImGui::Button("Play")) { + mode = PLAY; + } + } else if (mode == PLAY) { + if (ImGui::Button("Pause")) { + mode = PAUSE; + } + } + ImGui::SameLine(); + ImGui::Checkbox("Repeat when finished", &repeat_when_end); + + current_frame_slider = getCurrentFrameNumber(); + ImGui::Separator(); + ImGui::PushScaledItemWidth(500); + if (ImGui::SliderInt("timeline", ¤t_frame_slider, 1, getNumFrames())) { + setCurrentFrame(current_frame_slider); + loadingTex = displayTex; + first = true; + } + ImGui::PopItemWidth(); + + ImGui::Separator(); + + if (getDisplayTex() && getDisplayTex()->handle() ) { + std::string infos = "size : " + std::to_string((int)getDisplayTex()->w()) + " " + std::to_string((int)getDisplayTex()->h()) + ", framerate : " + std::to_string(getFrameRate()); + ImGui::Text(infos.c_str()); + sibr::Vector2f displayTexSize(getDisplayTex()->w(), getDisplayTex()->h()); + sibr::Vector2i viewResolution = (ratio_display*displayTexSize).cast(); + + sibr::ImageWithCallback(getDisplayTex()->handle(), viewResolution, callBackData, zoomData.topLeft(), zoomData.bottomRight()); + + updateZoom(displayTexSize); + } + + } + + bool VideoPlayer::updateCPU() + { + + checkLoad(); + + bool alreayEmpty = tmpFrame.empty(); + tmpFrame = next(); + if (!tmpFrame.empty()) { + tmpFrame = transformation(tmpFrame); + return true; + } else { + if (alreayEmpty) { + SIBR_WRG << "[Video] Could not load next frames." << std::endl; + return false; + } + if (repeat_when_end) { + setCurrentFrame(0); + return updateCPU(); + } else { + mode = PAUSE; + } + return false; + } + } + + void VideoPlayer::updateGPU() + { + if (getLoadingTex().get()) { + getLoadingTex()->update(tmpFrame); + } else { + getLoadingTex() = std::shared_ptr(new sibr::Texture2DRGB(tmpFrame)); + } + } + + void VideoPlayer::loadNext() + { + if (updateCPU()) { + updateGPU(); + } + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/video/Video.hpp b/SIBR_viewers/src/core/video/Video.hpp new file mode 100644 index 0000000000..918ab8d490 --- /dev/null +++ b/SIBR_viewers/src/core/video/Video.hpp @@ -0,0 +1,207 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "Config.hpp" + +#include +#include +#include + +// must install ffdshow +#define CV_WRITER_CODEC cv::VideoWriter::fourcc('F','F','D','S') + + +namespace sibr +{ + + /** Video loaded from a file using OpenCV VideoCapture and FFMPEG. + * \ingroup sibr_video + */ + class SIBR_VIDEO_EXPORT Video + { + SIBR_CLASS_PTR(Video); + + public: + + /** Constructor. + \param path the path to the video file + \note No loading will be performed at construction. Call load. + */ + Video(const std::string & path = "") : filepath(path) {} + + /** Load from a given file on disk. + \param path path to the video + \return a success flag + */ + virtual bool load(const std::string & path); + + /** \return the video resolution. */ + const sibr::Vector2i & getResolution(); + + /** \return the video resolution. */ + cv::Size getResolutionCV(); + + /** \return the current frame ID. */ + int getCurrentFrameNumber(); + + /** Seek a specific frame. + \param i the frame ID to seek + */ + void setCurrentFrame(int i); + + /** \return the total number of frames. */ + int getNumFrames(); + + /** \return the video framerate. */ + double getFrameRate(); + + /** \return the path to the video file on disk. */ + const Path & getFilepath() const; + + /** \return true if the video has been loaded. */ + bool isLoaded(); + + /** \return the ID of the codec used to decode the video. */ + int getCodec(); + + /** Stop reading from the file. */ + virtual void release(); + + /** Read a section of the video and store it in a cv::Mat, where + each row contains a frame, stored as RGBRGBRGB... linearly. + \param time_skiped_begin time to skip at the beginning of the video, in seconds + \param time_skiped_end time to skip at the end of the video, in seconds + \return the frames data stored as described above. + */ + cv::Mat getVolume(float time_skiped_begin = 0, float time_skiped_end = 0); + + /** Read a section of the video and store otin a cv::Mat, where + each row contains a frame, stored as RGBRGBRGB... linearly. + \param starting_frame index of the first frame to extract + \param ending_frame index of the last frame to extract + \return the frames data stored as described above. + */ + cv::Mat getVolume(int starting_frame, int ending_frame); + + /** \return the next frame. */ + cv::Mat next(); + + /** \return the underlying VideoCapture object. */ + cv::VideoCapture & getCVvideo(); + + /** \return true if the video exists on disk. */ + bool exists() const; + + protected: + + /** Check if the video is loaded. */ + virtual void checkLoad(); + + cv::VideoCapture cap; ///< Internal capture object. + + Path filepath; ///< The path to the video. + sibr::Vector2i resolution; ///< Video resolution. + int nFrames = 0; ///< Number of frames in the video. + double frameRate = 0.0; ///< Video frame rate. + int codec = 0; ///< Codec used to read the video. + bool loaded = false; ///< Video loading status. + }; + + + /** Load and display a video in a view, with playback options. + * \ingroup sibr_video + */ + class SIBR_VIDEO_EXPORT VideoPlayer : public Video, public ZoomInterraction + { + + SIBR_CLASS_PTR(VideoPlayer); + + public: + + /** Replay mode. */ + enum Mode { PAUSE, PLAY, SHOULD_CLOSE }; + + using Transformation = std::function; ///< Image processing function. + + /** Constructor. + \param filepath the path to the video file + \param f a function to apply to each frame + \note No loading will be performed at construction. Call load. + */ + VideoPlayer(const std::string & filepath = "", const std::function& f = [](cv::Mat m) { return m; }); + + /** Load a video from disk. + \param path the path to the video on disk + \return a success flag + */ + bool load(const std::string & path) override; + + /** Set a transformation function to apply to each frame. + \param f the new transformation + */ + void setTransformation(const Transformation & f) { transformation = f; } + + /** Set the playback mode. + \param _mode the new mode + */ + void setMode(Mode _mode) { mode = _mode; } + + /** \return the current display texture on the GPU. */ + const std::shared_ptr & getDisplayTex() const; + + /** Load the next frame, call once per rendering frame. + \note Internally calls updateCPU and updateGPU. + */ + void update(); + + /** Display playback GUI. + \param ratio_display a scaling factor that determine the size of the video on screen based on the video intrinsic size. + */ + void onGui(float ratio_display); + + /** Load the next frame to the CPU. + \return a success flag + */ + bool updateCPU(); + + /** Load the next frame to the GPU. + \note You should call updateCPU first. + */ + void updateGPU(); + + /** \return a reference to the current frame on the CPU. */ + const cv::Mat & getCurrentFrame() const { return tmpFrame; } + + protected: + + /** \return the current loading texture on the GPU. */ + std::shared_ptr & getLoadingTex() { return loadingTex ? ping : pong; } + + /// Load the next frame, on the CPU then the GPU. + void loadNext(); + + Mode mode = PAUSE; ///< Play mode. + bool first = true; ///< Are we at the first frame. + bool repeat_when_end = true; ///< Loop when reaching the end. + int displayTex = 1; ///< Index of the display texture. + int loadingTex = 1; ///< Index of the loading texture. + std::shared_ptr ping,pong; ///< Double buffer textures. + cv::Mat tmpFrame; ///< Scratch frame. + Transformation transformation; ///< Transformation to apply to each frame. + int current_frame_slider; ///< Slider position. + }; + + + } // namespace sibr + diff --git a/SIBR_viewers/src/core/video/VideoUtils.cpp b/SIBR_viewers/src/core/video/VideoUtils.cpp new file mode 100644 index 0000000000..44deeb1566 --- /dev/null +++ b/SIBR_viewers/src/core/video/VideoUtils.cpp @@ -0,0 +1,1863 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "VideoUtils.hpp" + +#include +#include + + +#include +#include +namespace sibr { + + std::vector cvSplitChannels(cv::Mat mat) { + std::vector out; + cv::split(mat, out); + return out; + } + + Volume3u loadVideoVolume(const std::string & filepath) { + Video video(filepath); + if (video.exists()) { + return loadVideoVolume(video); + } else { + SIBR_WRG << filepath << " does not exists" << std::endl; + return Volume3u(); + } + } + + Volume3u loadVideoVolume(sibr::Video & video) + { + int currentFrame = video.getCurrentFrameNumber(); + video.setCurrentFrame(0); + Volume3u volume(video.getNumFrames(), video.getResolution()[0], video.getResolution()[1]); + for (int t = 0; t < video.getNumFrames(); ++t) { + cv::Mat mat = volume.frame(t); + video.getCVvideo() >> mat; + } + video.setCurrentFrame(currentFrame); + return volume; + } + + SIBR_VIDEO_EXPORT uint optimal_num_levels(uint length) + { + uint num_levels = 1; + while (length != 1) { + length = (length + 1) / 2; + ++num_levels; + } + return num_levels; + } + + SIBR_VIDEO_EXPORT std::vector gaussianPyramid(const sibr::Volume3u & vid, uint num_levels) + { + if (num_levels == 0) { + num_levels = optimal_num_levels(vid.l); + } + + std::vector out(1, vid); + for (int i = 1; i < (int)num_levels; ++i) { + out.push_back(out.back().pyrDown()); + } + return out; + } + + SIBR_VIDEO_EXPORT std::vector gaussianPyramidTemporal(const sibr::Volume3u & vid, uint num_levels) + { + if (num_levels == 0) { + num_levels = optimal_num_levels(vid.l); + } + + std::vector out(1, vid); + for (int i = 1; i < (int)num_levels; ++i) { + out.push_back(out.back().pyrDownTemporal()); + } + return out; + } + + std::vector laplacianPyramid(const sibr::Volume3u & vid, uint num_levels) + { + if (num_levels == 0) { + num_levels = optimal_num_levels(vid.l); + } + + std::vector out; + + sibr::Volume3f current_v = vid.convertTo(), down, up; + for (int i = 0; i < (int)num_levels - 1; ++i) { + down = current_v.pyrDown(); + up = down.pyrUp(current_v.l, current_v.w, current_v.h); + //current_v.play(30, { 1200,800 }); + //up.play(30, { 1200,800 }); + current_v.substract(up); + current_v.shift(128); + out.push_back(current_v.convertTo()); + std::swap(current_v, down); + } + out.push_back(current_v.convertTo()); + return out; + } + + std::vector laplacianPyramidTemporalDouble(const sibr::Volume3u & vid, uint num_levels) + { + if (num_levels == 0) { + num_levels = 1; + int length = vid.l; + while (length != 1) { + length = (length + 1) / 2; + length = (length + 1) / 2; + ++num_levels; + } + } + + std::cout << " num lvls : " << num_levels << std::endl; + + std::vector out; + sibr::Volume3f current_v = vid.convertTo(), down, up; + for (int i = 0; i < (int)num_levels - 1; ++i) { + down = current_v.pyrDownTemporal().pyrDownTemporal(); + up = down.pyrUpTemporal((current_v.l + 1) / 2).pyrUpTemporal(current_v.l); + current_v.substract(up); + current_v.shift(128); + out.push_back(current_v.convertTo()); + std::cout << i << " : " << current_v.l << std::endl; + std::swap(current_v, down); + } + out.push_back(current_v.convertTo()); + return out; + } + + SIBR_VIDEO_EXPORT sibr::Volume3u collapseLaplacianPyramid(const std::vector& pyr, double shift) + { + sibr::Volume3f v = pyr.back().convertTo(); + for (int i = (int)pyr.size() - 2; i >= 0; --i) { + v = v.pyrUp(pyr[i].l, pyr[i].w, pyr[i].h); + v.add(pyr[i]); + if (shift != 0) { + v.shift(shift); + } + } + return v.convertTo(); + } + + SIBR_VIDEO_EXPORT sibr::Volume3u laplacianBlending(const sibr::Volume3u & vA, const sibr::Volume3u & vB, std::vector& pyrM) + { + auto pyrA = laplacianPyramid(vA); + auto pyrB = laplacianPyramid(vB); + + for (int i = (int)pyrA.size() - 1; i >= 0; --i) { + pyrA[i] = pyrA[i].applyMask(pyrM[i]); + pyrM[i].toggle(); + pyrB[i] = pyrB[i].applyMask(pyrM[i]); + pyrA[i].add(pyrB[i]); + } + + return collapseLaplacianPyramid(pyrA, -128); + } + + + int VideoUtils::codec_ffdshow = cv::VideoWriter::fourcc('F', 'F', 'D', 'S'); + int VideoUtils::codec_OpenH264 = cv::VideoWriter::fourcc('H', '2', '6', '4'); + int VideoUtils::codec_OpenH264_fallback = 0x31637661; + + // from https://stackoverflow.com/questions/7693561/opencv-displaying-a-2-channel-image-optical-flow + cv::Mat VideoUtils::getFlowViz(const cv::Mat & flow) { + + cv::Mat xy[2]; //X,Y + cv::split(flow, xy); + + //calculate angle and magnitude + cv::Mat magnitude, angle; + cv::cartToPolar(xy[0], xy[1], magnitude, angle, true); + + //translate magnitude to range [0;1] + double mag_max; + cv::minMaxLoc(magnitude, 0, &mag_max); + magnitude.convertTo(magnitude, -1, 1.0 / mag_max); + + //build hsv image + cv::Mat _hsv[3], hsv; + _hsv[0] = angle; + _hsv[1] = magnitude; + _hsv[2] = cv::Mat::ones(angle.size(), CV_32F); + cv::merge(_hsv, 3, hsv); + + //convert to BGR and show + cv::Mat bgr;//CV_32FC3 matrix + cv::cvtColor(hsv, bgr, cv::COLOR_HSV2BGR); + + return bgr; + } + + cv::Mat VideoUtils::cropFromSize(const cv::Mat & mat, const sibr::Vector2i & size) + { + sibr::Vector2i currentSize(mat.cols, mat.rows); + sibr::Vector2i targetSize = size.cwiseMin(currentSize); + sibr::Vector2i topLeft = ((currentSize - targetSize).cast() / 2.0).cast(); + sibr::Vector2i bottomRight = ((currentSize + targetSize).cast() / 2.0).cast(); + cv::Rect roi(cv::Point(topLeft[0], topLeft[1]), cv::Point(bottomRight[0], bottomRight[1])); + + //std::cout << "--------------" << std::endl; + //std::cout << currentSize << std::endl; + //std::cout << targetSize << std::endl; + //std::cout << roi << std::endl; + + return mat(roi).clone(); + } + + void VideoUtils::getMeanVariance(cv::VideoCapture & cap, cv::Mat & outMean, cv::Mat & outVariance, const sibr::Vector2i & finalSize) + { + cap.set(cv::VideoCaptureProperties::CAP_PROP_POS_FRAMES, 0); + bool first = true; + cv::Mat mean, meanSq, out; + float sum = 0; + int f_id = 0, current_seg = -1; + bool doResize = (finalSize[0] != cap.get(cv::CAP_PROP_FRAME_WIDTH) || finalSize[1] != cap.get(cv::CAP_PROP_FRAME_HEIGHT)); + while (true) { + std::cout << "." << std::flush; + cv::Mat frame, frame_float; + cap >> frame; + ++f_id; + if (frame.empty()) { + break; + } + + if (doResize) { + cv::resize(frame, frame, cv::Size(finalSize[0], finalSize[1])); + } + + frame.convertTo(frame_float, CV_32FC3); + if (first) { + mean = frame_float; + meanSq = frame_float.mul(frame_float); + first = false; + } else { + mean += frame_float; + meanSq += frame_float.mul(frame_float); + } + sum += 1; + } + if (first) { + return; + } + + mean /= sum; + cv::Mat var = cv::min(255.0f*255.0f, cv::max(0.0f, meanSq / sum - mean.mul(mean))); + cv::sqrt(var, var); + var *= 5.0; + mean.convertTo(outMean, CV_8UC3); + var.convertTo(outVariance, CV_8UC3); + + } + + void VideoUtils::getMeanVariance2(cv::VideoCapture & cap, cv::Mat & outMean, cv::Mat & outVariance, const sibr::Vector2i & finalSize, float starting_point_s) + { + int starting_frame = (int)(starting_point_s*cap.get(cv::CAP_PROP_FPS)); + + cap.set(cv::VideoCaptureProperties::CAP_PROP_POS_FRAMES, starting_frame); + bool first = true; + cv::Mat mean, meanSq, out; + float sum = 0; + int f_id = 0, current_seg = -1; + bool doResize = (finalSize[0] != cap.get(cv::CAP_PROP_FRAME_WIDTH) || finalSize[1] != cap.get(cv::CAP_PROP_FRAME_HEIGHT)); + while (true) { + std::cout << "." << std::flush; + cv::Mat frame, frame_float; + cap >> frame; + ++f_id; + if (frame.empty()) { + break; + } + + if (doResize) { + cv::resize(frame, frame, cv::Size(finalSize[0], finalSize[1])); + } + + cv::GaussianBlur(frame, frame, cv::Size(3, 3), 0); + + frame.convertTo(frame_float, CV_32FC3); + if (first) { + mean = frame_float; + meanSq = frame_float.mul(frame_float); + first = false; + } else { + mean += frame_float; + meanSq += frame_float.mul(frame_float); + } + sum += 1; + } + if (first) { + return; + } + + mean /= sum; + cv::Mat var = cv::min(255.0f*255.0f, cv::max(0.0f, meanSq / sum - mean.mul(mean))); + cv::sqrt(var, var); + var *= 5.0; + mean.convertTo(outMean, CV_8UC3); + var.convertTo(outVariance, CV_8UC3); + } + + cv::Mat VideoUtils::getMedian(sibr::Video & vid, float time_skiped_begin, float time_skiped_end) { + + cv::Mat volume = vid.getVolume(time_skiped_begin, time_skiped_end); + + //std::cout << "tranpose "; + //volume = volume.t(); + //std::cout << t.deltaTimeFromLastTic<>() << std::endl; + + //cv::Mat volumeSorted; + + //std::cout << "sort "; + //cv::sort(volume, volume, CV_SORT_EVERY_COLUMN); + //std::cout << t.deltaTimeFromLastTic<>() << std::endl; + + cv::Mat median(vid.getResolutionCV(), CV_8UC3); + + const int L = volume.rows; + +#pragma omp parallel for + for (int i = 0; i < median.rows; ++i) { + + for (int j = 0; j < median.cols; ++j) { + cv::Vec3b medianColor; + for (int c = 0; c < 3; ++c) { + std::vector values(L); + for (int t = 0; t < L; ++t) { + values[t] = volume.at(t, 3 * (i*median.cols + j) + c); + } + //std::sort(values.begin(), values.end()); + //medianColor[c] = values[values.size() / 2]; + std::nth_element(values.begin(), values.begin() + L / 2, values.end()); + medianColor[c] = values[L / 2]; + } + median.at(i, j) = medianColor; + } + + + } + + return median; + } + + cv::Mat3b VideoUtils::getMedian(const std::string & path, float time_percentage_crop) + { + + sibr::Video vid(path); + Volume3u vol = loadVideoVolume(vid); + cv::Mat3b median(vid.getResolutionCV(), CV_8UC3); + + int crop = (int)(vol.l*std::min(time_percentage_crop, 0.4f)); + int start = crop, end = vol.l - crop; + + +#pragma omp parallel for + for (int i = 0; i < median.rows; ++i) { + cv::Mat line = vol.video_line(i); + std::vector values; + for (int j = 0; j < median.cols; ++j) { + for (int c = 0; c < 3; ++c) { + line.col(3 * j + c).rowRange(start, end).copyTo(values); + std::nth_element(values.begin(), values.begin() + values.size() / 2, values.end()); + median(i, j)[c] = values[values.size() / 2]; + } + } + } + + return median; + } + + cv::Mat VideoUtils::getBackgroundImage(sibr::Video & vid, int numBins, float time_skip_begin, float time_skip_end) { + cv::Mat volume = vid.getVolume(time_skip_begin, time_skip_end); + volume = volume.t(); + return getBackgroundImage(volume, vid.getResolution()[0], vid.getResolution()[1], numBins); + } + + cv::Mat VideoUtils::getBackgroundImage(const cv::Mat volume, int w, int h, int numBins) + { + cv::Mat bg = cv::Mat(h, w, CV_8UC3); + const int L = volume.cols; + +#pragma omp parallel for + for (int i = 0; i < bg.rows; ++i) { + for (int j = 0; j < bg.cols; ++j) { + + std::vector values(L); + + for (int c = 0; c < 3; ++c) { + for (int t = 0; t < L; ++t) { + values[t][c] = volume.at(3 * (i*bg.cols + j) + c, t); + } + } + + TimeHistogram histo = TimeHistogram(0, 255, numBins); + histo.addValues(values); + + auto mode = histo.getBinMiddle(histo.getHMode()); + for (int c = 0; c < 3; ++c) { + bg.at(i, j)[c] = mode[c]; + } + } + } + return bg; + } + + void VideoUtils::getBackGroundVideo(sibr::Video & vid, PyramidLayer & out_mask, PyramidLayer & out_video, cv::Mat & out_img, + const sibr::ImageRGB & meanImg, int threshold, int numBins, float time_skip_begin, float time_skip_end) + { + cv::Mat volume = vid.getVolume(time_skip_begin, time_skip_end).t(); + + const int w = vid.getResolution()[0], h = vid.getResolution()[1], L = volume.cols; + out_mask.w = w; + out_mask.l = L; + out_mask.h = h; + + out_video = out_mask; + + out_mask.volume = cv::Mat(L, 3 * w*h, CV_8UC1); + out_video.volume = cv::Mat(L, 3 * w*h, CV_8UC1); + out_img = cv::Mat(h, w, CV_8UC3); + + const bool useMeanImg = !(meanImg.size()[0] == 0); + + std::cout << w << " " << h << " " << L << " use mean img " << useMeanImg << std::endl; +#pragma omp parallel for + for (int i = 0; i < h; ++i) { + for (int j = 0; j < w; ++j) { + + std::vector values(L); + for (int c = 0; c < 3; ++c) { + for (int t = 0; t < L; ++t) { + values[t][c] = volume.at(3 * (i*w + j) + c, t); + } + } + + TimeHistogram histo = TimeHistogram(0, 255, numBins); + histo.addValues(values); + //histo.computeSortedBins(); + + auto mode = histo.getHMode(); + auto mode_color = histo.getBinMiddle(histo.getHMode()); + + out_img.at(i, j) = sibr::toOpenCV(mode_color); + + sibr::Vector3ub stdDev; + + if (useMeanImg) { + const int radius = 4; + const int diam = 2 * radius + 1; + const int num = diam * diam; + sibr::Vector3f sumColor(0, 0, 0), sumColorSq(0, 0, 0); + for (int di = -radius; di <= radius; ++di) { + int ii = sibr::clamp(i + di, 0, h - 1); + for (int dj = -radius; dj <= radius; ++dj) { + int jj = sibr::clamp(j + dj, 0, w - 1); + sumColor += meanImg(jj, ii).cast(); + sumColorSq += meanImg(jj, ii).cast().cwiseProduct(meanImg(jj, ii).cast()); + } + } + sumColor /= (float)(num); + sumColorSq = sumColorSq / (float)num - sumColor.cwiseProduct(sumColor); + stdDev = sumColorSq.cwiseSqrt().cast(); + threshold = 15 * stdDev.norm(); + } + + for (int t = 0; t < L; ++t) { + const auto & color = values[t]; + auto bin = histo.whatBin(color); + + //float cdf = histo.sorted_bins[bin]; + //float outlier_prop = 1.0f - cdf; + //auto viz_color = sibr::jetColor(outlier_prop); + + for (int c = 0; c < 3; ++c) { + //out_mask.volume.at(t, 3 * (i*w + j) + c) = (cdf < 0.75f ? 0 : 255); + //out_video.volume.at(t, 3 * (i*w + j) + c) = viz_color[c]; + + if ((color.cast() - mode_color.cast()).norm() < threshold) { + out_mask.volume.at(t, 3 * (i*w + j) + c) = 0; + } else { + out_mask.volume.at(t, 3 * (i*w + j) + c) = 255; + } + } + } + + } + } + + volume = volume.t(); + out_video.volume = volume.mul((1.0 / 255)*out_mask.volume); + } + + sibr::Volume1u VideoUtils::getBackgroundVolume(const sibr::Volume3u & volume, int threshold, int numBins) + { + const int L = volume.l; + sibr::Volume1u out_mask = sibr::Volume1u(L, volume.w, volume.h, 0); + +#pragma omp parallel for + for (int i = 0; i < volume.h; ++i) { + for (int j = 0; j < volume.w; ++j) { + std::vector values(L); + for (int c = 0; c < 3; ++c) { + for (int t = 0; t < L; ++t) { + values[t][c] = volume.valueAt(t, i, j, c); + } + } + + TimeHistogram histo = TimeHistogram(0, 255, numBins); + histo.addValues(values); + + auto mode_color = histo.getBinMiddle(histo.getHMode()); + + for (int t = 0; t < L; ++t) { + const auto & color = values[t]; + + if ((color.cast() - mode_color.cast()).norm() > threshold) { + out_mask.pixelAt(t, i, j) = 255; + } + } + + } + } + + return out_mask; + } + + sibr::Volume1f VideoUtils::getBackgroundVolumeF(const sibr::Volume3u & volume, int numBins) + { + const int L = volume.l; + sibr::Volume1f out_mask = sibr::Volume1f(L, volume.w, volume.h); + +#pragma omp parallel for + for (int i = 0; i < volume.h; ++i) { + for (int j = 0; j < volume.w; ++j) { + std::vector values(L); + for (int c = 0; c < 3; ++c) { + for (int t = 0; t < L; ++t) { + values[t][c] = volume.valueAt(t, i, j, c); + } + } + + TimeHistogram histo = TimeHistogram(0, 255, numBins); + histo.addValues(values); + + auto mode_color = histo.getBinMiddle(histo.getHMode()); + + for (int t = 0; t < L; ++t) { + const auto & color = values[t]; + out_mask.pixelAt(t, i, j) = (float)(color.cast() - mode_color.cast()).norm(); + } + + } + } + + return out_mask; + } + + void VideoUtils::computeSaveSimpleFlow(sibr::Video & vid, bool show) + { + int layers = 5; + int block_size = 3; + int max_flow = 5; + + sibr::Volume3u vol = sibr::loadVideoVolume(vid); + Path path = vid.getFilepath(); + std::string folder = path.parent_path().string() + "/flow/"; + sibr::makeDirectory(folder); + + std::string filepath = folder + "/" + path.stem().string() + "_sflow_" + std::to_string(layers) + "_" + + std::to_string(block_size) + + "_" + std::to_string(max_flow) + ".mp4"; + + sibr::FFVideoEncoder encoder(filepath, 30, { 2 * vol.w,2 * vol.h }); + for (int t = 0; t < vol.l - 1; ++t) { + cv::Mat flow; + cv::optflow::calcOpticalFlowSF(vol.frame(t), vol.frame(t + 1), flow, layers, block_size, max_flow); + cv::Mat viz = vol.frame(t).clone(); + int r = 10; + for (int i = 0; i < vol.h; i += r) { + for (int j = 0; j < vol.w; j += r) { + auto f = flow.at(i, j); + if (isfinite(f[0]) && isfinite(f[1])) { + if (cv::norm(f) > 0.5) { + cv::line(viz, cv::Point(j, i), cv::Point(int(j + f[1]), int(i + f[0])), { 255,0,255 }, 2); + } + } else { + cv::circle(viz, cv::Point(j, i), 3, { 0,0,0 }, 2); + } + + + } + } + cv::resize(viz, viz, cv::Size(2 * viz.cols, 2 * viz.rows), 0, 0, cv::INTER_NEAREST); + + if (show) { + cv::imshow("flow", viz); + if (cv::waitKey() == 27) { + break; + } + } else { + encoder << viz; + } + std::cout << "." << std::flush; + } + std::cout << "done " << std::endl; + } + + void VideoUtils::computeSaveVideoMaskF(Video & vid, int threshold, bool viz) + { + sibr::Volume3u volume = sibr::loadVideoVolume(vid); + sibr::Volume1f mask = sibr::VideoUtils::getBackgroundVolumeF(volume, 150); + + sibr::Volume1f bilateral_mask(volume.l, volume.w, volume.h); + sibr::Volume1f bilateral_mask_median(volume.l, volume.w, volume.h); + sibr::Volume1u median_bilateral_mask_binary(volume.l, volume.w, volume.h); + + const int radius_bila = 21; + const double eps = 10; + +#pragma omp parallel for + for (int t = 0; t < volume.l; ++t) { + cv::ximgproc::guidedFilter(volume.frame(t), mask.frame(t), bilateral_mask.frame(t), radius_bila, eps); + //cv::medianBlur(mask.frame(t), median_mask.frame(t), 7); + cv::medianBlur(bilateral_mask.frame(t), bilateral_mask_median.frame(t), 5); + median_bilateral_mask_binary.frame(t) = bilateral_mask_median.frame(t) > threshold; + } + + sibr::Volume3u video_masked_bilateral_bin = volume.applyMaskBinary(median_bilateral_mask_binary); + + if (viz) { + bilateral_mask.play(); + bilateral_mask_median.play(); + median_bilateral_mask_binary.play(); + video_masked_bilateral_bin.play(); + } + + Path filepath = vid.getFilepath(); + const std::string folder = filepath.parent_path().string() + "/masks/bilateral/"; + sibr::makeDirectory(folder); + + const std::string basename = folder + filepath.stem().string() + "_bila_" + std::to_string(radius_bila) + "_" + std::to_string((int)(10 * eps)); + const std::string extension = ".mp4"; + + bilateral_mask.saveToVideoFile(basename + "_raw" + extension); + bilateral_mask_median.saveToVideoFile(basename + "_median" + extension); + median_bilateral_mask_binary.saveToVideoFile(basename + "_median_binary" + extension); + video_masked_bilateral_bin.saveToVideoFile(basename + "_video" + extension); + } + + void VideoUtils::computeSaveVideoMaskBlur(Video & vid, int time_window) + { + const Path & filepath = vid.getFilepath(); + const std::string in_filename = filepath.parent_path().string() + "/masks/bilateral/" + filepath.stem().string() + "_bila_21_100_median_binary.mp4"; + const std::string out_folder = filepath.parent_path().string() + "/masks/bilateral_tblur/"; + sibr::makeDirectory(out_folder); + const std::string out_filename = out_folder + "/" + filepath.stem().string() + "_mask_tblur.mp4"; + + sibr::Volume3u volume = sibr::loadVideoVolume(in_filename); + std::cout << "volume.mat.isContinuous() : " << volume.mat.isContinuous() << std::endl; + sibr::Volume3u out = sibr::Volume3u(volume.l, volume.w, volume.h, 0); + + int time_win = 10; + + //#pragma omp parallel for + for (int i = 0; i < out.h; ++i) { + for (int j = 0; j < out.w; ++j) { + for (int t = 0; t < out.l; ++t) { + for (int u = std::max(0, t - time_win); u < std::min(out.l - 1, t + time_win); ++u) { + if (volume.valueAt(u, i, j, 0) > 128) { + out.pixelAt(t, i, j) = cv::Vec3b(255, 255, 255); + break; + } + } + } + } + } + out.saveToVideoFile(out_filename); + } + + cv::Mat VideoUtils::getTemporalSpatialRatio(sibr::Video & vid, PyramidLayer & out_ratio, const sibr::ImageRGB & spatial_ratio, int numBins, float time_skip_begin, float time_skip_end) + { + cv::Mat volume = vid.getVolume(time_skip_begin, time_skip_end).t(); + + const int w = vid.getResolution()[0], h = vid.getResolution()[1], L = volume.cols; + out_ratio.w = w; + out_ratio.l = L; + out_ratio.h = h; + + out_ratio.volume = cv::Mat(L, 3 * w*h, CV_8UC1); + +#pragma omp parallel for + for (int i = 0; i < h; ++i) { + for (int j = 0; j < w; ++j) { + + std::vector values(L); + for (int c = 0; c < 3; ++c) { + for (int t = 0; t < L; ++t) { + values[t][c] = volume.at(3 * (i*w + j) + c, t); + } + } + + TimeHistogram histo = TimeHistogram(0, 255, numBins); + histo.addValues(values); + //histo.computeSortedBins(); + + auto mode = histo.getHMode(); + auto mode_color = histo.getBinMiddle(histo.getHMode()); + + for (int t = 0; t < L; ++t) { + const auto & color = values[t]; + auto bin = histo.whatBin(color); + + sibr::Vector3f norm_temporal = (color.cast() - mode_color.cast()).cwiseAbs().cast(); + sibr::Vector3f norm_spatial = spatial_ratio(j, i).cwiseAbs().cast().array() + 10; + sibr::Vector3f ratios = norm_temporal.cwiseQuotient(norm_spatial); + + + for (int c = 0; c < 3; ++c) { + out_ratio.volume.at(t, 3 * (i*w + j) + c) = sibr::clamp((uchar)(128 * ratios[c]), 0, 255); + //if (ratios.maxCoeff() > 0.5) { + // out_ratio.volume.at(t, 3 * (i*w + j) + c) = 255; + //} else { + // out_ratio.volume.at(t, 3 * (i*w + j) + c) = 0; + //} + //out_ratio.volume.at(t, 3 * (i*w + j) + c) = sibr::clamp((uchar)(64*ratios[c]),0,255); + } + } + + } + } + + return volume.t(); + } + + cv::Mat VideoUtils::getLaplacian(cv::Mat mat, int size, bool smooth, bool absolute) + { + cv::Mat grey, laplacian, abs; + if (smooth) { + cv::GaussianBlur(mat, mat, cv::Size(size, size), 0, 0, cv::BORDER_DEFAULT); + } + grey = getGrey(mat); + cv::Laplacian(grey, laplacian, CV_16S, size); + if (absolute) { + cv::convertScaleAbs(laplacian, abs); + return abs; + } + return laplacian; + } + + cv::Mat VideoUtils::getCanny(cv::Mat mat) + { + cv::Mat grey, canny; + grey = getGrey(mat); + cv::Canny(grey, canny, 50, 150); + return canny; + } + + int VideoUtils::rotationAngleFromMetadata(const std::string & videoPath) + { + namespace bfs = boost::filesystem; + + Path vidPath = bfs::canonical(videoPath); + std::string parentAbs = bfs::canonical(vidPath.parent_path()).string(); + std::string tmpFilePath = parentAbs + "/" + vidPath.stem().string() + "_tmp.txt"; + + std::string cmd = "ffprobe -i \"" + vidPath.string() + "\" > \"" + tmpFilePath + "\" 2>&1"; + //std::cout << cmd << std::endl; + + int cmd_status = std::system(cmd.c_str()); + if (cmd_status != EXIT_SUCCESS) { + SIBR_WRG << "getMetaData failed to call : " << cmd << std::endl; + } + + std::ifstream file(tmpFilePath); + if (!file.is_open()) { + SIBR_WRG << "getMetaData failed to open " << tmpFilePath << std::endl; + } + std::string line, tmp; + std::stringstream linestream; + + int angle = 0; + while (safeGetline(file, line)) { + if (line.find("rotate") != std::string::npos) { + linestream << line; + linestream >> tmp >> tmp >> angle; + break; + } + } + file.close(); + + if (!boost::filesystem::remove(tmpFilePath)) { + SIBR_WRG << "getMetaData failed to remove " << tmpFilePath << std::endl; + } + + return angle; + } + + void VideoUtils::ECCtransform(cv::Mat matA, cv::Mat matB, cv::Mat & correctedB, cv::Mat & diff, int cvMotion) + { + cv::Mat greyA, greyB, warpBA; + cv::cvtColor(matA, greyA, cv::COLOR_BGR2GRAY); + cv::cvtColor(matB, greyB, cv::COLOR_BGR2GRAY); + try { + cv::findTransformECC(greyA, greyB, warpBA, cvMotion); + } + catch (const std::exception & e) { std::cout << e.what(); return; } + + if (cvMotion == cv::MOTION_HOMOGRAPHY) { + cv::warpPerspective(matB, correctedB, warpBA, matB.size()); + } else if (cvMotion == cv::MOTION_AFFINE) { + cv::warpAffine(matB, correctedB, warpBA, matB.size()); + } + + cv::absdiff(matA, correctedB, diff); + } + + void VideoUtils::smallAlignmentVideo(sibr::Video & vid, const std::string & outputVidPath, bool viz) + { + struct Match { + cv::Point2f in, out; + float error; + }; + + //cv::VideoWriter out(outputVidPath, codec_OpenH264, vid.getFrameRate(), cv::Size(vid.getResolution()[0], vid.getResolution()[1])); + sibr::FFVideoEncoder out(outputVidPath, vid.getFrameRate(), vid.getResolution()); + + if (!out.isFine()) { + SIBR_WRG << " cant write video " << outputVidPath << std::endl; + } + vid.setCurrentFrame(0); + cv::Mat initFrame = vid.next(); + cv::Mat initGray = VideoUtils::getGrey(initFrame); + + std::vector features, nextFeatures; + std::vector status; + std::vector errors; + + cv::Mat totalHomography = cv::Mat::eye(3, 3, CV_32FC1); + + const double magic_expon = 1.6; + const double ratio = 0.5; + const double ransac_repro_error = 3.0; + const double features_to_track_quality = 0.1; + const double features_min_dist = 0.1; //10 + int nPixels = vid.getResolution().prod(); + + int numFeatures = (int)pow(nPixels, 1.0 / magic_expon); + std::cout << " num features " << numFeatures << std::endl; + + cv::goodFeaturesToTrack(initGray, features, numFeatures, features_to_track_quality, 10); + + cv::Mat nextFrame, gray; + + for (;;) { + nextFrame = vid.next(); + if (nextFrame.empty()) { + break; + } + gray = VideoUtils::getGrey(nextFrame); + + cv::calcOpticalFlowPyrLK(initGray, gray, features, nextFeatures, status, errors, cv::Size(15, 15), 0); + + std::vector matchs; + for (int i = 0; i < (int)status.size(); ++i) { + if (status[i] == 1) { + matchs.push_back({ features[i] ,nextFeatures[i] ,errors[i] }); + } + } + //std::cout << matchs.size() / (double)status.size() << std::endl; + + std::sort(matchs.begin(), matchs.end(), [](const Match & a, const Match & b) { return a.error < b.error; }); + + int numBestMatch = (int)(ratio*matchs.size()); + std::vector inputFeatures(numBestMatch), outputFeatures(numBestMatch); + + for (int i = 0; i < numBestMatch; ++i) { + inputFeatures[i] = matchs[i].in; + outputFeatures[i] = matchs[i].out; + } + + if (viz) { + cv::Mat corresp_viz = nextFrame.clone(); + for (int i = 0; i < numBestMatch; ++i) { + cv::circle(corresp_viz, matchs[i].in, 5, cv::Scalar(0, 255, 0), 2); + cv::circle(corresp_viz, matchs[i].out, 5, cv::Scalar(255, 0, 0), 2); + } + cv::imshow("viz", corresp_viz); + if (cv::waitKey() == 27) { + viz = false; + cv::destroyAllWindows(); + } + } + + cv::Mat homography = cv::findHomography(inputFeatures, outputFeatures, cv::RANSAC, ransac_repro_error); + + cv::Mat correctedFrame; + cv::warpPerspective(nextFrame, correctedFrame, homography.inv(), nextFrame.size()); + + out << correctedFrame; + std::cout << "." << std::flush; + } + + if (viz) { + cv::destroyAllWindows(); + } + + out.close(); + std::cout << " done " << std::endl; + } + + void VideoUtils::smallAlignmentVideo2(sibr::Video & vid, const std::string & outputVidPath, bool viz) + { + struct Match { + cv::Point2f in, out; + float error; + }; + + //cv::VideoWriter out(outputVidPath, codec_OpenH264, vid.getFrameRate(), cv::Size(vid.getResolution()[0], vid.getResolution()[1])); + sibr::FFVideoEncoder out(outputVidPath, vid.getFrameRate(), vid.getResolution()); + + if (!out.isFine()) { + SIBR_WRG << " cant write video " << outputVidPath << std::endl; + } + vid.setCurrentFrame(0); + cv::Mat initFrame = vid.next(); + cv::Mat initGray = VideoUtils::getGrey(initFrame); + + std::vector features, nextFeatures; + std::vector status; + std::vector errors; + + cv::Mat completeHomography = cv::Mat::eye(3, 3, CV_64FC1); + + const double magic_expon = 2.0; + const double ratio = 0.5; + const double ransac_repro_error = 0.5; + const double features_to_track_quality = 0.1; + const double features_min_dist = 10; //10 + const double max_displacement = 2; + int nPixels = vid.getResolution().prod(); + + int numFeatures = (int)pow(nPixels, 1.0 / magic_expon); + std::cout << " num features " << numFeatures << std::endl; + + cv::Mat nextFrame, gray; + + for (;;) { + nextFrame = vid.next(); + if (nextFrame.empty()) { + break; + } + gray = VideoUtils::getGrey(nextFrame); + + cv::GaussianBlur(gray, gray, cv::Size(3, 3), 0); + + cv::goodFeaturesToTrack(initGray, features, numFeatures, features_to_track_quality, features_min_dist); + + cv::calcOpticalFlowPyrLK(initGray, gray, features, nextFeatures, status, errors, cv::Size(5, 5), 0); + + std::vector matchs; + for (int i = 0; i < (int)status.size(); ++i) { + auto v = features[i] - nextFeatures[i]; + + if (status[i] == 1 && cv::norm(cv::Vec2f(v.x, v.y), cv::NORM_INF) < max_displacement) { + matchs.push_back({ features[i] ,nextFeatures[i] ,errors[i] }); + } + } + //std::cout << matchs.size() / (double)status.size() << std::endl; + + std::sort(matchs.begin(), matchs.end(), [](const Match & a, const Match & b) { return a.error < b.error; }); + + int numBestMatch = (int)(ratio*matchs.size()); + std::vector inputFeatures(numBestMatch), outputFeatures(numBestMatch); + + for (int i = 0; i < numBestMatch; ++i) { + inputFeatures[i] = matchs[i].in; + outputFeatures[i] = matchs[i].out; + } + + if (viz) { + cv::Mat corresp_viz = nextFrame.clone(); + for (int i = 0; i < numBestMatch; ++i) { + cv::circle(corresp_viz, matchs[i].in, 5, cv::Scalar(0, 255, 0), 2); + cv::circle(corresp_viz, matchs[i].out, 5, cv::Scalar(255, 0, 0), 2); + } + cv::imshow("viz", corresp_viz); + if (cv::waitKey() == 27) { + viz = false; + cv::destroyAllWindows(); + } + } + + cv::Mat homography = cv::findHomography(inputFeatures, outputFeatures, cv::RANSAC, ransac_repro_error); + + completeHomography *= homography; + + cv::Mat correctedFrame; + cv::warpPerspective(nextFrame, correctedFrame, completeHomography.inv(), nextFrame.size()); + + initGray = gray; + + out << correctedFrame; + std::cout << "." << std::flush; + } + + if (viz) { + cv::destroyAllWindows(); + } + + out.close(); + std::cout << " done " << std::endl; + } + + cv::Mat VideoUtils::applyFlow(const cv::Mat & prev, const cv::Mat & flow) { + cv::Mat out, realFlow = flow; + for (int i = 0; i < prev.rows; ++i) { + for (int j = 0; j < prev.cols; ++j) { + realFlow.at(i, j) += cv::Vec2f(j + 0.5f, i + 0.5f); + } + } + cv::remap(prev, out, realFlow, cv::Mat(), cv::INTER_LINEAR); + return out; + } + + void VideoUtils::simpleFlow(cv::VideoCapture & cap, float ratio, + std::function f, + std::function end_function + ) { + cap.set(cv::VideoCaptureProperties::CAP_PROP_POS_FRAMES, 0); + cv::Mat prev, flow; + int flow_id = 0; + while (true) { + + cv::Mat next; + cap >> next; + if (next.empty()) { + break; + } + cv::resize(next, next, cv::Size((int)(ratio*next.size().width), (int)(ratio*next.size().height))); + + if (!prev.empty()) { + cv::optflow::calcOpticalFlowSF(prev, next, flow, 3, 2, 4); + + if (!f(prev, next, flow, flow_id)) { + break; + } + + ++flow_id; + } + + prev = next; + } + + end_function(); + } + + void VideoUtils::simpleFlowViz(cv::VideoCapture & cap, float ratio) + { + simpleFlow(cap, ratio, [](cv::Mat prev, cv::Mat next, cv::Mat flow, int flow_id) { + cv::Mat viz = getFlowViz(flow); + cv::resize(viz, viz, cv::Size(2000, 1500)); + cv::Mat diff = VideoUtils::applyFlow(prev, flow); + + cv::imshow("simpleflow", viz); + cv::imshow("frame", next); + cv::imshow("applyFlow", diff); + int key = cv::waitKey(1); + if (key == 27) { + return false; + } + + return true; + }, []() { + cv::destroyAllWindows(); + } + ); + } + + void VideoUtils::simpleFlowSave(cv::VideoCapture & cap, float ratio, std::function naming_f) + { + std::cout << " saving flow " << std::flush; + simpleFlow(cap, ratio, [&](cv::Mat prev, cv::Mat next, cv::Mat flow, int flow_id) { + std::cout << "." << std::flush; + cv::Mat viz = getFlowViz(flow); + viz.convertTo(viz, CV_8UC3, 255.0); + return cv::imwrite(naming_f(flow_id), viz); + }); + std::cout << "done" << std::endl; + } + + void VideoUtils::deepFlow(cv::VideoCapture & cap, float ratio, + std::function f, + std::function end_function) + { + cap.set(cv::VideoCaptureProperties::CAP_PROP_POS_FRAMES, 0); + + auto deepFlow = cv::optflow::createOptFlow_DeepFlow(); + cv::Mat flow, next, nextGrey, prevGrey; + int flow_id = 0; + while (true) { + cap >> next; + if (next.empty()) { + break; + } + + auto size = cv::Size((int)(ratio*next.size().width), (int)(ratio*next.size().height)); + cv::resize(next, next, size); + nextGrey = getGrey(next); + + if (!prevGrey.empty()) { + deepFlow->calc(prevGrey, nextGrey, flow); + + if (!f(prevGrey, nextGrey, flow, flow_id)) { + break; + } + ++flow_id; + } + + prevGrey = nextGrey.clone(); + } + + end_function(); + + } + + void VideoUtils::deepFlowViz(cv::VideoCapture & cap, float ratio) + { + deepFlow(cap, ratio, [](cv::Mat prev, cv::Mat next, cv::Mat flow, int flow_id) { + cv::Mat viz = getFlowViz(flow); + cv::Mat diff = applyFlow(prev, flow); + cv::imshow("simpleflow", viz); + cv::imshow("frame", prev); + cv::imshow("applyFlow", diff); + int key = cv::waitKey(1); + if (key == 27) { + return false; + } + return true; + }, []() { + cv::destroyAllWindows(); + } + ); + } + + cv::Mat VideoUtils::getGrey(const cv::Mat & mat) + { + cv::Mat out; + cv::cvtColor(mat, out, cv::COLOR_BGR2GRAY); + return out; + } + + void PyramidLayer::show(int s) const + { + int slice_y = 0; + + struct Data { + PyramidLayer A; + }; + Data data = { *this }; + + auto cb = [](int pos, void* userdata) -> void { + Data & d = *(Data*)userdata; + cv::Mat sliceA = sibr::slice(d.A, 0, pos); + cv::resize(sliceA, sliceA, cv::Size(800, 800), 0, 0, cv::INTER_NEAREST); + cv::imshow("sliceA", sliceA); + }; + + + int t = 0; + while (true) { + + cv::Mat slice; + cv::Mat shifted = (volume.row(t) + 0 * 128.0f); + shifted.reshape(3, h).convertTo(slice, CV_8UC3); + cv::imshow("shpw", slice); + cv::createTrackbar("sy", "shpw", &slice_y, w - 1, cb, &data); + if (cv::waitKey(s) == 27) { + break; + } + ++t; + if (t == l) { + std::cout << "." << std::flush; + t = 0; + } + } + } + + cv::Mat PyramidLayer::getRGB(int frame, bool centered) { + cv::Mat out; + if (centered) { + cv::Mat shifted = (volume.row(frame) + 128.0f); + shifted.reshape(3, h).convertTo(out, CV_8UC3); + } else { + volume.row(frame).reshape(3, h).convertTo(out, CV_8UC3); + } + + return out; + } + + void PyramidLayer::saveToVideoFile(const std::string & filename, double framerate) + { + sibr::FFVideoEncoder output(filename, framerate, { w,h }); + for (int f = 0; f < l; ++f) { + cv::Mat frame; + volume.row(f).reshape(3, h).convertTo(frame, CV_8UC3); + output << frame; + } + output.close(); + + } + + void PyramidLayer::show(PyramidLayer A, PyramidLayer B, int s) { + int t = 0; + while (true) { + cv::Mat sliceA = A.getRGB(t); + cv::Mat sliceB = B.getRGB(t); + cv::Mat top; + cv::hconcat(sliceA, sliceB, top); + cv::imshow("show duo", top); + if (cv::waitKey(s) == 27) { + break; + } + ++t; + if (t == A.l) { + std::cout << "." << std::flush; + t = 0; + } + } + } + + void PyramidLayer::show(PyramidLayer A, PyramidLayer B, PyramidLayer C, int s) { + int slice_x = 0; + int slice_y = 0; + int t = 0; + + struct Data { + PyramidLayer A, B, C; + }; + Data data = { A,B,C }; + + auto cb = [](int pos, void* userdata) -> void { + Data & d = *(Data*)userdata; + cv::Mat sliceA = sibr::slice(d.A, 0, pos); + cv::Mat sliceB = sibr::slice(d.B, 0, pos); + cv::Mat sliceC = sibr::slice(d.C, 0, pos); + cv::resize(sliceA, sliceA, cv::Size(800, 800), 0, 0, cv::INTER_NEAREST); + cv::resize(sliceB, sliceB, cv::Size(800, 800), 0, 0, cv::INTER_NEAREST); + cv::resize(sliceC, sliceC, cv::Size(800, 800), 0, 0, cv::INTER_NEAREST); + + cv::imshow("sliceA", sliceA); + cv::imshow("sliceB", sliceB); + cv::imshow("sliceC", sliceC); + }; + + while (true) { + cv::imshow("show A", A.getRGB(t)); + cv::imshow("show B", B.getRGB(t)); + cv::imshow("show C", C.getRGB(t)); + + cv::createTrackbar("sy", "show C", &slice_y, A.w - 1, cb, &data); + + int k = cv::waitKey(s); + if (k == 27) { + break; + } else if (k == 'c') { + t = t > 0 ? t - 1 : A.l - 1; + } else { + ++t; + if (t == A.l) { + std::cout << "." << std::flush; + t = 0; + } + } + } + } + + void PyramidLayer::show(PyramidLayer A, PyramidLayer B, PyramidLayer C, PyramidLayer D, int s, bool centered) { + int slice_y = 0; + int t = 0; + struct Data { + PyramidLayer A, B, C, D; + bool center; + }; + Data data = { A,B,C,D, centered }; + + auto cb = [](int pos, void* userdata) -> void { + Data & d = *(Data*)userdata; + cv::Mat sliceA = sibr::slice(d.A, 0, pos, true, d.center); + cv::Mat sliceB = sibr::slice(d.B, 0, pos, true, d.center); + cv::Mat sliceC = sibr::slice(d.C, 0, pos, true, d.center); + cv::Mat sliceD = sibr::slice(d.D, 0, pos, true, d.center); + cv::resize(sliceA, sliceA, cv::Size(800, 800), 0, 0, cv::INTER_NEAREST); + cv::resize(sliceB, sliceB, cv::Size(800, 800), 0, 0, cv::INTER_NEAREST); + cv::resize(sliceC, sliceC, cv::Size(800, 800), 0, 0, cv::INTER_NEAREST); + cv::resize(sliceD, sliceD, cv::Size(800, 800), 0, 0, cv::INTER_NEAREST); + cv::imshow("sliceA", sliceA); + cv::imshow("sliceB", sliceB); + cv::imshow("sliceC", sliceC); + cv::imshow("sliceD", sliceD); + }; + + while (true) { + cv::imshow("show A", A.getRGB(t, data.center)); + cv::imshow("show B", B.getRGB(t, data.center)); + cv::imshow("show C", C.getRGB(t, data.center)); + cv::imshow("show D", D.getRGB(t, data.center)); + cv::createTrackbar("sy", "show C", &slice_y, A.w - 1, cb, &data); + + int k = cv::waitKey(s); + if (k == 27) { + std::cout << "clear" << std::endl; + cv::destroyAllWindows(); + break; + } else if (k == 'c') { + t = t > 0 ? t - 1 : A.l - 1; + } else if (k == 'm') { + data.center = !data.center; + } else { + ++t; + if (t == A.l) { + std::cout << "." << std::flush; + t = 0; + } + } + } + } + + void PyramidLayer::showDiff(PyramidLayer A, PyramidLayer B, int s) + { + int t = 0; + while (true) { + cv::Mat sliceA = A.getRGB(t); + cv::Mat sliceB = B.getRGB(t); + cv::Mat diff; + cv::absdiff(sliceA, sliceB, diff); + cv::Mat top; + //cv::hconcat(sliceB, 5 * diff, top); + //cv::hconcat(sliceA, top, top); + cv::imshow("show a", sliceA); + cv::imshow("show B", sliceB); + + cv::imshow("show diff", diff); + int k = cv::waitKey(s); + if (k == 27) { + break; + } else if (k == 'c') { + t = t > 0 ? t - 1 : A.l - 1; + } else { + ++t; + if (t == A.l) { + std::cout << "." << std::flush; + t = 0; + } + } + } + } + + PyramidLayer PyramidLayer::operator+(const PyramidLayer & other) + { + //assert(w == other.w && h == other.w && l = other.l); + + PyramidLayer out; + out.w = w; + out.h = h; + out.l = l; + out.volume = volume + other.volume; + return out; + } + + PyramidLayer PyramidLayer::operator-(const PyramidLayer & other) + { + //assert(w == other.w && h == other.w && l = other.l); + + PyramidLayer out; + out.w = w; + out.h = h; + out.l = l; + out.volume = volume - other.volume; + return out; + } + + PyramidLayer blur(const PyramidLayer & layer, const PyramidParameters & params) + { + PyramidLayer out(layer.w, layer.h, layer.l); + +#pragma omp parallel for + for (int t = 0; t < layer.l; ++t) { + cv::Mat sliceIn = layer.volume.row(t).reshape(3, layer.h); + cv::Mat sliceOut = out.volume.row(t).reshape(3, out.h); + if (params.splacialDS) { + cv::GaussianBlur(sliceIn, sliceOut, cv::Size(2 * params.spatial_radius + 1, 2 * params.spatial_radius + 1), 0); + } else { + sliceIn.copyTo(sliceOut); + } + } + + temporalBlur(out, params); + + return out; + } + + // PyramidLayer temporalBlur(const PyramidLayer & layer, const PyramidParameters & params, float scaling) + // { + // //cv::Mat kernel = cv::Mat::ones(cv::Size(2 * params.temporal_radius + 1, 1), CV_32FC1); + // //kernel = kernel / cv::norm(kernel, cv::NORM_L1); + // + // const cv::Mat kernel = (scaling / 16.0f)*(cv::Mat_(1, 5) << 1, 4, 6, 4, 1); + // + // //layer.show(0); + // + // cv::Mat vol = layer.volume.t(); + // + // //std::cout << vol.row(3 * (0 * layer.w + 0) + 0) << std::endl; + // //std::cout << vol.row(3 * (0 * layer.w + 0) + 1) << std::endl; + // //std::cout << vol.row(3 * (0 * layer.w + 0) + 2) << std::endl; + // + // cv::filter2D(vol, vol, -1, kernel, { 2,0 }, 0, cv::BORDER_DEFAULT); + // + ////#pragma omp parallel for + //// for (int i = 0; i < layer.h; ++i) { + //// for (int j = 0; j < layer.w; ++j) { + //// for (int c = 0; c < 3; ++c) { + //// cv::Mat slice = vol.row(3 * (i*layer.w + j) + c); + //// cv::filter2D(slice, slice, -1, kernel, { 2,0 }, 0, cv::BORDER_DEFAULT); // cv::Point(-1,-1) BORDER_ISOLATED cv::BORDER_REPLICATE + //// } + //// } + //// } + // + // //std::cout << vol.row(3 * (0 * layer.w + 0) + 0) << std::endl; + // //std::cout << vol.row(3 * (0 * layer.w + 0) + 1) << std::endl; + // //std::cout << vol.row(3 * (0 * layer.w + 0) + 2) << std::endl; + // + // PyramidLayer out(vol.t(), layer.w, layer.h); + // //out.cout(); + // //out.show(0); + // + // return out; + // } + + PyramidLayer temporalBlur(const PyramidLayer & layer, const PyramidParameters & params, float scaling) + { + const cv::Mat kernel = (scaling / 16.0f)*(cv::Mat_(5, 1) << 1, 4, 6, 4, 1); + cv::Mat vol = layer.volume.clone(); + cv::filter2D(vol, vol, -1, kernel, { -1,-1 }, 0.0, cv::BORDER_DEFAULT); + return PyramidLayer(vol, layer.w, layer.h); + } + + void temporalBlurInPlace(PyramidLayer & layer, const PyramidParameters & params, float scaling) + { + const cv::Mat kernel = (scaling / 16.0f)*(cv::Mat_(5, 1) << 1, 4, 6, 4, 1); + cv::filter2D(layer.volume, layer.volume, -1, kernel, { -1,-1 }, 0.0, cv::BORDER_DEFAULT); + } + + PyramidLayer decimate(const PyramidLayer & layer, const PyramidParameters & params) + { + + PyramidLayer out((layer.w + 1) / 2, (layer.h + 1) / 2, (layer.l + 1) / 2); + +#pragma omp parallel for + for (int t = 0; t < out.l; ++t) { + cv::Mat sliceCurrent = layer.volume.row(2 * t).reshape(3, layer.h); + cv::Mat sliceDecimated = out.volume.row(t).reshape(3, out.h); + + cv::pyrDown(sliceCurrent, sliceDecimated); + //cv::resize(sliceCurrent, sliceDecimated, sliceDecimated.size(), 0, 0, CV_INTER_NN); + + } + + return out; + + } + + PyramidLayer upscale(const PyramidLayer & layerUp, const PyramidLayer & layerDown, const PyramidParameters & params) + { + //std::cout << layerUp.w << " " << layerUp.h << " " << layerUp.l << std::endl; + //std::cout << layerDown.w << " " << layerDown.h << " " << layerDown.l << std::endl; + + PyramidLayer out(layerUp.w, layerUp.h, layerUp.l); + //#pragma omp parallel for + for (int t = 0; t < layerDown.l; ++t) { + //if (2 * t + 1 >= layerUp.l) { + // continue; + //} + //cv::Mat sliceUp = out.volume.row(2 * t + 1).reshape(3, layerUp.h); + cv::Mat sliceUp = out.volume.row(2 * t).reshape(3, layerUp.h); + cv::Mat sliceDown = layerDown.volume.row(t).reshape(3, layerDown.h); + + if (params.splacialDS) { + cv::pyrUp(sliceDown, sliceUp, sliceUp.size()); + } else { + sliceDown.copyTo(sliceUp); + } + + + // if (2 * t + 1 < layerUp.l) { + // sliceUp.copyTo(out.volume.row(2 * t + 1).reshape(3, layerUp.h)); + // } + } + temporalBlurInPlace(out, params, 2.0f); + return out; + } + + PyramidLayer downscale(const PyramidLayer & layer, const PyramidParameters & params) + { + + PyramidLayer blured = temporalBlur(layer, params); + //std::cout << " temporal blur " << std::endl; + //blured.show(); + //std::cout << " temporal blur end" << std::endl; + + PyramidLayer out; + + if (params.splacialDS) { + out = PyramidLayer((layer.w + 1) / 2, (layer.h + 1) / 2, (layer.l + 1) / 2); + } else { + out = PyramidLayer(layer.w, layer.h, (layer.l + 1) / 2); + } + + //#pragma omp parallel for + for (int t = 0; t < out.l; ++t) { + //if (2 * t + 1 >= layer.l) { + // continue; + //} + //cv::Mat sliceCurrent = blured.volume.row(2 * t + 1).reshape(3, layer.h); + cv::Mat sliceCurrent = blured.volume.row(2 * t).reshape(3, layer.h); + cv::Mat sliceDecimated = out.volume.row(t).reshape(3, out.h); + + if (params.splacialDS) { + cv::pyrDown(sliceCurrent, sliceDecimated); + } else { + sliceCurrent.copyTo(sliceDecimated); + } + + } + + //PyramidLayer blur (layer.w, layer.h, (layer.l + 1) / 2); + + //for (int i = 0; i < blur.volume.rows; ++i) { + // cv::pyrDown(layer.volume.row(i), blur.volume.row(i), blur.volume.row(i).size()); + //} + + //PyramidLayer out; + //if (params.splacialDS) { + // out = PyramidLayer((layer.w + 1) / 2, (layer.h + 1) / 2, blur.l); + //} else { + // out = PyramidLayer(layer.w, layer.h, blur.l); + //} + + //for (int t = 0; t < out.l; ++t) { + // if (2 * t + 1 >= layer.l) { + // continue; + // } + // cv::Mat sliceCurrent = blur.volume.row(2 * t + 1).reshape(3, layer.h); + // cv::Mat sliceDecimated = out.volume.row(t).reshape(3, out.h); + + // if (params.splacialDS) { + // cv::pyrDown(sliceCurrent, sliceDecimated); + // } else { + // sliceCurrent.copyTo(sliceDecimated); + // } + //} + + return out; + } + + SIBR_VIDEO_EXPORT cv::Mat slice(const PyramidLayer & layer, int i, int j, bool vertical, bool center) + { + cv::Mat out; + if (vertical) { + out = cv::Mat(layer.l, layer.h, CV_8UC3); + + for (int t = 0; t < layer.l; ++t) { + for (int i = 0; i < layer.h; ++i) { + for (int c = 0; c < 3; ++c) { + out.at(t, i)[c] = (uchar)sibr::clamp((int)layer.volume.at(t, 3 * (i*layer.w + j) + c) + (center ? 128 : 0), 0, 255); + } + } + } + } + + //cv::vconcat(out, out, out); + out = out.t(); + return out; + } + + PyramidLayer VideoLaplacianPyramid::collapse() const + { + PyramidLayer out = layers.back(); + for (int i = (int)layers.size() - 2; i >= 0; --i) { + PyramidLayer up = upscale(layers[i], out, params); + out = up + layers[i]; + } + return out; + } + + VideoGaussianPyramid buildVideoGaussianPyramid(const cv::Mat & volume, int w, int h, int nLevels, const PyramidParameters & params, bool show) + { + VideoGaussianPyramid out; + out.params = params; + PyramidLayer currentLayer(volume, w, h); + out.layers.push_back(currentLayer); + + for (int i = 1; i < nLevels; ++i) { + PyramidLayer down = downscale(currentLayer, params); + out.layers.push_back(down); + currentLayer = down; + if (show) { + currentLayer.show(); + } + } + + return out; + } + + VideoGaussianPyramid buildVideoGaussianPyramid(sibr::Video & vid, int nLevels, const PyramidParameters & params, bool show) + { + return buildVideoGaussianPyramid(vid.getVolume(), vid.getResolution()[0], vid.getResolution()[1], nLevels, params, show); + } + + SIBR_VIDEO_EXPORT VideoLaplacianPyramid buildVideoLaplacianPyramid(PyramidLayer vid, int nLevels, const PyramidParameters & params, bool show) + { + VideoLaplacianPyramid out; + out.params = params; + + PyramidLayer currentLayer = vid; + currentLayer.volume.convertTo(currentLayer.volume, CV_32FC1); + + for (int i = 0; i < nLevels - 1; ++i) { + PyramidLayer down = downscale(currentLayer, params); + PyramidLayer up = upscale(currentLayer, down, params); + if (show) { + up.show(); + } + out.layers.push_back(currentLayer - up); + currentLayer = down; + } + + out.layers.push_back(currentLayer); + + return out; + } + + VideoLaplacianPyramid buildVideoLaplacianPyramid(sibr::Video & vid, int nLevels, const PyramidParameters & params, bool show) { + PyramidLayer layer(vid.getVolume(), vid.getResolution()[0], vid.getResolution()[1]); + return buildVideoLaplacianPyramid(layer, nLevels, params, show); + } + + VideoLaplacianPyramid buildVideoLaplacianPyramidFullyReduced(PyramidLayer vid, int nLevels, const PyramidParameters & params, bool show) + { + VideoLaplacianPyramid standardPyramid = buildVideoLaplacianPyramid(vid, nLevels, params, show); + + VideoLaplacianPyramid out; + out.params = params; + + out.layers.push_back(standardPyramid.layers[0]); + + for (int i = 1; i < nLevels; ++i) { + + PyramidLayer diff = standardPyramid.layers[i].clone(); + for (int k = i - 1; k >= 0; --k) { + diff = upscale(standardPyramid.layers[k], diff, params); + } + std::cout << " layer " << i << " : "; + diff.cout(); + out.layers.push_back(diff); + } + + return out; + } + + SIBR_VIDEO_EXPORT void convertReducedVideoPyramidTo128(VideoLaplacianPyramid & vid) + { + int nLayers = (int)vid.layers.size(); + for (int l = 0; l < nLayers - 1; ++l) { + vid.layers[l].volume += 128.0; + } + } + + PyramidLayer videoLaplacianBlending(sibr::Video & vidA, sibr::Video & vidB, PyramidLayer mask_volume) + { + int num_lvls = 6; + auto pyrA = sibr::buildVideoLaplacianPyramid(vidA, num_lvls); + auto pyrB = sibr::buildVideoLaplacianPyramid(vidB, num_lvls); + auto pyrM = sibr::buildVideoGaussianPyramid(mask_volume.volume, mask_volume.w, mask_volume.h, num_lvls); + + VideoLaplacianPyramid out; + for (int l = 0; l < num_lvls; ++l) { + sibr::PyramidLayer layer; + layer.w = pyrA.layers[l].w; + layer.h = pyrA.layers[l].h; + layer.l = pyrA.layers[l].l; + + cv::Mat A_lvl = pyrA.layers[l].volume; + cv::Mat B_lvl = pyrB.layers[l].volume; + cv::Mat M_lvl = pyrM.layers[l].volume; + + layer.volume = A_lvl.mul(M_lvl) + B_lvl.mul(1.0f - M_lvl); + out.layers.push_back(layer); + } + + return out.collapse(); + } + + PyramidLayer videoLaplacianBlending(PyramidLayer vidA, PyramidLayer vidB, PyramidLayer mask_volume, PyramidParameters params, bool show) + { + int num_lvls = params.num_levels; + + auto pyrA = sibr::buildVideoLaplacianPyramid(vidA, num_lvls, params, show); + auto pyrB = sibr::buildVideoLaplacianPyramid(vidB, num_lvls, params, show); + auto pyrM = sibr::buildVideoGaussianPyramid(mask_volume.volume, mask_volume.w, mask_volume.h, num_lvls, params, show); + + VideoLaplacianPyramid out; + out.params = params; + for (int l = 0; l < num_lvls; ++l) { + + std::cout << l << std::endl; + + sibr::PyramidLayer layer; + layer.w = pyrA.layers[l].w; + layer.h = pyrA.layers[l].h; + layer.l = pyrA.layers[l].l; + + cv::Mat A_lvl = pyrA.layers[l].volume; + cv::Mat B_lvl = pyrB.layers[l].volume; + cv::Mat M_lvl = pyrM.layers[l].volume; + + + cv::Mat rev_Mask = 255 - M_lvl; + sibr::PyramidLayer test(rev_Mask, pyrM.layers[l].w, pyrM.layers[l].h); + + //pyrA.layers[l].show(); + //pyrB.layers[l].show(); + //pyrM.layers[l].show(); + + //test.show(); + + cv::Mat normalized_mask = (1 / 255.0)*M_lvl; + cv::Mat normalized_mask_r = (1 / 255.0)*test.volume; + + layer.volume = A_lvl.mul(normalized_mask) + B_lvl.mul(normalized_mask_r); + //layer.show(); + + out.layers.push_back(layer); + } + + return out.collapse(); + } + + std::vector videoLaplacianBlendingContrib(PyramidLayer vidA, PyramidLayer vidB, PyramidLayer mask_volume, PyramidParameters params) + { + int num_lvls = params.num_levels; + + auto pyrA = sibr::buildVideoLaplacianPyramid(vidA, num_lvls, params); + auto pyrB = sibr::buildVideoLaplacianPyramid(vidB, num_lvls, params); + auto pyrM = sibr::buildVideoGaussianPyramid(mask_volume.volume, mask_volume.w, mask_volume.h, num_lvls, params); + + std::vector out(num_lvls); + + VideoLaplacianPyramid l_out; + l_out.params = params; + l_out.layers.resize(num_lvls); + +#pragma omp parallel for + for (int l = 0; l < num_lvls; ++l) { + + FullContribData data; + ContribData & data_s = data.scaled; + ContribData & data_ns = data.notScaled; + + sibr::PyramidLayer layer; + + layer.w = pyrA.layers[l].w; + layer.h = pyrA.layers[l].h; + layer.l = pyrA.layers[l].l; + + cv::Mat A_lvl = pyrA.layers[l].volume; + cv::Mat B_lvl = pyrB.layers[l].volume; + cv::Mat M_lvl = pyrM.layers[l].volume; + + cv::Mat rev_Mask = 255 - M_lvl; + sibr::PyramidLayer test(rev_Mask, pyrM.layers[l].w, pyrM.layers[l].h); + + cv::Mat normalized_mask = (1 / 255.0)*M_lvl; + cv::Mat normalized_mask_r = (1 / 255.0)*test.volume; + + layer.volume = A_lvl.mul(normalized_mask) + B_lvl.mul(normalized_mask_r); + l_out.layers[l] = layer; + + PyramidLayer mask = pyrM.layers[l]; + PyramidLayer partA = pyrA.layers[l]; + PyramidLayer partB = pyrB.layers[l]; + + data_ns.contrib = layer; + data_ns.mask = mask; + data_ns.partA = partA; + data_ns.partB = partB; + + for (int j = l - 1; j >= 0; --j) { + layer = upscale(pyrA.layers[j], layer, params); + mask = upscale(pyrA.layers[j], mask, params); + partA = upscale(pyrA.layers[j], partA, params); + partB = upscale(pyrA.layers[j], partB, params); + } + + data_s.contrib = layer; + data_s.mask = mask; + data_s.partA = partA; + data_s.partB = partB; + + out[l] = data; + } + + out[0].result = l_out.collapse(); + + return out; + } + + void videoLaplacianBlendingDebug(PyramidLayer vidA, PyramidLayer vidB, PyramidLayer mask_volume, PyramidParameters params) + { + int num_lvls = params.num_levels; + + auto pyrA = sibr::buildVideoLaplacianPyramid(vidA, num_lvls, params); + auto pyrB = sibr::buildVideoLaplacianPyramid(vidB, num_lvls, params); + auto pyrM = sibr::buildVideoGaussianPyramid(mask_volume.volume, mask_volume.w, mask_volume.h, num_lvls, params); + + VideoLaplacianPyramid out; + + //struct LayerData { + // int i; + //} data; + + + for (int l = 0; l < num_lvls; ++l) { + sibr::PyramidLayer layer; + layer.w = pyrA.layers[l].w; + layer.h = pyrA.layers[l].h; + layer.l = pyrA.layers[l].l; + + cv::Mat A_lvl = pyrA.layers[l].volume; + cv::Mat B_lvl = pyrB.layers[l].volume; + cv::Mat M_lvl = pyrM.layers[l].volume; + + layer.volume = A_lvl.mul(M_lvl) + B_lvl.mul(1.0f - M_lvl); + out.layers.push_back(layer); + } + + auto final_res = out.collapse(); + + } + + //int TimeHistogram::getModeId() const { + // return std::distance(bins.begin(), std::max_element(bins.begin(), bins.end())); + //} + +} diff --git a/SIBR_viewers/src/core/video/VideoUtils.hpp b/SIBR_viewers/src/core/video/VideoUtils.hpp new file mode 100644 index 0000000000..e79dac1f66 --- /dev/null +++ b/SIBR_viewers/src/core/video/VideoUtils.hpp @@ -0,0 +1,1138 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "Config.hpp" +#include +#include +#include "FFmpegVideoEncoder.hpp" + +namespace sibr { + + SIBR_VIDEO_EXPORT std::vector cvSplitChannels(cv::Mat mat); + + template + struct CV_Assign { + static void assignValue(uint c, const T & val, cv::Vec & vec) { + vec[c] = val; + } + }; + template + struct CV_Assign { + static void assignValue(uint c, const T & val, T & vec) { + vec = val; + } + }; + + template + cv::Mat cvConvertMatTo(cv::Mat mat, double scale = 1.0) { + if (mat.type() == getOpenCVtype) { + return mat; + } + + cv::Mat m, out; + const int nc = mat.channels(); + if (nc == N) { + m = mat; + } else { + std::vector in_channels = cvSplitChannels(mat), out_channels(N); + for (int i = 0; i < N; ++i) { + in_channels[i < nc ? i : (nc - 1)].copyTo(out_channels[i]); + } + cv::merge(out_channels, m); + } + + m.convertTo(out, getOpenCVtype, scale); + return out; + } + + template + class VideoVolume; + + using Volume3f = VideoVolume; + using Volume1f = VideoVolume; + using Volume4u = VideoVolume; + using Volume3u = VideoVolume; + using Volume1u = VideoVolume; + + /** + * \addtogroup sibr_video + * @{ + */ + template + class VideoVolume { + public: + using CVpixel = std::conditional_t>; + static const uint cv_type = getOpenCVtype; + + // data + int w = 0, h = 0, l = 0; + cv::Mat_ mat; + + // medthods + VideoVolume() {} + + VideoVolume(int _l, int _w, int _h) : l(_l), w(_w), h(_h) { + mat = cv::Mat_(l, w*h*N); + } + + VideoVolume(int _l, int _w, int _h, double value) : l(_l), w(_w), h(_h) { + mat = cv::Mat_(l, w*h*N, static_cast(value)); + } + + VideoVolume(cv::Mat other_volume, int _w, int _h) : w(_w), h(_h), l(other_volume.rows) { + if (other_volume.channels() * other_volume.cols * other_volume.rows != l*w*h*N) { + SIBR_ERR << l << " " << w << " " << h << " " << N << " : " << + other_volume.channels() << " " << other_volume.rows << " " << other_volume.cols << std::endl; + } + mat = other_volume; + } + + VideoVolume(const VideoVolume & other) : l(other.l) , w(other.w), h(other.h) { + mat = other.mat; + } + + template + void setupFrom(const VideoVolume & other) { + *this = VideoVolume(other.l, other.w, other.h); + } + + VideoVolume clone() const { + return VideoVolume(mat.clone(), w, h); + } + + template + VideoVolume convertTo() const { + VideoVolume out(l, w, h); + for (int f = 0; f < l; ++f) { + cvConvertMatTo(frame(f)).copyTo(out.frame(f)); + } + return out; + } + + void toggle(double d = 255) { + mat = d - mat; + } + + void shift(double d) { + mat += d; + } + void scale(double d) { + mat *= d; + } + template + void add(const VideoVolume & other) { + cv::add(mat, other.mat, mat, cv::noArray(), cv_type); + } + + template + void substract(const VideoVolume & other) { + cv::subtract(mat, other.mat, mat, cv::noArray(), cv_type); + } + + template + void multiply(const VideoVolume & other) { + for (int t = 0; t < l; ++t) { + cv::multiply(cvConvertMatTo(frame(t)), cvConvertMatTo(other.frame(t)), frame(t)); + } + } + + VideoVolume concat(const VideoVolume & other) const { + VideoVolume out(l + other.l, w, h); + mat.copyTo(out.mat.rowRange(0, l)); + other.mat.copyTo(out.mat.rowRange(l, l + other.l)); + return out; + } + + VideoVolume concatH(const VideoVolume & other) const { + VideoVolume out(l, w + other.w, h); +#pragma omp parallel for + for (int t = 0; t < l; ++t) { + cv::hconcat(std::vector>{frame(t), other.frame(t)}, out.frame(t)); + } + return out; + } + + VideoVolume applyMaskBinary(const Volume1u & mask) { + VideoVolume out = VideoVolume(l, w, h, 0); + for (int t = 0; t < l; ++t) { + frame(t).copyTo(out.frame(t), mask.frame(t)); + } + return out; + } + + VideoVolume swapRBchannels() const { + static_assert(N >= 3, "need 3 channels"); + VideoVolume out = VideoVolume(l, w, h, 0); + +#pragma omp parallel for + for (int t = 0; t < l; ++t) { + cv::cvtColor(frame(t), out.frame(t), cv::COLOR_BGR2RGB); + } + return out; + } + + template + VideoVolume applyMask(const VideoVolume & mask) { + VideoVolume out = VideoVolume(l, w, h); + for (int t = 0; t < l; ++t) { + cv::multiply(cvConvertMatTo(frame(t)), cvConvertMatTo(mask.frame(t)), out.frame(t), 1 / 255.0); + } + return out; + } + + template + void applyMaskInPlace(const VideoVolume & mask) { + for (int t = 0; t < l; ++t) { + cv::multiply(cvConvertMatTo(frame(t)), cvConvertMatTo(mask.frame(t)), frame(t), 1 / 255.0); + } + } + + VideoVolume cutFrames(int numBefore, int numAfter) { + int diff = l - (numBefore + numAfter); + assert(diff >= 0); + + VideoVolume out(diff, w, h); + mat(cv::Rect(0, numBefore, w*h*N, diff)).copyTo(out.mat); + return out; + } + + VideoVolume colorMapped(int colormap, double scaling = 1.0) { + + int custom_colormap_size; + /* + //twilight + static const float r[] = { 0.88575015840754434f, 0.88378520195539056f, 0.88172231059285788f, 0.8795410528270573f, 0.87724880858965482f, 0.87485347508575972f, 0.87233134085124076f, 0.86970474853509816f, 0.86696015505333579f, 0.86408985081463996f, 0.86110245436899846f, 0.85798259245670372f, 0.85472593189256985f, 0.85133714570857189f, 0.84780710702577922f, 0.8441261828674842f, 0.84030420805957784f, 0.83634031809191178f, 0.83222705712934408f, 0.82796894316013536f, 0.82357429680252847f, 0.81904654677937527f, 0.81438982121143089f, 0.8095999819094809f, 0.80469164429814577f, 0.79967075421267997f, 0.79454305089231114f, 0.78931445564608915f, 0.78399101042764918f, 0.77857892008227592f, 0.77308416590170936f, 0.76751108504417864f, 0.76186907937980286f, 0.75616443584381976f, 0.75040346765406696f, 0.74459247771890169f, 0.73873771700494939f, 0.73284543645523459f, 0.72692177512829703f, 0.72097280665536778f, 0.71500403076252128f, 0.70902078134539304f, 0.7030297722540817f, 0.6970365443886174f, 0.69104641009309098f, 0.68506446154395928f, 0.67909554499882152f, 0.67314422559426212f, 0.66721479803752815f, 0.6613112930078745f, 0.65543692326454717f, 0.64959573004253479f, 0.6437910831099849f, 0.63802586828545982f, 0.6323027138710603f, 0.62662402022604591f, 0.62099193064817548f, 0.61540846411770478f, 0.60987543176093062f, 0.60439434200274855f, 0.5989665814482068f, 0.59359335696837223f, 0.58827579780555495f, 0.58301487036932409f, 0.5778116438998202f, 0.5726668948158774f, 0.56758117853861967f, 0.56255515357219343f, 0.55758940419605174f, 0.55268450589347129f, 0.54784098153018634f, 0.54305932424018233f, 0.53834015575176275f, 0.53368389147728401f, 0.529090861832473f, 0.52456151470593582f, 0.52009627392235558f, 0.5156955988596057f, 0.51135992541601927f, 0.50708969576451657f, 0.5028853540415561f, 0.49874733661356069f, 0.4946761847863938f, 0.49067224938561221f, 0.4867359599430568f, 0.4828677867260272f, 0.47906816236197386f, 0.47533752394906287f, 0.47167629518877091f, 0.46808490970531597f, 0.46456376716303932f, 0.46111326647023881f, 0.45773377230160567f, 0.45442563977552913f, 0.45118918687617743f, 0.44802470933589172f, 0.44493246854215379f, 0.44191271766696399f, 0.43896563958048396f, 0.43609138958356369f, 0.43329008867358393f, 0.43056179073057571f, 0.42790652284925834f, 0.42532423665011354f, 0.42281485675772662f, 0.42037822361396326f, 0.41801414079233629f, 0.4157223260454232f, 0.41350245743314729f, 0.41135414697304568f, 0.4092768899914751f, 0.40727018694219069f, 0.40533343789303178f, 0.40346600333905397f, 0.40166714010896104f, 0.39993606933454834f, 0.3982719152586337f, 0.39667374905665609f, 0.39514058808207631f, 0.39367135736822567f, 0.39226494876209317f, 0.39092017571994903f, 0.38963580160340855f, 0.38841053300842432f, 0.38724301459330251f, 0.38613184178892102f, 0.38507556793651387f, 0.38407269378943537f, 0.38312168084402748f, 0.38222094988570376f, 0.38136887930454161f, 0.38056380696565623f, 0.37980403744848751f, 0.37908789283110761f, 0.378413635091359f, 0.37777949753513729f, 0.37718371844251231f, 0.37662448930806297f, 0.37610001286385814f, 0.37560846919442398f, 0.37514802505380473f, 0.37471686019302231f, 0.37431313199312338f, 0.37393499330475782f, 0.3735806215098284f, 0.37324816143326384f, 0.37293578646665032f, 0.37264166757849604f, 0.37236397858465387f, 0.37210089702443822f, 0.3718506155898596f, 0.37161133234400479f, 0.37138124223736607f, 0.37115856636209105f, 0.37094151551337329f, 0.37072833279422668f, 0.37051738634484427f, 0.37030682071842685f, 0.37009487130772695f, 0.36987980329025361f, 0.36965987626565955f, 0.36943334591276228f, 0.36919847837592484f, 0.36895355306596778f, 0.36869682231895268f, 0.36842655638020444f, 0.36814101479899719f, 0.36783843696531082f, 0.36751707094367697f, 0.36717513650699446f, 0.36681085540107988f, 0.36642243251550632f, 0.36600853966739794f, 0.36556698373538982f, 0.36509579845886808f, 0.36459308890125008f, 0.36405693022088509f, 0.36348537610385145f, 0.36287643560041027f, 0.36222809558295926f, 0.36153829010998356f, 0.36080493826624654f, 0.36002681809096376f, 0.35920088560930186f, 0.35832489966617809f, 0.35739663292915563f, 0.35641381143126327f, 0.35537415306906722f, 0.35427534960663759f, 0.35311574421123737f, 0.35189248608873791f, 0.35060304441931012f, 0.34924513554955644f, 0.34781653238777782f, 0.34631507175793091f, 0.34473901574536375f, 0.34308600291572294f, 0.34135411074506483f, 0.33954168752669694f, 0.33764732090671112f, 0.33566978565015315f, 0.33360804901486002f, 0.33146154891145124f, 0.32923005203231409f, 0.3269137124539796f, 0.32451307931207785f, 0.32202882276069322f, 0.31946262395497965f, 0.31681648089023501f, 0.31409278414755532f, 0.31129434479712365f, 0.30842444457210105f, 0.30548675819945936f, 0.30248536364574252f, 0.29942483960214772f, 0.29631000388905288f, 0.29314593096985248f, 0.28993792445176608f, 0.28669151388283165f, 0.28341239797185225f, 0.28010638576975472f, 0.27677939615815589f, 0.27343739342450812f, 0.27008637749114051f, 0.26673233211995284f, 0.26338121807151404f, 0.26003895187439957f, 0.25671191651083902f, 0.25340685873736807f, 0.25012845306199383f, 0.24688226237958999f, 0.24367372557466271f, 0.24050813332295939f, 0.23739062429054825f, 0.23433055727563878f, 0.23132955273021344f, 0.2283917709422868f, 0.22552164337737857f, 0.22272706739121817f, 0.22001251100779617f, 0.21737845072382705f, 0.21482843531473683f, 0.21237411048541005f, 0.21001214221188125f, 0.2077442377448806f, 0.20558051999470117f, 0.20352007949514977f, 0.20156133764129841f, 0.19971571438603364f, 0.19794834061899208f, 0.1960826032659409f, 0.19410351363791453f, 0.19199449184606268f, 0.18975853639094634f, 0.18739228342697645f, 0.18488035509396164f, 0.18774482037046955f, 0.19049578401722037f, 0.1931548636579131f, 0.19571853588267552f, 0.19819343656336558f, 0.20058760685133747f, 0.20290365333558247f, 0.20531725273301316f, 0.20785704662965598f, 0.21052882914958676f, 0.2133313859647627f, 0.21625279838647882f, 0.21930503925136402f, 0.22247308588973624f, 0.2257539681670791f, 0.22915620278592841f, 0.23266299920501882f, 0.23627495835774248f, 0.23999586188690308f, 0.24381149720247919f, 0.24772092990501099f, 0.25172899728289466f, 0.25582135547481771f, 0.25999463887892144f, 0.26425512207060942f, 0.26859095948172862f, 0.27299701518897301f, 0.27747150809142801f, 0.28201746297366942f, 0.28662309235899847f, 0.29128515387578635f, 0.2960004726065818f, 0.30077276812918691f, 0.30559226007249934f, 0.31045520848595526f, 0.31535870009205808f, 0.32029986557994061f, 0.32527888860401261f, 0.33029174471181438f, 0.33533353224455448f, 0.34040164359597463f, 0.34549355713871799f, 0.35060678246032478f, 0.35573889947341125f, 0.36088752387578377f, 0.36605031412464006f, 0.37122508431309342f, 0.3764103053221462f, 0.38160247377467543f, 0.38679939079544168f, 0.39199887556812907f, 0.39719876876325577f, 0.40239692379737496f, 0.40759120392688708f, 0.41277985630360303f, 0.41796105205173684f, 0.42313214269556043f, 0.42829101315789753f, 0.4334355841041439f, 0.43856378187931538f, 0.44367358645071275f, 0.44876299173174822f, 0.45383005086999889f, 0.45887288947308297f, 0.46389102840284874f, 0.46888111384598413f, 0.473841437035254f, 0.47877034239726296f, 0.48366628618847957f, 0.48852847371852987f, 0.49335504375145617f, 0.49814435462074153f, 0.50289524974970612f, 0.50760681181053691f, 0.51227835105321762f, 0.51690848800544464f, 0.52149652863229956f, 0.52604189625477482f, 0.53054420489856446f, 0.5350027976174474f, 0.53941736649199057f, 0.54378771313608565f, 0.54811370033467621f, 0.55239521572711914f, 0.55663229034969341f, 0.56082499039117173f, 0.56497343529017696f, 0.56907784784011428f, 0.57313845754107873f, 0.57715550812992045f, 0.58112932761586555f, 0.58506024396466882f, 0.58894861935544707f, 0.59279480536520257f, 0.59659918109122367f, 0.60036213010411577f, 0.60408401696732739f, 0.60776523994818654f, 0.6114062072731884f, 0.61500723236391375f, 0.61856865258877192f, 0.62209079821082613f, 0.62557416500434959f, 0.62901892016985872f, 0.63242534854210275f, 0.6357937104834237f, 0.6391243387840212f, 0.642417577481186f, 0.64567349382645434f, 0.64889230169458245f, 0.65207417290277303f, 0.65521932609327127f, 0.6583280801134499f, 0.66140037532601781f, 0.66443632469878844f, 0.66743603766369131f, 0.67039959547676198f, 0.67332725564817331f, 0.67621897924409746f, 0.67907474028157344f, 0.68189457150944521f, 0.68467850942494535f, 0.68742656435169625f, 0.6901389321505248f, 0.69281544846764931f, 0.69545608346891119f, 0.6980608153581771f, 0.70062962477242097f, 0.70316249458814151f, 0.70565951122610093f, 0.70812059568420482f, 0.7105456546582587f, 0.71293466839773467f, 0.71528760614847287f, 0.71760444908133847f, 0.71988521490549851f, 0.7221299918421461f, 0.72433865647781592f, 0.72651122900227549f, 0.72864773856716547f, 0.73074820754845171f, 0.73281270506268747f, 0.73484133598564938f, 0.73683422173585866f, 0.73879140024599266f, 0.74071301619506091f, 0.7425992159973317f, 0.74445018676570673f, 0.74626615789163442f, 0.74804739275559562f, 0.74979420547170472f, 0.75150685045891663f, 0.75318566369046569f, 0.75483105066959544f, 0.75644341577140706f, 0.75802325538455839f, 0.75957111105340058f, 0.7610876378057071f, 0.76257333554052609f, 0.76402885609288662f, 0.76545492593330511f, 0.76685228950643891f, 0.76822176599735303f, 0.7695642334401418f, 0.77088091962302474f, 0.77217257229605551f, 0.77344021829889886f, 0.77468494746063199f, 0.77590790730685699f, 0.7771103295521099f, 0.77829345807633121f, 0.77945862731506643f, 0.78060774749483774f, 0.78174180478981836f, 0.78286225264440912f, 0.78397060836414478f, 0.78506845019606841f, 0.78615737132332963f, 0.78723904108188347f, 0.78831514045623963f, 0.78938737766251943f, 0.79045776847727878f, 0.79152832843475607f, 0.79260034304237448f, 0.79367559698664958f, 0.79475585972654039f, 0.79584292379583765f, 0.79693854719951607f, 0.79804447815136637f, 0.7991624518501963f, 0.80029415389753977f, 0.80144124292560048f, 0.80260531146112946f, 0.80378792531077625f, 0.80499054790810298f, 0.80621460526927058f, 0.8074614045096935f, 0.80873219170089694f, 0.81002809466520687f, 0.81135014011763329f, 0.81269922039881493f, 0.81407611046993344f, 0.81548146627279483f, 0.81691575775055891f, 0.81837931164498223f, 0.81987230650455289f, 0.8213947205565636f, 0.82294635110428427f, 0.8245268129450285f, 0.82613549710580259f, 0.8277716072353446f, 0.82943407816481474f, 0.83112163529096306f, 0.83283277185777982f, 0.8345656905566583f, 0.83631898844737929f, 0.83809123476131964f, 0.83987839884120874f, 0.84167750766845151f, 0.84348529222933699f, 0.84529810731955113f, 0.84711195507965098f, 0.84892245563117641f, 0.85072697023178789f, 0.85251907207708444f, 0.85429219611470464f, 0.85604022314725403f, 0.85775662943504905f, 0.8594346370300241f, 0.86107117027565516f, 0.86265601051127572f, 0.86418343723941027f, 0.86564934325605325f, 0.86705314907048503f, 0.86839954695818633f, 0.86969131502613806f, 0.87093846717297507f, 0.87215331978454325f, 0.87335171360916275f, 0.87453793320260187f, 0.87571458709961403f, 0.87687848451614692f, 0.87802298436649007f, 0.87913244240792765f, 0.88019293315695812f, 0.88119169871341951f, 0.88211542489401606f, 0.88295168595448525f, 0.88369127145898041f, 0.88432713054113543f, 0.88485138159908572f, 0.88525897972630474f, 0.88554714811952384f, 0.88571155122845646f }; + static const float g[] = { 0.85000924943067835f, 0.85072940540310626f, 0.85127594077653468f, 0.85165675407495722f, 0.85187028338870274f, 0.85191526123023187f, 0.85180165478080894f, 0.85152403004797894f, 0.8510896085314068f, 0.85050391167507788f, 0.84976754857001258f, 0.84888934810281835f, 0.84787488124672816f, 0.84672735796116472f, 0.8454546229209523f, 0.84406482711037389f, 0.8425605950855084f, 0.84094796518951942f, 0.83923490627754482f, 0.83742600751395202f, 0.83552487764795436f, 0.8335364929949034f, 0.83146558694197847f, 0.82931896673505456f, 0.82709838780560663f, 0.82480781812080928f, 0.82245116226304615f, 0.82003213188702007f, 0.81755426400533426f, 0.81502089378742548f, 0.81243524735466011f, 0.8098007598713145f, 0.80711949387647486f, 0.80439408733477935f, 0.80162699008965321f, 0.79882047719583249f, 0.79597665735031009f, 0.79309746468844067f, 0.7901846863592763f, 0.78723995923452639f, 0.78426487091581187f, 0.78126088716070907f, 0.77822904973358131f, 0.77517050008066057f, 0.77208629460678091f, 0.7689774029354699f, 0.76584472131395898f, 0.76268908733890484f, 0.7595112803730375f, 0.75631202708719025f, 0.75309208756768431f, 0.74985201221941766f, 0.7465923800833657f, 0.74331376714033193f, 0.74001672160131404f, 0.73670175403699445f, 0.73336934798923203f, 0.73001995232739691f, 0.72665398759758293f, 0.7232718614323369f, 0.71987394892246725f, 0.7164606049658685f, 0.71303214646458135f, 0.70958887676997473f, 0.70613106157153982f, 0.7026589535425779f, 0.69917279302646274f, 0.69567278381629649f, 0.69215911458254054f, 0.68863194515166382f, 0.68509142218509878f, 0.68153767253065878f, 0.67797081129095405f, 0.67439093705212727f, 0.67079812302806219f, 0.66719242996142225f, 0.66357391434030388f, 0.65994260812897998f, 0.65629853981831865f, 0.65264172403146448f, 0.64897216734095264f, 0.6452898684900934f, 0.64159484119504429f, 0.63788704858847078f, 0.63416646251100506f, 0.6304330455306234f, 0.62668676251860134f, 0.62292757283835809f, 0.61915543242884641f, 0.61537028695790286f, 0.61157208822864151f, 0.607760777169989f, 0.60393630046586455f, 0.60009859503858665f, 0.59624762051353541f, 0.59238331452146575f, 0.5885055998308617f, 0.58461441100175571f, 0.58070969241098491f, 0.57679137998186081f, 0.57285941625606673f, 0.56891374572457176f, 0.5649543060909209f, 0.56098104959950301f, 0.55699392126996583f, 0.55299287158108168f, 0.54897785421888889f, 0.54494882715350401f, 0.54090574771098476f, 0.53684857765005933f, 0.53277730177130322f, 0.52869188011057411f, 0.52459228174983119f, 0.52047847653840029f, 0.51635044969688759f, 0.51220818143218516f, 0.50805166539276136f, 0.50388089053847973f, 0.49969585326377758f, 0.49549655777451179f, 0.49128300332899261f, 0.48705520251223039f, 0.48281316715123496f, 0.47855691131792805f, 0.47428645933635388f, 0.4700018340988123f, 0.46570306719930193f, 0.46139018782416635f, 0.45706323581407199f, 0.45272225034283325f, 0.44836727669277859f, 0.44399837208633719f, 0.43961558821222629f, 0.43521897612544935f, 0.43080859411413064f, 0.4263845142616835f, 0.42194680223454828f, 0.41749553747893614f, 0.41303079952477062f, 0.40855267638072096f, 0.4040612609993941f, 0.3995566498711684f, 0.39503894828283309f, 0.39050827529375831f, 0.38596474386057539f, 0.38140848555753937f, 0.37683963835219841f, 0.37225835004836849f, 0.36766477862108266f, 0.36305909736982378f, 0.35844148285875221f, 0.3538121372967869f, 0.34917126878479027f, 0.34451911410230168f, 0.33985591488818123f, 0.33518193808489577f, 0.33049741244307851f, 0.32580269697872455f, 0.3210981375964933f, 0.31638410101153364f, 0.31166098762951971f, 0.30692923551862339f, 0.30218932176507068f, 0.29744175492366276f, 0.29268709856150099f, 0.28792596437778462f, 0.28315901221182987f, 0.27838697181297761f, 0.27361063317090978f, 0.26883085667326956f, 0.26404857724525643f, 0.25926481158628106f, 0.25448043878086224f, 0.24969683475296395f, 0.24491536803550484f, 0.24013747024823828f, 0.23536470386204195f, 0.23059876218396419f, 0.22584149293287031f, 0.22109488427338303f, 0.21636111429594002f, 0.21164251793458128f, 0.20694122817889948f, 0.20226037920758122f, 0.197602942459778f, 0.19297208197842461f, 0.18837119869242164f, 0.18380392577704466f, 0.17927413271618647f, 0.17478570377561287f, 0.17034320478524959f, 0.16595129984720861f, 0.16161477763045118f, 0.15733863511152979f, 0.15312802296627787f, 0.14898820589826409f, 0.14492465359918028f, 0.1409427920655632f, 0.13704801896718169f, 0.13324562282438077f, 0.12954074251271822f, 0.12593818301005921f, 0.12244245263391232f, 0.11905764321981127f, 0.1157873496841953f, 0.11263459791730848f, 0.10960114111258401f, 0.10668879882392659f, 0.10389861387653518f, 0.10123077676403242f, 0.098684771934052201f, 0.096259385340577736f, 0.093952764840823738f, 0.091761187397303601f, 0.089682253716750038f, 0.087713250960463951f, 0.085850656889620708f, 0.08409078829085731f, 0.082429873848480689f, 0.080864153365499375f, 0.079389994802261526f, 0.078003941033788216f, 0.076702800237496066f, 0.075483675584275545f, 0.074344018028546205f, 0.073281657939897077f, 0.072294781043362205f, 0.071380106242082242f, 0.070533582926851829f, 0.069758206429106989f, 0.069053639449204451f, 0.068419855150922693f, 0.067857103814855602f, 0.067365888050555517f, 0.066935599661639394f, 0.066576186939090592f, 0.06628997924139618f, 0.066078173119395595f, 0.065933790675651943f, 0.065857918918907604f, 0.065859661233562045f, 0.065940385613778491f, 0.066085024661758446f, 0.066308573918947178f, 0.06661453200418091f, 0.066990462397868739f, 0.067444179612424215f, 0.067983271026200248f, 0.068592710553704722f, 0.069314066071660657f, 0.070321227242423623f, 0.071608304856891569f, 0.073182830649273306f, 0.075019861862143766f, 0.077102096899588329f, 0.079425730279723883f, 0.077251588468039312f, 0.075311278416787641f, 0.073606819040117955f, 0.072157781039602742f, 0.070974625252738788f, 0.070064576149984209f, 0.069435248580458964f, 0.068919592266397572f, 0.068484398797025281f, 0.06812195249816172f, 0.067830148426026665f, 0.067616330270516389f, 0.067465786362940039f, 0.067388214053092838f, 0.067382132300147474f, 0.067434730871152565f, 0.067557104388479783f, 0.06774359820987802f, 0.067985029964779953f, 0.068289851529011875f, 0.068653337909486523f, 0.069064630826035506f, 0.06953231029187984f, 0.070053855603861875f, 0.070616595622995437f, 0.071226716277922458f, 0.071883555446163511f, 0.072582969899254779f, 0.073315693214040967f, 0.074088460826808866f, 0.074899049847466703f, 0.075745336000958424f, 0.076617824336164764f, 0.077521963107537312f, 0.078456871676182177f, 0.079420997315243186f, 0.080412994737554838f, 0.081428390076546092f, 0.08246763389003825f, 0.083532434119003962f, 0.084622236191702671f, 0.085736654965126335f, 0.08687555176033529f, 0.088038974350243354f, 0.089227194362745205f, 0.090440685427697898f, 0.091679997480262732f, 0.092945198093777909f, 0.094238731263712183f, 0.09556181960083443f, 0.09691583650296684f, 0.098302320968278623f, 0.099722930314950553f, 0.10117945586419633f, 0.1026734006932461f, 0.10420644885760968f, 0.10578120994917611f, 0.1073997763055258f, 0.1090642347484701f, 0.11077667828375456f, 0.11253912421257944f, 0.11435355574622549f, 0.11622183788331528f, 0.11814571137706886f, 0.12012561256850712f, 0.12216445576414045f, 0.12426354237989065f, 0.12642401401409453f, 0.12864679022013889f, 0.13093210934893723f, 0.13328091630401023f, 0.13569380302451714f, 0.13817086581280427f, 0.14071192654913128f, 0.14331656120063752f, 0.14598463068714407f, 0.14871544765633712f, 0.15150818660835483f, 0.15436183633886777f, 0.15727540775107324f, 0.16024769309971934f, 0.16327738551419116f, 0.1663630904279047f, 0.16950338809328983f, 0.17269677158182117f, 0.17594170887918095f, 0.17923664950367169f, 0.18258004462335425f, 0.18597036007065024f, 0.18940601489760422f, 0.19288548904692518f, 0.19640737049066315f, 0.19997020971775276f, 0.20357251410079796f, 0.207212956082026f, 0.21089030138947745f, 0.21460331490206347f, 0.21835070166659282f, 0.22213124697023234f, 0.22594402043981826f, 0.22978799249179921f, 0.2336621873300741f, 0.23756535071152696f, 0.24149689191922535f, 0.24545598775548677f, 0.24944185818822678f, 0.25345365461983138f, 0.257490519876798f, 0.26155203161615281f, 0.26563755336209077f, 0.26974650525236699f, 0.27387826652410152f, 0.27803210957665631f, 0.28220778870555907f, 0.28640483614256179f, 0.29062280081258873f, 0.29486126309253047f, 0.29911962764489264f, 0.30339762792450425f, 0.30769497879760166f, 0.31201133280550686f, 0.31634634821222207f, 0.32069970535138104f, 0.32507091815606004f, 0.32945984647042675f, 0.33386622163232865f, 0.33828976326048621f, 0.34273019305341756f, 0.34718723719597999f, 0.35166052978120937f, 0.35614985523380299f, 0.36065500290840113f, 0.36517570519856757f, 0.36971170225223449f, 0.37426272710686193f, 0.37882848839337313f, 0.38340864508963057f, 0.38800301593162145f, 0.3926113126792577f, 0.39723324476747235f, 0.401868526884681f, 0.4065168468778026f, 0.41117787004519513f, 0.41585125850290111f, 0.42053672992315327f, 0.4252339389526239f, 0.42994254036133867f, 0.43466217184617112f, 0.43939245044973502f, 0.44413297780351974f, 0.44888333481548809f, 0.45364314496866825f, 0.45841199172949604f, 0.46318942799460555f, 0.46797501437948458f, 0.4727682731566229f, 0.47756871222057079f, 0.48237579130289127f, 0.48718906673415824f, 0.49200802533379656f, 0.49683212909727231f, 0.5016608471009063f, 0.50649362371287909f, 0.5113298901696085f, 0.51616892643469103f, 0.5210102658711383f, 0.52585332093451564f, 0.53069749384776732f, 0.53554217882461186f, 0.54038674910561235f, 0.54523059488426595f, 0.55007308413977274f, 0.55491335744890613f, 0.55975098052594863f, 0.56458533111166875f, 0.56941578326710418f, 0.5742417003617839f, 0.5790624629815756f, 0.58387743744557208f, 0.58868600173562435f, 0.5934875421745599f, 0.59828134277062461f, 0.60306670593147205f, 0.60784322087037024f, 0.61261029334072192f, 0.61736734400220705f, 0.62211378808451145f, 0.62684905679296699f, 0.63157258225089552f, 0.63628379372029187f, 0.64098213306749863f, 0.64566703459218766f, 0.65033793748103852f, 0.65499426549472628f, 0.65963545027564163f, 0.66426089585282289f, 0.6688700095398864f, 0.67346216702194517f, 0.67803672673971815f, 0.68259301546243389f, 0.68713033714618876f, 0.69164794791482131f, 0.69614505508308089f, 0.70062083014783982f, 0.70507438189635097f, 0.70950474978787481f, 0.7139109141951604f, 0.71829177331290062f, 0.72264614312088882f, 0.72697275518238258f, 0.73127023324078089f, 0.7355371221572935f, 0.73977184647638616f, 0.74397271817459876f, 0.7481379479992134f, 0.75226548952875261f, 0.75635314860808633f, 0.76039907199779677f, 0.76440101200982946f, 0.76835660399870176f, 0.77226338601044719f, 0.77611880236047159f, 0.77992021407650147f, 0.78366457342383888f, 0.78734936133548439f, 0.79097196777091994f, 0.79452963601550608f, 0.79801963142713928f, 0.8014392309950078f, 0.80478517909812231f, 0.80805523804261525f, 0.81124644224653542f, 0.81435544067514909f, 0.81737804041911244f, 0.82030875512181523f, 0.82314158859569164f, 0.82586857889438514f, 0.82848052823709672f, 0.83096715251272624f, 0.83331972948645461f, 0.8355302318472394f, 0.83759238071186537f, 0.83950165618540074f, 0.84125554884475906f, 0.84285224824778615f, 0.84429066717717349f, 0.84557007254559347f, 0.84668970275699273f, 0.84764891761519268f, 0.84844741572055415f, 0.84908426422893801f, 0.84955892810989209f, 0.84987174283631584f, 0.85002186115856315f }; + static const float b[] = { 0.8879736506427196f, 0.88723222096949894f, 0.88638056925514819f, 0.8854143767924102f, 0.88434120381311432f, 0.88316926967613829f, 0.88189704355001619f, 0.88053883390003362f, 0.87909766977173343f, 0.87757925784892632f, 0.87599242923439569f, 0.87434038553446281f, 0.8726282980930582f, 0.87086081657350445f, 0.86904036783694438f, 0.86716973322690072f, 0.865250882410458f, 0.86328528001070159f, 0.86127563500427884f, 0.85922399451306786f, 0.85713191328514948f, 0.85500206287010105f, 0.85283759062147024f, 0.85064441601050367f, 0.84842449296974021f, 0.84618210029578533f, 0.84392184786827984f, 0.8416486380471222f, 0.83936747464036732f, 0.8370834463093898f, 0.83480172950579679f, 0.83252816638059668f, 0.830266486168872f, 0.82802138994719998f, 0.82579737851082424f, 0.82359867586156521f, 0.82142922780433014f, 0.81929263384230377f, 0.81719217466726379f, 0.81513073920879264f, 0.81311116559949914f, 0.81113591855117928f, 0.80920618848056969f, 0.80732335380063447f, 0.80548841690679074f, 0.80370206267176914f, 0.8019646617300199f, 0.80027628545809526f, 0.79863674654537764f, 0.7970456043491897f, 0.79550271129031047f, 0.79400674021499107f, 0.79255653201306053f, 0.79115100459573173f, 0.78978892762640429f, 0.78846901316334561f, 0.78718994624696581f, 0.78595022706750484f, 0.78474835732694714f, 0.78358295593535587f, 0.78245259899346642f, 0.78135588237640097f, 0.78029141405636515f, 0.77925781820476592f, 0.77825345121025524f, 0.77727702680911992f, 0.77632748534275298f, 0.77540359142309845f, 0.7745041337932782f, 0.7736279426902245f, 0.77277386473440868f, 0.77194079697835083f, 0.77112734439057717f, 0.7703325054879735f, 0.76955552292313134f, 0.76879541714230948f, 0.76805119403344102f, 0.76732191489596169f, 0.76660663780645333f, 0.76590445660835849f, 0.76521446718174913f, 0.76453578734180083f, 0.76386719002130909f, 0.76320812763163837f, 0.76255780085924041f, 0.76191537149895305f, 0.76128000375662419f, 0.76065085571817748f, 0.76002709227883047f, 0.75940789891092741f, 0.75879242623025811f, 0.75817986436807139f, 0.75756936901859162f, 0.75696013660606487f, 0.75635120643246645f, 0.75574176474107924f, 0.7551311041857901f, 0.75451838884410671f, 0.75390276208285945f, 0.7532834105961016f, 0.75265946532566674f, 0.75203008099312696f, 0.75139443521914839f, 0.75075164989005116f, 0.75010086988227642f, 0.7494412559451894f, 0.74877193167001121f, 0.74809204459000522f, 0.74740073297543086f, 0.74669712855065784f, 0.74598030635707824f, 0.74524942637581271f, 0.74450365836708132f, 0.74374215223567086f, 0.7429640345324835f, 0.74216844571317986f, 0.74135450918099721f, 0.74052138580516735f, 0.73966820211715711f, 0.738794102296364f, 0.73789824784475078f, 0.73697977133881254f, 0.73603782546932739f, 0.73507157641157261f, 0.73408016787854391f, 0.7330627749243106f, 0.73201854033690505f, 0.73094665432902683f, 0.72984626791353258f, 0.72871656144003782f, 0.72755671317141346f, 0.72636587045135315f, 0.72514323778761092f, 0.72388798691323131f, 0.72259931993061044f, 0.72127639993530235f, 0.71991841524475775f, 0.71852454736176108f, 0.71709396919920232f, 0.71562585091587549f, 0.7141193695725726f, 0.71257368516500463f, 0.71098796522377461f, 0.70936134293478448f, 0.70769297607310577f, 0.70598200974806036f, 0.70422755780589941f, 0.7024287314570723f, 0.70058463496520773f, 0.69869434615073722f, 0.69675695810256544f, 0.69477149919380887f, 0.69273703471928827f, 0.69065253586464992f, 0.68851703379505125f, 0.68632948169606767f, 0.68408888788857214f, 0.68179411684486679f, 0.67944405399056851f, 0.67703755438090574f, 0.67457344743419545f, 0.67205052849120617f, 0.66946754331614522f, 0.66682322089824264f, 0.66411625298236909f, 0.66134526910944602f, 0.65850888806972308f, 0.65560566838453704f, 0.65263411711618635f, 0.64959272297892245f, 0.64647991652908243f, 0.64329409140765537f, 0.64003361803368586f, 0.63669675187488584f, 0.63328173520055586f, 0.62978680155026101f, 0.62621013451953023f, 0.62254988622392882f, 0.61880417410823019f, 0.61497112346096128f, 0.61104880679640927f, 0.60703532172064711f, 0.60292845431916875f, 0.5987265295935138f, 0.59442768517501066f, 0.59003011251063131f, 0.5855320765920552f, 0.58093191431832802f, 0.57622809660668717f, 0.57141871523555288f, 0.56650284911216653f, 0.56147964703993225f, 0.55634837474163779f, 0.55110853452703257f, 0.5457599924248665f, 0.54030245920406539f, 0.53473704282067103f, 0.52906500940336754f, 0.52328797535085236f, 0.51740807573979475f, 0.51142807215168951f, 0.50535164796654897f, 0.49918274588431072f, 0.49292595612342666f, 0.48658646495697461f, 0.48017007211645196f, 0.47368494725726878f, 0.46713728801395243f, 0.46053414662739794f, 0.45388335612058467f, 0.44719313715161618f, 0.44047194882050544f, 0.43372849999361113f, 0.42697404043749887f, 0.42021619665853854f, 0.41346259134143476f, 0.40672178082365834f, 0.40000214725256295f, 0.39331182532243375f, 0.38665868550105914f, 0.38005028528138707f, 0.37349382846504675f, 0.36699616136347685f, 0.36056376228111864f, 0.35420276066240958f, 0.34791888996380105f, 0.3417175669546984f, 0.33560648984600089f, 0.3295945757321303f, 0.32368100685760637f, 0.31786993834254956f, 0.31216524050888372f, 0.30657054493678321f, 0.30108922184065873f, 0.29574009929867601f, 0.29051361067988485f, 0.28541074411068496f, 0.28043398847505197f, 0.27559714652053702f, 0.27090279994325861f, 0.26634209349669508f, 0.26191675992376573f, 0.25765165093569542f, 0.2535289048041211f, 0.24954644291943817f, 0.24572497420147632f, 0.24205576625191821f, 0.23852974228695395f, 0.23517094067076993f, 0.23194647381302336f, 0.22874673279569585f, 0.22558727307410353f, 0.22243385243433622f, 0.2193005075652994f, 0.21618875376309582f, 0.21307651648984993f, 0.21387448578597812f, 0.2146562337112265f, 0.21542362939081539f, 0.21617499187076789f, 0.21690975060032436f, 0.21762721310371608f, 0.21833167885096033f, 0.21911516689288835f, 0.22000133917653536f, 0.22098759107715404f, 0.22207043213024291f, 0.22324568672294431f, 0.22451023616807558f, 0.22585960379408354f, 0.22728984778098055f, 0.22879681433956656f, 0.23037617493752832f, 0.23202360805926608f, 0.23373434258507808f, 0.23550427698321885f, 0.2373288009471749f, 0.23920260612763083f, 0.24112190491594204f, 0.24308218808684579f, 0.24507758869355967f, 0.24710443563450618f, 0.24915847093232929f, 0.25123493995942769f, 0.25332800295084507f, 0.25543478673717029f, 0.25755101595750435f, 0.25967245030364566f, 0.26179294097819672f, 0.26391006692119662f, 0.2660200572779356f, 0.26811904076941961f, 0.27020322893039511f, 0.27226772884656186f, 0.27430929404579435f, 0.27632534356790039f, 0.27831254595259397f, 0.28026769921081435f, 0.28218770540182386f, 0.2840695897279818f, 0.28591050458531014f, 0.2877077458811747f, 0.28945865397633169f, 0.29116024157313919f, 0.29281107506269488f, 0.29440901248173756f, 0.29595212005509081f, 0.29743856476285779f, 0.29886674369733968f, 0.30023519507728602f, 0.30154226437468967f, 0.30278652039631843f, 0.3039675809469457f, 0.30508479060294547f, 0.30613767928289148f, 0.30712600062348083f, 0.30804973095465449f, 0.30890905921943196f, 0.30970441249844921f, 0.31043636979038808f, 0.31110343446582983f, 0.31170911458932665f, 0.31225470169927194f, 0.31274172735821959f, 0.31317188565991266f, 0.31354553695453014f, 0.31386561956734976f, 0.314135190862664f, 0.31435662153833671f, 0.31453200120082569f, 0.3146630922831542f, 0.31475407592280041f, 0.31480767954534428f, 0.31482653406646727f, 0.31481299789187128f, 0.31477085207396532f, 0.31470295028655965f, 0.31461204226295625f, 0.31450102990914708f, 0.31437291554615371f, 0.31423043195101424f, 0.31407639883970623f, 0.3139136046337036f, 0.31374440956796529f, 0.31357126868520002f, 0.31339704333572083f, 0.31322399394183942f, 0.31305401163732732f, 0.31288922211590126f, 0.31273234839304942f, 0.31258523031121233f, 0.31244934410414688f, 0.31232652641170694f, 0.31221903291870201f, 0.31212881396435238f, 0.31205680685765741f, 0.31200463838728931f, 0.31197383273627388f, 0.31196698314912269f, 0.31198447195645718f, 0.31202765974624452f, 0.31209793953300591f, 0.31219689612063978f, 0.31232631707560987f, 0.31248673753935263f, 0.31267941819570189f, 0.31290560605819168f, 0.3131666792687211f, 0.3134643447952643f, 0.31379912926498488f, 0.31417223403606975f, 0.31458483752056837f, 0.31503813956872212f, 0.31553372323982209f, 0.3160724937230589f, 0.31665545668946665f, 0.31728380489244951f, 0.31795870784057567f, 0.31868137622277692f, 0.31945332332898302f, 0.3202754315314667f, 0.32114884306985791f, 0.32207478855218091f, 0.32305449047765694f, 0.32408913679491225f, 0.32518014084085567f, 0.32632861885644465f, 0.32753574162788762f, 0.3288027427038317f, 0.3301308728723546f, 0.33152138620958932f, 0.33297555200245399f, 0.33449469983585844f, 0.33607995965691828f, 0.3377325942005665f, 0.33945384341064017f, 0.3412449533046818f, 0.34310715173410822f, 0.34504169470809071f, 0.34704978520758401f, 0.34913260148542435f, 0.35129130890802607f, 0.35352709245374592f, 0.35584108091122535f, 0.35823439142300639f, 0.36070813602540136f, 0.36326337558360278f, 0.36590112443835765f, 0.36862236642234769f, 0.3714280448394211f, 0.37431909037543515f, 0.37729635531096678f, 0.380360657784311f, 0.38351275723852291f, 0.38675335037837993f, 0.39008308392311997f, 0.39350254000115381f, 0.39701221751773474f, 0.40061257089416885f, 0.40430398069682483f, 0.40808667584648967f, 0.41196089987122869f, 0.41592679539764366f, 0.41998440356963762f, 0.42413367909988375f, 0.42837450371258479f, 0.432706647838971f, 0.43712979856444761f, 0.44164332426364639f, 0.44624687186865436f, 0.45093985823706345f, 0.45572154742892063f, 0.46059116206904965f, 0.46554778281918402f, 0.47059039582133383f, 0.47571791879076081f, 0.48092913815357724f, 0.48622257801969754f, 0.49159667021646397f, 0.49705020621532009f, 0.50258161291269432f, 0.50818921213102985f, 0.51387124091909786f, 0.5196258425240281f, 0.52545108144834785f, 0.53134495942561433f, 0.53730535185141037f, 0.5433300863249918f, 0.54941691584603647f, 0.55556350867083815f, 0.56176745110546977f, 0.56802629178649788f, 0.57433746373459582f, 0.58069834805576737f, 0.58710626908082753f, 0.59355848909050757f, 0.60005214820435104f, 0.6065843782630862f, 0.61315221209322646f, 0.61975260637257923f, 0.62638245478933297f, 0.63303857040067113f, 0.63971766697672761f, 0.6464164243818421f, 0.65313137915422603f, 0.65985900156216504f, 0.66659570204682972f, 0.67333772009301907f, 0.68008125203631464f, 0.68682235874648545f, 0.69355697649863846f, 0.70027999028864962f, 0.70698561390212977f, 0.71367147811129228f, 0.72033299387284622f, 0.72696536998972039f, 0.73356368240541492f, 0.74012275762807056f, 0.74663719293664366f, 0.7530974636118285f, 0.7594994148789691f, 0.76583801477914104f, 0.77210610037674143f, 0.77829571667247499f, 0.78439788751383921f, 0.79039529663736285f, 0.796282666437655f, 0.80204612696863953f, 0.80766972324164554f, 0.81313419626911398f, 0.81841638963128993f, 0.82350476683173168f, 0.82838497261149613f, 0.8330486712880828f, 0.83748851001197089f, 0.84171925358069011f, 0.84575537519027078f, 0.84961373549150254f, 0.85330645352458923f, 0.85685572291039636f, 0.86027399927156634f, 0.86356595168669881f, 0.86673765046233331f, 0.86979617048190971f, 0.87274147101441557f, 0.87556785228242973f, 0.87828235285372469f, 0.88088414794024839f, 0.88336206121170946f, 0.88572538990087124f }; + custom_colormap_size = 510; + */ + + //inferno + static const float r[] = { 0.001462f, 0.002267f, 0.003299f, 0.004547f, 0.006006f, 0.007676f, 0.009561f, 0.011663f, 0.013995f, 0.016561f, 0.019373f, 0.022447f, 0.025793f, 0.029432f, 0.033385f, 0.037668f, 0.042253f, 0.046915f, 0.051644f, 0.056449f, 0.061340f, 0.066331f, 0.071429f, 0.076637f, 0.081962f, 0.087411f, 0.092990f, 0.098702f, 0.104551f, 0.110536f, 0.116656f, 0.122908f, 0.129285f, 0.135778f, 0.142378f, 0.149073f, 0.155850f, 0.162689f, 0.169575f, 0.176493f, 0.183429f, 0.190367f, 0.197297f, 0.204209f, 0.211095f, 0.217949f, 0.224763f, 0.231538f, 0.238273f, 0.244967f, 0.251620f, 0.258234f, 0.264810f, 0.271347f, 0.277850f, 0.284321f, 0.290763f, 0.297178f, 0.303568f, 0.309935f, 0.316282f, 0.322610f, 0.328921f, 0.335217f, 0.341500f, 0.347771f, 0.354032f, 0.360284f, 0.366529f, 0.372768f, 0.379001f, 0.385228f, 0.391453f, 0.397674f, 0.403894f, 0.410113f, 0.416331f, 0.422549f, 0.428768f, 0.434987f, 0.441207f, 0.447428f, 0.453651f, 0.459875f, 0.466100f, 0.472328f, 0.478558f, 0.484789f, 0.491022f, 0.497257f, 0.503493f, 0.509730f, 0.515967f, 0.522206f, 0.528444f, 0.534683f, 0.540920f, 0.547157f, 0.553392f, 0.559624f, 0.565854f, 0.572081f, 0.578304f, 0.584521f, 0.590734f, 0.596940f, 0.603139f, 0.609330f, 0.615513f, 0.621685f, 0.627847f, 0.633998f, 0.640135f, 0.646260f, 0.652369f, 0.658463f, 0.664540f, 0.670599f, 0.676638f, 0.682656f, 0.688653f, 0.694627f, 0.700576f, 0.706500f, 0.712396f, 0.718264f, 0.724103f, 0.729909f, 0.735683f, 0.741423f, 0.747127f, 0.752794f, 0.758422f, 0.764010f, 0.769556f, 0.775059f, 0.780517f, 0.785929f, 0.791293f, 0.796607f, 0.801871f, 0.807082f, 0.812239f, 0.817341f, 0.822386f, 0.827372f, 0.832299f, 0.837165f, 0.841969f, 0.846709f, 0.851384f, 0.855992f, 0.860533f, 0.865006f, 0.869409f, 0.873741f, 0.878001f, 0.882188f, 0.886302f, 0.890341f, 0.894305f, 0.898192f, 0.902003f, 0.905735f, 0.909390f, 0.912966f, 0.916462f, 0.919879f, 0.923215f, 0.926470f, 0.929644f, 0.932737f, 0.935747f, 0.938675f, 0.941521f, 0.944285f, 0.946965f, 0.949562f, 0.952075f, 0.954506f, 0.956852f, 0.959114f, 0.961293f, 0.963387f, 0.965397f, 0.967322f, 0.969163f, 0.970919f, 0.972590f, 0.974176f, 0.975677f, 0.977092f, 0.978422f, 0.979666f, 0.980824f, 0.981895f, 0.982881f, 0.983779f, 0.984591f, 0.985315f, 0.985952f, 0.986502f, 0.986964f, 0.987337f, 0.987622f, 0.987819f, 0.987926f, 0.987945f, 0.987874f, 0.987714f, 0.987464f, 0.987124f, 0.986694f, 0.986175f, 0.985566f, 0.984865f, 0.984075f, 0.983196f, 0.982228f, 0.981173f, 0.980032f, 0.978806f, 0.977497f, 0.976108f, 0.974638f, 0.973088f, 0.971468f, 0.969783f, 0.968041f, 0.966243f, 0.964394f, 0.962517f, 0.960626f, 0.958720f, 0.956834f, 0.954997f, 0.953215f, 0.951546f, 0.950018f, 0.948683f, 0.947594f, 0.946809f, 0.946392f, 0.946403f, 0.946903f, 0.947937f, 0.949545f, 0.951740f, 0.954529f, 0.957896f, 0.961812f, 0.966249f, 0.971162f, 0.976511f, 0.982257f, 0.988362f }; + static const float g[] = { 0.000466f, 0.001270f, 0.002249f, 0.003392f, 0.004692f, 0.006136f, 0.007713f, 0.009417f, 0.011225f, 0.013136f, 0.015133f, 0.017199f, 0.019331f, 0.021503f, 0.023702f, 0.025921f, 0.028139f, 0.030324f, 0.032474f, 0.034569f, 0.036590f, 0.038504f, 0.040294f, 0.041905f, 0.043328f, 0.044556f, 0.045583f, 0.046402f, 0.047008f, 0.047399f, 0.047574f, 0.047536f, 0.047293f, 0.046856f, 0.046242f, 0.045468f, 0.044559f, 0.043554f, 0.042489f, 0.041402f, 0.040329f, 0.039309f, 0.038400f, 0.037632f, 0.037030f, 0.036615f, 0.036405f, 0.036405f, 0.036621f, 0.037055f, 0.037705f, 0.038571f, 0.039647f, 0.040922f, 0.042353f, 0.043933f, 0.045644f, 0.047470f, 0.049396f, 0.051407f, 0.053490f, 0.055634f, 0.057827f, 0.060060f, 0.062325f, 0.064616f, 0.066925f, 0.069247f, 0.071579f, 0.073915f, 0.076253f, 0.078591f, 0.080927f, 0.083257f, 0.085580f, 0.087896f, 0.090203f, 0.092501f, 0.094790f, 0.097069f, 0.099338f, 0.101597f, 0.103848f, 0.106089f, 0.108322f, 0.110547f, 0.112764f, 0.114974f, 0.117179f, 0.119379f, 0.121575f, 0.123769f, 0.125960f, 0.128150f, 0.130341f, 0.132534f, 0.134729f, 0.136929f, 0.139134f, 0.141346f, 0.143567f, 0.145797f, 0.148039f, 0.150294f, 0.152563f, 0.154848f, 0.157151f, 0.159474f, 0.161817f, 0.164184f, 0.166575f, 0.168992f, 0.171438f, 0.173914f, 0.176421f, 0.178962f, 0.181539f, 0.184153f, 0.186807f, 0.189501f, 0.192239f, 0.195021f, 0.197851f, 0.200728f, 0.203656f, 0.206636f, 0.209670f, 0.212759f, 0.215906f, 0.219112f, 0.222378f, 0.225706f, 0.229097f, 0.232554f, 0.236077f, 0.239667f, 0.243327f, 0.247056f, 0.250856f, 0.254728f, 0.258674f, 0.262692f, 0.266786f, 0.270954f, 0.275197f, 0.279517f, 0.283913f, 0.288385f, 0.292933f, 0.297559f, 0.302260f, 0.307038f, 0.311892f, 0.316822f, 0.321827f, 0.326906f, 0.332060f, 0.337287f, 0.342586f, 0.347957f, 0.353399f, 0.358911f, 0.364492f, 0.370140f, 0.375856f, 0.381636f, 0.387481f, 0.393389f, 0.399359f, 0.405389f, 0.411479f, 0.417627f, 0.423831f, 0.430091f, 0.436405f, 0.442772f, 0.449191f, 0.455660f, 0.462178f, 0.468744f, 0.475356f, 0.482014f, 0.488716f, 0.495462f, 0.502249f, 0.509078f, 0.515946f, 0.522853f, 0.529798f, 0.536780f, 0.543798f, 0.550850f, 0.557937f, 0.565057f, 0.572209f, 0.579392f, 0.586606f, 0.593849f, 0.601122f, 0.608422f, 0.615750f, 0.623105f, 0.630485f, 0.637890f, 0.645320f, 0.652773f, 0.660250f, 0.667748f, 0.675267f, 0.682807f, 0.690366f, 0.697944f, 0.705540f, 0.713153f, 0.720782f, 0.728427f, 0.736087f, 0.743758f, 0.751442f, 0.759135f, 0.766837f, 0.774545f, 0.782258f, 0.789974f, 0.797692f, 0.805409f, 0.813122f, 0.820825f, 0.828515f, 0.836191f, 0.843848f, 0.851476f, 0.859069f, 0.866624f, 0.874129f, 0.881569f, 0.888942f, 0.896226f, 0.903409f, 0.910473f, 0.917399f, 0.924168f, 0.930761f, 0.937159f, 0.943348f, 0.949318f, 0.955063f, 0.960587f, 0.965896f, 0.971003f, 0.975924f, 0.980678f, 0.985282f, 0.989753f, 0.994109f, 0.998364f }; + static const float b[] = { 0.013866f, 0.018570f, 0.024239f, 0.030909f, 0.038558f, 0.046836f, 0.055143f, 0.063460f, 0.071862f, 0.080282f, 0.088767f, 0.097327f, 0.105930f, 0.114621f, 0.123397f, 0.132232f, 0.141141f, 0.150164f, 0.159254f, 0.168414f, 0.177642f, 0.186962f, 0.196354f, 0.205799f, 0.215289f, 0.224813f, 0.234358f, 0.243904f, 0.253430f, 0.262912f, 0.272321f, 0.281624f, 0.290788f, 0.299776f, 0.308553f, 0.317085f, 0.325338f, 0.333277f, 0.340874f, 0.348111f, 0.354971f, 0.361447f, 0.367535f, 0.373238f, 0.378563f, 0.383522f, 0.388129f, 0.392400f, 0.396353f, 0.400007f, 0.403378f, 0.406485f, 0.409345f, 0.411976f, 0.414392f, 0.416608f, 0.418637f, 0.420491f, 0.422182f, 0.423721f, 0.425116f, 0.426377f, 0.427511f, 0.428524f, 0.429425f, 0.430217f, 0.430906f, 0.431497f, 0.431994f, 0.432400f, 0.432719f, 0.432955f, 0.433109f, 0.433183f, 0.433179f, 0.433098f, 0.432943f, 0.432714f, 0.432412f, 0.432039f, 0.431594f, 0.431080f, 0.430498f, 0.429846f, 0.429125f, 0.428334f, 0.427475f, 0.426548f, 0.425552f, 0.424488f, 0.423356f, 0.422156f, 0.420887f, 0.419549f, 0.418142f, 0.416667f, 0.415123f, 0.413511f, 0.411829f, 0.410078f, 0.408258f, 0.406369f, 0.404411f, 0.402385f, 0.400290f, 0.398125f, 0.395891f, 0.393589f, 0.391219f, 0.388781f, 0.386276f, 0.383704f, 0.381065f, 0.378359f, 0.375586f, 0.372748f, 0.369846f, 0.366879f, 0.363849f, 0.360757f, 0.357603f, 0.354388f, 0.351113f, 0.347777f, 0.344383f, 0.340931f, 0.337424f, 0.333861f, 0.330245f, 0.326576f, 0.322856f, 0.319085f, 0.315266f, 0.311399f, 0.307485f, 0.303526f, 0.299523f, 0.295477f, 0.291390f, 0.287264f, 0.283099f, 0.278898f, 0.274661f, 0.270390f, 0.266085f, 0.261750f, 0.257383f, 0.252988f, 0.248564f, 0.244113f, 0.239636f, 0.235133f, 0.230606f, 0.226055f, 0.221482f, 0.216886f, 0.212268f, 0.207628f, 0.202968f, 0.198286f, 0.193584f, 0.188860f, 0.184116f, 0.179350f, 0.174563f, 0.169755f, 0.164924f, 0.160070f, 0.155193f, 0.150292f, 0.145367f, 0.140417f, 0.135440f, 0.130438f, 0.125409f, 0.120354f, 0.115272f, 0.110164f, 0.105031f, 0.099874f, 0.094695f, 0.089499f, 0.084289f, 0.079073f, 0.073859f, 0.068659f, 0.063488f, 0.058367f, 0.053324f, 0.048392f, 0.043618f, 0.039050f, 0.034931f, 0.031409f, 0.028508f, 0.026250f, 0.024661f, 0.023770f, 0.023606f, 0.024202f, 0.025592f, 0.027814f, 0.030908f, 0.034916f, 0.039886f, 0.045581f, 0.051750f, 0.058329f, 0.065257f, 0.072489f, 0.079990f, 0.087731f, 0.095694f, 0.103863f, 0.112229f, 0.120785f, 0.129527f, 0.138453f, 0.147565f, 0.156863f, 0.166353f, 0.176037f, 0.185923f, 0.196018f, 0.206332f, 0.216877f, 0.227658f, 0.238686f, 0.249972f, 0.261534f, 0.273391f, 0.285546f, 0.298010f, 0.310820f, 0.323974f, 0.337475f, 0.351369f, 0.365627f, 0.380271f, 0.395289f, 0.410665f, 0.426373f, 0.442367f, 0.458592f, 0.474970f, 0.491426f, 0.507860f, 0.524203f, 0.540361f, 0.556275f, 0.571925f, 0.587206f, 0.602154f, 0.616760f, 0.631017f, 0.644924f }; + custom_colormap_size = 256; + + static cv::Mat custom_colormap; + static bool first = true; + + if (first) { + cv::Mat red(custom_colormap_size, 1, CV_32FC1, (void*)r), + green(custom_colormap_size, 1, CV_32FC1, (void*)g), + blue(custom_colormap_size, 1, CV_32FC1, (void*)b); + + cv::merge(std::vector{red, green, blue}, custom_colormap); + cv::resize(custom_colormap, custom_colormap, cv::Size(1, 256)); + custom_colormap.convertTo(custom_colormap, CV_8UC3, 255.0); + + first = false; + } + + VideoVolume out(l, w, h); + for (int f = 0; f < l; ++f) { + cv::Mat ff = 4.0*(frame(f) - 128) + 128; + //cv::applyColorMap(cvConvertMatTo(ff, scaling), out.frame(f), custom_colormap); + cvConvertMatTo(ff, scaling).copyTo(out.frame(f)); + } + return out; + } + + void temporalBlur(float scaling = 1.0f) { + const cv::Mat1f kernel = (scaling / 16.0f)*(cv::Mat1f(5, 1) << 1, 4, 6, 4, 1); + cv::filter2D(mat, mat, -1, kernel, cv::Point(-1, -1), 0.0, cv::BORDER_DEFAULT); + } + + void temporalBlurBoundaryConditions(float scaling, double left, double right) { + const cv::Mat1f kernel = (scaling / 16.0f)*(cv::Mat1f(5, 1) << 1, 4, 6, 4, 1); + + VideoVolume tmp(l, w, h); + for (int i = 0; i < h; ++i) { + for (int j = 0; j < w; ++j) { + for (int c = 0; c < N; ++c) { + for (int t = 0; t < l; ++t) { + double res = 0; + for (int dt = -2; dt <= 2; ++dt) { + int u = t + dt; + double w = kernel(2 + dt), val; + if (u < 0) { + val = left; + } else if (u >= l) { + val = right; + } else { + val = valueAt(u, i, j, c); + } + res += w * val; + } + tmp.valueAt(t, i, j, c) = cv::saturate_cast(res) ; + } + } + } + } + std::swap(mat, tmp.mat); + } + + void extendedTemporalBlur() { + //const cv::Mat kernel = (1 / 5.0f)*(cv::Mat_(5, 1) << 1, 1, 1, 1, 1); + //cv::filter2D(mat, mat, -1, kernel, cv::Point(-1, -1), cv::BORDER_REPLICATE); + cv::boxFilter(mat, mat, -1, cv::Size(1, 25), cv::Point(-1, -1), true, cv::BORDER_REPLICATE); + } + + VideoVolume pyrDownSpacial() const { + VideoVolume out(l, (w + 1) / 2, (h + 1) / 2); + for (int f = 0; f < l; ++f) { + cv::pyrDown(frame(f), out.frame(f)); + } + return out; + } + + VideoVolume pyrDownTemporalModif() { + temporalBlur(); + VideoVolume out((l + 1) / 2, w, h); + for (int f = 0; f < out.l; ++f) { + frame(2 * f).copyTo(out.frame(f)); + } + return out; + } + + VideoVolume pyrDownTemporal() const { + VideoVolume tmp(mat.clone(), w, h); + return tmp.pyrDownTemporalModif(); + } + + VideoVolume pyrDownTemporalBox() const { + VideoVolume tmp(l, w, h); + const cv::Mat kernel = (1.0 / 16.0f)*(cv::Mat_(5, 1) << 1, 4, 6, 4, 1); + cv::filter2D(mat, tmp.mat, -1, kernel, cv::Point(-1, -1), 0.0, cv::BORDER_REPLICATE); + //cv::boxFilter(mat, tmp.mat, -1, cv::Size(1, 5), { -1,-1 }, true, cv::BORDER_REPLICATE); + VideoVolume out((l + 1) / 2, w, h); + cv::resize(tmp.mat, out.mat, out.mat.size(), 0, 0, cv::INTER_LINEAR); + return out; + } + + VideoVolume extendedDownScaleTemporal() const { + VideoVolume tmp(mat.clone(), w, h); + tmp.extendedTemporalBlur(); + VideoVolume out((l + 1) / 2, w, h); + for (int f = 0; f < out.l; ++f) { + tmp.frame(2 * f).copyTo(out.frame(f)); + } + return out; + } + + VideoVolume pyrDown() const { + return pyrDownSpacial().pyrDownTemporalModif(); + } + + VideoVolume pyrUpSpacial(int _w, int _h) const { + VideoVolume out(l, _w, _h); + for (int f = 0; f < l; ++f) { + cv::pyrUp(frame(f), out.frame(f), cv::Size(_w, _h)); + } + return out; + } + + VideoVolume pyrUpTemporal(int _l) const { + VideoVolume out(_l, w, h, 0); + //for (int f = 0; f < l; ++f) { + // frame(f).copyTo(out.frame(2 * f)); + //} + //out.temporalBlur(2.0f); + cv::resize(mat, out.mat, out.mat.size(), 0, 0, cv::INTER_LINEAR); + out.temporalBlur(1.0f); + + return out; + } + VideoVolume pyrUpTemporalBoundaryConditions(int _l, double left, double right) const { + VideoVolume out(_l, w, h, 0); + cv::resize(mat, out.mat, out.mat.size(), 0, 0, cv::INTER_LINEAR); + out.temporalBlurBoundaryConditions(1.0f, left, right); + + return out; + } + + VideoVolume pyrDownBoundaryConditions(double left, double right) const { + VideoVolume tmp = clone(); + tmp.temporalBlurBoundaryConditions(1.0f, left, right); + VideoVolume out((l + 1) / 2, w, h); + cv::resize(tmp.mat, out.mat, out.mat.size(), 0, 0, cv::INTER_LINEAR); + return out; + } + + VideoVolume pyrUp(int _l, int _w, int _h) const { + return pyrUpTemporal(_l).pyrUpSpacial(_w, _h); + } + + void play(int delay = 30, const sibr::Vector2i & res = { -1,-1 }, double scale = 1.0) const { + bool playing = true; + int t = 0; + + const std::string win_name = "playing"; + auto disp_frame = [&] { + if ((res.array() >= 0).all()) { + cv::Mat m; + cv::resize(cvConvertMatTo(frame(t), scale), m, cv::Size(res[0],res[1]), 0,0, cv::INTER_NEAREST); + cv::imshow(win_name, m); + } else { + cv::imshow(win_name, cvConvertMatTo(frame(t), scale)); + } + }; + + auto true_cb = [&](int new_t) { + t = new_t; + disp_frame(); + }; + auto cb_wrapper = [](int new_t, void * arg) { (*static_cast(arg))(new_t); }; + + while (playing) { + disp_frame(); + cv::createTrackbar("timestamp", win_name, &t, l - 1, cb_wrapper, &true_cb); + playing = (cv::waitKey(delay) != 27); + t = (t + 1) % l; + } + + cv::destroyWindow(win_name); + } + + void playStd(double scale = 1.0) const { + play(30, { 800,600 }, scale); + } + + void saveToVideoFile(const std::string & filepath, double framerate = 30.0) const { + Path file = filepath; + makeDirectory(file.parent_path().string()); + + sibr::FFVideoEncoder output(filepath, framerate, { w,h }); + for (int f = 0; f < l; ++f) { + output << sibr::cvConvertMatTo(frame(f)); + } + output.close(); + } + + cv::Mat_ frame(int t) { + return mat.row(t).reshape(N, h); + } + const cv::Mat_ frame(int t) const { + return mat.row(t).reshape(N, h); + } + + cv::Mat_ time_sequence(int i, int j, int c = 0) const { + return mat.col(N*(w*i + j) + c); + } + cv::Mat_ time_sequence_pixels(int i, int j) const { + return mat.colRange(N*(w*i + j), N*(w*i + j + 1)).reshape(N, 0); + } + + VideoVolume time_sequence_volume(int i, int j) const { + return VideoVolume(time_sequence_pixels(i,j).clone(), 1, 1); + } + + cv::Mat video_line(int i) const { + return mat.colRange(N*w*i, N*w*(i + 1)); + } + + VideoVolume subVolumeRef(int t_start, int t_end) { + return VideoVolume(mat.rowRange(t_start, t_end), w, h); + } + + VideoVolume subVolume(int t_start, int t_end) const { + return VideoVolume(mat.rowRange(t_start, t_end).clone(), w, h); + } + + VideoVolume subVolumeSpatial(int x, int y, int w, int h) const { + VideoVolume out(l, w, h); + cv::Rect rec(x, y, w, h); +#pragma omp parallel for + for (int t = 0; t < l; ++t) { + frame(t)(rec).copyTo(out.frame(t)); + } + return out; + } + + VideoVolume subVolume_i(int i_start, int i_end) const { + return VideoVolume(mat.colRange(N*w*i_start, N*w*i_end), w, i_end - i_start); + } + + VideoVolume subVolume_i_copy(int i_start, int i_end) const { + return VideoVolume(mat.colRange(N*w*i_start, N*w*i_end).clone(), w, i_end - i_start); + } + + VideoVolume duplicateTime(int num) const { + VideoVolume out(l*num, w, h); + for (int i = 0; i < num; ++i) { + mat.copyTo(out.mat.rowRange(l*i, l*(i + 1))); + } + return out; + } + + cv::Mat_ spatialSlice(int i_start, int j_start, int i_end, int j_end) { + Vector2i start = { i_start, j_start }, end = { i_end, j_end }; + Vector2i diff = end - start; + int num = diff.cwiseAbs().maxCoeff(); + + cv::Mat_ out(l, num + 1); + for (int s = 0; s <= num; ++s) { + Vector2i p = (start.cast() + (s / (float)num)*diff.cast()).cast(); + + time_sequence_pixels(p[0], p[1]).copyTo(out.col(s)); + //for (int c = 0; c < N; ++c) { + // out.col(c + i * N) = time_sequence(p[0], p[1], c); + //} + } + return out; + } + + cv::Mat_ median_frame() const { + cv::Mat_ out_median(h, w); + +#pragma omp parallel for + for (int i = 0; i < h; ++i) { + for (int j = 0; j < w; ++j) { + for (int c = 0; c < N; ++c) { + std::vector vals_vec; + time_sequence(i, j, c).copyTo(vals_vec); + std::nth_element(vals_vec.begin(), vals_vec.begin() + vals_vec.size() / 2, vals_vec.end()); + CV_Assign::assignValue(c, vals_vec[vals_vec.size() / 2], out_median(i, j)); + } + } + } + return out_median; + } + + T & valueAt(int t, int i, int j, int c = 0) { + return mat(t, N*(w*i + j) + c); + } + const T & valueAt(int t, int i, int j, int c = 0) const { + return mat(t, N*(w*i + j) + c); + } + + CVpixel & pixelAt(int t, int i, int j) { + return frame(t)(i, j); + } + const CVpixel & pixelAt(int t, int i, int j) const { + return frame(t)(i, j); + } + + bool isValid() const { + return !mat.empty(); + } + + void cout() const { + std::cout << l << " x " << w << " x " << h << std::endl; + } + + VideoVolume spatialRescale(float f) const { + Vector2i size = (f * Vector2f(w, h) + Vector2f(0.5f, 0.5f)).cast(); + + VideoVolume out(l, size[0], size[1]); + for (int f = 0; f < l; ++f) { + cv::resize(frame(f), out.frame(f), cv::Size(size[0], size[1]), 0, 0, cv::INTER_LINEAR); + } + return out; + } + + + }; + + SIBR_VIDEO_EXPORT Volume3u loadVideoVolume(const std::string & filepath); + SIBR_VIDEO_EXPORT Volume3u loadVideoVolume(sibr::Video & vid); + + template + VideoVolume concatVolumesChannels(const sibr::VideoVolume & A, const sibr::VideoVolume & B) { + VideoVolume out(A.l, A.w, A.h); + +#pragma omp parallel for + for (int t = 0; t < A.l; ++t) { + std::vector A_cs, B_cs; + cv::split(A.frame(t), A_cs); + cv::split(B.frame(t), B_cs); + A_cs.insert(A_cs.end(), B_cs.begin(), B_cs.end()); + cv::merge(A_cs, out.frame(t)); + } + return out; + } + + SIBR_VIDEO_EXPORT uint optimal_num_levels(uint length); + + template + std::vector> extendedBlurPyramid(const sibr::VideoVolume & vid, uint num_levels = 0) { + if (num_levels == 0) { + num_levels = optimal_num_levels(vid.l); + } + + std::vector> out(1, vid); + for (uint i = 1; i < num_levels; ++i) { + out.push_back(out.back().extendedDownScaleTemporal()); + } + return out; + } + + template + std::vector> gaussianPyramid(const sibr::VideoVolume & vid, uint num_levels = 0) { + if (num_levels == 0) { + num_levels = optimal_num_levels(vid.l); + } + + std::vector> out(1, vid); + for (uint i = 1; i < num_levels; ++i) { + out.push_back(out.back().pyrDown()); + } + return out; + } + + template + std::vector> gaussianPyramidTemporal (const sibr::VideoVolume & vid, uint num_levels = 0) { + if (num_levels == 0) { + num_levels = optimal_num_levels(vid.l); + } + + std::vector> out(1, vid); + for (uint i = 1; i < num_levels; ++i) { + out.push_back(out.back().pyrDownTemporal()); + } + return out; + } + + template + std::vector> gaussianPyramidTemporalBox(const sibr::VideoVolume & vid, uint num_levels = 0) { + if (num_levels == 0) { + num_levels = optimal_num_levels(vid.l); + } + + std::vector> out(1, vid); + for (uint i = 1; i < num_levels; ++i) { + out.push_back(out.back().pyrDownTemporalBox()); + } + return out; + } + + SIBR_VIDEO_EXPORT std::vector laplacianPyramid(const sibr::Volume3u & vid, uint num_levels = 0); + //SIBR_VIDEO_EXPORT std::vector laplacianPyramidTemporal(const sibr::Volume3u & vid, uint num_levels = 0); + SIBR_VIDEO_EXPORT std::vector laplacianPyramidTemporalDouble(const sibr::Volume3u & vid, uint num_levels = 0); + + + template< typename U, typename T = U> + std::vector> laplacianPyramidTemporal(const VideoVolume& vid, uint num_levels = 0) + { + if (num_levels == 0) { + num_levels = optimal_num_levels(vid.l); + } + + std::vector> out; + + sibr::Volume3f current_v = vid.template convertTo(), down, up; + for (int i = 0; i < (int)num_levels - 1; ++i) { + //std::cout << i << " " << current_v.l << std::endl; + down = current_v.pyrDownTemporal(); + up = down.pyrUpTemporal(current_v.l); + //current_v.play(30, { 1200,800 }); + //up.play(30, { 1200,800 }); + current_v.substract(up); + current_v.shift(128); + out.push_back(current_v.convertTo()); + std::swap(current_v, down); + } + out.push_back(current_v.convertTo()); + return out; + } + + SIBR_VIDEO_EXPORT sibr::Volume3u collapseLaplacianPyramid(const std::vector & pyr, double shift = 0); + + template + sibr::VideoVolume collapseLaplacianPyramidTemporal(const std::vector>& pyr, double shift, + bool debug = false) + { + sibr::Volume3f v = (VideoVolume) pyr.back().convertTo(); + for (int i = (int)pyr.size() - 2; i >= 0; --i) { + if (debug) { + v.play(); + } + v = v.pyrUpTemporal(pyr[i].l); + if (debug) { + v.play(); + } + v.add(pyr[i]); + if (shift != 0) { + v.shift(shift); + if (debug) { + v.play(); + } + } + } + return v.convertTo(); + } + + //SIBR_VIDEO_EXPORT sibr::Volume3u collapseLaplacianPyramidTemporal(const std::vector & pyr, double shift = 0); + + //SIBR_VIDEO_EXPORT sibr::Volume3u laplacianBlendingTemporal(const sibr::Volume3u & vA, const sibr::Volume3u & vB, std::vector & pyrM); + SIBR_VIDEO_EXPORT sibr::Volume3u laplacianBlending(const sibr::Volume3u & vA, const sibr::Volume3u & vB, std::vector & pyrM); + + template + sibr::VideoVolume laplacianBlendingTemporal( + const sibr::VideoVolume & vA, + const sibr::VideoVolume & vB, + std::vector> & pyrM) + { + uint num_levels = (uint)pyrM.size(); + + auto pyrA = laplacianPyramidTemporal(vA, num_levels); + + for (const auto & l : pyrA) { + //l.play(); + } + + auto pyrB = laplacianPyramidTemporal(vB, num_levels); + + //auto pyrM = gaussianPyramidTemporal(vM); + + for (int i = (int)pyrA.size() - 1; i >= 0; --i) { + //pyrA[i].playStd(); + //pyrM[i].playStd(); + pyrA[i].applyMaskInPlace(pyrM[i]); + //pyrA[i].playStd(); + pyrM[i].toggle(); + //pyrM[i].playStd(); + //pyrB[i].playStd(); + pyrB[i].applyMaskInPlace(pyrM[i]); + //pyrB[i].playStd(); + pyrA[i].add(pyrB[i]); + //pyrA[i].playStd(); + } + + return collapseLaplacianPyramidTemporal(pyrA, -128); + } + + template::CVpixel> + cv::Mat_ totalVariation(const VideoVolume & v) { + cv::Mat_ total_vars(v.h, v.w); + +#pragma omp parallel for + for (int i = 0; i < v.h; ++i) { + for (int j = 0; j < v.w; ++j) { + for (int c = 0; c < N; ++c) { + double total_var = 0; + auto seq = v.time_sequence(i, j, c).clone(); + for (int t = 0; t < v.l - 1; ++t) { + total_var += std::abs((double)seq(t) - (double)seq(t + 1)); + } + CV_Assign::assignValue(c, (float)total_var, total_vars(i, j)); + } + } + } + + return total_vars; + } + + struct SIBR_VIDEO_EXPORT PyramidLayer { + PyramidLayer() {} + PyramidLayer(int _w, int _h, int _l, int cv_type = CV_32FC1) : l(_l), w(_w), h(_h) { + volume = cv::Mat(l, 3 * w*h, cv_type); + } + PyramidLayer(const cv::Mat & _volume, int _w, int _h) : w(_w), h(_h), l(_volume.rows) { + _volume.convertTo(volume, CV_32FC1); + } + + PyramidLayer operator+(const PyramidLayer & other); + PyramidLayer operator-(const PyramidLayer & other); + + PyramidLayer clone() const { + PyramidLayer out = *this; + volume.copyTo(out.volume); + return out; + } + + cv::Mat getRGB(int frame, bool centered = false); + + void saveToVideoFile(const std::string & filename, double framerate); + + void copySizeFrom(const PyramidLayer & other) { + h = other.h; + w = other.w; + l = other.l; + } + + void cout() const { + std::cout << l << " " << w << " " << h << std::endl; + } + + void show(int s = 50) const; + static void show(PyramidLayer A, PyramidLayer B, int s = 50); + static void show(PyramidLayer A, PyramidLayer B, PyramidLayer C, int s = 50); + static void show(PyramidLayer A, PyramidLayer B, PyramidLayer C, PyramidLayer D, int s = 50, bool centered = false); + static void showDiff(PyramidLayer A, PyramidLayer B, int s = 50); + + cv::Mat volume; + int w, h, l; + }; + + + struct SIBR_VIDEO_EXPORT PyramidParameters { + PyramidParameters(int nlevels = 5, int temporal = 3, int spatial = 2, bool spatial_ds = true) : + num_levels(nlevels), temporal_radius(temporal), spatial_radius(spatial), splacialDS(spatial_ds) {} + int num_levels; + int temporal_radius; + int spatial_radius; + bool splacialDS = true; + }; + + SIBR_VIDEO_EXPORT PyramidLayer blur(const PyramidLayer & layer, const PyramidParameters & params ); + SIBR_VIDEO_EXPORT PyramidLayer temporalBlur(const PyramidLayer & volume, const PyramidParameters & params, float scaling = 1); + SIBR_VIDEO_EXPORT void temporalBlurInPlace(PyramidLayer & volume, const PyramidParameters & params, float scaling = 1); + + SIBR_VIDEO_EXPORT PyramidLayer decimate(const PyramidLayer & layer, const PyramidParameters & params); + SIBR_VIDEO_EXPORT PyramidLayer upscale(const PyramidLayer & layerUp, const PyramidLayer & layerDown, const PyramidParameters & params); + SIBR_VIDEO_EXPORT PyramidLayer downscale(const PyramidLayer & layer, const PyramidParameters & params); + + SIBR_VIDEO_EXPORT cv::Mat slice(const PyramidLayer & layer, int i, int j, bool vertical = true, bool center = false); + + + class SIBR_VIDEO_EXPORT VideoGaussianPyramid { + public: + PyramidParameters params; + std::vector layers; + + }; + + class SIBR_VIDEO_EXPORT VideoLaplacianPyramid { + public: + + public: + VideoLaplacianPyramid() {} + + public: + + PyramidParameters params; + + PyramidLayer collapse() const; + + std::vector layers; + + }; + + + SIBR_VIDEO_EXPORT VideoGaussianPyramid buildVideoGaussianPyramid(sibr::Video & vid, int nLevels, const PyramidParameters & params = {}, bool show = false); + SIBR_VIDEO_EXPORT VideoGaussianPyramid buildVideoGaussianPyramid(const cv::Mat & volume, int w, int h, int nLevels, const PyramidParameters & params = {}, bool show = false); + + SIBR_VIDEO_EXPORT VideoLaplacianPyramid buildVideoLaplacianPyramid(PyramidLayer vid, int nLevels, const PyramidParameters & params = {}, bool show = false); + SIBR_VIDEO_EXPORT VideoLaplacianPyramid buildVideoLaplacianPyramid(sibr::Video & vid, int nLevels, const PyramidParameters & params = {}, bool show = false); + + SIBR_VIDEO_EXPORT VideoLaplacianPyramid buildVideoLaplacianPyramidFullyReduced(PyramidLayer vid, int nLevels, const PyramidParameters & params = {}, bool show = false); + SIBR_VIDEO_EXPORT void convertReducedVideoPyramidTo128(VideoLaplacianPyramid & vid); + + SIBR_VIDEO_EXPORT PyramidLayer videoLaplacianBlending(sibr::Video & vidA, sibr::Video & vidB, PyramidLayer mask_volume ); + SIBR_VIDEO_EXPORT PyramidLayer videoLaplacianBlending(PyramidLayer vidA, PyramidLayer vidB, PyramidLayer mask_volume, PyramidParameters params = {}, bool show = false); + + struct SIBR_VIDEO_EXPORT ContribData { + PyramidLayer contrib, mask, partA, partB; + }; + + struct SIBR_VIDEO_EXPORT FullContribData { + ContribData scaled; + ContribData notScaled; + PyramidLayer result, inputA, inputB; + }; + + SIBR_VIDEO_EXPORT std::vector videoLaplacianBlendingContrib(PyramidLayer vidA, PyramidLayer vidB, PyramidLayer mask_volume, PyramidParameters params = {}); + + SIBR_VIDEO_EXPORT void videoLaplacianBlendingDebug(PyramidLayer vidA, PyramidLayer vidB, PyramidLayer mask_volume, PyramidParameters params = {}); + + template + class Histogram { + using Value = Vector; + using Indice = Vector; + using Range = Vector; + + public: + Histogram(const Value & _min, const Value & _max, uint _numBins = 100) + : min(_min.template cast()), max(_max.template cast()), numBins(_numBins) { + Range diff = max - min; + scaling = numBins * diff.cwiseInverse(); + bin_range = diff / numBins; + } + + Indice whatBin(const Value & value) { + Indice bin; + for (int c = 0; c < N; ++c) { + bin[c] = sibr::clamp((int)(scaling[c]*(value[c] - min[c])), 0, (int)numBins - 1); + } + return bin; + } + + void addValue(const Value & value) { + ++bins[whatBin(value)]; + } + void addValues(const std::vector & values) { + for (const Value & v : values) { + addValue(v); + } + } + + Indice getModeIndice() const { + Indice mode; + uint mode_size = 0; + for (const auto & key_val : bins) { + if (key_val.second > mode_size) { + mode_size = key_val.second; + mode = key_val.first; + } + } + return mode; + } + + Value getBinMiddle(const Indice & bin) const { + Value out; + for (int c = 0; c < 3; ++c) { + out[c] = static_cast(min[c] + bin_range[c] * (bin[c] + 0.5)); + } + return out; + } + + protected: + std::map bins; + Range max, min, scaling, bin_range; + uint numBins = 50; + }; + + template + class Histogram { + SIBR_CLASS_PTR(Histogram); + + public: + Histogram(double _min, double _max, int _numBins = 100) : min(_min), max(_max), numBins(_numBins), bins(_numBins, 0) { + scaling = numBins / (max - min); + bin_range = (max - min) / numBins; + } + + bool whatBin(T value, uint & bin) { + int t = (int)(scaling * (value - min)); + if (t >= 0 && t <= ((int)numBins - 1)) { + bin = t; + return true; + } + return false; + } + + void addValue(T value) { + uint bin; + if (whatBin(value, bin)) { + ++bins[bin]; + } + } + + void addValues(const std::vector & values) { + for (const T & v : values) { + addValue(v); + } + } + + uint getModeIndice() const { + uint mode, mode_size = 0; + for (const auto & [key, val] : bins) { + if (val > mode_size) { + mode_size = val; + mode = key; + } + } + return mode; + } + + T getBinMiddle(uint bin) const { + return static_cast(min + bin_range * (bin + 0.5)); + } + + std::vector normalized_values() const { + float sum = 0; + for (uint b = 0; b < numBins; ++b) { + sum += bins[b]; + } + std::vector out(numBins); + for (uint b = 0; b < numBins; ++b) { + out[b] = bins[b]/sum; + } + return out; + } + + protected: + std::vector bins; + double max, min, scaling, bin_range; + uint numBins = 50; + }; + + using Histo1f = Histogram; + using ColorHistogram = Histogram; + + struct TimeHistogram { + + TimeHistogram(double _min, double _max, int _numBins) : numBins(_numBins), max(_max), min(_min) { + assert(numBins > 0 && max > min); + scaling = numBins / (max - min); + bin_range = (max - min) / numBins; + } + + void addValues(const std::vector & values) { + for (const sibr::Vector3ub & value : values) { + addValue(value); + } + } + + sibr::Vector3ub getBinMiddle(const sibr::Vector3ub & bin) const { + sibr::Vector3ub out; + for (int c = 0; c < 3; ++c) { + out[c] = sibr::clamp((int)(min + bin_range * (bin[c] + 0.5)), 0, 255); + } + return out; + } + + sibr::Vector3ub getHMode() const { + sibr::Vector3ub mode; + int mode_size = 0; + for (const auto & key_val : bins) { + if (key_val.second > mode_size) { + mode_size = key_val.second; + mode = key_val.first; + } + } + return mode; + } + + void addValue(const sibr::Vector3ub & value) { + ++bins[whatBin(value)]; + } + + sibr::Vector3ub whatBin(const sibr::Vector3ub & value) { + sibr::Vector3ub bin; + for (int c = 0; c < 3; ++c) { + bin[c] = sibr::clamp((int)(scaling*(value[c] - min)), 0, numBins - 1); + } + return bin; + } + + void computeSortedBins() { + std::vector> all_bins; + int num_elts = 0; + for (const auto & bin : bins) { + num_elts += bin.second; + all_bins.push_back({ bin.second,bin.first }); + } + std::sort(all_bins.begin(), all_bins.end()); + float cdf = 0; + for (int i = (int)all_bins.size() - 1; i >= 0; --i) { + float f = all_bins[i].first /(float)num_elts; + //std::cout << "(" << all_bins[i].first << ", " << (int)all_bins[i].second[0] << "),"; + + sorted_bins[all_bins[i].second] = cdf; + cdf = std::min(cdf + f, 1.0f); + } + //std::cout << std::endl; + } + std::map bins; + std::map sorted_bins; + double max, min, scaling, bin_range; + int numBins = 50; + }; + + class SIBR_VIDEO_EXPORT VideoUtils { + + public: + static void simpleFlowViz(cv::VideoCapture & cap, float ratio); + static void simpleFlowSave(cv::VideoCapture & cap, float ratio, std::function naming_f); + + template + static void loopAndDisplay(cv::VideoCapture & cap, float ratio, FunType f, const OtherArgsTypes &... args); + + static void deepFlowViz(cv::VideoCapture & cap, float ratio); + + static cv::Mat getGrey(const cv::Mat & mat); + + static cv::Mat getFlowViz(const cv::Mat & flow); + + static cv::Mat cropFromSize(const cv::Mat & mat, const sibr::Vector2i & size); + + static void getMeanVariance(cv::VideoCapture & cap, cv::Mat & outMean, cv::Mat & outVariance, const sibr::Vector2i & finalSize); + static void getMeanVariance2(cv::VideoCapture & cap, cv::Mat & outMean, cv::Mat & outVariance, const sibr::Vector2i & finalSize, float starting_point_s = 0); + + static cv::Mat getMedian(sibr::Video & vid, float time_skiped_begin = 0, float time_skiped_end = 0); + static cv::Mat3b getMedian(const std::string & path, float time_percentage_crop = 0); + + static cv::Mat getBackgroundImage(sibr::Video & vid, int numBins = 50, float time_skip_begin = 0, float time_skip_end = 0); + static cv::Mat getBackgroundImage(const cv::Mat volume, int w, int h, int numBins = 50); + static void getBackGroundVideo(sibr::Video & vid, PyramidLayer & out_mask, PyramidLayer & out_video, cv::Mat & mask, + const sibr::ImageRGB & mean = {}, int threshold = 75, int numBins = 50, float time_skip_begin = 0, float time_skip_end = 0); + + static sibr::Volume1u getBackgroundVolume(const sibr::Volume3u & volume, int threshold = 75, int numBins = 150); + static sibr::Volume1f getBackgroundVolumeF(const sibr::Volume3u & volume, int numBins = 150); + + static void computeSaveSimpleFlow(sibr::Video & vid, bool viz = false); + + static cv::Mat getTemporalSpatialRatio(sibr::Video & vid, PyramidLayer & out_ratio, const sibr::ImageRGB & spatial_ratio, + int numBins = 50, float time_skip_begin = 0, float time_skip_end = 0); + + static cv::Mat getLaplacian(cv::Mat mat, int size = 3, bool smooth = false, bool absolute = false); + + static cv::Mat getCanny(cv::Mat mat); + + + static void computeSaveVideoMaskF(Video & vid, int threshold, bool viz = false); + static void computeSaveVideoMaskBlur(Video & vid, int time_window); + + static int rotationAngleFromMetadata(const std::string & videoPath); + + static void ECCtransform(cv::Mat matA, cv::Mat matB, cv::Mat & correctedB, cv::Mat & diff, int cvMotion); + + static void smallAlignmentVideo(sibr::Video & vid, const std::string & outputVidPath, bool viz = false); + static void smallAlignmentVideo2(sibr::Video & vid, const std::string & outputVidPath, bool viz = false); + + static int codec_ffdshow; + static int codec_OpenH264; + static int codec_OpenH264_fallback; + + protected: + static cv::Mat applyFlow(const cv::Mat & prev, const cv::Mat & flow); + + static void simpleFlow(cv::VideoCapture & cap, float ratio, + std::function f, + std::function end_function = []() {} + ); + + static void deepFlow(cv::VideoCapture & cap, float ratio, + std::function f, + std::function end_function = []() {} + ); + }; + + template + void VideoUtils::loopAndDisplay(cv::VideoCapture & cap, float ratio, FunType f, const OtherArgsTypes &... args) + { + cv::Mat next; + static_assert(std::is_same_v, "FunType must return cv::Mat"); + + cap.set(cv::VideoCaptureProperties::CAP_PROP_POS_FRAMES, 0); + + while (true) { + cap >> next; + if (next.empty()) { + break; + } + auto size = cv::Size((int)(ratio*next.size().width), (int)(ratio*next.size().height)); + cv::resize(next, next, size); + cv::imshow("imshow", f(next, args...)); + if (cv::waitKey(10) == 27) { + break; + } + } + cv::destroyAllWindows(); + } + + /** }@ */ + +} diff --git a/SIBR_viewers/src/core/video/sibr_video.dox b/SIBR_viewers/src/core/video/sibr_video.dox new file mode 100644 index 0000000000..7d9b24fa63 --- /dev/null +++ b/SIBR_viewers/src/core/video/sibr_video.dox @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! + \defgroup sibr_video sibr_video + + \brief Video loading, processing and display. + +*/ diff --git a/SIBR_viewers/src/core/view/CMakeLists.txt b/SIBR_viewers/src/core/view/CMakeLists.txt new file mode 100644 index 0000000000..05f77da3d3 --- /dev/null +++ b/SIBR_viewers/src/core/view/CMakeLists.txt @@ -0,0 +1,58 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(sibr_view) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +file(GLOB SHADERS "shaders/*.frag" "shaders/*.vert" "shaders/*.geom" "shaders/*.fp" "shaders/*.vp" "shaders/*.gp") +source_group("Source Files\\shaders" FILES ${SHADERS}) + +file(GLOB INTERFACE_SOURCES "interface/*.cpp" "interface/*.h" ) +source_group("Source Files\\interface" FILES ${INTERFACE_SOURCES}) + +file(GLOB SOURCES + "*.cpp" "*.h" "*.hpp" + "shaders/*.frag" "shaders/*.vert" "shaders/*.geom" "shaders/*.fp" "shaders/*.vp" "shaders/*.gp" + "interface/*.cpp" "interface/*.h" + ) + +## Specify target rules +add_library(${PROJECT_NAME} SHARED ${SOURCES}) + +include_directories( + ${Boost_INCLUDE_DIRS} + ${imgui_INCLUDE_DIRS} +) +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${OpenCV_LIBRARIES} + OpenMP::OpenMP_CXX + imgui + sibr_graphics + sibr_assets + sibr_raycaster + sibr_scene + sibr_video +) + +add_definitions( -DSIBR_VIEW_EXPORTS -DBOOST_ALL_DYN_LINK ) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER ${SIBR_FOLDER}) + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + SHADERS "${SHADERS}" + RSC_FOLDER "core" + #COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/core/view/Config.hpp b/SIBR_viewers/src/core/view/Config.hpp new file mode 100644 index 0000000000..e132a8127c --- /dev/null +++ b/SIBR_viewers/src/core/view/Config.hpp @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Config.hpp" + + +//// Export Macro (used for creating DLLs) //// +# ifdef SIBR_OS_WINDOWS +# ifdef SIBR_STATIC_VIEW_DEFINE +# define SIBR_VIEW_EXPORT +# define SIBR_NO_VIEW_EXPORT +# else +# ifndef SIBR_VIEW_EXPORT +# ifdef SIBR_VIEW_EXPORTS + /* We are building this library */ +# define SIBR_VIEW_EXPORT __declspec(dllexport) +# else + /* We are using this library */ +# define SIBR_VIEW_EXPORT __declspec(dllimport) +# endif +# endif +# ifndef SIBR_NO_EXPORT +# define SIBR_NO_EXPORT +# endif +# endif +# else +# define SIBR_VIEW_EXPORT +# endif + diff --git a/SIBR_viewers/src/core/view/DatasetView.cpp b/SIBR_viewers/src/core/view/DatasetView.cpp new file mode 100644 index 0000000000..43328ffdde --- /dev/null +++ b/SIBR_viewers/src/core/view/DatasetView.cpp @@ -0,0 +1,165 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "DatasetView.hpp" + +namespace sibr { + + DatasetView::DatasetView(const BasicIBRScene & scene, const Vector2u & defaultRenderingRes, const Vector2i & defaultViewRes) + : MultiViewBase(defaultViewRes) + { + const auto & input_cams = scene.cameras()->inputCameras(); + const auto & input_images = scene.images()->inputImages(); + + if (input_images.size() != input_cams.size()) { + SIBR_ERR << "cams not matching input images"; + + } + const std::string mmm_str = "mesh"; + MultiMeshManager::Ptr mmm(new MultiMeshManager(mmm_str)); + mmm->addMesh("proxy", scene.proxies()->proxyPtr()); + mmm->getCameraHandler().fromCamera(*input_cams[0]); + for (int i = 0; i < (int)input_cams.size(); ++i) { + cams.push_back(*input_cams[i]); + } + + const std::string grid_str = "grid"; + ImagesGrid::Ptr grid(new ImagesGrid()); + grid->addImageLayer("input images", input_images); + + addSubView(meshSubViewStr, mmm, defaultRenderingRes); + addSubView(gridSubViewStr, grid, defaultRenderingRes); + } + + void DatasetView::onGui(Window & win) + { + } + + void DatasetView::onUpdate(Input & input) + { + MultiViewBase::onUpdate(input); + + + Input meshInput = Input::subInput(input, getMeshView().viewport); + if (meshInput.key().isActivated(Key::LeftControl) && meshInput.mouseButton().isActivated(Mouse::Right)) { + RaycastingCamera cam = RaycastingCamera(getMMM()->getCameraHandler().getCamera()); + Ray ray = cam.getRay(meshInput.mousePosition().cast()); + auto hit = proxyData().raycaster->intersect(ray); + + if (hit.hitSomething()) { + currentRepro.point3D = ray.at(hit.dist()); + currentRepro.active = true; + currentRepro.repros.clear(); + repro(currentRepro); + getGrid()->addPixelsToHighlight("zinputRepro", { }, { 1,0,0 }, 0.25f); + } + } + + Input gridInput = Input::subInput(input, getGridView().viewport); + if (gridInput.key().isActivated(Key::LeftControl) && gridInput.mouseButton().isActivated(Mouse::Right)) { + const auto & pix = getGrid()->getCurrentPixel(); + if (pix) { + Ray ray = cams[pix.im].getRay(pix.pos.cast()); + auto hit = proxyData().raycaster->intersect(ray); + if (hit.hitSomething()) { + currentRepro.point3D = ray.at(hit.dist()); + currentRepro.active = true; + currentRepro.repros.clear(); + repro(currentRepro); + getGrid()->addPixelsToHighlight("zinputRepro", { pix }, { 1,0,0 }, 0.25f); + } + } + } + + + } + + void DatasetView::onRender(Window & win) + { + if (currentRepro) { + displayRepro(currentRepro); + } + + MultiViewBase::onRender(win); + } + + void DatasetView::repro(ReprojectionData & data) + { + const Vector3f & pt = data.point3D; + for (int im = 0; im<(int)cams.size(); ++im) { + const auto & cam = cams[im]; + if (!cam.frustumTest(pt)) { + continue; + } + Vector3f pt2d = cam.projectImgSpaceInvertY(pt); + + if (data.occlusionTest) { + float dist = (cam.position() - pt).norm(); + Ray ray = Ray(pt, (cam.position() - pt).normalized()); + auto hit = proxyData().raycaster->intersect(ray, 0.01f); + if (hit.hitSomething() && std::abs(hit.dist() - dist) / dist > 0.01f) { + continue; + } + } + + data.repros.push_back(MVpixel(im, pt2d.xy().cast())); + } + } + + void DatasetView::displayRepro(const ReprojectionData & data) + { + getMMM()->addPoints("repro 3D point", { data.point3D }); + + Mesh::Ptr reproLines(new Mesh()); + std::vector pixs; + std::vector repro_imgs; + for (const auto & rep : data.repros) { + const auto & cam = cams[rep.im]; + Mesh reproLine; + reproLine.vertices({ cam.position(), data.point3D }); + reproLine.triangles({ 0,0,1 }); + reproLines->merge(reproLine); + repro_imgs.push_back(rep.im); + } + + getMMM()->addMeshAsLines("repro ines", reproLines).setColor({ 1,0,1 }); + getGrid()->addPixelsToHighlight("repros", data.repros, { 0,0,1 }, 0.25f); + //getGrid()->addImagesToHighlight("reproImgs", repro_imgs, { 0,1,0 }, 0.1f); + } + + MultiViewBase::BasicSubView & DatasetView::getMeshView() + { + return _subViews[meshSubViewStr]; + } + + MultiViewBase::BasicSubView & DatasetView::getGridView() + { + return _subViews[gridSubViewStr]; + } + + MultiMeshManager::Ptr DatasetView::getMMM() + { + return std::static_pointer_cast(getMeshView().view); + } + + ImagesGrid::Ptr sibr::DatasetView::getGrid() + { + return std::static_pointer_cast(getGridView().view); + } + + MeshData & DatasetView::proxyData() + { + return getMMM()->getMeshData("proxy"); + } + +} + diff --git a/SIBR_viewers/src/core/view/DatasetView.hpp b/SIBR_viewers/src/core/view/DatasetView.hpp new file mode 100644 index 0000000000..0767e2645e --- /dev/null +++ b/SIBR_viewers/src/core/view/DatasetView.hpp @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "MultiViewManager.hpp" +#include "SceneDebugView.hpp" +#include "ImagesGrid.hpp" +#include "core/scene/BasicIBRScene.hpp" + +namespace sibr { + + /** Visualize and explore a MVS dataset. + Allow reprojections between one of the input images, scene geometry and other images. + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT DatasetView + : public MultiViewBase + { + SIBR_CLASS_PTR(DatasetView); + + public: + + /** Constructor. + * \param scene the IBR scene + * \param defaultRenderingRes the mesh view rendering resolution + * \param defaultViewRes the window/view resolution + */ + DatasetView(const BasicIBRScene & scene, const Vector2u & defaultRenderingRes = { 0,0 }, const Vector2i & defaultViewRes = { 800, 600 }); + + /** Reprojection mode. */ + enum ReprojectionMode { NONE, IMAGE_TO_IMAGE, MESH_TO_IMAGE }; + + /** Update the GUI. */ + virtual void onGui(Window& win) override; + + /** Update state based on user input. + *\param input the view input + */ + virtual void onUpdate(Input& input) override; + + /** Perform rendering. + *\param win the destination window + **/ + virtual void onRender(Window& win) override; + + protected: + + /** Contain data related to the reprojection of a point in input images. */ + struct ReprojectionData { + + /** \return true if point is active */ + operator bool() const { return active; } + + std::vector repros; ///< Store reprojected pixel positions. + MVpixel image_input; ///< Initial selected position. + + Vector3f point3D; ///< World space point. + bool occlusionTest = true; ///< Should occlusion test be applied. + bool active = false; ///< Is the point active. + }; + + /** populate reprojection information. + \param data the info to populate + */ + void repro(ReprojectionData & data); + + /** Visualize the reprojection information. + \param data the reprojection to display + */ + void displayRepro(const ReprojectionData & data); + + /** \return the mesh subview. */ + BasicSubView & getMeshView(); + + /** \return the images subview. */ + BasicSubView & getGridView(); + + /** \return the mesh display manager. */ + MultiMeshManager::Ptr getMMM(); + + /** \return the image grid manager. */ + ImagesGrid::Ptr getGrid(); + + /** \return the mesh display data. */ + MeshData & proxyData(); + + std::vector cams; ///< Input cameras. + ReprojectionData currentRepro; ///< Current selected reprojection. + ReprojectionMode reproMode = MESH_TO_IMAGE; ///< Current reprojection mode. + + const std::string meshSubViewStr = "dataset view - mesh"; + const std::string gridSubViewStr = "grid"; + + + }; +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/view/FPSCamera.cpp b/SIBR_viewers/src/core/view/FPSCamera.cpp new file mode 100644 index 0000000000..e417527eff --- /dev/null +++ b/SIBR_viewers/src/core/view/FPSCamera.cpp @@ -0,0 +1,204 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "FPSCamera.hpp" +#include +#include "core/graphics/Input.hpp" +#include "core/graphics/Viewport.hpp" +#include "core/graphics/Window.hpp" +#include "core/view/UIShortcuts.hpp" +#include "core/graphics/GUI.hpp" + + +# define IBRVIEW_CAMSPEED 1.f + +namespace sibr { + + FPSCamera::FPSCamera(void) : _hasBeenInitialized(false) + { + UIShortcuts::global().add("[FPS camera] j", "rotate camera -Y (look left)"); + UIShortcuts::global().add("[FPS camera] l", "rotate camera +Y (look right)"); + UIShortcuts::global().add("[FPS camera] i", "rotate camera +X (look up)"); + UIShortcuts::global().add("[FPS camera] k", "rotate camera -X (look down)"); + UIShortcuts::global().add("[FPS camera] u", "rotate camera +Z "); + UIShortcuts::global().add("[FPS camera] o", "rotate camera -Z "); + UIShortcuts::global().add("[FPS camera] w", "move camera -Z (move forward)"); + UIShortcuts::global().add("[FPS camera] s", "move camera +Z (move backward)"); + UIShortcuts::global().add("[FPS camera] a", "move camera -X (strafe left)"); + UIShortcuts::global().add("[FPS camera] d", "move camera +X (strafe right)"); + UIShortcuts::global().add("[FPS camera] q", "move camera -Y (move down)"); + UIShortcuts::global().add("[FPS camera] e", "move camera +Y (move up)"); + /* + _speedFpsCam = 1.0f; + _speedRotFpsCam = 1.0f; + _useAcceleration = true; */ + _speedFpsCam = 0.3f; + _speedRotFpsCam = 1.0f; + _useAcceleration = false; + } + + void FPSCamera::fromCamera( const sibr::InputCamera & cam) + { + _currentCamera = cam; + _hasBeenInitialized = true; + } + + void FPSCamera::update(const sibr::Input & input, float deltaTime) { + + if (!_hasBeenInitialized) { return; } + // Read input and update camera. + moveUsingWASD(input, deltaTime); + moveUsingMousePan(input, deltaTime); + } + + void FPSCamera::snap(const std::vector & cams){ + sibr::Vector3f sumDir(0.f, 0.f, 0.f); + sibr::Vector3f sumUp(0.f, 0.f, 0.f); + for (const auto& cam: cams) + { + float dist = 1.0f/std::max(1e-6f,distance(_currentCamera.position(), cam->position())); + sumDir += dist * cam->dir(); + sumUp += dist * cam->up(); + } + Matrix4f m = lookAt(Vector3f(0, 0, 0), sumDir, sumUp); + _currentCamera.rotation(quatFromMatrix(m)); + } + + void FPSCamera::update(const sibr::Input & input, const float deltaTime, const Viewport & viewport) + { + update(input, deltaTime); + } + + const sibr::InputCamera & FPSCamera::getCamera( void ) const + { + if( !_hasBeenInitialized ){ + SIBR_ERR << " FPS Camera : camera not initialized before use" << std::endl + << "\t you should use either fromMesh(), fromCamera() or load() " << std::endl; + } + return _currentCamera; + } + + void FPSCamera::setSpeed(const float speed, const float angular) { + _speedFpsCam = speed; + if(angular != 0.0f) { + _speedRotFpsCam = angular; + } + } + + void FPSCamera::setGoalAltitude(const float& goalAltitude) { + _goalAltitude = goalAltitude; + } + + void FPSCamera::onGUI(const std::string& suffix) { + if(ImGui::Begin(suffix.c_str())) { + ImGui::PushScaledItemWidth(130); + ImGui::Checkbox("Acceleration", &_useAcceleration); + ImGui::SameLine(); + if(!_useAcceleration) { + ImGui::InputFloat("Speed", &_speedFpsCam, 0.1f, 0.5f); + ImGui::SameLine(); + } + ImGui::InputFloat("Rot. speed", &_speedRotFpsCam, 0.1f, 0.5f); + ImGui::PopItemWidth(); + } + ImGui::End(); + } + + + void FPSCamera::moveUsingWASD(const sibr::Input& input, float deltaTime) + { + + + if (input.key().isActivated(sibr::Key::LeftControl)) { return; } + + float camSpeed = 2.f * deltaTime * IBRVIEW_CAMSPEED; + if (_currentCamera.ortho()) { + camSpeed *= 5.0f; + } + float camRotSpeed = 30.f * deltaTime * IBRVIEW_CAMSPEED; + //float camSpeed = 0.1f; + //float camRotSpeed = 1.f; + + sibr::Vector3f move(0, 0, 0); + + move.x() -= input.key().isActivated(sibr::Key::A) ? camSpeed : 0.f; + move.x() += input.key().isActivated(sibr::Key::D) ? camSpeed : 0.f; + move.z() -= input.key().isActivated(sibr::Key::W) ? camSpeed : 0.f; + move.z() += input.key().isActivated(sibr::Key::S) ? camSpeed : 0.f; + move.y() -= input.key().isActivated(sibr::Key::Q) ? camSpeed : 0.f; + move.y() += input.key().isActivated(sibr::Key::E) ? camSpeed : 0.f; + + // If the acceleration effect is enabled, we alter the speed along a move. + if(_useAcceleration) { + if (move.isNull() == true) { + _speedFpsCam = 1.f; + } else { + _speedFpsCam *= 1.02f; + } + } + + + sibr::Vector3f pivot(0, 0, 0); + + camRotSpeed *= _speedRotFpsCam; + pivot[1] += input.key().isActivated(sibr::Key::J) ? camRotSpeed : 0.f; + pivot[1] -= input.key().isActivated(sibr::Key::L) ? camRotSpeed : 0.f; + pivot[0] -= input.key().isActivated(sibr::Key::K) ? camRotSpeed : 0.f; + pivot[0] += input.key().isActivated(sibr::Key::I) ? camRotSpeed : 0.f; + pivot[2] -= input.key().isActivated(sibr::Key::O) ? camRotSpeed : 0.f; + pivot[2] += input.key().isActivated(sibr::Key::U) ? camRotSpeed : 0.f; + + if (_currentCamera.ortho()) { + if (input.key().isActivated(sibr::Key::Z)) { + _currentCamera.orthoRight(_currentCamera.orthoRight()/1.1f); + _currentCamera.orthoTop(_currentCamera.orthoTop()/1.1f); + _speedRotFpsCam /= 1.1f; + } + else if (input.key().isActivated(sibr::Key::X)) { + _currentCamera.orthoRight(_currentCamera.orthoRight()*1.1f); + _currentCamera.orthoTop(_currentCamera.orthoTop()*1.1f); + _speedRotFpsCam *= 1.1f; + } + } + + // Try to keep the same altitude as cameras around. + if (_goalAltitude != -1) { + sibr::Vector3f worldUp(0., 0., 1.); + const sibr::Vector3f custom_forward = _currentCamera.right().cross(worldUp); + const sibr::Vector3f translation_right = (_speedFpsCam * move.x()) * _currentCamera.right(); + + sibr::Vector3f translation = _speedFpsCam * (move.z() * custom_forward) + translation_right; + //const float altitudeDiff = _goalAltitude - _currentCamera.position().z(); + translation[2] = _goalAltitude - _currentCamera.position().z(); + + _currentCamera.translate(translation); + } + else { + _currentCamera.translate(move * _speedFpsCam, _currentCamera.transform()); + } + + _currentCamera.rotate(pivot, _currentCamera.transform()); + } + + void FPSCamera::moveUsingMousePan( const sibr::Input& input, float deltaTime ) + { + + float speed = 0.05f*deltaTime; + sibr::Vector3f move( + input.mouseButton().isActivated(sibr::Mouse::Left)? input.mouseDeltaPosition().x()*speed : 0.f, + input.mouseButton().isActivated(sibr::Mouse::Right)? input.mouseDeltaPosition().y()*speed : 0.f, + input.mouseButton().isActivated(sibr::Mouse::Middle)? input.mouseDeltaPosition().y()*speed : 0.f + ); + _currentCamera.translate(move, _currentCamera.transform()); + + } +} diff --git a/SIBR_viewers/src/core/view/FPSCamera.hpp b/SIBR_viewers/src/core/view/FPSCamera.hpp new file mode 100644 index 0000000000..8f4d57decc --- /dev/null +++ b/SIBR_viewers/src/core/view/FPSCamera.hpp @@ -0,0 +1,108 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include +#include + +#include "Config.hpp" +#include "core/graphics/Shader.hpp" +#include "core/assets/InputCamera.hpp" +#include "ICameraHandler.hpp" + + +namespace sibr { + + class Viewport; + class Mesh; + class Input; + + /** Interactive camera that can be moved using WASD keys. + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT FPSCamera : public ICameraHandler + { + + public: + + /** + Default constructor. + */ + FPSCamera( void ); + + /** + Setup the FPS camera so that it has the same pose as the argument camera. + \param cam the reference camera + */ + void fromCamera(const sibr::InputCamera & cam); + + /** + Update the FPS camera based on the user input (keyboard). + \param input the user input + \param deltaTime time elapsed since last update + */ + void update( const sibr::Input & input, float deltaTime); + + /** Move to a camera position/orientation that is a distance-wieghted combination of the given cameras. + \param cams the cameras list. + */ + void snap(const std::vector & cams); + + // ICameraHandler interface + + /** Update the FPS camera based on the user input. + \param input the user input + \param deltaTime time elapsed since last update + \param viewport the view viewport + */ + virtual void update(const sibr::Input & input, const float deltaTime, const Viewport & viewport) override; + + /** \return the current camera */ + virtual const sibr::InputCamera & getCamera( void ) const override; + + /** Set the camera speed. + \param speed translation speed + \param angular rotation speed + */ + void setSpeed(const float speed, const float angular = 0.0); + + /** Dispaly GUI. + \param suffix Panel title suffix + */ + virtual void onGUI(const std::string& suffix) override; + + void setGoalAltitude(const float& goalAltitude); + + private: + + float _speedFpsCam, _speedRotFpsCam; ///< Camera speeds. + bool _hasBeenInitialized; ///< Has the camera been initialized. + sibr::InputCamera _currentCamera; ///< Current camera. + bool _useAcceleration; ///< Should the camera accelerate the longer keys are pressed. + float _goalAltitude; + + /** Update camera pose based on keys. + \param input user input + \param deltaTime elapsed time + */ + void moveUsingWASD( const sibr::Input& input, float deltaTime); + + /** Update camera pose based on mouse. + \param input user input + \param deltaTime elapsed time + */ + void moveUsingMousePan( const sibr::Input& input, float deltaTime); + + }; + +} diff --git a/SIBR_viewers/src/core/view/FPSCounter.cpp b/SIBR_viewers/src/core/view/FPSCounter.cpp new file mode 100644 index 0000000000..4476f00535 --- /dev/null +++ b/SIBR_viewers/src/core/view/FPSCounter.cpp @@ -0,0 +1,92 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include + +#include "core/view/FPSCounter.hpp" +#include "core/assets/Resources.hpp" + +#include +#include "core/graphics/GUI.hpp" +#include "imgui/imgui_internal.h" + +#define SIBR_FPS_SMOOTHING 60 + + +namespace sibr +{ + + int FPSCounter::_count = 0; + + FPSCounter::FPSCounter(const bool overlayed){ + _frameTimes = std::vector(SIBR_FPS_SMOOTHING, 0.0f); + _frameIndex = 0; + _frameTimeSum = 0.0f; + _lastFrameTime = std::chrono::high_resolution_clock::now(); + _position = sibr::Vector2f(-1, -1); + if (overlayed) { + _flags = ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoSavedSettings; + } else { + _flags = 0; + } + _hidden = false; + _name = "Metrics##" + std::to_string(_count); + ++_count; + } + + void FPSCounter::init(const sibr::Vector2f & position){ + _position = position; + } + + void FPSCounter::render(){ + + if (_hidden) { + return; + } + + if (_position.x() != -1) { + ImGui::SetNextWindowPos(ImVec2(_position.x(), _position.y())); + ImGui::SetNextWindowSize(ImVec2(0, ImGui::GetTitleBarHeight()), ImGuiCond_FirstUseEver); + } + + ImGui::SetNextWindowBgAlpha(0.5f); + if (ImGui::Begin(_name.c_str(), nullptr, _flags)) + { + ImGui::SetWindowFontScale(1.8); + const float frameTime = _frameTimeSum / float(SIBR_FPS_SMOOTHING); + ImGui::Text("%.2f (%.2f ms)", 1.0f/ frameTime, frameTime*1000.0f); + ImGui::SetWindowFontScale(1); + } + + ImGui::End(); + } + + void FPSCounter::update(float deltaTime){ + _frameTimeSum -= _frameTimes[_frameIndex]; + _frameTimeSum += deltaTime; + _frameTimes[_frameIndex] = deltaTime; + _frameIndex = (_frameIndex + 1) % SIBR_FPS_SMOOTHING; + } + + void FPSCounter::update(bool doRender) { + auto now = std::chrono::high_resolution_clock::now(); + float deltaTime = std::chrono::duration(now - _lastFrameTime).count(); + update(deltaTime); + if (doRender) { + render(); + } + _lastFrameTime = now; + + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/FPSCounter.hpp b/SIBR_viewers/src/core/view/FPSCounter.hpp new file mode 100644 index 0000000000..691970b0fe --- /dev/null +++ b/SIBR_viewers/src/core/view/FPSCounter.hpp @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include "core/view/Config.hpp" +# include + +# include + +namespace sibr +{ + + /** Provde a small GUI panel to display the current framerate, smoothed over multiple frames. + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT FPSCounter + { + public: + typedef std::chrono::time_point time_point; ///< Time type. + + /** Constructor. + \param overlayed if true, the GUI panel is always displayed on top of all others. + */ + FPSCounter(const bool overlayed = true); + + /** Setup at a given screen location. + \param position the position on screen (in pixels). + */ + void init(const sibr::Vector2f & position); + + /** generate the ImGui panel. */ + void render(); + + /** Update state using external timing. + \param deltaTime time elapsed since last udpate. + */ + void update(float deltaTime); + + /** Update state using internal timer. + \param doRender should the ImGui panel be genrated immediatly + */ + void update(bool doRender = true); + + /** Toggle the panel visibility. */ + void toggleVisibility() { + _hidden = !_hidden; + } + + /** \return true if the panel visible. */ + bool active() const { + return !_hidden; + } + + private: + time_point _lastFrameTime; ///< Last frame duration. + sibr::Vector2f _position; ///< on screen position. + std::vector _frameTimes; ///< Last N frame times. + size_t _frameIndex; ///< Current position in the time list. + float _frameTimeSum; ///< Current running sum. + int _flags; ///< Imgui display flags. + bool _hidden; ///< Visibility status. + std::string _name; ///< Panel name. + static int _count; ///< Internal counter to avoid collision when multiple framerate panels are displayed. + }; + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/IBRBasicUtils.cpp b/SIBR_viewers/src/core/view/IBRBasicUtils.cpp new file mode 100644 index 0000000000..c3451fb0c3 --- /dev/null +++ b/SIBR_viewers/src/core/view/IBRBasicUtils.cpp @@ -0,0 +1,99 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "IBRBasicUtils.hpp" + +namespace sibr { + std::vector IBRBasicUtils::selectCameras(const std::vector& cams, const Camera & eye, uint count) + { + // Select one method + return selectCamerasAngleWeight(cams, eye, count); + //return selectCamerasSimpleDist(cams, eye, count); + } + + std::vector IBRBasicUtils::selectCamerasSimpleDist(const std::vector& cams, const sibr::Camera & eye, uint count, const bool& distOnly) + { + std::vector warped_img_id; + std::multimap dist; // distance wise closest input cameras + + for (uint i = 0; i < cams.size(); ++i) + { + if (cams.at(i)->isActive()) + { + float d = sibr::distance(cams[i]->position(), eye.position()); + float a = sibr::dot(cams[i]->dir(), eye.dir()); + if (distOnly) { + dist.insert(std::make_pair(d, i)); + } + else if (a > 0.707) { // cameras with 45 degrees + dist.insert(std::make_pair(d, i)); // sort distances in increasing order + } + } + } + + std::multimap::const_iterator d_it(dist.begin()); + for (uint i = 0; d_it != dist.end() && i < count; ++d_it, ++i) + warped_img_id.push_back(d_it->second); + + SIBR_ASSERT(warped_img_id.size() <= count); + + return warped_img_id; + } + + std::vector IBRBasicUtils::selectCamerasAngleWeight(const std::vector& cams, const sibr::Camera & eye, uint count) + { + const Vector3f& position = eye.position(); + const Quaternionf& rotation = eye.rotation(); + float angleWeight = 0.3f; + + float maxdist = 0.f; + std::vector sqrDists(cams.size(), 0.f); + + for (uint i = 0; i < cams.size(); ++i) + { + if (cams.at(i)->isActive()) + { + float sqrDist = (cams[i]->position() - position).squaredNorm(); + sqrDists[i] = sqrDist; + maxdist = std::max(sqrDist, maxdist); + } + } + + std::multimap factors; + for (uint i = 0; i < cams.size(); ++i) + { + if (cams.at(i)->isActive()) + { + float a = sibr::dot(cams[i]->dir(), eye.dir()); + if (a > 0.707) // cameras with 45 degrees + { + const float midAngle = 4.71239f; // = 270 degree + float sqrDist = sqrDists[i]; + float currNormalDist = inverseLerp(0.f, maxdist, sqrDist); + float currNormalAngle = inverseLerp(0.f, midAngle, angleRadian(rotation, cams[i]->rotation())); + float factor = currNormalDist*(1.f - angleWeight) + currNormalAngle*angleWeight; + + factors.insert(std::make_pair(factor, i)); // sort distances in increasing order + } + } + } + + std::vector warped_img_id; + std::multimap::const_iterator d_it(factors.begin()); + for (uint i = 0; d_it != factors.end() && i < count; ++d_it, ++i) + warped_img_id.push_back(d_it->second); + + SIBR_ASSERT(warped_img_id.size() <= count); + + return warped_img_id; + } +} diff --git a/SIBR_viewers/src/core/view/IBRBasicUtils.hpp b/SIBR_viewers/src/core/view/IBRBasicUtils.hpp new file mode 100644 index 0000000000..68aee8d867 --- /dev/null +++ b/SIBR_viewers/src/core/view/IBRBasicUtils.hpp @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "core/view/Config.hpp" +#include "core/graphics/Utils.hpp" +#include "core/graphics/Camera.hpp" +#include "core/graphics/Image.hpp" +#include "core/assets/InputCamera.hpp" +#include + +namespace sibr{ + + /** Provide basic IBR utilities. + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT IBRBasicUtils + { + + public: + + /** Select cameras for a given viewpoint. + \param cams cameras to select from + \param eye novel viewpoint + \param count number of cameras to select + \return a list of selected camera indices. + \warning The number of cameras selected might be lower than count + \sa selectCamerasAngleWeight + */ + static std::vector selectCameras(const std::vector& cams, const sibr::Camera& eye, uint count); + + /** Select cameras based on distance to a given viewpoint. Cameras with an orientation that is more than 45� off compared to the reference are ignored. + \param cams cameras to select from + \param eye novel viewpoint + \param count number of cameras to select + \return a list of selected camera indices. + \warning The number of cameras selected might be lower than count + */ + static std::vector selectCamerasSimpleDist(const std::vector& cams, const sibr::Camera& eye, uint count, const bool& distOnly = false); + + + /** Select cameras based on distance and orientation to a given viewpoint. Cameras with an orientation that is more than 45� off compared to the reference are ignored. + \param cams cameras to select from + \param eye novel viewpoint + \param count number of cameras to select + \return a list of selected camera indices. + \warning The number of cameras selected might be lower than count + */ + static std::vector selectCamerasAngleWeight(const std::vector& cams, const sibr::Camera& eye, uint count); + + }; + +} diff --git a/SIBR_viewers/src/core/view/ICameraHandler.cpp b/SIBR_viewers/src/core/view/ICameraHandler.cpp new file mode 100644 index 0000000000..ece39727ab --- /dev/null +++ b/SIBR_viewers/src/core/view/ICameraHandler.cpp @@ -0,0 +1,13 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "ICameraHandler.hpp" \ No newline at end of file diff --git a/SIBR_viewers/src/core/view/ICameraHandler.hpp b/SIBR_viewers/src/core/view/ICameraHandler.hpp new file mode 100644 index 0000000000..1b86e7c238 --- /dev/null +++ b/SIBR_viewers/src/core/view/ICameraHandler.hpp @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include +#include + +#include "Config.hpp" + +#include "core/assets/InputCamera.hpp" +#include "core/graphics/Viewport.hpp" + +namespace sibr { + class Input; + + /** + * Represent an interaction mode (FPS, trackball,...) for a camera controlled by the user, or a combination of multiple modes. + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT ICameraHandler + { + public: + SIBR_CLASS_PTR(ICameraHandler) + + public: + + /** Update the camera handler state. + \param input user input + \param deltaTime time elapsed since last udpate + \param viewport view viewport + */ + virtual void update(const sibr::Input & input, const float deltaTime, const Viewport & viewport) = 0; + + /** \return the current camera. */ + virtual const InputCamera & getCamera(void) const = 0; + + // We allow for default empty implementations of render and onGUI. + + /** Render on top of the associated view(s). + \param viewport the rendering region + */ + virtual void onRender(const sibr::Viewport & viewport){}; + + /** Display GUI options and infos + \param windowName extra name to avoid collsiion between the windows of different handlers. + */ + virtual void onGUI(const std::string & windowName) {}; + + }; +} diff --git a/SIBR_viewers/src/core/view/ImageView.cpp b/SIBR_viewers/src/core/view/ImageView.cpp new file mode 100644 index 0000000000..8d92340e8c --- /dev/null +++ b/SIBR_viewers/src/core/view/ImageView.cpp @@ -0,0 +1,174 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "ImageView.hpp" + +#include + +namespace sibr { + + ImageView::ImageView(bool interactiveMode) + { + _display.init("Display", sibr::loadFile( + sibr::getShadersDirectory("core") + "/image_viewer.vert"), + sibr::loadFile(sibr::getShadersDirectory("core") + "/image_viewer.frag")); + + _minVal.init(_display, "minVal"); + _maxVal.init(_display, "maxVal"); + _channels.init(_display, "channels"); + _size.init(_display, "size"); + _pos.init(_display, "pos"); + _scale.init(_display, "scale"); + _correctRatio.init(_display, "correctRatio"); + + _minVal = { 0.0f, 0.0f, 0.0f, 0.0f }; + _maxVal = {1.0f, 1.0f, 1.0f, 1.0f}; + _showChannels[0] = _showChannels[1] = _showChannels[2] = _showChannels[3] = true; + _bgColor = {0.25f, 0.25f, 0.25f}; + _pos = {0.0f, 0.0f}; + _scale = 1.0f; + // When in "fixed" mode, don't respect the aspect ratio, to make sure that the full image is visible to the viewer. + _correctRatio = interactiveMode; + _showGUI = interactiveMode; + _allowInteraction = interactiveMode; + } + + void ImageView::onUpdate(Input& input, const Viewport & vp) { + if(!_allowInteraction) { + return; + } + _scale = std::max(_scale - float(input.mouseScroll()) * 0.05f, 0.001f); + if(input.mouseButton().isActivated(Mouse::Left)) { + sibr::Vector2f delta = input.mouseDeltaPosition().cast().cwiseQuotient(vp.finalSize()); + delta[1] *= -1.0f; + _pos = _pos.get() + delta; + } + } + + void ImageView::onGUI() { + + if(!_showGUI) { + return; + } + const std::string guiName = name() + " options"; + if(ImGui::Begin(guiName.c_str())) { + + ImGui::Text("Size: %dx%d. Scale: %.2f%%", int(_size.get()[0]), int(_size.get()[1]), 100.0f * _scale); + + if (ImGui::Button("Reset view")) { + _pos = sibr::Vector2f(0.0f, 0.0f); + _scale = 1.0f; + } + ImGui::SameLine(); + ImGui::Checkbox("Correct aspect ratio", &_correctRatio.get()); + + ImGui::Separator(); + + ImGui::Text("Channels"); ImGui::SameLine(); + ImGui::Checkbox("R", &_showChannels[0]); ImGui::SameLine(); + ImGui::Checkbox("G", &_showChannels[1]); ImGui::SameLine(); + ImGui::Checkbox("B", &_showChannels[2]); ImGui::SameLine(); + ImGui::Checkbox("A", &_showChannels[3]); + + ImGui::ColorEdit3("Background", &_bgColor[0]); + + ImGui::Separator(); + + const float dragSpeed = 0.05f; + bool editBounds = false; + + if(_lockChannels) { + // Only display one value and ensure synchronisation between the RGB components. + editBounds = ImGui::DragFloat("Min.", &_minVal.get()[0], dragSpeed) || editBounds; + editBounds = ImGui::DragFloat("Max.", &_maxVal.get()[0], dragSpeed) || editBounds; + } else { + editBounds = ImGui::DragFloat4("Min.", &_minVal.get()[0], dragSpeed) || editBounds; + editBounds = ImGui::DragFloat4("Max.", &_maxVal.get()[0], dragSpeed) || editBounds; + } + // Ensure internal state consistency. + if(editBounds && _lockChannels) { + _minVal.get()[3] = _minVal.get()[2] = _minVal.get()[1] = _minVal.get()[0]; + _maxVal.get()[3] = _maxVal.get()[2] = _maxVal.get()[1] = _maxVal.get()[0]; + } + // Ensure ordering. + if(editBounds) { + const sibr::Vector4f temp = _minVal; + _minVal = temp.cwiseMin(_maxVal.get()); + _maxVal = temp.cwiseMax(_maxVal.get()); + } + + ImGui::Checkbox("Lock values", &_lockChannels); + ImGui::SameLine(); + if (ImGui::Button("Reset values")) { + _minVal = sibr::Vector4f(0.0f, 0.0f, 0.0f, 0.0f); + _maxVal = sibr::Vector4f(1.0f, 1.0f, 1.0f, 1.0f); + } + } + ImGui::End(); + } + + void ImageView::setRenderTarget(const IRenderTarget& rt, uint handle) { + _tex = nullptr; + _texHandle = rt.handle(handle); + _size.get()[0] = float(rt.w()); _size.get()[1] = float(rt.h()); + } + + void ImageView::setTexture(const ITexture2D& tex) + { + _tex = nullptr; + _texHandle = tex.handle(); + _size.get()[0] = float(tex.w()); _size.get()[1] = float(tex.h()); + } + + + void ImageView::onRender(const Viewport & vpRender){ + + vpRender.bind(); + vpRender.clear(_bgColor); + if (_texHandle == 0) { + return; + } + + // Update channels flags. + _channels.get()[0] = float(_showChannels[0]); + _channels.get()[1] = float(_showChannels[1]); + _channels.get()[2] = float(_showChannels[2]); + _channels.get()[3] = float(_showChannels[3]); + + _display.begin(); + + if(_showChannels[3]) { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBlendEquation(GL_FUNC_ADD); + } + + _maxVal.send(); + _minVal.send(); + _channels.send(); + _scale.send(); + _pos.send(); + _size.send(); + _correctRatio.send(); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, _texHandle); + RenderUtility::renderScreenQuad(); + + glDisable(GL_BLEND); + _display.end(); + + CHECK_GL_ERROR; + } + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/view/ImageView.hpp b/SIBR_viewers/src/core/view/ImageView.hpp new file mode 100644 index 0000000000..711169e86a --- /dev/null +++ b/SIBR_viewers/src/core/view/ImageView.hpp @@ -0,0 +1,116 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include +# include +# include +# include + +namespace sibr { + + /** Basic view to display an image and inspect it. + *Two modes are supported: + * * interactive, where the user can pan/zoom, rescale the values, display some channels, via the mouse and GUI. + * * fixed, where the image is displayed as is, without any modification possible. + */ + class SIBR_VIEW_EXPORT ImageView : public sibr::ViewBase + { + SIBR_CLASS_PTR(ImageView); + public: + + /** Constructor. + * \param interactiveMode should the GUI panel be displayed and the user be able to pan/zoom into the image + */ + ImageView(bool interactiveMode = true); + + /** Render the image in the currently bound rendertarget. + *\param vpRender the region to render into + */ + void onRender(const Viewport & vpRender) override; + + /** Update user interactions. + *\param input the user input for the view + *\param vp the view viewport + */ + void onUpdate(Input& input, const Viewport & vp) override; + + /*** Render GUI panels. */ + void onGUI() override; + + /** Set an attachment of a rendertarget as the texture to display. + *\param rt the rendertarget to display + *\param handle the index of the attachment to display + *\warning Will only be valid until the RT is deleted. + */ + void setRenderTarget(const IRenderTarget & rt, uint handle = 0); + + /** Set the texture to display. + *\param tex the texture to display + *\warning Will only be valid until the texture is deleted. + */ + void setTexture(const ITexture2D& tex); + + /** Set an image as the texture to display. An internal copy of the image will be sent to the GPU. + *\param img the image + */ + template + void setImage(const Image & img) { + // Create texture on the fly. + std::shared_ptr> tex(new Texture2D(img)); + _tex = tex; + _texHandle = _tex->handle(); + _size.get()[0] = float(_tex->w()); + _size.get()[1] = float(_tex->h()); + } + + /** Set if the GUI panel should be displayed or not. + *\param opt display option + **/ + void showGUI(bool opt) { + _showGUI = opt; + } + + /** Set if the user should be able to pan/zoom the image + *\param opt interaction option + **/ + void allowInteraction(bool opt) { + _allowInteraction = opt; + } + + protected: + + ITexture2D::Ptr _tex; ///< Internal texture for the image input case. + GLuint _texHandle = 0; ///< Texture to display. + + GLShader _display; ///< Shader. + + GLuniform _minVal; ///< Normalization minimum. + GLuniform _maxVal; ///< Normalization maximum. + bool _lockChannels = true; ///< Use the same normalization values for all channels. + + std::array _showChannels; ///< Display which channels. + GLuniform _channels; ///< Display which channels (shader). + + GLuniform _pos; ///< Center position. + GLuniform _size; ///< Image size. + GLuniform _scale; ///< Image scale. + GLuniform _correctRatio; ///< Use proper aspect ratio to display. + + sibr::Vector3f _bgColor; ///< Background color. + bool _showGUI = true; ///< Show the GUI be displayed or not. + bool _allowInteraction = true; ///< Should the user be able to pan/zoom into the image. + }; + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/view/ImagesGrid.cpp b/SIBR_viewers/src/core/view/ImagesGrid.cpp new file mode 100644 index 0000000000..e02700a02a --- /dev/null +++ b/SIBR_viewers/src/core/view/ImagesGrid.cpp @@ -0,0 +1,638 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "ImagesGrid.hpp" + +#include + +#define GUI_TEXT(txt) { std::stringstream sss; sss << txt << std::endl; ImGui::Text(sss.str().c_str()); } + +namespace sibr +{ + void ImagesGrid::onUpdate(Input & input, const Viewport & vp) + { + const Vector2f size = vp.finalSize(); + + if (current_level_tex) { + imSizePixels = { current_level_tex->w(), current_level_tex->h() }; + imSizePixels = imSizePixels.cwiseQuotient(pow(2.0, current_lod)*Vector2f(1, 1)).unaryExpr([](float f) { return std::floor(f); }); + + num_imgs = (int)current_layer->imgs_texture_array->depth(); + } + + currentActivePix = pixFromScreenPos(input.mousePosition(), size); + _vp = vp; + + setupGrid(vp); + + updateZoomBox(input, vp); + updateZoomScroll(input); + updateDrag(input, size); + + if (currentActivePix && input.key().isActivated(Key::LeftControl) && input.mouseButton().isReleased(Mouse::Code::Left) ) { + if (selectionMode == IMAGE_SELECTION) { + current_layer->image_selection.switchSelection(currentActivePix.im); + } + if (selectionMode == PIXEL_SELECTION && !current_layer->flip_texture) { + current_layer->pixel_selection.switchSelection(currentActivePix); + } + } + + std::vector all_ims; + std::iota(all_ims.begin(), all_ims.end(), 0); + addImagesToHighlight("imBorders", all_ims, { 0,0,0 }); + + if (currentActivePix) { + addPixelsToHighlight("activePix", { currentActivePix }, { 0, 1, 0 }, 0.25f); + } + + const auto & imgs_list = current_layer->image_selection.get(); + if (!imgs_list.empty()) { + std::vector selected_ims(std::begin(imgs_list), std::end(imgs_list)); + addImagesToHighlight("imSelection", selected_ims, { 0,1,0 }, 0.1f); + } + + + } + + void ImagesGrid::onRender(const Viewport & viewport) + { + viewport.bind(); + + viewport.clear(Vector3f(0.7f, 0.7f, 0.7f)); + + if (!current_level_tex) { + return; + } + + draw_utils.image_grid(num_imgs, current_level_tex->handle(), grid_adjusted, viewRectangle.tl(), viewRectangle.br(), current_lod, current_layer->flip_texture); + + for (const auto & ims_highlight : images_to_highlight) { + const auto & imgs = ims_highlight.second; + for (int im : imgs.data) { + highlightImage(im, viewport, imgs.color, imgs.alpha); + } + } + + for (const auto & pixels_highlight : pixels_to_highlight) { + const auto & pix_data = pixels_highlight.second; + for (const auto pix : pix_data.data) { + highlightPixel(pix, viewport, pix_data.color); + } + } + + displayZoom(viewport, draw_utils); + } + + void ImagesGrid::onRender(IRenderTarget & dst) + { + dst.bind(); + + Viewport vp(0.0f, 0.0f, (float)dst.w(), (float)dst.h()); + onRender(vp); + + dst.unbind(); + } + + void ImagesGrid::onGUI() + { + if (ImGui::Begin("grid_gui")) { + + + optionsGUI(); + + listImagesLayerGUI(); + + if (currentActivePix) { + GUI_TEXT("current pix : " << currentActivePix.im << ", " << currentActivePix.pos.transpose()); + + Vector4f value = current_layer->imgs_texture_array->readBackPixel(currentActivePix.im, currentActivePix.pos[0], currentActivePix.pos[1], current_lod); + if (integer_pixel_values) { + Vector4i value_i = (255 * value).cast(); + GUI_TEXT(" \t value : " << value_i.transpose()); + } else { + GUI_TEXT(" \t value : " << value.transpose()); + } + + + } + + std::stringstream s; + s << "active images : "; + for (int im : current_layer->image_selection.get()) { + s << im << ", "; + } + ImGui::Text(s.str().c_str()); + + } + ImGui::End(); + } + + void ImagesGrid::addImagesToHighlight(const std::string & name, const std::vector& imgs, const Vector3f & col, float alpha_fill) + { + images_to_highlight[name] = { imgs, col, alpha_fill }; + } + + void ImagesGrid::addPixelsToHighlight(const std::string & name, const std::vector& pixs, const Vector3f & col, float alpha_fill) + { + pixels_to_highlight[name] = { pixs, col, alpha_fill }; + } + + const MVpixel & ImagesGrid::getCurrentPixel() + { + return currentActivePix; + } + + void ImagesGrid::listImagesLayerGUI() + { + + if (ImGui::CollapsingHeader("images_layers")) { + + // 0 name | 1 infos | 2 options + ImGui::Columns(3, "images_layers_list"); + + ImGui::Separator(); + + ImGui::Text("layer"); + ImGui::NextColumn(); + + ImGui::Text("num x w x h"); + ImGui::NextColumn(); + + ImGui::Text("options"); + ImGui::NextColumn(); + + ImGui::Separator(); + + for (auto imgs_it = images_layers.begin(); imgs_it != images_layers.end(); ++imgs_it) { + if (ImGui::Selectable(imgs_it->name.c_str(), current_layer == imgs_it)) { + current_layer = imgs_it; + current_level_tex = current_layer->imgs_texture_array; + } + + ImGui::NextColumn(); + + auto & tex_arr = imgs_it->imgs_texture_array; + GUI_TEXT(tex_arr->depth() << " x " << tex_arr->w() << " x " << tex_arr->h()); + ImGui::NextColumn(); + + ImGui::Checkbox(("flip##" + imgs_it->name).c_str(), &imgs_it->flip_texture); + + ImGui::NextColumn(); + + ImGui::Separator(); + } + + ImGui::Columns(1); + + } + } + + void ImagesGrid::optionsGUI() + { + if (ImGui::CollapsingHeader("grid_options")) { + + + if (ImGui::SliderInt("num per row", &num_per_row, 1, num_imgs)) { + viewRectangle.center = { 0.5f, 0.5f }; + viewRectangle.diagonal = { 0.5f, 0.5f }; + } + if (ImGui::SliderInt("pyramid level", ¤t_lod, 0, 10)) { + currentActivePix.isDefined = false; + } + + static const std::vector selection_mode_str = { "no selection", "image" ,"pixel" }; + for (int i = 0; i < (int)selection_mode_str.size(); ++i) { + if (i != 0) { + ImGui::SameLine(); + } + if (ImGui::RadioButton(selection_mode_str[i], selectionMode == (SelectionMode)i)) { + selectionMode = (SelectionMode)i; + } + } + + ImGui::Checkbox("integer pixel values", &integer_pixel_values); + } + } + + bool ImagesGrid::name_collision(const std::string & name) const + { + for (const auto & layer : images_layers) { + if (layer.name == name) { + return true; + } + } + return false; + } + + void ImagesGrid::setupFirstLayer() + { + if (images_layers.size() == 1) { + current_layer = images_layers.begin(); + current_level_tex = current_layer->imgs_texture_array; + } + } + + DrawUtilities::DrawUtilities() + { + initBaseShader(); + initGridShader(); + } + + void DrawUtilities::baseRendering(const Mesh & mesh, Mesh::RenderMode mode, const Vector3f & color, + const Vector2f & translation, const Vector2f & scaling, float alpha, const Viewport & vp) + { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBlendEquation(GL_FUNC_ADD); + + vp.bind(); + baseShader.begin(); + + scalingGL.set(scaling); + translationGL.set(translation); + colorGL.set(color); + alphaGL.set(alpha); + + mesh.render(false, false, mode); + + baseShader.end(); + + glDisable(GL_BLEND); + } + + void DrawUtilities::rectangle(const Vector3f & color, const Vector2f & tl, const Vector2f & br, bool fill, float alpha, const Viewport & vp) + { + auto rectangleMesh = std::make_shared(); + + rectangleMesh->vertices({ + { tl.x(), tl.y() , 0 }, + { tl.x(), br.y() , 0 }, + { br.x(), br.y() , 0 }, + { br.x(), tl.y() , 0 } + }); + + if (fill) { + rectangleMesh->triangles({ + { 0,1,2 }, + { 0,2,3 } + }); + + baseRendering(*rectangleMesh, Mesh::FillRenderMode, color, { 0,0 }, { 1,1 }, alpha, vp); + } + + rectangleMesh->triangles({ + { 0,0,1 },{ 1,1,2 },{ 2,2,3 },{ 3,3,0 } + }); + + baseRendering(*rectangleMesh, Mesh::LineRenderMode, color, { 0,0 }, { 1,1 }, 1.0f, vp); + } + + void DrawUtilities::rectanglePixels(const Vector3f & color, const Vector2f & center, const Vector2f & diagonalPixs, bool fill, float alpha, const Viewport & vp) + { + Vector2f diagUV = diagonalPixs.cwiseQuotient(vp.finalSize()); + Vector2f tl = center - diagUV; + Vector2f br = center + diagUV; + rectangle(color, tl, br, fill, alpha, vp); + } + + void DrawUtilities::circle(const Vector3f & color, const Vector2f & center, float radius, bool fill, float alpha, const Vector2f & scaling, int precision) + { + + static Mesh::Vertices vertices; + static Mesh::Triangles circleTriangles, circleFillTriangles; + + int n = precision; + if (circleFillTriangles.size() != n) { + n = precision; + circleTriangles.resize(n); + circleFillTriangles.resize(n); + for (int i = 0; i < n; ++i) { + int next = (i + 1) % n; + circleTriangles[i] = Vector3u(i, i, next); + circleFillTriangles[i] = Vector3u(i, next, n); + } + + vertices.resize(n + 1); + } + + double base_angle = 2.0*M_PI / (double)n; + float rho = 0.5f*radius*(float)(1.0 + cos(0.5*base_angle)); + + for (int i = 0; i < n; ++i) { + double angle = i * base_angle; + vertices[i] = Vector3f((float)cos(angle), (float)sin(angle), (float)0.0); + } + vertices[n] = Vector3f(0, 0, 0); + + auto circleMesh = std::make_shared(); + auto circleFilledMesh = std::make_shared(); + circleMesh->vertices(vertices); + circleFilledMesh->vertices(vertices); + circleMesh->triangles(circleTriangles); + circleFilledMesh->triangles(circleFillTriangles); + + if (fill) { + baseRendering(*circleFilledMesh, Mesh::FillRenderMode, color, { 0,0 }, { radius, radius }, alpha, {}); + } + baseRendering(*circleMesh, Mesh::LineRenderMode, color, { 0,0 }, { radius, radius }, 1.0f, {}); + } + + void DrawUtilities::circlePixels(const Vector3f & color, const Vector2f & center, float radius, bool fill, float alpha, const Vector2f & winSize, int precision) + { + Vector2f centerUV = center.cwiseQuotient(winSize); + Vector2f scaling = radius * Vector2f(1, 1).cwiseQuotient(winSize); + + circle(color, centerUV, 1.0f, fill, alpha, scaling, precision); + } + + void DrawUtilities::linePixels(const Vector3f & color, const Vector2f & ptA, const Vector2f & ptB, const Vector2f & winSize) + { + Vector2f uvA = ptA.cwiseQuotient(winSize); + Vector2f uvB = ptB.cwiseQuotient(winSize); + + Mesh line; + line.vertices({ + { uvA.x(), uvA.y(), 0.0f }, + { uvB.x(), uvB.y(), 0.0f } + }); + line.triangles({ + Vector3u(0,0,1) + }); + + baseRendering(line, Mesh::LineRenderMode, color, { 0,0 }, { 1.0, 1.0 }, 1.0f, {}); + + } + + void DrawUtilities::image_grid(int num_imgs, uint texture, const Vector2f & grid, const Vector2f & tl, const Vector2f & br, int lod, bool flip_texture) + { + gridShader.begin(); + + numImgsGL.set(num_imgs); + gridGL.set(grid); + lodGL.set((float)lod); + + gridTopLeftGL.set(tl); + gridBottomRightGL.set(br); + + flip_textureGL.set(flip_texture); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D_ARRAY, texture); + RenderUtility::renderScreenQuad(); + + gridShader.end(); + } + + void DrawUtilities::initBaseShader() + { + const std::string translationScalingVertexShader = + "#version 420 \n" + "layout(location = 0) in vec3 in_vertex; \n" + "uniform vec2 translation; \n" + "uniform vec2 scaling; \n" + "void main(void) { \n" + " gl_Position = vec4(scaling*in_vertex.xy+translation,0.0, 1.0); \n" + "} \n"; + + const std::string colorAlphaFragmentShader = + "#version 420 \n" + "uniform vec3 color; \n" + "uniform float alpha; \n" + "out vec4 out_color; \n" + "void main(void) { \n" + " out_color = vec4(color,alpha); \n" + "} \n"; + + baseShader.init("InterfaceUtilitiesBaseShader", translationScalingVertexShader, colorAlphaFragmentShader); + colorGL.init(baseShader, "color"); + alphaGL.init(baseShader, "alpha"); + scalingGL.init(baseShader, "scaling"); + translationGL.init(baseShader, "translation"); + } + + void DrawUtilities::initGridShader() + { + const std::string gridVertexShader = + "#version 420 \n" + "layout(location = 0) in vec3 in_vertex; \n" + "out vec2 uv_coord; \n" + "uniform vec2 zoomTL; \n" + "uniform vec2 zoomBR; \n" + "void main(void) { \n" + " uv_coord = 0.5*in_vertex.xy + vec2(0.5); \n" + " uv_coord.y = 1.0 - uv_coord.y; \n" + " uv_coord = zoomTL + (zoomBR-zoomTL)*uv_coord; \n" + " gl_Position = vec4(in_vertex.xy,0.0, 1.0); \n" + "} \n"; + + + + + const std::string gridFragmentShader = + "#version 420 \n" + "layout(binding = 0) uniform sampler2DArray texArray; \n" + "uniform int numImgs; \n" + "uniform vec2 grid; \n" + "uniform float lod; \n" + "uniform bool flip_texture; \n" + "in vec2 uv_coord; \n" + "out vec4 out_color; \n" + "void main(void) { \n" + " vec2 uvs = uv_coord; \n" + " uvs = grid*uvs; \n" + " if( uvs.x < 0 || uvs.y < 0 ) { discard; } \n" + " vec2 fracs = fract(uvs); \n" + " vec2 mods = uvs - fracs; \n" + " int n = int(mods.x + grid.x*mods.y); \n" + " if ( n< 0 || n > numImgs || mods.x >= grid.x || mods.y >= (float(numImgs)/grid.x) ) { discard; } else { \n" + " out_color = textureLod(texArray,vec3(fracs.x, flip_texture ? 1.0 -fracs.y : fracs.y,n), lod); } \n" + " //out_color = vec4(n/64.0,0.0,0.0,1.0); } \n" + " //out_color = vec4(uv_coord.x,uv_coord.y,0.0,1.0); } \n" + "} \n"; + + + gridShader.init("InterfaceUtilitiesMultiViewShader", gridVertexShader, gridFragmentShader); + gridTopLeftGL.init(gridShader, "zoomTL"); + gridBottomRightGL.init(gridShader, "zoomBR"); + numImgsGL.init(gridShader, "numImgs"); + gridGL.init(gridShader, "grid"); + lodGL.init(gridShader, "lod"); + flip_textureGL.init(gridShader, "flip_texture"); + } + + MVpixel GridMapping::pixFromScreenPos(const Vector2i & pos, const Vector2f & size) + { + Vector2f uvScreen = (pos.cast() + 0.5*Vector2f(1, 1)).cwiseQuotient(size); + + Vector2f posF = viewRectangle.tl() + 2.0*viewRectangle.diagonal.cwiseProduct(uvScreen); + posF = posF.cwiseProduct(grid_adjusted); + + //std::cout << posF.transpose() << " " << numImgs << std::endl; + + if (posF.x() < 0 || posF.y() < 0 || posF.x() >= grid_adjusted.x() /* || posF.y() >= grid.y() */) { + return MVpixel(); + } + + int x = (int)std::floor(posF.x()); + int y = (int)std::floor(posF.y()); + + int n = x + num_per_row * y; + if (n >= num_imgs) { + return MVpixel(); + } + + Vector2f frac = posF - Vector2f(x, y); + int j = (int)std::floor(frac.x()*imSizePixels.x()); + int i = (int)std::floor(frac.y()*imSizePixels.y()); + return MVpixel(n, Vector2i(j, i)); + } + + Vector2f GridMapping::uvFromMVpixel(const MVpixel & pix, bool use_center) + { + Vector2f pos = ((pix.pos.cast() + (use_center ? 0.5 : 0)*Vector2f(1, 1)).cwiseQuotient(imSizePixels) + + Vector2f(pix.im % num_per_row, pix.im / num_per_row)).cwiseQuotient(grid_adjusted); + pos = (pos - viewRectangle.tl()).cwiseQuotient(viewRectangle.diagonal) - Vector2f(1, 1); + pos.y() = -pos.y(); + return pos; + } + + void GridMapping::updateZoomBox(const Input & input, const sibr::Viewport & vp) + { + Vector2f size = vp.finalSize(); + + if (input.key().isPressed(Key::Q)) { + viewRectangle.center = Vector2f(0.5, 0.5); + viewRectangle.diagonal = Vector2f(0.5, 0.5); + } + + if (input.mouseButton().isPressed(Mouse::Code::Right) && !input.key().isActivated(Key::LeftControl) && !zoomSelection) { + zoomSelection.isActive = true; + zoomSelection.first = input.mousePosition(); + } + + if (zoomSelection) { + zoomSelection.second = input.mousePosition(); + + Viewport aligned_vp = Viewport(0, 0, vp.finalWidth(), vp.finalHeight()); + + Vector2f currentTL = (zoomSelection.first.cwiseMin(zoomSelection.second)).cast(); + Vector2f currentBR = (zoomSelection.first.cwiseMax(zoomSelection.second)).cast(); + + const auto clamp = [](Vector2f & v, float w, float h) { v = v.cwiseMax(Vector2f(1, 1)).cwiseMin(Vector2f(w - 2, h - 2)); }; + clamp(currentTL, vp.finalRight(), vp.finalBottom()); + clamp(currentBR, vp.finalRight(), vp.finalBottom()); + + if (input.mouseButton().isReleased(Mouse::Code::Right)) { + zoomSelection.isActive = false; + if (((currentBR - currentTL).array() > Vector2f(5, 5).array()).all()) { + Vector2f tlPix = viewRectangle.tl().cwiseProduct(size) + (viewRectangle.br() - viewRectangle.tl()).cwiseProduct(currentTL); + Vector2f brPix = viewRectangle.tl().cwiseProduct(size) + (viewRectangle.br() - viewRectangle.tl()).cwiseProduct(currentBR); + + Vector2f center = 0.5f*(brPix + tlPix); + Vector2f diag = 0.5f*(brPix - tlPix); + + float new_ratio = diag.x() / diag.y(); + float target_ratio = size.x() / size.y(); + if (new_ratio > target_ratio) { + diag.y() = diag.x() / target_ratio; + } else { + diag.x() = diag.y() * target_ratio; + } + + viewRectangle.center = center.cwiseQuotient(size); + viewRectangle.diagonal = diag.cwiseQuotient(size); + } + + } else if (!input.mouseButton().isActivated(Mouse::Code::Right) && input.isInsideViewport(aligned_vp)) { + zoomSelection.isActive = false; + } + } + + } + + void GridMapping::updateZoomScroll(const Input & input) + { + double scroll = input.mouseScroll(); + if (scroll) { + float ratio = (scroll > 0 ? 0.75f : 1.33f); + if (input.key().isActivated(Key::LeftControl)) { + ratio *= ratio; + } + viewRectangle.diagonal *= ratio; + } + } + + void GridMapping::updateCenter(const Input & input, const Vector2f & size) + { + } + + void GridMapping::updateDrag(const Input & input, const Vector2f & size) + { + if (input.mouseButton().isPressed(Mouse::Left)) { + drag.isActive = true; + drag.position = input.mousePosition(); + drag.center = viewRectangle.center.cast(); + } else if (drag.isActive && input.mouseButton().isReleased(Mouse::Left)) { + drag.isActive = false; + } + if (drag.isActive && input.mouseButton().isActivated(Mouse::Left)) { + Vector2f translation = 2.0*(input.mousePosition() - drag.position).cast().cwiseQuotient(size).cwiseProduct(viewRectangle.diagonal); + viewRectangle.center = drag.center - translation; + } + } + + void GridMapping::displayZoom(const Viewport & viewport, DrawUtilities & utils) + { + if (zoomSelection) { + Vector2f tl = 2.0*zoomSelection.first.cast().cwiseQuotient(_vp.finalSize()) - Vector2f(1, 1); + Vector2f br = 2.0*zoomSelection.second.cast().cwiseQuotient(_vp.finalSize()) - Vector2f(1, 1); + tl.y() = -tl.y(); + br.y() = -br.y(); + utils.rectangle(Vector3f(1, 0, 0), tl, br, false, 0.15f, viewport); + } + } + + void GridMapping::highlightPixel(const MVpixel & pix, const Viewport & viewport, const Vector3f & color, const Vector2f & pixScreenSize) + { + Vector2f pixTl = uvFromMVpixel(pix); + Vector2f pixBR = uvFromMVpixel(MVpixel(pix.im, pix.pos + Vector2i(1, 1))); + + viewport.bind(); + + if ((pixBR - pixTl).cwiseProduct(viewport.finalSize()).norm() < pixScreenSize.diagonal().norm()) { + //if pixel size in screen space is too tiny + draw_utils.rectanglePixels(color, 0.5*(pixTl + pixBR), pixScreenSize, true, 0.15f, viewport); + } else { + //otherwise highlight pixel intirely + draw_utils.rectangle(color, pixTl, pixBR, true, 0.15f, viewport); + } + } + + void GridMapping::highlightImage(int im, const sibr::Viewport & viewport, const sibr::Vector3f & color, float alpha) + { + Vector2f imTl = uvFromMVpixel(MVpixel(im, { 0, 0 })); + Vector2f imBR = uvFromMVpixel(MVpixel(im, imSizePixels.cast())); + + draw_utils.rectangle(color, imTl, imBR, alpha != 0 , alpha, viewport); + } + + void GridMapping::setupGrid(const Viewport & vp) + { + float ratio_img = imSizePixels.x() / imSizePixels.y(); + float ratio_vp = vp.finalWidth() / vp.finalHeight(); + grid_adjusted = num_per_row * Vector2f(1, ratio_img / ratio_vp); + } + +} + +#undef GUI_TEXT \ No newline at end of file diff --git a/SIBR_viewers/src/core/view/ImagesGrid.hpp b/SIBR_viewers/src/core/view/ImagesGrid.hpp new file mode 100644 index 0000000000..32fbf33d65 --- /dev/null +++ b/SIBR_viewers/src/core/view/ImagesGrid.hpp @@ -0,0 +1,282 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once +# include "Config.hpp" +#include +# include +#include +#include +#include + +namespace sibr +{ + + class SIBR_VIEW_EXPORT DrawUtilities + { + public: + + DrawUtilities(); + + GLShader baseShader; + + GLuniform colorGL; + GLuniform alphaGL; + GLuniform scalingGL; + GLuniform translationGL; + + GLShader gridShader; + + + GLuniform gridGL; + GLuniform gridTopLeftGL; + GLuniform gridBottomRightGL; + GLuniform lodGL; + GLuniform numImgsGL; + GLuniform flip_textureGL; + + void baseRendering(const Mesh & mesh, Mesh::RenderMode mode, const Vector3f & color, const Vector2f & translation, const Vector2f & scaling, float alpha, const Viewport & vp); + + void rectangle(const Vector3f & color, const Vector2f & tl, const Vector2f & br, bool fill, float alpha, const Viewport & vp ); + void rectanglePixels(const Vector3f & color, const Vector2f & center, const Vector2f & diagonalPixs, bool fill, float alpha, const Viewport & vp); + void circle(const Vector3f & color, const Vector2f & center, float radius, bool fill, float alpha, const Vector2f & scaling = Vector3f(1, 1), int precision = 50); + void circlePixels(const Vector3f & color, const Vector2f & center, float radius, bool fill, float alpha, const Vector2f & winSize, int precision = 50); + void linePixels(const Vector3f & color, const Vector2f & ptA, const Vector2f & ptB, const Vector2f & winSize); + + void image_grid(int num_imgs, uint texture, const Vector2f & grid, const Vector2f & tl, const Vector2f & br, int lod, bool flip_texture); + + private: + + void initBaseShader(); + void initGridShader(); + + }; + + struct QuadData + { + Vector2f center = { 0.5, 0.5 }; + Vector2f diagonal = { 0.5, 0.5 }; + + Vector2f br() const { return center + diagonal; } + Vector2f tl() const { return center - diagonal; } + }; + + struct QuadSelectionData + { + operator bool() const { return isActive; } + Vector2i first; + Vector2i second; + bool isActive = false; + }; + + struct DragClickData + { + Vector2f center; + Vector2i position; + bool isActive = false; + }; + + struct MVpixel { + MVpixel() : isDefined(false) {} + MVpixel(int i, const Vector2i & px) : im(i), pos(px), isDefined(true) {} + + operator bool() const { return isDefined; } + bool operator ==(const MVpixel & other) const { return im == other.im && pos == other.pos; } + + Vector2i pos; + int im; + bool isDefined = false; + }; + + + class SIBR_VIEW_EXPORT GridMapping { + + protected: + MVpixel pixFromScreenPos(const Vector2i & pos, const Vector2f & size); + + //uvs in opengl [1,-1] + Vector2f uvFromMVpixel(const MVpixel & pix, bool use_center = false); + + void updateZoomBox(const Input & input, const sibr::Viewport & vp); + void updateZoomScroll(const Input & input); + void updateCenter(const Input & input, const Vector2f & size); + void updateDrag(const Input & input, const Vector2f & size); + + void displayZoom(const sibr::Viewport & viewport, DrawUtilities & utils); + + void highlightPixel(const MVpixel & pix, const sibr::Viewport & viewport, const sibr::Vector3f & color = { 0, 1, 0 }, const sibr::Vector2f & minPixSize = { 10.0f, 10.0f }); + void highlightImage(int im, const sibr::Viewport & viewport, const sibr::Vector3f & color = { 0, 1, 0 }, float alpha = 0); + void setupGrid(const Viewport & vp); + + DrawUtilities draw_utils; + Viewport _vp; + QuadData viewRectangle; + QuadSelectionData zoomSelection; + DragClickData drag; + + int num_per_row = 4; + Vector2f grid_adjusted; + + Vector2f imSizePixels; + int num_imgs; + }; + + + + template + class ObjectSelection { + public: + void switchSelection(const T & t) { + for (auto it = _selected.begin(); it != _selected.end(); ++it) { + if (*it == t) { + _selected.erase(it); + return; + } + } + _selected.push_back(t); + } + + const std::list get() const { + return _selected; + } + + protected: + std::list _selected; + }; + + struct ImageGridLayer { + ITexture2DArray::Ptr imgs_texture_array; + + ObjectSelection pixel_selection; + ObjectSelection image_selection; + + std::string name; + bool flip_texture = false; + }; + + template + struct HighlightData { + std::vector data; + Vector3f color; + float alpha = 0; + }; + + + class SIBR_VIEW_EXPORT ImagesGrid : public ViewBase, GridMapping + { + SIBR_CLASS_PTR(ImagesGrid); + + public: + + enum SelectionMode { NO_SELECTION, IMAGE_SELECTION, PIXEL_SELECTION }; + + //ViewBase interface + virtual void onUpdate(Input& input, const Viewport & vp) override; + virtual void onRender(const Viewport & viewport) override; + virtual void onRender(IRenderTarget & dst); + virtual void onGUI() override; + + void addImagesToHighlight(const std::string & name, const std::vector & imgs, const Vector3f & col, float alpha_fill = 0); + void addPixelsToHighlight(const std::string & name, const std::vector & pixs, const Vector3f & col, float alpha_fill = 0); + + + const MVpixel & getCurrentPixel(); + + protected: + + void listImagesLayerGUI(); + void optionsGUI(); + + bool name_collision(const std::string & name) const; + void setupFirstLayer(); + + std::list images_layers; + std::list::iterator current_layer; + ITexture2DArray::Ptr current_level_tex; + int current_lod = 0; + bool integer_pixel_values = true; + + std::map< std::string, HighlightData > pixels_to_highlight; + std::map > images_to_highlight; + + MVpixel currentActivePix; + SelectionMode selectionMode = IMAGE_SELECTION; + + public: + template + void addImageLayer( + const std::string & layer_name, + const std::vector > & images, + uint flags = 0 + ) { + std::vector images_cv(images.size()); + for (size_t im = 0; im < images.size(); ++im) { + images_cv[im] = images[im].toOpenCVBGR(); + } + addImageLayer(layer_name, images_cv, flags); + } + + template + void addImageLayer( + const std::string & layer_name, + const std::vector> & images, + uint flags = 0 + ) { + std::vector images_cv(images.size()); + for (size_t im = 0; im < images.size(); ++im) { + images_cv[im] = images[im]->toOpenCVBGR(); + } + addImageLayer(layer_name, images_cv, flags); + } + + template + void addImageLayer( + const std::string & layer_name, + const std::shared_ptr> & images + ) { + if (name_collision(layer_name)) { + return; + } + + ImageGridLayer layer; + layer.name = layer_name; + layer.imgs_texture_array = { std::static_pointer_cast(images) }; + + images_layers.push_back(layer); + + setupFirstLayer(); + } + + template + void addImageLayer( + const std::string & layer_name, + const std::vector & images, + uint flags = 0 + ) { + + if (!images.size()) { + return; + } + + if (name_collision(layer_name)) { + return; + } + + ImageGridLayer layer; + layer.name = layer_name; + layer.imgs_texture_array = std::make_shared>(images, flags | SIBR_GPU_AUTOGEN_MIPMAP); + images_layers.push_back(layer); + + setupFirstLayer(); + } + }; +} diff --git a/SIBR_viewers/src/core/view/InteractiveCameraHandler.cpp b/SIBR_viewers/src/core/view/InteractiveCameraHandler.cpp new file mode 100755 index 0000000000..88145b07ab --- /dev/null +++ b/SIBR_viewers/src/core/view/InteractiveCameraHandler.cpp @@ -0,0 +1,762 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "InteractiveCameraHandler.hpp" +#include "core/graphics/Input.hpp" +#include "core/graphics/Viewport.hpp" +#include "core/graphics/Window.hpp" +#include "core/raycaster/Raycaster.hpp" +#include "core/view/UIShortcuts.hpp" +#include "core/graphics/GUI.hpp" + +# define IBRVIEW_SMOOTHCAM_POWER 0.1f +# define IBRVIEW_USESMOOTHCAM true +# define SIBR_INTERPOLATE_FRAMES 30 + + +namespace sibr { + + InteractiveCameraHandler::InteractiveCameraHandler(const bool supportRecording) : _trackball(true) { + _currentMode = FPS; + _shouldSmooth = IBRVIEW_USESMOOTHCAM; + _startCam = 0; + _interpFactor = 0; + _shouldSnap = false; + _supportRecording = supportRecording; + _radius = 100.0f; + _currentCamId = 0; + _saveFrame = false; + _saveFrameVideo = false; + _viewport = Viewport(0, 0, 0, 0); + _triggerCameraUpdate = false; + _isSetup = false; + + sibr::UIShortcuts::global().add("[Camera] b", "orbit mode"); + sibr::UIShortcuts::global().add("[Camera] y", "trackball mode"); + sibr::UIShortcuts::global().add("[Camera] v", "interpolation mode"); + sibr::UIShortcuts::global().add("[Camera] maj+y", "show/hide trackball"); + if (_supportRecording) { + sibr::UIShortcuts::global().add("c", "playback camera path"); + sibr::UIShortcuts::global().add("ctrl+c", "save camera path (enter filename in the prompt)"); + sibr::UIShortcuts::global().add("shift+c", "load camera path (enter filename in the prompt)"); + sibr::UIShortcuts::global().add("alt+c", "start recording camera path"); + } + + + } + + // save default camera for a scene + void InteractiveCameraHandler::saveDefaultCamera(const std::string& datasetPath) + { + std::string selectedFile = datasetPath; + + selectedFile.append("/default_camera.bin"); + _currentCamera.saveToBinary(selectedFile); + SIBR_LOG << "Saved camera (" << selectedFile << ")." << std::endl; + } + + void InteractiveCameraHandler::loadDefaultCamera(const sibr::InputCamera& cam, const std::string& datasetPath) + { + sibr::InputCamera savedCam; + std::ifstream camFile(datasetPath + "/default_camera.bin"); + fromCamera(cam, false); + if (camFile.good()) { + savedCam.loadFromBinary(datasetPath + "/default_camera.bin"); + SIBR_LOG << "Loaded " << datasetPath << "/default_camera.bin" << std::endl; + fromCamera(savedCam, false); + } + } + + void InteractiveCameraHandler::setup(const std::vector& cams, const sibr::Vector2u & resolution, const sibr::Viewport & viewport, const std::shared_ptr raycaster) + { + setup(cams, viewport, raycaster); + + } + + void InteractiveCameraHandler::setup(const sibr::InputCamera & cam, const sibr::Viewport & viewport, const std::shared_ptr raycaster) { + _raycaster = raycaster; + _viewport = viewport; + fromCamera(cam, false); + } + + void InteractiveCameraHandler::setup(const Eigen::AlignedBox & areaOfInterest, const sibr::Viewport & viewport, const std::shared_ptr raycaster) + { + _raycaster = raycaster; + _viewport = viewport; + _radius = areaOfInterest.diagonal().norm(); + // Use the trackball to compute an initial camera. + _trackball.fromBoundingBox(areaOfInterest, viewport); + fromCamera(_trackball.getCamera(), false); + } + + void InteractiveCameraHandler::setup(const std::vector& cams, const sibr::Viewport & viewport, const std::shared_ptr raycaster, const sibr::Vector2f & clippingPlanes) { + + // setup interpolation path if not set + if (_interpPath.empty()) { + setupInterpolationPath(cams); + } + // Update the near and far planes. + + sibr::Vector3f center(0, 0, 0); + for (const auto& cam : cams) { + center += cam->transform().position(); + } + center /= cams.size(); + + float avgDist = 0; + for (const auto& cam : cams) { + avgDist += (cam->transform().position() - center).norm(); + } + avgDist /= cams.size(); + _radius = avgDist; + + sibr::InputCamera idealCam = *cams[0]; + if(clippingPlanes[0] < 0.0f || clippingPlanes[1] < 0.0f) { + float zFar = -1.0f, zNear = -1.0f; + for (const auto & cam : cams) { + zFar = (zFar<0 || cam->zfar() > zFar ? cam->zfar() : zFar); + zNear = (zNear < 0 || cam->znear() < zNear ? cam->znear() : zNear); + } + idealCam.zfar(zFar*1.1f); + idealCam.znear(zNear*0.9f); + } else { + idealCam.znear(clippingPlanes[0]); + idealCam.zfar(clippingPlanes[1]); + } + + SIBR_LOG << "Interactive camera using (" << idealCam.znear() << "," << idealCam.zfar() << ") near/far planes." << std::endl; + + setup(idealCam, viewport, raycaster); + } + + void InteractiveCameraHandler::setup(const std::shared_ptr mesh, const sibr::Viewport & viewport) { + _raycaster = std::make_shared(); + _raycaster->addMesh(*mesh); + _viewport = viewport; + _trackball.fromBoundingBox(mesh->getBoundingBox(), viewport); + _radius = mesh->getBoundingBox().diagonal().norm(); + fromCamera(_trackball.getCamera(), false); + } + + void InteractiveCameraHandler::fromCamera(const sibr::InputCamera & cam, bool interpolate, bool updateResolution) { + _isSetup = true; + + sibr::InputCamera idealCam(cam); + if (updateResolution) { + // Viewport might have not been set, in this case defer the full camera update + // until after the viewport has been updated, ie in onUpdate(). + if (_viewport.isEmpty()) { + _triggerCameraUpdate = true; + } + else { + const float w = _viewport.finalWidth(); + const float h = _viewport.finalHeight(); + idealCam.size(uint(w), uint(h)); + idealCam.aspect(w / h); + } + } + + _orbit.fromCamera(idealCam, _raycaster); + _fpsCamera.fromCamera(idealCam); + + + if (_raycaster != nullptr) { + sibr::RayHit hit = _raycaster->intersect(sibr::Ray(idealCam.position(), idealCam.dir())); + // If hit at the proxy surface, save the distance between the camera and the mesh, to use as a trackball radius. + if (hit.hitSomething()) { + _radius = hit.dist(); + } + } + _trackball.fromCamera(idealCam, _viewport, _radius); + + _currentCamera = idealCam; + _cameraFovDeg = _currentCamera.fovy() * 180.0f / float(M_PI); + + if (!interpolate) { + _previousCamera = _currentCamera; + } + + _clippingPlanes[0] = _currentCamera.znear(); + _clippingPlanes[1] = _currentCamera.zfar(); + } + + void InteractiveCameraHandler::fromTransform(const Transform3f & transform, bool interpolate, bool updateResolution) + { + InputCamera camCopy = getCamera(); + camCopy.transform(transform); + fromCamera(camCopy, interpolate, updateResolution); + } + + void InteractiveCameraHandler::setClippingPlanes(float znear, float zfar) { + if (znear > 0.0f) { + _clippingPlanes[0] = znear; + } + if (zfar > 0.0f) { + _clippingPlanes[1] = zfar; + } + _currentCamera.znear(_clippingPlanes[0]); + _currentCamera.zfar(_clippingPlanes[1]); + fromCamera(_currentCamera); + } + + void InteractiveCameraHandler::switchMode(const InteractionMode mode) { + if (_currentMode == mode) { + return; + } + _currentMode = mode; + + // Synchronize internal cameras. + fromCamera(_currentCamera, _shouldSmooth); + + _interpFactor = 0; + + std::cout << "Switched to "; + switch (_currentMode) { + case ORBIT: + std::cout << "orbit"; + break; + case INTERPOLATION: + std::cout << "interpolation"; + break; + case TRACKBALL: + std::cout << "trackball"; + break; + case NONE: + std::cout << "none"; + break; + case FPS: + default: + std::cout << "fps&pan"; + break; + } + std::cout << " mode." << std::endl; + + } + + int InteractiveCameraHandler::findNearestCamera(const std::vector& inputCameras, const bool& useRotation) const + { + if (inputCameras.size() == 0) + return -1; + + int selectedCam = 0; + int numCams = inputCameras.size(); + + std::vector sortByDistance = sibr::IBRBasicUtils::selectCamerasSimpleDist(inputCameras, _currentCamera, numCams); + std::vector sortByAngle = sibr::IBRBasicUtils::selectCamerasAngleWeight(inputCameras, _currentCamera, numCams); + + std::map weights; + for (uint cam_id = 0; cam_id < sortByDistance.size(); cam_id++) { + weights[sortByDistance[cam_id]] = cam_id; + } + + if (useRotation) { + std::vector sortByAngle = sibr::IBRBasicUtils::selectCamerasAngleWeight(inputCameras, _currentCamera, numCams); + for (uint cam_id = 0; cam_id < sortByAngle.size(); cam_id++) { + weights[sortByAngle[cam_id]] += cam_id; + } + } + + std::multimap combinedWeight; + + for (auto const& weight : weights) { + combinedWeight.insert(std::make_pair(weight.second, weight.first)); + } + + selectedCam = combinedWeight.begin()->second; + + return selectedCam; + } + + void InteractiveCameraHandler::setupInterpolationPath(const std::vector & cameras) { + _interpPath.resize(cameras.size()); + + bool defaultPath = false; + for (int i = 0; i < cameras.size(); i++) { + if (cameras[i]->isActive()) { + if (cameras[i]->id() < cameras.size()) { + _interpPath[cameras[i]->id()] = cameras[i]; + } + else { + std::cout << "Cameras ID inconsistent. Setting default interpolation path." << std::endl; + defaultPath = true; + break; + } + } + } + + if (defaultPath) { + _interpPath.clear(); + for (int i = 0; i < cameras.size(); i++) { + if (cameras[i]->isActive()) { + _interpPath.push_back(cameras[i]); + } + } + std::sort(_interpPath.begin(), _interpPath.end(), [](const InputCamera::Ptr & a, const InputCamera::Ptr & b) { + return a->id() < b->id(); + }); + } + } + + void InteractiveCameraHandler::interpolate() { + if (_interpPath.empty()) { + return; + } + + // If we reach the last frame of the interpolation b/w two cameras, skip to next camera. + if (_interpFactor == SIBR_INTERPOLATE_FRAMES - 1) + { + _interpFactor = 0; + _startCam++; + } + + // If we reach the last camera, restart the interpolation. + if (_startCam >= _interpPath.size() - 1) { + _interpFactor = 0; + _startCam = 0; + } + + float k = std::min(std::max(((_interpFactor) / (float)SIBR_INTERPOLATE_FRAMES), 1e-6f), 1.0f - 1e-6f); + + sibr::InputCamera & camStart = *_interpPath[_startCam]; + sibr::InputCamera & camNext = *_interpPath[_startCam + 1]; + const sibr::Camera cam = sibr::Camera::interpolate(camStart, camNext, k); + _currentCamera = sibr::InputCamera(cam, camStart.w(), camStart.h()); + _currentCamera.aspect(_viewport.finalWidth() / _viewport.finalHeight()); + + + _interpFactor = _interpFactor + 1; + } + + void InteractiveCameraHandler::snapToCamera(const int i) { + if (!_interpPath.empty()) { + unsigned int nearestCam = (i == -1 ? findNearestCamera(_interpPath) : i); + nearestCam = sibr::clamp(nearestCam, (unsigned int)(0), (unsigned int)(_interpPath.size() - 1)); + fromCamera(*_interpPath[nearestCam], true, false); + } + } + + float InteractiveCameraHandler::getInterpolatedHeight(const std::vector& inputCameras) + { + const uint numCams = inputCameras.size(); + std::vector sortByDistance = sibr::IBRBasicUtils::selectCamerasSimpleDist(inputCameras, _currentCamera, numCams, true); + Vector3f pos0 = 0.5f * (_interpPath[sortByDistance[0]]->position() + _interpPath[sortByDistance[1]]->position()); + Vector3f pos1 = 0.5f * (_interpPath[sortByDistance[2]]->position() + _interpPath[sortByDistance[3]]->position()); + + const float dist = (pos1 - pos0).norm(); + const float currentDist = (_currentCamera.position() - pos0).norm(); + const float dist0 = (_currentCamera.position() - pos0).norm(); + const float dist1 = (_currentCamera.position() - pos1).norm(); + const float t = dist1 / (dist0 + dist1); + + const float height = t * pos0.z() + (1 - t) * pos1.z(); // (cam1->position().z() - cam0->position().z()); + return height; + } + + void InteractiveCameraHandler::setFPSCameraSpeed(const float speed) { + _fpsCamera.setSpeed(speed); + } + + void InteractiveCameraHandler::update(const sibr::Input & input, float deltaTime, const sibr::Viewport & viewport) { + if (!viewport.isEmpty()) { + _viewport = viewport; + } + if (_triggerCameraUpdate && !_viewport.isEmpty()) { + fromCamera(_currentCamera, false, true); + _triggerCameraUpdate = false; + } + if (input.key().isReleased(Key::N)) { + _keyCameras.emplace_back(new InputCamera(getCamera())); + } + + if (input.key().isReleased(sibr::Key::B)) { + switchMode(_currentMode == ORBIT ? FPS : ORBIT); + } + else if (input.key().isReleased(sibr::Key::V)) { + switchMode(_currentMode == INTERPOLATION ? FPS : INTERPOLATION); + } + else if (input.key().isActivated(sibr::Key::LeftShift) && input.key().isReleased(sibr::Key::Y)) { + if (_currentMode == TRACKBALL) { + _trackball.drawThis = !_trackball.drawThis; + SIBR_LOG << "[Trackball] Display visual guides: " << (_trackball.drawThis ? "on" : "off") << "." << std::endl; + } + } + // only free key + else if (input.key().isReleased(sibr::Key::M)) { + _cameraRecorder.saveImage("", _currentCamera, _currentCamera.w(), _currentCamera.h()); + } + else if (input.key().isReleased(sibr::Key::Y)) { + switchMode(_currentMode == TRACKBALL ? FPS : TRACKBALL); + } + else if (input.key().isReleased(sibr::Key::Space)) { + switchSnapping(); + } + else if (input.key().isReleased(sibr::Key::P)) { + snapToCamera(-1); + + } + else if (_supportRecording) { + if (input.key().isActivated(Key::LeftShift) && (input.key().isActivated(Key::LeftAlt) || input.key().isActivated(Key::LeftControl)) && input.key().isReleased(Key::C)) + { + + _saveFrame = !_saveFrame; + if (_saveFrame) { + std::string pathOutView; + for (uint i = 0; i < 10; ++i) std::cout << std::endl; + std::cout << "Enter path to output the frames:" << std::endl; + safeGetline(std::cin, pathOutView); + + if (!pathOutView.empty()) { + _cameraRecorder.saving(pathOutView + "/"); + } + else { + _cameraRecorder.stopSaving(); + _saveFrame = false; + } + } + else { + _cameraRecorder.stopSaving(); + } + } + else if (input.key().isActivated(Key::LeftShift) && input.key().isReleased(Key::C)) + { + std::string filename; + + int w, h; + for (uint i = 0; i < 10; ++i) std::cout << std::endl; + std::cout << "Enter a filename for loading a camera path:" << std::endl; + safeGetline(std::cin, filename); + std::cout << "Enter width for camera" << std::endl; + std::cin >> w; + std::cout << "Enter height for camera" << std::endl; + std::cin >> h; + std::cin.get(); + + _cameraRecorder.reset(); + if (boost::filesystem::extension(filename) == ".out") + _cameraRecorder.loadBundle(filename, w, h); + else + _cameraRecorder.load(filename); + _cameraRecorder.playback(); + } + else if (input.key().isActivated(Key::LeftControl) && input.key().isReleased(Key::C)) + { + std::string filename; + for (uint i = 0; i < 10; ++i) std::cout << std::endl; + std::cout << "Enter a filename for saving a camera path:" << std::endl; + safeGetline(std::cin, filename); + _cameraRecorder.save(filename); + _cameraRecorder.saveAsBundle(filename + ".out", _currentCamera.h()); + _cameraRecorder.saveAsLookAt(filename + ".lookat"); + if (_fribrExport) { + const int height = int(std::floor(1920.0f / _currentCamera.aspect())); + _cameraRecorder.saveAsFRIBRBundle(filename + "_fribr/", 1920, height); + } + _cameraRecorder.stop(); + } + else if (input.key().isActivated(Key::LeftAlt) && input.key().isReleased(Key::C)) + { + _cameraRecorder.reset(); + _cameraRecorder.record(); + } + else if (input.key().isActivated(Key::RightAlt) && input.key().isReleased(Key::C)) { + std::string filename; + for (uint i = 0; i < 10; ++i) std::cout << std::endl; + std::cout << "Enter a filename for saving a camera path:" << std::endl; + safeGetline(std::cin, filename); + _cameraRecorder.playback(); + _cameraRecorder.saveAsBundle(filename + ".out", _currentCamera.h()); + _cameraRecorder.saveAsLookAt(filename + ".lookat"); + if (_fribrExport) { + const int height = int(std::floor(1920.0f / _currentCamera.aspect())); + _cameraRecorder.saveAsFRIBRBundle(filename + "_fribr/", 1920, height); + } + } + else if (input.key().isReleased(Key::C)) { + _cameraRecorder.playback(); + } + } + + // If the camera recorder is currently playing, don't update the various camera modes. + if (!_cameraRecorder.isPlaying()) { + + switch (_currentMode) { + case ORBIT: + _orbit.update(input, _raycaster); + _currentCamera = _orbit.getCamera(); + break; + case INTERPOLATION: + interpolate(); + break; + case TRACKBALL: + _trackball.update(input, _viewport, _raycaster); + _currentCamera = _trackball.getCamera(); + break; + case NONE: + //do nothing + break; + case FPS: + default: + + if (_altitudeInterp) { + + _fpsCamera.setGoalAltitude(getInterpolatedHeight(_interpPath)); + } + else { + _fpsCamera.setGoalAltitude(-1.f); + } + + _fpsCamera.update(input, deltaTime); + if (_shouldSnap) { + _fpsCamera.snap(_interpPath); + } + _currentCamera = _fpsCamera.getCamera(); + break; + } + + if (_shouldSmooth && _currentMode != INTERPOLATION) { + const sibr::Camera newcam = sibr::Camera::interpolate(_previousCamera, _currentCamera, IBRVIEW_SMOOTHCAM_POWER); + _currentCamera = sibr::InputCamera(newcam, _currentCamera.w(), _currentCamera.h()); + } + + } + + // Note this call has three modes: record (only read the arg camera) | playback (overwrite the arg camera) | do nothing (do nothing) + _cameraRecorder.use(_currentCamera); + + _previousCamera = _currentCamera; + _clippingPlanes[0] = _currentCamera.znear(); + _clippingPlanes[1] = _currentCamera.zfar(); + } + + const sibr::InputCamera& InteractiveCameraHandler::getCamera(void) const { + return _currentCamera; + } + + void InteractiveCameraHandler::onRender(const sibr::Viewport& viewport) { + if (_currentMode == TRACKBALL) { + _trackball.onRender(viewport); + } + } + + void InteractiveCameraHandler::onGUI(const std::string& suffix) { + + const std::string fullName = (suffix); + + + // Saving camera. + if (ImGui::Begin(fullName.c_str())) { + + ImGui::PushScaledItemWidth(130); + ImGui::Combo("Mode", (int*)&_currentMode, "FPS\0Orbit\0Interp.\0Trackball\0None\0\0"); + switchMode(_currentMode); + ImGui::SameLine(); + if (ImGui::Button("Load camera")) { + std::string selectedFile; + if (sibr::showFilePicker(selectedFile, Default)) { + if (!selectedFile.empty()) { + sibr::InputCamera savedCam; + savedCam.loadFromBinary(selectedFile); + SIBR_LOG << "Loaded saved camera (" << selectedFile << ")." << std::endl; + fromCamera(savedCam, false); + } + } + } + + ImGui::SameLine(); + if (ImGui::Button("Save camera (bin)")) { + std::string selectedFile; + if (sibr::showFilePicker(selectedFile, Save)) { + if (!selectedFile.empty()) { + if (selectedFile[selectedFile.size() - 1] == '/' || selectedFile[selectedFile.size() - 1] == '\\') { + selectedFile.append("default_camera.bin"); + } + _currentCamera.saveToBinary(selectedFile); + SIBR_LOG << "Saved camera (" << selectedFile << ")." << std::endl; + } + } + } + + + ImGui::Separator(); + if (ImGui::Button("Snap to closest")) { + _currentCamId = findNearestCamera(_interpPath); + snapToCamera(_currentCamId); + } + + ImGui::SameLine(); + ImGui::Checkbox("Altitude interp", &_altitudeInterp); + + ImGui::SameLine(); + if (ImGui::InputInt("Snap to", &_currentCamId, 1, 10)) { + _currentCamId = sibr::clamp(_currentCamId, 0, int(_interpPath.size()) - 1); + snapToCamera(_currentCamId); + } + + if (_currentMode == TRACKBALL) { + ImGui::SameLine(); + ImGui::Checkbox("Show trackball", &_trackball.drawThis); + } + + if (ImGui::InputFloat("Fov Y", &_cameraFovDeg, 1.0f, 5.0f)) { + _cameraFovDeg = sibr::clamp(_cameraFovDeg, 1.0f, 180.0f); + _currentCamera.fovy(_cameraFovDeg * float(M_PI) / 180.0f); + // Synchronize internal cameras. + fromCamera(_currentCamera, _shouldSmooth); + } + ImGui::SameLine(); + if (ImGui::InputFloat("Near", &_clippingPlanes[0], 1.0f, 10.0f)) { + _currentCamera.znear(_clippingPlanes[0]); + fromCamera(_currentCamera); + } + ImGui::SameLine(); + if (ImGui::InputFloat("Far", &_clippingPlanes[1], 1.0f, 10.0f)) { + _currentCamera.zfar(_clippingPlanes[1]); + fromCamera(_currentCamera); + } + + ImGui::Separator(); + ImGui::PopItemWidth(); + + // Record camera keypoints. + ImGui::Text("Key cameras: %d", _keyCameras.size()); + ImGui::SameLine(); + if (ImGui::Button("Add key")) { + _keyCameras.emplace_back(new InputCamera(getCamera())); + } + ImGui::SameLine(); + + if (!_keyCameras.empty()) { + if (ImGui::Button("Remove key")) { + _keyCameras.pop_back(); + } + ImGui::SameLine(); + } + + if (ImGui::Button("Save key cameras...")) { + std::string outpath; + if (sibr::showFilePicker(outpath, Save, "", "lookat") && !outpath.empty()) { + InputCamera::saveAsLookat(_keyCameras, outpath); + } + } + ImGui::Separator(); + } + ImGui::End(); + + // Recording handling. + if (_supportRecording) { + std::string selectedFile; + + if (ImGui::Begin(fullName.c_str())) { + ImGui::PushScaledItemWidth(130); + + if (ImGui::Button("Play")) { + _cameraRecorder.playback(); + } + ImGui::SameLine(); + if (ImGui::Button("Play (No Interp)")) { + _cameraRecorder.playback(); + _cameraRecorder.playNoInterpolation(true); + } + ImGui::SameLine(); + if (ImGui::Button("Record")) { + _cameraRecorder.reset(); + _cameraRecorder.record(); + } + ImGui::SameLine(); + if (ImGui::Button("Stop")) { + _cameraRecorder.stop(); + } + ImGui::SameLine(); + if(ImGui::InputFloat("Speed##CamRecorder", &_cameraRecorder.speed(), 0.1f)) { + _cameraRecorder.speed() = sibr::clamp(_cameraRecorder.speed(), 0.0f, 1.0f); + } + + if (ImGui::Button("Load path")) { + if (sibr::showFilePicker(selectedFile, Default)) { + if (!selectedFile.empty()) { + SIBR_LOG << "Loading" << std::endl; + _cameraRecorder.reset(); + if (boost::filesystem::extension(selectedFile) == ".out") + _cameraRecorder.loadBundle(selectedFile, _currentCamera.w(), _currentCamera.h()); + else if (boost::filesystem::extension(selectedFile) == ".lookat") + _cameraRecorder.loadLookat(selectedFile, _currentCamera.w(), _currentCamera.h()); + else if (boost::filesystem::extension(selectedFile) == ".txt") + _cameraRecorder.loadColmap(selectedFile, _currentCamera.w(), _currentCamera.h()); + else + _cameraRecorder.load(selectedFile); +// dont play back until explicitly requested +// _cameraRecorder.playback(); + } + + } + } + + ImGui::SameLine(); + if (ImGui::Button("Save path")) { + _cameraRecorder.stop(); + if (sibr::showFilePicker(selectedFile, Save)) { + if (!selectedFile.empty()) { + SIBR_LOG << "Saving" << std::endl; + _cameraRecorder.save(selectedFile + ".path"); + _cameraRecorder.saveAsBundle(selectedFile + ".out", _currentCamera.h()); + _cameraRecorder.saveAsColmap(selectedFile, _currentCamera.h(), _currentCamera.w()); + _cameraRecorder.saveAsLookAt(selectedFile + ".lookat"); + if (_fribrExport) { + const int height = int(std::floor(1920.0f / _currentCamera.aspect())); + _cameraRecorder.saveAsFRIBRBundle(selectedFile + "_fribr/", 1920, height); + } + } + } + } + + //ImGui::SameLine(); + ImGui::Checkbox("Save video (from playing)", (&_saveFrame)); + if (_saveFrame) { + _cameraRecorder.savingVideo(_saveFrame); + } + + ImGui::SameLine(); + const bool saveFrameOld = _saveFrameVideo; + ImGui::Checkbox("Save frames (from playing)", (&_saveFrameVideo)); + if (_saveFrameVideo && !saveFrameOld) { + if (sibr::showFilePicker(selectedFile, Directory)) { + if (!selectedFile.empty()) { + _cameraRecorder.saving(selectedFile + "/"); + _cameraRecorder.savingVideo(_saveFrameVideo); + } + else { + _cameraRecorder.stopSaving(); + _saveFrameVideo = false; + _cameraRecorder.savingVideo(_saveFrameVideo); + } + } + } + else if (!_saveFrameVideo && saveFrameOld) { + _cameraRecorder.stopSaving(); + _cameraRecorder.savingVideo(_saveFrameVideo); + } + + //ImGui::SameLine(); + //ImGui::Checkbox("Fribr export", &_fribrExport); + ImGui::Separator(); + ImGui::PopItemWidth(); + } + ImGui::End(); + } + // add the FPS camera controls in the same ImGui window. + _fpsCamera.onGUI(suffix); + + + } + +} + diff --git a/SIBR_viewers/src/core/view/InteractiveCameraHandler.hpp b/SIBR_viewers/src/core/view/InteractiveCameraHandler.hpp new file mode 100644 index 0000000000..9a7d3c22c0 --- /dev/null +++ b/SIBR_viewers/src/core/view/InteractiveCameraHandler.hpp @@ -0,0 +1,254 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include +#include + +#include "Config.hpp" +#include "core/graphics/Shader.hpp" +#include "core/assets/InputCamera.hpp" + +#include "core/view/IBRBasicUtils.hpp" +#include "core/view/FPSCamera.hpp" +#include "core/view/Orbit.hpp" +#include "core/view/TrackBall.h" +#include "core/assets/CameraRecorder.hpp" +#include "core/graphics/Viewport.hpp" +#include "core/graphics/Mesh.hpp" +#include "ICameraHandler.hpp" + +namespace sibr { + class Mesh; + class Input; + class Raycaster; + + /** + The InteractiveCameraHandler gathers various types of camera interactions and + allows the user to switch between them, keeping them in sync. + It can also perform camera interpolation along a path. + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT InteractiveCameraHandler : public ICameraHandler + { + + public: + + SIBR_CLASS_PTR(InteractiveCameraHandler); + + /** Current handler interaction mode. */ + enum InteractionMode { + FPS = 0, ORBIT = 1, INTERPOLATION = 2, TRACKBALL = 3, NONE=4 + }; + + /** Constructor. + *\param supportRecording can this handler record camera paths. + *\todo Do we really need this option? + */ + InteractiveCameraHandler(const bool supportRecording = true); + + /** \deprecated Resolution is deprecated and will be removed in the near future. + * See setup(const std::vector&, const sibr::Viewport&, std::shared_ptr,...) instead. */ + void setup(const std::vector & cams, const sibr::Vector2u & resolution, const sibr::Viewport & viewport, const std::shared_ptr raycaster); + + /** Setup an interactive camera handler from an existing camera. + The interactive camera will be initialized at the position of the argument camera. + \param cam initialization camera + \param viewport the window viewport + \param raycaster raycaster containing the mesh displayed (used for the trackball centering), can be nullptr + */ + void setup(const sibr::InputCamera & cam, const sibr::Viewport & viewport, const std::shared_ptr raycaster); + + /** Setup an interactive camera handler from an area of interest. + The interactive camera will be initialized so that the area is completely visible. + \param areaOfInterest the region of space to show + \param viewport the window viewport + \param raycaster raycaster containing the mesh displayed (used for the trackball centering), can be nullptr + */ + void setup(const Eigen::AlignedBox& areaOfInterest, const sibr::Viewport & viewport, const std::shared_ptr raycaster); + + /** Setup an interactive camera handler from a series of existing cameras and mesh. + The interactive camera will be initialized at the position of the first camera from the list. + \param cams a list of cameras (used for interpolation path) + \param viewport the window viewport + \param raycaster raycaster containing the mesh displayed (used for the trackball centering), can be nullptr + \param clippingPlanes optional clipping planes to enforce + */ + void setup(const std::vector& cams, const sibr::Viewport& viewport, std::shared_ptr raycaster, const sibr::Vector2f & clippingPlanes = {-1.0f,-1.0f}); + + /** Setup an interactive camera handler from a mesh. + The interactive camera will be initialized so that the mesh is completely visible. + \param mesh the mesh to display + \param viewport the window viewport + \note a raycaster will be set up internally + */ + void setup(std::shared_ptr mesh, const sibr::Viewport& viewport); + + /** Setup a camera path for the interpolation mode. + * \param cameras to interpolate along + */ + void setupInterpolationPath(const std::vector & cameras); + + /** Move the interactive camera to a new position and change its internal parameters. + \param cam the cameras the parameters and pose should be copied from + \param interpolate smooth interpolation between the current pose and the new one + \param updateResolution should the resolution of the camera be updated or not. Can be disabled if the new cam has a size incompatible with the current viewport. + */ + void fromCamera(const sibr::InputCamera & cam, bool interpolate = true, bool updateResolution = true); + + /** Move the interactive camera to a new position. + \param transform the transform the orientation and pose should be copied from + \param interpolate smooth interpolation between the current pose and the new one + \param updateResolution should the resolution of the camera be updated or not. Can be disabled if the new cam has a size incompatible with the current viewport. + */ + void fromTransform(const Transform3f & transform, bool interpolate = true, bool updateResolution = true); + + /** Set the clipping planes. + *\param znear near plane + *\param zfar far plane + */ + void setClippingPlanes(float znear, float zfar); + + /** Find the camera in a list closest to the current interactive camera position + \param inputCameras the list to search in + \return the index of the closest camera in the list, or -1 + \note This function ignores cameras that are not 'active' in the list. + */ + int findNearestCamera(const std::vector& inputCameras, const bool& useRotation = true) const; + + /** Toggle camera motion smoothing. */ + void switchSmoothing() { _shouldSmooth = !_shouldSmooth; SIBR_LOG << "Smoothing " << (_shouldSmooth ? "enabled" : "disabled") << std::endl; } + + /** Toggle automatic snapping when getting close to a camera from the interpolation path. */ + void switchSnapping() { _shouldSnap = !_shouldSnap; SIBR_LOG << "Snapping " << (_shouldSnap ? "enabled" : "disabled") << std::endl; } + + /** Switch the interaction mode (trackball, fps,...). + \param mode the new mode + */ + void switchMode(const InteractionMode mode); + + /** Save the current camera as a binary file to a standard location. + * \param datasetPath destination directory + * \note "default_camera.bin" will be appended to the path. + */ + void saveDefaultCamera(const std::string& datasetPath); + + /** Load a camera parameters from a binary file at a standard location. + *\param cam the camera to use if loading fails + * \param datasetPath source directory + * \note "default_camera.bin" will be appended to the path. + */ + void loadDefaultCamera(const sibr::InputCamera& cam, const std::string& datasetPath); + + /** \return the current interaction mode. */ + InteractionMode getMode() const { return _currentMode; } + + /** Set the speed of the FPS camera. + \param speed the new speed + */ + void setFPSCameraSpeed(const float speed); + + /// ICameraHandler interface. + /** Update function, call at every tick. + \param input the input object for the current view. + \param deltaTime time elapsed since last frame + \param viewport optional window viewport (can be used by the trackball for instance) + */ + virtual void update(const sibr::Input & input, float deltaTime, const sibr::Viewport & viewport = Viewport(0.0f, 0.0f, 0.0f, 0.0f)) override; + + /** \return the current camera. */ + virtual const sibr::InputCamera & getCamera(void) const override; + + /** Render additional information on screen (trackball gizmo). + \param viewport the window viewport + */ + virtual void onRender(const sibr::Viewport & viewport) override; + + /** Show the GUI. + \param suffix additional GUI name suffix to avoid collisions when having multiple handlers. + */ + virtual void onGUI(const std::string & suffix) override; + + /** \return the camera recorder */ + sibr::CameraRecorder & getCameraRecorder() { return _cameraRecorder; }; + + /** \return the camera trackball */ + sibr::TrackBall & getTrackball() { return _trackball; } + + /** Snap the interactive camera to one of the interpolation path cameras. + \param id the index of the camera to snap to. if -1, the closest camera. + */ + void snapToCamera(int id = -1); + + /** \return the handler raycaster. + \warning Can be nullptr + */ + std::shared_ptr & getRaycaster() { return _raycaster; } + + /** \return true if the handler has been entirely setup */ + bool isSetup() const { return _isSetup; } + + /** \return the handler viewport */ + const sibr::Viewport & getViewport() const { return _viewport; } + + /** \return radius used for trackball*/ + float & getRadius() { return _radius; } + + float getInterpolatedHeight(const std::vector& inputCameras); + + private: + + int _currentCamId; ///< Current snapped camera ID. + + bool _shouldSmooth; ///< Motion smoothing. + bool _shouldSnap; ///< Currently snapping. + bool _altitudeInterp = false; ///< Interpolate altitude on the cameras height or not. + + float _bottom_vp = 1.f; + + sibr::FPSCamera _fpsCamera; ///< FPS handler. + sibr::Orbit _orbit; ///< Orbit handler. + sibr::TrackBall _trackball; ///< Trackball handler. + + InteractionMode _currentMode; ///< Current handler mode. + + float _radius; ///< Trackball radius property (for GUI). + + std::shared_ptr _raycaster; ///< Raycaster (for trackball). + sibr::Viewport _viewport; ///< Current viewport. + + sibr::InputCamera _previousCamera; ///< Previous camera (for interpolation). + sibr::InputCamera _currentCamera; ///< Current camera. + + /// Parameters for path interpolation. + uint _startCam; ///< Start camera index in the list. + uint _interpFactor; ///< Current interpolation factor between cam _startCam and _startCam+1. + std::vector _interpPath; ///< Cameras along the path. + + sibr::CameraRecorder _cameraRecorder; ///< Camera recorder. + bool _supportRecording; ///< Does the camera support recording (uneeded). + std::vector _keyCameras; ///< Key cameras saved punctually. \note This could be merged with the camera recorder. + + sibr::Vector2f _clippingPlanes; ///< Clipping planes parameter (for GUI). + bool _saveFrame; ///< Should the frame be saved as an image. + bool _saveFrameVideo; ///< Should the frame be saved as part of a video. + bool _triggerCameraUpdate; ///< Should the camera be updated (delayed if info is missing). + bool _isSetup; ///< Is the handler setup. + float _cameraFovDeg = 0.0f; ///< Camera field of view in degrees (for GUI). + bool _fribrExport = false; ///< Switch to FRIBR compatible export mode for paths. + + /** Interpolate along the path. */ + void interpolate(); + + }; +} diff --git a/SIBR_viewers/src/core/view/MultiMeshManager.cpp b/SIBR_viewers/src/core/view/MultiMeshManager.cpp new file mode 100644 index 0000000000..fc5dd31926 --- /dev/null +++ b/SIBR_viewers/src/core/view/MultiMeshManager.cpp @@ -0,0 +1,758 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "MultiMeshManager.hpp" + +#include + +namespace sibr { + + MeshData MeshData::dummy = MeshData("dummy", Mesh::Ptr(), DUMMY, Mesh::FillRenderMode); + + MeshData::MeshData(const std::string & _name, Mesh::Ptr mesh_ptr, MeshType mType, Mesh::RenderMode render_mode) : + meshPtr(mesh_ptr), renderMode(render_mode), name(_name), meshType(mType) + { + if (mType == POINTS) { + renderMode = Mesh::PointRenderMode; + } + if (mType == LINES && renderMode == Mesh::FillRenderMode) { + renderMode = Mesh::LineRenderMode; + } + if (renderMode != Mesh::FillRenderMode) { + backFaceCulling = false; + } + } + + MeshData MeshData::getNormalsMeshData() const + { + MeshData data(name + "_normals", meshPtr, normalMode == PER_TRIANGLE ? TRIANGLES : POINTS); + data.setColor(normalsColor).setDepthTest(depthTest); + data.normalsLength = (normalsInverted ? -normalsLength : normalsLength); + return data; + } + + MeshData::operator bool() const + { + return meshType != DUMMY; + } + + void MeshData::renderGeometry() const + { + CHECK_GL_ERROR; + if (!meshPtr) { + return; + } + if (renderMode == Mesh::PointRenderMode) { + meshPtr->render_points(depthTest); + } else { + meshPtr->render(depthTest, backFaceCulling, renderMode, frontFaceCulling, invertDepthTest); + } + CHECK_GL_ERROR; + } + + void MeshData::onGUI(const std::string & name) + { + // rendering mode + static const std::string renderModeStrs[3] = { "Points", "Lines", "Fill" }; + + if (ImGui::BeginCombo(("##render_mode_" + name).c_str(), renderModeStrs[(int)renderMode].data())) { + for (int t = (int)meshType; t >= 0; --t) { + if (ImGui::Selectable(renderModeStrs[t].data(), t == (int)renderMode)) { + renderMode = (Mesh::RenderMode)t; + } + } + ImGui::EndCombo(); + } + ImGui::NextColumn(); + + //alpha + ImGui::SliderFloat(("##alpha_" + name).c_str(), &alpha, 0, 1); + ImGui::NextColumn(); + + //user color + static const std::string colorModeStrs[2] = { "User-defined", "Vertex" }; + if (ImGui::BeginCombo(("##color_mode_" + name).c_str(), colorModeStrs[(int)colorMode].data())) { + if (meshPtr && meshPtr->hasColors()) { + if (ImGui::Selectable(colorModeStrs[VERTEX].data(), colorMode == VERTEX)) { + colorMode = VERTEX; + } + } + if (ImGui::Selectable(colorModeStrs[USER_DEFINED].data(), colorMode == USER_DEFINED)) { + colorMode = USER_DEFINED; + } + ImGui::EndCombo(); + } + if (colorMode == USER_DEFINED) { + ImGui::SameLine(); + ImGui::ColorEdit3(("##color_picker_" + name).c_str(), &userColor[0], ImGuiColorEditFlags_NoInputs); + } + ImGui::NextColumn(); + + //rendering options + if (ImGui::ArrowButton(("##OptionsArrow" + name).c_str(), ImGuiDir_Down)) { + ImGui::OpenPopup(("##Options_popup_" + name).c_str()); + } + if (ImGui::BeginPopup(("##Options_popup_" + name).c_str())) { + ImGui::Checkbox(("Depth Test##" + name).c_str(), &depthTest); + if (meshType == TRIANGLES) { + ImGui::Checkbox(("Cull faces##" + name).c_str(), &backFaceCulling); + ImGui::Checkbox(("Swap back/front##" + name).c_str(), &frontFaceCulling); + } + if (renderMode == Mesh::PointRenderMode) { + ImGui::PushItemWidth(75); + ImGui::SliderInt(("PointSize##" + name).c_str(), &radius, 1, 50); + ImGui::PopItemWidth(); + } + if (meshType == TRIANGLES) { + ImGui::Separator(); + ImGui::Checkbox(("ShowNormals##" + name).c_str(), &showNormals); + if (showNormals) { + static const std::string normalModeStrs[2] = { "Per-triangle", "Per-vertex"}; + if (ImGui::BeginCombo(("##normal_mode_" + name).c_str(), normalModeStrs[(int)normalMode].data())) { + if (ImGui::Selectable(normalModeStrs[PER_TRIANGLE].data(), normalMode == PER_TRIANGLE)) { + normalMode = PER_TRIANGLE; + } + if (meshPtr && meshPtr->hasNormals()) { + if (ImGui::Selectable(normalModeStrs[PER_VERTEX].data(), normalMode == PER_VERTEX)) { + normalMode = PER_VERTEX; + } + } + ImGui::EndCombo(); + } + ImGui::Checkbox(("NormalInverted##" + name).c_str(), &normalsInverted); + ImGui::PushItemWidth(90); + ImGui::SliderFloat(("NormalSize##" + name).c_str(), &normalsLength, 0.001f, 10.0f, "%.3f", 3.0f); + ImGui::PopItemWidth(); + ImGui::ColorEdit3(("NormalsColor##color_picker_" + name).c_str(), &normalsColor[0], ImGuiColorEditFlags_NoInputs); + } + if (!meshPtr->hasNormals()) { + if (ImGui::Button(("Compute Normals##" + name).c_str()) ){ + meshPtr->generateNormals(); + } + } else { + ImGui::Checkbox(("Phong shading##" + name).c_str(), &phongShading); + } + ImGui::Separator(); + } + ImGui::EndPopup(); + } + ImGui::NextColumn(); + } + + std::string MeshData::getInfos() const + { + if (!meshPtr) { + return "no mesh"; + } + + std::stringstream s; + s << meshPtr->vertices().size() << " vertices \n" << + meshPtr->triangles().size() << " triangles \n" << + "hasNormals() : " << meshPtr->hasNormals() << "\n" << + "hasColors() : " << meshPtr->hasColors() << "\n" << + "hasTexCoords() : " << meshPtr->hasTexCoords() << "\n" + ; + + return s.str(); + } + + MeshData & MeshData::setColor(const Vector3f & col) + { + userColor = col; + return *this; + } + + MeshData & MeshData::setBackFace(bool backface) + { + backFaceCulling = backface; + return *this; + } + + MeshData & MeshData::setDepthTest(bool depth_test) + { + depthTest = depth_test; + return *this; + } + + MeshData & MeshData::setColorRandom() + { + static const auto baseHash = [](uint p) { + p = 1103515245U * ((p >> 1U) ^ (p)); + uint h32 = 1103515245U * ((p) ^ (p >> 3U)); + return h32 ^ (h32 >> 16); + }; + + static const uint mask = 0x7fffffffU; + + static int seed_x = 0; + + ++seed_x; + + uint n = baseHash(uint(seed_x)); + Vector3u tmp = Vector3u(n, n * 16807U, n * 48271U); + for (int c = 0; c < 3; ++c) { + userColor[c] = (tmp[c] & mask) / float(0x7fffffff); + } + + return *this; + } + + MeshData & MeshData::setRadiusPoint(int rad) + { + radius = rad; + return *this; + } + + MeshData& MeshData::setScale(float s) + { + // TODO: insérer une instruction return ici + scale = s; + return *this; + } + + MeshData& MeshData::setTransformation(sibr::Matrix4f& tr) + { + // TODO: insérer une instruction return ici + transformation = tr; + return *this; + } + + MeshData & MeshData::setAlpha(float _alpha) { + alpha = _alpha; + return *this; + } + + MeshData & MeshData::setColorMode(ColorMode mode) + { + colorMode = mode; + return *this; + } + + void ShaderAlphaMVP::initShader(const std::string & name, const std::string & vert, const std::string & frag, const std::string & geom) + { + shader.init(name, vert, frag, geom); + mvp.init(shader, "mvp"); + alpha.init(shader, "alpha"); + } + + void ShaderAlphaMVP::setUniforms(const Camera & eye, const MeshData & data) + { + mvp.set(eye.viewproj()*data.transformation); + alpha.set(data.alpha); + } + + void ShaderAlphaMVP::render(const Camera & eye, const MeshData & data) + { + shader.begin(); + + setUniforms(eye, data); + + data.renderGeometry(); + + shader.end(); + } + + void ColorMeshShader::initShader(const std::string & name, const std::string & vert, const std::string & frag, const std::string & geom) + { + ShaderAlphaMVP::initShader(name, vert, frag, geom); + user_color.init(shader, "user_color"); + } + + void ColorMeshShader::setUniforms(const Camera & eye, const MeshData & data) + { + ShaderAlphaMVP::setUniforms(eye, data); + user_color.set(data.userColor); + } + + void PointShader::initShader(const std::string & name, const std::string & vert, const std::string & frag, const std::string & geom) + { + ColorMeshShader::initShader(name, vert, frag, geom); + radius.init(shader, "radius"); + } + + void PointShader::setUniforms(const Camera & eye, const MeshData & data) + { + ColorMeshShader::setUniforms(eye, data); + radius.set(data.radius); + } + + void PointShader::render(const Camera & eye, const MeshData & data) + { + glEnable(GL_PROGRAM_POINT_SIZE); + ColorMeshShader::render(eye, data); + glDisable(GL_PROGRAM_POINT_SIZE); + } + + void NormalRenderingShader::initShader(const std::string & name, const std::string & vert, const std::string & frag, const std::string & geom) + { + ColorMeshShader::initShader(name, vert, frag, geom); + normals_size.init(shader, "normals_size"); + } + + void NormalRenderingShader::setUniforms(const Camera & eye, const MeshData & data) + { + ColorMeshShader::setUniforms(eye, data); + normals_size.set(data.normalsLength); + } + + void MeshShadingShader::initShader(const std::string & name, const std::string & vert, const std::string & frag, const std::string & geom) + { + ColorMeshShader::initShader(name, vert, frag, geom); + light_position.init(shader, "light_position"); + phong_shading.init(shader, "phong_shading"); + use_mesh_color.init(shader, "use_mesh_color"); + } + + void MeshShadingShader::setUniforms(const Camera & eye, const MeshData & data) + { + ColorMeshShader::setUniforms(eye, data); + light_position.set(eye.position()); + phong_shading.set(data.phongShading); + use_mesh_color.set(data.colorMode == MeshData::ColorMode::VERTEX); + } + + MultiMeshManager::MultiMeshManager(const std::string & _name) : name(_name) + { + initShaders(); + + auto cube = Mesh::getTestCube(); + TrackBall tb; + tb.fromMesh(*cube, Viewport(0,0,1600,1200)); + camera_handler.fromCamera(tb.getCamera()); + + camera_handler.switchMode(InteractiveCameraHandler::InteractionMode::TRACKBALL); + } + + void MultiMeshManager::onUpdate(Input & input, const Viewport & vp) + { + if (!camera_handler.isSetup() && list_meshes.size() > 0) { + for (const auto & mesh_data : list_meshes) { + if (mesh_data.raycaster && mesh_data.meshPtr) { + auto bbox = mesh_data.meshPtr->getBoundingBox(); + if (bbox.volume() > 0) { + camera_handler.getRaycaster() = mesh_data.raycaster; + TrackBall tb; + tb.fromBoundingBox(bbox, vp); + camera_handler.fromCamera(tb.getCamera()); + break; + } + } + } + } + + if (camera_handler.isSetup() && !camera_handler.getRaycaster()) { + for (const auto & mesh : list_meshes) { + if (mesh.raycaster) { + camera_handler.getRaycaster() = mesh.raycaster; + break; + } + } + } + + if (selected_mesh_it_is_valid) { + const auto & mesh = *selected_mesh_it; + if( mesh.raycaster) { + camera_handler.getRaycaster() = mesh.raycaster; + } + } + + camera_handler.update(input, 1 / 60.0f, vp); + } + + void MultiMeshManager::onRender(const Viewport & viewport) + { + glPushDebugGroup(GL_DEBUG_SOURCE_APPLICATION, 0, -1, "Multimesh manager"); + + viewport.clear(backgroundColor); + viewport.bind(); + renderMeshes(); + camera_handler.onRender(viewport); + + glPopDebugGroup(); + } + + void MultiMeshManager::onRender(IRenderTarget & dst) + { + dst.bind(); + + const Viewport vp(0.0f, 0.0f, (float)dst.w(), (float)dst.h()); + onRender(vp); + + dst.unbind(); + } + + void MultiMeshManager::onGUI() + { + if (ImGui::Begin(name.c_str())) { + ImGui::Separator(); + + list_mesh_onGUI(); + + } + ImGui::End(); + } + + void MultiMeshManager::removeMesh(const std::string & name) + { + for (auto it = list_meshes.begin(); it != list_meshes.end(); ++it) { + if (it->name == name) { + list_meshes.erase(it); + return; + } + } + } + + void MultiMeshManager::setIntialView(const std::string& dataset_path) + { + const std::string topViewPath = dataset_path + "/cameras/topview.txt"; + std::ifstream topViewFile(topViewPath); + if (topViewFile.good()) + { + SIBR_LOG << "Loaded saved topview (" << topViewPath << ")." << std::endl; + // Intialize a temp camera (used to load the saved top view pose) with + // the current top view camera to get the resolution/fov right. + InputCamera cam(camera_handler.getCamera()); + cam.readFromFile(topViewFile); + // Apply it to the top view FPS camera. + //camera_handler.fromCamera(cam, false); + camera_handler.fromTransform(cam.transform(), false, true); + } + } + + void MultiMeshManager::initShaders() + { + const std::string folder = sibr::getShadersDirectory("core") + "/"; + + colored_mesh_shader.initShader("colored_mesh_shader", + loadFile(folder + "alpha_colored_mesh.vert"), + loadFile(folder + "alpha_colored_mesh.frag") + ); + points_shader.initShader("points_shader", + loadFile(folder + "alpha_points.vert"), + loadFile(folder + "alpha_points.frag") + ); + per_vertex_normals_shader.initShader("per_vertex_normal_shader", + loadFile(folder + "alpha_colored_per_vertex_normals.vert"), + loadFile(folder + "alpha_colored_mesh.frag"), + loadFile(folder + "alpha_colored_per_vertex_normals.geom") + ); + per_triangle_normals_shader.initShader("per_triangle_normal_shader", + loadFile(folder + "alpha_colored_per_triangle_normals.vert"), + loadFile(folder + "alpha_colored_mesh.frag"), + loadFile(folder + "alpha_colored_per_triangle_normals.geom") + ); + } + + void MultiMeshManager::renderMeshes() + { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBlendEquation(GL_FUNC_ADD); + + for (const auto & mesh_data : list_meshes) { + if (!mesh_data.active) { + continue; + } + + if (mesh_data.renderMode == Mesh::PointRenderMode) { + points_shader.render(camera_handler.getCamera(), mesh_data); + } else { + colored_mesh_shader.render(camera_handler.getCamera(), mesh_data); + } + + if (mesh_data.showNormals) { + if (mesh_data.normalMode == MeshData::PER_VERTEX ) { + per_vertex_normals_shader.render(camera_handler.getCamera(), mesh_data.getNormalsMeshData()); + } else { + per_triangle_normals_shader.render(camera_handler.getCamera(), mesh_data.getNormalsMeshData()); + } + + } + } + + glDisable(GL_BLEND); + } + + void MultiMeshManager::list_mesh_onGUI() + { + Iterator swap_it_src, swap_it_dst; + bool do_swap = false; + static int num_swap = 1; + + if (ImGui::CollapsingHeader(("Meshes list##" + name).c_str(), ImGuiTreeNodeFlags_DefaultOpen)) { + + static char loaded_mesh_str[128] = ""; + static std::string loaded_mesh_path; + static int loaded_mesh_counter = 0; + + if(ImGui::Button("load Mesh##MeshesList") && showFilePicker(loaded_mesh_path, FilePickerMode::Default, "", "obj,ply")) { + Mesh::Ptr mesh = std::make_shared(); + + if (mesh->load(loaded_mesh_path)) { + Path mesh_path = loaded_mesh_path; + std::string mesh_name = loaded_mesh_str; + mesh_name = (mesh_name == "") ? mesh_path.stem().string() : loaded_mesh_str; + + for (const auto & mesh_it : list_meshes) { + if (mesh_name == mesh_it.name) { + mesh_name += std::to_string(loaded_mesh_counter); + break; + } + } + + addMesh(mesh_name, mesh); + ++loaded_mesh_counter; + } + } + + ImGui::SameLine(); + ImGui::InputText("mesh name##MeshesList", loaded_mesh_str, IM_ARRAYSIZE(loaded_mesh_str)); + + // 0 name | 1 snapto delete | 2 active | 3 rendering mode | 4 alpha | 5 color | 6 Options + ImGui::Columns(7, "mesh options"); + + //ImGui::SetColumnWidth(4, 50); + + ImGui::Separator(); + if (ImGui::Button("Mesh##MeshesList")) { + list_meshes.reverse(); + } + ImGui::NextColumn(); + + ImGui::NextColumn(); + + if (ImGui::Button("Active##MeshesList")) { + for (auto & mesh : list_meshes) { + mesh.active = !mesh.active; + } + } + ImGui::SameLine(); + if (ImGui::Button("All##MeshesList")) { + for (auto & mesh : list_meshes) { + mesh.active = true; + } + } + ImGui::NextColumn(); + + ImGui::Text("Mode"); + ImGui::NextColumn(); + + static bool full_alpha = false; + if (ImGui::Button("Alpha##MeshesList")) { + for (auto & mesh : list_meshes) { + if (mesh.active) { + mesh.alpha = full_alpha ? 1.0f : 0.0f; + } + } + full_alpha = !full_alpha; + } + ImGui::NextColumn(); + + ImGui::Text("Color"); + ImGui::SameLine(); + ImGui::ColorEdit3(("Background##" + name).c_str(), &backgroundColor[0], ImGuiColorEditFlags_NoInputs); + ImGui::NextColumn(); + + ImGui::Text("Options"); + ImGui::NextColumn(); + + ImGui::Separator(); + + selected_mesh_it_is_valid = false; + for (auto mesh_it = list_meshes.begin(); mesh_it != list_meshes.end(); ++mesh_it) { + auto & mesh = *mesh_it; + if (ImGui::Selectable(mesh.name.c_str(), (selected_mesh_it_is_valid && mesh_it == selected_mesh_it))) { + selected_mesh_it = mesh_it; + selected_mesh_it_is_valid = true; + } + if (ImGui::IsItemActive()) { + float threshold = ImGui::GetItemRectSize().y + 5.0f; + ImVec2 value_raw = ImGui::GetMouseDragDelta(0, 0.0f); + + if (value_raw.y > threshold * num_swap) { + swap_it_dst = swap_it_src = mesh_it; + ++swap_it_dst; + if (swap_it_dst != list_meshes.end()) { + do_swap = true; + } + } else if (value_raw.y < -threshold * num_swap) { + swap_it_dst = swap_it_src = mesh_it; + --swap_it_dst; + if (swap_it_src != list_meshes.begin()) { + do_swap = true; + } + } + } + if (ImGui::IsItemHovered()) { + ImGui::BeginTooltip(); + ImGui::Text(mesh.getInfos().c_str()); + ImGui::EndTooltip(); + } + ImGui::NextColumn(); + + if (ImGui::Button(("SnapTo##" + mesh_it->name).c_str()) && mesh_it->meshPtr) { + auto box = mesh_it->meshPtr->getBoundingBox(); + if ((box.diagonal().array() > 1e-6f ).all()) { + InputCamera cam = camera_handler.getCamera(); + cam.setLookAt(box.center() + 2.0f*box.diagonal(), box.center(), { 0,1,0 }); + camera_handler.fromCamera(cam); + } + } + ImGui::SameLine(); + if (ImGui::Button(("X##" + mesh_it->name).c_str())) { + removeMesh(mesh_it->name); + } + ImGui::NextColumn(); + + ImGui::Checkbox(("##active_" + mesh.name).c_str(), &mesh.active); + ImGui::SameLine(); + if (ImGui::Button(("OnlyMe##" + mesh.name).c_str())) { + for (auto other_it = list_meshes.begin(); other_it != list_meshes.end(); ++other_it) { + other_it->active = (other_it == mesh_it); + } + } + + + ImGui::NextColumn(); + + mesh.onGUI(mesh.name); + ImGui::Separator(); + } + + ImGui::Columns(1); + } + if (do_swap) { + std::swap(*swap_it_src, *swap_it_dst); + ++num_swap; + } + if (ImGui::IsMouseReleased(0)) { + num_swap = 1; + } + } + + MeshData & MultiMeshManager::addMesh(const std::string & name, Mesh::Ptr mesh, bool use_raycaster) + { + if (!mesh) { + SIBR_WRG << "no mesh ptr in " << name; + return MeshData::dummy; + } + + return addMesh(name, mesh, 0, use_raycaster); + } + + MeshData & MultiMeshManager::addMesh(const std::string & name, Mesh::Ptr mesh, Raycaster::Ptr raycaster, bool create_raycaster) + { + if (!mesh) { + SIBR_WRG << "no mesh ptr in " << name; + return MeshData::dummy; + } + + MeshData data(name, mesh, MeshData::TRIANGLES, Mesh::FillRenderMode); + data.colorMode = mesh->hasColors() ? MeshData::ColorMode::VERTEX : MeshData::ColorMode::USER_DEFINED; + data.normalMode = (mesh->hasNormals() ? MeshData::PER_VERTEX : MeshData::PER_TRIANGLE); + data.phongShading = mesh->hasNormals(); + data.raycaster = raycaster; + + return addMeshData(data, create_raycaster).setColorRandom(); + } + + MeshData & MultiMeshManager::addMeshAsLines(const std::string & name, Mesh::Ptr mesh) + { + if (!mesh) { + SIBR_WRG << "no mesh ptr in " << name; + return MeshData::dummy; + } + + MeshData data(name, mesh, MeshData::LINES, Mesh::LineRenderMode); + return addMeshData(data).setColorRandom().setDepthTest(false); + } + + MeshData & MultiMeshManager::addLines(const std::string & name, const std::vector& endPoints, const Vector3f & color) + { + Mesh::Triangles tris(endPoints.size() / 2); + for (uint t = 0; t < tris.size(); ++t) { + tris[t] = Vector3u(2 * t, 2 * t, 2 * t + 1); + } + + Mesh::Ptr mesh = std::make_shared(); + mesh->vertices(endPoints); + mesh->triangles(tris); + + MeshData data(name, mesh, MeshData::LINES, Mesh::LineRenderMode); + data.userColor = color; + data.depthTest = false; + + return addMeshData(data).setColorMode(MeshData::USER_DEFINED); + } + + MeshData & MultiMeshManager::addPoints(const std::string & name, const std::vector& points, const Vector3f & color) + { + Mesh::Vertices vertices(points); + + Mesh::Ptr mesh = std::make_shared(); + mesh->vertices(vertices); + + MeshData data(name, mesh, MeshData::POINTS, Mesh::PointRenderMode); + data.userColor = color; + data.depthTest = false; + + return addMeshData(data).setColorMode(MeshData::USER_DEFINED); + } + + MeshData & MultiMeshManager::getMeshData(const std::string & name) + { + for (auto & m : list_meshes) { + if (m.name == name ) { + return m; + } + } + return MeshData::dummy; + } + + MeshData & MultiMeshManager::addMeshData(MeshData & data, bool create_raycaster) + { + bool collision = false; + Iterator collision_it; + for (collision_it = list_meshes.begin(); collision_it != list_meshes.end(); ++collision_it) { + if (collision_it->name == data.name) { + collision = true; + break; + } + } + + if (collision) { + collision_it->meshPtr = data.meshPtr; + return MeshData::dummy; + } else { + Raycaster::Ptr raycaster; + if (create_raycaster) { + raycaster = std::make_shared(); + raycaster->init(); + raycaster->addMesh(*data.meshPtr); + } + data.raycaster = raycaster; + + list_meshes.push_back(data); + + + auto box = data.meshPtr->getBoundingBox(); + if (!box.isEmpty()) { + InputCamera cam = camera_handler.getCamera(); + cam.zfar(std::max(cam.zfar(), 5.0f*box.diagonal().norm())); + camera_handler.fromCamera(cam); + } + + return list_meshes.back(); + } + } + +} diff --git a/SIBR_viewers/src/core/view/MultiMeshManager.hpp b/SIBR_viewers/src/core/view/MultiMeshManager.hpp new file mode 100644 index 0000000000..353e863884 --- /dev/null +++ b/SIBR_viewers/src/core/view/MultiMeshManager.hpp @@ -0,0 +1,439 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include +#include +#include +#include +#include + +#include + +namespace sibr { + + class MultiMeshManager; + class MeshData; + + // Hierarchy of shader wrappers, so there is no duplication for uniforms, init(), set() and render(). + + /** Shader wrapper for sending mesh display options to the GPU (while avoiding duplicated uniforms) . + * Contains an MVP matrix and an opacity value. + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT ShaderAlphaMVP { + SIBR_CLASS_PTR(ShaderAlphaMVP); + public: + /** Initialize the shader. + *\param name the shader name + *\param vert the vertex shader content + *\param frag the fragment shader ocntent + *\param geom the geometry shader content + */ + virtual void initShader(const std::string & name, const std::string & vert, const std::string & frag, const std::string & geom = ""); + + /* Set uniforms based on the camera position and mesh options. + * \param eye the current viewpoint + * \param data the mesh display options + */ + virtual void setUniforms(const Camera & eye, const MeshData & data); + + /** Render using the passed information. + * \param eye the current viewpoint + * \param data the mesh display options + */ + virtual void render(const Camera & eye, const MeshData & data); + + protected: + GLShader shader; ///< Base shader object. + GLuniform mvp; ///< MVP matrix. + GLuniform alpha = 1.0; ///< Opacity. + }; + + /** Shader wrapper for sending mesh display options to the GPU (while avoiding duplicated uniforms) . + * Adds a user-defined color. \sa ShaderAlphaMVP + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT ColorMeshShader : public ShaderAlphaMVP { + public: + /** Initialize the shader. + *\param name the shader name + *\param vert the vertex shader content + *\param frag the fragment shader ocntent + *\param geom the geometry shader content + */ + virtual void initShader(const std::string & name, const std::string & vert, const std::string & frag, const std::string & geom = ""); + + /* Set uniforms based on the camera position and mesh options. + * \param eye the current viewpoint + * \param data the mesh display options + */ + virtual void setUniforms(const Camera & eye, const MeshData & data); + + protected: + GLuniform user_color; ///< user-defined constant color. + }; + + /** Shader wrapper for sending mesh display options to the GPU (while avoiding duplicated uniforms) . + * Adds a point size. \sa ShaderAlphaMVP + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT PointShader : public ColorMeshShader { + public: + /** Initialize the shader. + *\param name the shader name + *\param vert the vertex shader content + *\param frag the fragment shader ocntent + *\param geom the geometry shader content + */ + void initShader(const std::string & name, const std::string & vert, const std::string & frag, const std::string & geom = "") override; + + /* Set uniforms based on the camera position and mesh options. + * \param eye the current viewpoint + * \param data the mesh display options + */ + virtual void setUniforms(const Camera & eye, const MeshData & data) override; + + /** Render using the passed information. + * \param eye the current viewpoint + * \param data the mesh display options + */ + virtual void render(const Camera & eye, const MeshData & data) override; + + protected: + GLuniform radius; ///< Point screenspace radius. + }; + + /** Shader wrapper for sending mesh display options to the GPU (while avoiding duplicated uniforms) . + * Adds shading parameters. \sa ShaderAlphaMVP + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT MeshShadingShader : public ColorMeshShader { + public: + /** Initialize the shader. + *\param name the shader name + *\param vert the vertex shader content + *\param frag the fragment shader ocntent + *\param geom the geometry shader content + */ + void initShader(const std::string & name, const std::string & vert, const std::string & frag, const std::string & geom = "") override; + + /* Set uniforms based on the camera position and mesh options. + * \param eye the current viewpoint + * \param data the mesh display options + */ + virtual void setUniforms(const Camera & eye, const MeshData & data) override; + + protected: + GLuniform light_position; ///< Light position for shading. + GLuniform phong_shading, use_mesh_color; ///< Should the mesh be shaded, which color should be used. + }; + + /** Shader wrapper for sending mesh display options to the GPU (while avoiding duplicated uniforms) . + * Adds line length option. \sa ShaderAlphaMVP + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT NormalRenderingShader : public ColorMeshShader { + public: + /** Initialize the shader. + *\param name the shader name + *\param vert the vertex shader content + *\param frag the fragment shader ocntent + *\param geom the geometry shader content + */ + void initShader(const std::string & name, const std::string & vert, const std::string & frag, const std::string & geom = "") override; + + /* Set uniforms based on the camera position and mesh options. + * \param eye the current viewpoint + * \param data the mesh display options + */ + virtual void setUniforms(const Camera & eye, const MeshData & data) override; + + protected: + GLuniform normals_size; ///< Normal line length. + }; + + + /** Helper class containing all information relative to how to render a mesh for debugging purpose in a MultiMeshManager. + * You can chain setters to modify multiple properties sequentially (chaining). + \sa MultiMeshManager + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT MeshData { + SIBR_CLASS_PTR(MeshData); + + public: + friend class MultiMeshManager; + + /** Color mode: constant defined by the user, or per-vertex attribute. */ + enum ColorMode : int { USER_DEFINED, VERTEX }; + /** Type of mesh: points, lines or faces. Dummy is for unitialized objects. */ + enum MeshType : int { POINTS = 0, LINES = 1, TRIANGLES = 2, DUMMY }; + /** When displaying normals, use the per-face or per-vertices normals */ + enum NormalMode { PER_TRIANGLE, PER_VERTEX }; + + /** COnstructor. + *\param _name the object name + *\param mesh_ptr the geoemtry to display + *\param mesh_type the type of mesh + *\param render_mode for triangle meshes, should they be displayed filled, as wireframes, or point clouds (\sa Mesh). + */ + MeshData(const std::string & _name = "", Mesh::Ptr mesh_ptr = {}, MeshType mesh_type = TRIANGLES, Mesh::RenderMode render_mode = Mesh::FillRenderMode); + + /** Render the geometry. */ + void renderGeometry() const; + + /** Display the GUI list item associated to this object. + *\param name additional display name + */ + void onGUI(const std::string & name); + + /** \return if the object is valid. */ + operator bool() const; + + /** \return a string describing the geometry. */ + std::string getInfos() const; + + /** Set the color. + *\param col the color to use + *\return the options object, for chaining. + *\note To see the color, you might also have to specify the color mode if your mesh has vertex colors. + */ + MeshData & setColor(const Vector3f & col); + + /** Set the backface culling. + *\param bf should culling be performed + *\return the options object, for chaining. + */ + MeshData & setBackFace(bool bf); + + /** Set the depth test. + *\param dt should depth testing be enabled + *\return the options object, for chaining. + */ + MeshData & setDepthTest(bool dt); + + /** Set a random constant color. + *\return the options object, for chaining. + */ + MeshData & setColorRandom(); + + /** Set the size of points for point-based display. + *\param rad the point radius in screenspace + *\return the options object, for chaining. + */ + MeshData & setRadiusPoint(int rad); + + /** Set the size of points for point-based display. + *\param scale + *\return the options object, for chaining. + */ + MeshData& setScale(float s); + + /** Set Transformation matrix. + *\param model matrix + *\return the options object, for chaining. + */ + MeshData& setTransformation(sibr::Matrix4f& tr); + + /** Set the opacity. + *\param alpha the opacity value for the whole object + *\return the options object, for chaining. + */ + MeshData & setAlpha(float alpha); + + /** Set the color mode (either user-defined constant or vertex color). + *\param mode the color mode + *\return the options object, for chaining. + */ + MeshData & setColorMode(ColorMode mode); + + /** Get the display options of the additional normals geometry. + *\return the normals options. + */ + MeshData getNormalsMeshData() const; + + std::string name; ///< Mesh name. + + Mesh::Ptr meshPtr; ///< Geometry. + MeshType meshType; ///< Type of mesh. + Mesh::RenderMode renderMode; ///< Render mode for triangle meshes. + + Matrix4f transformation = Matrix4f::Identity(); ///< Additional model transformation. + + Raycaster::Ptr raycaster; ///< Associated raycaster (optional) + + bool depthTest = true; ///< Perform depth test. + bool backFaceCulling = true; ///< Perform culling. + bool frontFaceCulling = false; ///< Swap front and back faces for culling. + bool invertDepthTest = false; ///< Switch the depth test to "greater than". + bool active = true; ///< Should the object be displayed. + bool phongShading = false; ///< Apply Phong shading to the object. + + // Points + int radius = 5; ///< Point screenspace radius. + float scale = 1.0f; + + // Colors + ColorMode colorMode = USER_DEFINED; ///< Color mode. + Vector3f userColor = { 0.5,0.5,0.5 }; ///< Constant user-defined color. + float alpha = 1.0f; ///< Opacity. + + // Normals + Vector3f normalsColor = { 1,0,1 }; ///< Normal lines color. + float normalsLength = 1.0f; ///< Normal lines length. + NormalMode normalMode = PER_TRIANGLE; ///< Which normals should be displayed. + bool normalsInverted = false; ///< Flip the normal lines orientation. + bool showNormals = false; ///< Should the normals be displayed. + + protected: + + static MeshData dummy; ///< OPtions object used for non-existing objects. + }; + + + /** Provide a view to render and interact with several meshes, + * useful for debugging purposes for instance. + * The API supports chaining when setting mesh display options. You can for instance do: + * manager.addMesh("my mesh", mesh).setDepthtest(true).setAlpha(0.5f); + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT MultiMeshManager : public ViewBase { + SIBR_CLASS_PTR(MultiMeshManager); + + public: + + /** Constructor + \param _name Name used for GUI panels as a prefix to avoid collision. + \note Requires an OpenGL context setup + */ + MultiMeshManager(const std::string & _name = "MultiMeshManager"); + + /** Add a mesh to the visualization. + \param name name used for the object, if it already exist it will update the geometry and preserve display options + \param mesh the mesh + \param use_raycaster should a raycaster be setup, for trackball centering for instance + \return a reference to the object display options (for chained modifications). + */ + MeshData & addMesh(const std::string & name, Mesh::Ptr mesh, bool use_raycaster = true); + + /** Add a mesh to the visualization. + \param name name used for the object, if it already exist it will update the geometry and preserve display options + \param mesh the mesh + \param raycaster existing raycaster, for trackball centering for instance + \param create_raycaster should a raycaster be setup if the passed raycaster is null + \return a reference to the object display options (for chained modifications). + */ + MeshData & addMesh(const std::string & name, Mesh::Ptr mesh, Raycaster::Ptr raycaster, bool create_raycaster = false); + + /** Add lines to the visualization, using the mesh vertices as line endpoints. + \param name name used for the object, if it already exist it will update the geometry and preserve display options + \param mesh the mesh + \return a reference to the object display options (for chained modifications). + */ + MeshData & addMeshAsLines(const std::string & name, Mesh::Ptr mesh); + + /** Add lines to the visualization, defined by their endpoints. + \param name name used for the object, if it already exist it will update the geometry and preserve display options + \param endPoints the line endpoints + \param color the display color to use + \return a reference to the object display options (for chained modifications). + */ + MeshData & addLines(const std::string & name, const std::vector & endPoints, const Vector3f & color = { 0,1,0 }); + + /** Add points to the visualization. + \param name name used for the mesh, if it already exist it will update the geometry and preserve display options + \param points the points + \param color the display color to use + \return a reference to the display options (for chained modifications). + */ + MeshData & addPoints(const std::string & name, const std::vector & points, const Vector3f & color = { 1,0,0 }); + + /** Accessor to the options of a visualized object. + \param name the object name to look for + \return a reference to the object options if it exists, or to MeshData::dummy if no match was found. + */ + MeshData & getMeshData(const std::string & name); + + /** Remove a object from the viewer. + \param name the name of the object to remove + */ + void removeMesh(const std::string & name); + + void setIntialView(const std::string& dataset_path); + + // ViewBase interface + + /** Update state based on user input. + * \param input user input + * \param vp input viewport + * \note Used when the view is in a multi-view system. + */ + virtual void onUpdate(Input& input, const Viewport & vp) override; + + /** Render content in the currently bound RT, using a specific viewport. + * \param viewport destination viewport + * \note Used when the view is in a multi-view system. + */ + virtual void onRender(const Viewport & viewport) override; + + /** Render content in a RT, using the RT viewport. + * \param dst destination RT + */ + virtual void onRender(IRenderTarget & dst) ; + + /** Display GUI. */ + virtual void onGUI() override; + + /** \return the view camera handler */ + InteractiveCameraHandler & getCameraHandler() { return camera_handler; } + + /** \return the colored mesh shader */ + MeshShadingShader & getMeshShadingShader() { return colored_mesh_shader; } + + protected: + + /** Helper to add some geometry to the view. + \param data the object to add + \param update_raycaster should the associated raycaster be updated with the new geometry + \return the update object options + */ + MeshData & addMeshData(MeshData & data, bool update_raycaster = false); + + /** Create the shaders */ + void initShaders(); + + /** Render all the registered meshes. */ + void renderMeshes(); + + /** Generate the list of objects in the GUI panel of the view. */ + void list_mesh_onGUI(); + + using ListMesh = std::list; + using Iterator = ListMesh::iterator; + + std::string name; ///< View name. + ListMesh list_meshes; ///< Meshes to display. + Iterator selected_mesh_it; ///< Currently selected mesh. + bool selected_mesh_it_is_valid = false; ///< Is there a valid currently selected mesh. + + InteractiveCameraHandler camera_handler; ///< View camera handler. + + PointShader points_shader; ///< Shader for points. + MeshShadingShader colored_mesh_shader; ///< Shader for meshes. + NormalRenderingShader per_vertex_normals_shader, per_triangle_normals_shader; ///< Shaders for visualizing an object normals. + + Vector3f backgroundColor = { 0.7f, 0.7f, 0.7f }; ///< Background clear color. + }; + +} diff --git a/SIBR_viewers/src/core/view/MultiViewManager.cpp b/SIBR_viewers/src/core/view/MultiViewManager.cpp new file mode 100755 index 0000000000..dcf84e96b2 --- /dev/null +++ b/SIBR_viewers/src/core/view/MultiViewManager.cpp @@ -0,0 +1,654 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +# include "core/graphics/GUI.hpp" +# include "core/view/MultiViewManager.hpp" + +namespace sibr +{ + MultiViewBase::MultiViewBase(const Vector2i & defaultViewRes) + { + /// \todo TODO: support launch arg for stereo mode. + renderingMode(IRenderingMode::Ptr(new MonoRdrMode())); + + //Default view resolution. + setDefaultViewResolution(defaultViewRes); + + _timeLastFrame = std::chrono::steady_clock::now(); + _deltaTime = 0.0; + _exportPath = "./screenshots"; + } + + void MultiViewBase::onUpdate(Input& input) + { + if (input.key().isActivated(Key::LeftControl) && input.key().isPressed(Key::LeftAlt) && input.key().isPressed(Key::P)) { + _onPause = !_onPause; + } + if (_onPause) { + return; + } + + // Elapsed time since last rendering. + const auto timeNow = std::chrono::steady_clock::now(); + _deltaTime = (float)(std::chrono::duration_cast(timeNow - _timeLastFrame).count())/1000000.0f; + _timeLastFrame = timeNow; + + for (auto & subview : _subViews) { + if (subview.second.view->active()) { + auto subInput = !subview.second.view->isFocused() ? Input() : Input::subInput(input, subview.second.viewport, false); + + if (subview.second.handler) { + subview.second.handler->update(subInput, _deltaTime, subview.second.viewport); + } + + subview.second.updateFunc(subview.second.view, subInput, subview.second.viewport, _deltaTime); + + } + } + + for (auto & subview : _ibrSubViews) { + MultiViewBase::IBRSubView & fView = subview.second; + + if (fView.view->active()) { + auto subInput = !fView.view->isFocused() ? Input() : Input::subInput(input, fView.viewport, false); + + if (fView.handler) { + fView.handler->update(subInput, _deltaTime, fView.viewport); + } + + fView.cam = fView.updateFunc(fView.view, subInput, fView.viewport, _deltaTime); + + /// If we use the default update func and the integrated handler, + /// we have to use the handler's camera. + if (fView.defaultUpdateFunc && fView.handler) { + fView.cam = fView.handler->getCamera(); + } + + } + } + + for (auto & subMultiView : _subMultiViews) { + subMultiView.second->onUpdate(input); + } + } + + void MultiViewBase::onRender(Window& win) + { + // Render all views. + for (auto & subview : _ibrSubViews) { + if (subview.second.view->active()) { + + renderSubView(subview.second); + + if (_enableGUI && _showSubViewsGui) { + subview.second.view->onGUI(); + if (subview.second.handler) { + subview.second.handler->onGUI("Camera " + subview.first); + } + } + } + } + for (auto & subview : _subViews) { + if (subview.second.view->active()) { + + renderSubView(subview.second); + + if (_enableGUI && _showSubViewsGui) { + subview.second.view->onGUI(); + if (subview.second.handler) { + subview.second.handler->onGUI("Camera " + subview.first); + } + } + } + } + for (auto & subMultiView : _subMultiViews) { + subMultiView.second->onRender(win); + } + + + } + + void MultiViewBase::onGui(Window & win) + { + } + + void MultiViewBase::addSubView(const std::string & title, ViewBase::Ptr view, const Vector2u & res, const ImGuiWindowFlags flags) + { + const ViewUpdateFunc updateFunc = + [](ViewBase::Ptr& vi, Input& in, const Viewport& vp, const float dt) { + vi->onUpdate(in, vp); + }; + addSubView(title, view, updateFunc, res, flags); + } + + void MultiViewBase::addSubView(const std::string & title, ViewBase::Ptr view, const ViewUpdateFunc updateFunc, const Vector2u & res, const ImGuiWindowFlags flags) + { + float titleBarHeight = 0.0f; + if(_enableGUI) titleBarHeight = ImGui::GetTitleBarHeight(); + // We have to shift vertically to avoid an overlap with the menu bar. + const Viewport viewport(0.0f, titleBarHeight, + res.x() > 0 ? res.x() : (float)_defaultViewResolution.x(), + (res.y() > 0 ? res.y() : (float)_defaultViewResolution.y()) + titleBarHeight); + RenderTargetRGB::Ptr rtPtr(new RenderTargetRGB((uint)viewport.finalWidth(), (uint)viewport.finalHeight(), SIBR_CLAMP_UVS)); + _subViews[title] = {view, rtPtr, viewport, title, flags, updateFunc }; + + } + + void MultiViewBase::addIBRSubView(const std::string & title, ViewBase::Ptr view, const IBRViewUpdateFunc updateFunc, const Vector2u & res, const ImGuiWindowFlags flags, const bool defaultFuncUsed) + { + float titleBarHeight = 0.0f; + if(_enableGUI) titleBarHeight = ImGui::GetTitleBarHeight(); + // We have to shift vertically to avoid an overlap with the menu bar. + const Viewport viewport(0.0f, titleBarHeight, + res.x() > 0 ? res.x() : (float)_defaultViewResolution.x(), + (res.y() > 0 ? res.y() : (float)_defaultViewResolution.y()) + titleBarHeight); + RenderTargetRGB::Ptr rtPtr(new RenderTargetRGB((uint)viewport.finalWidth(), (uint)viewport.finalHeight(), SIBR_CLAMP_UVS)); + if (_ibrSubViews.count(title) > 0){ + const auto handler = _ibrSubViews[title].handler; + _ibrSubViews[title] = { view, rtPtr, viewport, title, flags, updateFunc, defaultFuncUsed }; + _ibrSubViews[title].handler = handler; + } + else { + _ibrSubViews[title] = { view, rtPtr, viewport, title, flags, updateFunc, defaultFuncUsed }; + } + _ibrSubViews[title].shouldUpdateLayout = true; + } + + void MultiViewBase::addIBRSubView(const std::string & title, ViewBase::Ptr view, const Vector2u & res, const ImGuiWindowFlags flags) + { + const auto updateFunc = [](ViewBase::Ptr& vi, Input& in, const Viewport& vp, const float dt) { + vi->onUpdate(in, vp); + return InputCamera(); + }; + addIBRSubView(title, view, updateFunc, res, flags, true); + } + + void MultiViewBase::addIBRSubView(const std::string & title, ViewBase::Ptr view, const IBRViewUpdateFunc updateFunc, const Vector2u & res, const ImGuiWindowFlags flags) + { + addIBRSubView(title, view, updateFunc, res, flags, false); + } + + void MultiViewBase::addSubMultiView(const std::string & title, MultiViewBase::Ptr multiview) + { + _subMultiViews[title] = multiview; + } + + ViewBase::Ptr & MultiViewBase::getIBRSubView(const std::string & title) + { + if (_subViews.count(title) > 0) { + return _subViews.at(title).view; + } + if (_ibrSubViews.count(title) > 0) { + return _ibrSubViews.at(title).view; + } + + SIBR_ERR << " No subview with name <" << title << "> found." << std::endl; + + return _subViews.begin()->second.view; + } + + Viewport & MultiViewBase::getIBRSubViewport(const std::string & title) + { + if (_subViews.count(title) > 0) { + return _subViews.at(title).viewport; + } + else if (_ibrSubViews.count(title) > 0) { + return _ibrSubViews.at(title).viewport; + } + + SIBR_ERR << " No subviewport with name <" << title << "> found." << std::endl; + + return _subViews.begin()->second.viewport; + } + + void MultiViewBase::renderSubView(SubView & subview) + { + + if (!_onPause) { + + const Viewport renderViewport(0.0, 0.0, (float)subview.rt->w(), (float)subview.rt->h()); + subview.render(_renderingMode, renderViewport); + + // Offline video dumping, continued. We ignore additional rendering as those often are GUI overlays. + if (subview.handler != NULL && (subview.handler->getCamera().needVideoSave() || subview.handler->getCamera().needSave())) { + + ImageRGB frame; + + subview.rt->readBack(frame); + + if (subview.handler->getCamera().needSave()) { + frame.save(subview.handler->getCamera().savePath()); + } + _videoFrames.push_back(frame.toOpenCVBGR()); + + } + + // Additional rendering. + subview.renderFunc(subview.view, renderViewport, std::static_pointer_cast(subview.rt)); + + // Render handler if needed. + if (subview.handler) { + subview.rt->bind(); + renderViewport.bind(); + subview.handler->onRender(renderViewport); + subview.rt->unbind(); + } + } + + if(_enableGUI) + { + ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(0, 0)); + subview.view->setFocus(showImGuiWindow(subview.view->name(), *subview.rt, subview.flags, subview.viewport, false, subview.shouldUpdateLayout)); + ImGui::PopStyleVar(); + } + // If we have updated the layout, don't do it next frame. + subview.shouldUpdateLayout = false; + } + + ViewBase::Ptr MultiViewBase::removeSubView(const std::string & title) + { + ViewBase::Ptr viewPtr = nullptr; + if (_subViews.count(title) > 0) { + viewPtr = _subViews.at(title).view; + _subViews.erase(title); + } + else if (_ibrSubViews.count(title) > 0) { + viewPtr = _ibrSubViews.at(title).view; + _ibrSubViews.erase(title); + } + else { + SIBR_WRG << "No view named <" << title << "> found." << std::endl; + } + return viewPtr; + } + + void MultiViewBase::renderingMode(const IRenderingMode::Ptr& mode) + { + _renderingMode = std::move(mode); + } + + const Viewport MultiViewBase::getViewport(void) const + { + return Viewport(0.0f, 0.0f, (float)_defaultViewResolution.x(), (float)_defaultViewResolution.y()); + } + + void MultiViewBase::addCameraForView(const std::string & name, ICameraHandler::Ptr cameraHandler) + { + if (_subViews.count(name) > 0) { + _subViews.at(name).handler = cameraHandler; + } + else if (_ibrSubViews.count(name) > 0) { + _ibrSubViews.at(name).handler = cameraHandler; + + SubView & subview = _ibrSubViews.at(name); + } + else { + SIBR_WRG << "No view named <" << name << "> found." << std::endl; + } + + } + + void MultiViewBase::addAdditionalRenderingForView(const std::string & name, const AdditionalRenderFunc renderFunc) + { + if (_subViews.count(name) > 0) { + _subViews.at(name).renderFunc = renderFunc; + } + else if (_ibrSubViews.count(name) > 0) { + _ibrSubViews.at(name).renderFunc = renderFunc; + } + else { + SIBR_WRG << "No view named <" << name << "> found." << std::endl; + } + } + + int MultiViewBase::numSubViews() const + { + return static_cast(_subViews.size() + _ibrSubViews.size() + _subMultiViews.size()); + } + + void MultiViewBase::captureView(const std::string & subviewName, const std::string & path, const std::string & filename) + { + if (_subViews.count(subviewName)) { + captureView(_subViews[subviewName], path, filename); + } + else if (_ibrSubViews.count(subviewName)) { + captureView(_ibrSubViews[subviewName], path, filename); + } + else { + SIBR_WRG << "No View in the MultiViewManager with " << subviewName << " as a name!" << std::endl; + } + } + + void MultiViewBase::captureView(const SubView & view, const std::string& path, const std::string & filename) { + + const uint w = view.rt->w(); + const uint h = view.rt->h(); + + ImageRGB renderingImg(w, h); + + view.rt->readBack(renderingImg); + + std::string finalPath = path + (!path.empty() ? "/" : ""); + if (!filename.empty()) { + finalPath.append(filename); + } + else { + const std::string autoName = view.view->name() + "_" + sibr::timestamp(); + finalPath.append(autoName + ".png"); + } + + makeDirectory(path); + renderingImg.save(finalPath, true); + } + + void MultiViewBase::mosaicLayout(const Viewport & vp) + { + const int viewsCount = numSubViews(); + + // Do square decomposition for now. + // Find the next square. + const int sideCount = int(std::ceil(std::sqrt(viewsCount))); + int verticalShift = 0; + if(_enableGUI) verticalShift = ImGui::GetTitleBarHeight(); + + Viewport usedVP = Viewport(vp.finalLeft(), vp.finalTop() + verticalShift, vp.finalRight(), vp.finalBottom()); + Vector2f itemRatio = Vector2f(1, 1) / sideCount; + + int vid = 0; + for (auto & view : _ibrSubViews) { + // Compute position on grid. + const int col = vid % sideCount; + const int row = vid / sideCount; + view.second.viewport = Viewport(usedVP, col*itemRatio[0], row * itemRatio[1], (col + 1)*itemRatio[0], (row + 1)*itemRatio[1]); + view.second.shouldUpdateLayout = true; + ++vid; + } + for (auto & view : _subViews) { + // Compute position on grid. + const int col = vid % sideCount; + const int row = vid / sideCount; + view.second.viewport = Viewport(usedVP, col*itemRatio[0], row * itemRatio[1], (col + 1)*itemRatio[0], (row + 1)*itemRatio[1]); + view.second.shouldUpdateLayout = true; + ++vid; + } + for (auto & view : _subMultiViews) { + // Compute position on grid. + const int col = vid % sideCount; + const int row = vid / sideCount; + view.second->mosaicLayout(Viewport(usedVP, col*itemRatio[0], row * itemRatio[1], (col + 1)*itemRatio[0], (row + 1)*itemRatio[1])); + ++vid; + } + + } + + void MultiViewBase::toggleSubViewsGUI() + { + _showSubViewsGui = !_showSubViewsGui; + + for (auto & view : _subMultiViews) { + view.second->toggleSubViewsGUI(); + } + } + + void MultiViewBase::setExportPath(const std::string & path) { + _exportPath = path; + sibr::makeDirectory(path); + } + + MultiViewBase::SubView::SubView(ViewBase::Ptr view_, RenderTargetRGB::Ptr rt_, const sibr::Viewport viewport_, const std::string& name_, const ImGuiWindowFlags flags_) : + view(view_), rt(rt_), handler(), viewport(viewport_), flags(flags_), shouldUpdateLayout(false) { + renderFunc = [](ViewBase::Ptr&, const Viewport&, const IRenderTarget::Ptr&) {}; + view->setName(name_); + } + + MultiViewBase::BasicSubView::BasicSubView(ViewBase::Ptr view_, RenderTargetRGB::Ptr rt_, const sibr::Viewport viewport_, const std::string& name_, const ImGuiWindowFlags flags_, ViewUpdateFunc f_) : + SubView(view_, rt_, viewport_, name_, flags_), updateFunc(f_) { + } + + void MultiViewBase::BasicSubView::render(const IRenderingMode::Ptr& rm, const Viewport& renderViewport) const { + rt->bind(); + renderViewport.bind(); + renderViewport.clear(); + view->onRender(renderViewport); + rt->unbind(); + } + + MultiViewBase::IBRSubView::IBRSubView(ViewBase::Ptr view_, RenderTargetRGB::Ptr rt_, const sibr::Viewport viewport_, const std::string& name_, const ImGuiWindowFlags flags_, IBRViewUpdateFunc f_, const bool defaultUpdateFunc_) : + SubView(view_, rt_, viewport_, name_, flags_), updateFunc(f_), defaultUpdateFunc(defaultUpdateFunc_) { + cam = sibr::InputCamera(); + } + + void MultiViewBase::IBRSubView::render(const IRenderingMode::Ptr& rm, const Viewport& renderViewport) const { + if (rm) { + rm->render(*view, cam, renderViewport, rt.get()); + } + } + + MultiViewManager::MultiViewManager(Window& window, bool resize) + : _window(window), _fpsCounter(false) + { + _enableGUI = window.isGUIEnabled(); + + if (resize) { + window.size( + Window::desktopSize().x() - 200, + Window::desktopSize().y() - 200); + window.position(100, 100); + } + + /// \todo TODO: support launch arg for stereo mode. + renderingMode(IRenderingMode::Ptr(new MonoRdrMode())); + + //Default view resolution. + int w = int(window.size().x() * 0.5f); + int h = int(window.size().y() * 0.5f); + setDefaultViewResolution(Vector2i(w, h)); + + if(_enableGUI) ImGui::GetStyle().WindowBorderSize = 0.0; + } + + void MultiViewManager::onUpdate(Input & input) + { + MultiViewBase::onUpdate(input); + + if (input.key().isActivated(Key::LeftControl) && input.key().isActivated(Key::LeftAlt) && input.key().isReleased(Key::G)) { + toggleGUI(); + } + } + + void MultiViewManager::onRender(Window & win) + { + win.viewport().bind(); + glClearColor(37.f / 255.f, 37.f / 255.f, 38.f / 255.f, 1.f); + glClear(GL_COLOR_BUFFER_BIT); + glClearColor(1.f, 1.f, 1.f, 1.f); + + onGui(win); + + MultiViewBase::onRender(win); + + _fpsCounter.update(_enableGUI && _showGUI); + } + + void MultiViewManager::onGui(Window & win) + { + MultiViewBase::onGui(win); + + // Menu + if (_showGUI && ImGui::BeginMainMenuBar()) + { + if (ImGui::BeginMenu("Menu")) + { + ImGui::MenuItem("Pause", "", &_onPause); + if (ImGui::BeginMenu("Display")) { + const bool currentScreenState = win.isFullscreen(); + if (ImGui::MenuItem("Fullscreen", "", currentScreenState)) { + win.setFullscreen(!currentScreenState); + } + + const bool currentSyncState = win.isVsynced(); + if (ImGui::MenuItem("V-sync", "", currentSyncState)) { + win.setVsynced(!currentSyncState); + } + + const bool isHiDPI = ImGui::GetIO().FontGlobalScale > 1.0f; + if (ImGui::MenuItem("HiDPI", "", isHiDPI)) { + if (isHiDPI) { + ImGui::GetStyle().ScaleAllSizes(1.0f / win.scaling()); + ImGui::GetIO().FontGlobalScale = 1.0f; + } else { + ImGui::GetStyle().ScaleAllSizes(win.scaling()); + ImGui::GetIO().FontGlobalScale = win.scaling(); + } + } + + if (ImGui::MenuItem("Hide GUI (!)", "Ctrl+Alt+G")) { + toggleGUI(); + } + ImGui::EndMenu(); + } + + + if (ImGui::MenuItem("Mosaic layout")) { + mosaicLayout(win.viewport()); + } + + if (ImGui::MenuItem("Row layout")) { + Vector2f itemSize = win.size().cast(); + itemSize[0] = std::round(float(itemSize[0]) / float(_subViews.size() + _ibrSubViews.size())); + const float verticalShift = ImGui::GetTitleBarHeight(); + float vid = 0.0f; + for (auto & view : _ibrSubViews) { + // Compute position on grid. + view.second.viewport = Viewport(vid*itemSize[0], verticalShift, (vid + 1.0f)*itemSize[0] - 1.0f, verticalShift + itemSize[1] - 1.0f); + view.second.shouldUpdateLayout = true; + ++vid; + } + for (auto & view : _subViews) { + // Compute position on grid. + view.second.viewport = Viewport(vid*itemSize[0], verticalShift, (vid + 1.0f)*itemSize[0] - 1.0f, verticalShift + itemSize[1] - 1.0f); + view.second.shouldUpdateLayout = true; + ++vid; + } + } + + + if (ImGui::MenuItem("Quit", "Escape")) { win.close(); } + ImGui::EndMenu(); + } + + if (ImGui::BeginMenu("Views")) + { + for (auto & subview : _subViews) { + if (ImGui::MenuItem(subview.first.c_str(), "", subview.second.view->active())) { + subview.second.view->active(!subview.second.view->active()); + } + } + for (auto & subview : _ibrSubViews) { + if (ImGui::MenuItem(subview.first.c_str(), "", subview.second.view->active())) { + subview.second.view->active(!subview.second.view->active()); + } + } + if (ImGui::MenuItem("Metrics", "", _fpsCounter.active())) { + _fpsCounter.toggleVisibility(); + } + if (ImGui::BeginMenu("Front when focus")) + { + for (auto & subview : _subViews) { + const bool isLockedInBackground = subview.second.flags & ImGuiWindowFlags_NoBringToFrontOnFocus; + if (ImGui::MenuItem(subview.first.c_str(), "", !isLockedInBackground)) { + if(isLockedInBackground) { + subview.second.flags &= ~ImGuiWindowFlags_NoBringToFrontOnFocus; + } else { + subview.second.flags |= ImGuiWindowFlags_NoBringToFrontOnFocus; + } + } + } + for (auto & subview : _ibrSubViews) { + const bool isLockedInBackground = subview.second.flags & ImGuiWindowFlags_NoBringToFrontOnFocus; + if (ImGui::MenuItem(subview.first.c_str(), "", !isLockedInBackground)) { + if (isLockedInBackground) { + subview.second.flags &= ~ImGuiWindowFlags_NoBringToFrontOnFocus; + } else { + subview.second.flags |= ImGuiWindowFlags_NoBringToFrontOnFocus; + } + } + } + ImGui::EndMenu(); + } + if (ImGui::MenuItem("Reset Settings to Default", "")) { + _window.resetSettingsToDefault(); + } + ImGui::EndMenu(); + } + + if (ImGui::BeginMenu("Capture")) + { + + if (ImGui::MenuItem("Set export directory...")) { + std::string selectedDirectory; + if (showFilePicker(selectedDirectory, FilePickerMode::Directory)) { + if (!selectedDirectory.empty()) { + _exportPath = selectedDirectory; + } + } + } + + for (auto & subview : _subViews) { + if (ImGui::MenuItem(subview.first.c_str())) { + captureView(subview.second, _exportPath); + } + } + for (auto & subview : _ibrSubViews) { + if (ImGui::MenuItem(subview.first.c_str())) { + captureView(subview.second, _exportPath); + } + } + + if (ImGui::MenuItem("Export Video")) { + std::string saveFile; + if (showFilePicker(saveFile, FilePickerMode::Save)) { + const std::string outputVideo = saveFile + ".mp4"; + if(!_videoFrames.empty()) { + SIBR_LOG << "Exporting video to : " << outputVideo << " ..." << std::flush; + FFVideoEncoder vdoEncoder(outputVideo, 30, Vector2i(_videoFrames[0].cols, _videoFrames[0].rows)); + for (int i = 0; i < _videoFrames.size(); i++) { + vdoEncoder << _videoFrames[i]; + } + _videoFrames.clear(); + std::cout << " Done." << std::endl; + + } else { + SIBR_WRG << "No frames to export!! Check save frames in camera options for the view you want to render and play the path and re-export!" << std::endl; + } + } + } + + ImGui::EndMenu(); + } + + ImGui::EndMainMenuBar(); + } + } + + void MultiViewManager::toggleGUI() + { + _showGUI = !_showGUI; + if (!_showGUI) { + SIBR_LOG << "[MultiViewManager] GUI is now hidden, use Ctrl+Alt+G to toggle it back on." << std::endl; + } + toggleSubViewsGUI(); + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/MultiViewManager.hpp b/SIBR_viewers/src/core/view/MultiViewManager.hpp new file mode 100644 index 0000000000..e1a42c9fba --- /dev/null +++ b/SIBR_viewers/src/core/view/MultiViewManager.hpp @@ -0,0 +1,439 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include + +# include "core/view/Config.hpp" +# include "core/graphics/Window.hpp" +# include "core/graphics/Texture.hpp" +# include "core/view/RenderingMode.hpp" +# include "core/view/FPSCamera.hpp" + +# include "core/assets/InputCamera.hpp" +# include "core/graphics/Input.hpp" +# include "core/graphics/Image.hpp" +# include "core/graphics/RenderUtility.hpp" +# include "core/assets/CameraRecorder.hpp" +# include "core/view/ViewBase.hpp" +# include "core/graphics/Shader.hpp" +# include "core/view/FPSCounter.hpp" +#include "core/video/FFmpegVideoEncoder.hpp" +#include "InteractiveCameraHandler.hpp" +#include +#include + + +namespace sibr +{ + + /** + * MultiViewBase is designed to provide + * more flexibility and with a multi-windows system in mind. + * Once a MultiViewBase is created, you can register standard and + * IBR subviews, providing additional functions for update and + * rendering if needed, along with support for ImGui interfaces. + * MultiViewBase will wrap those views and manage them on screen. + * To support legacy rendering modes and views, we introduce a + * distinction between standard subviews, that will be rendered through + * a call to onRender(Viewport&), and IBR subviews rendered through + * a onRenderIBR(rt, eye) call. This also means that after updating + * (via onUpdate) an IBR subview, you have to return the camera + * that will be used for the onRenderIBR call. + * Note: new IBR views don't have to implement this distinction. + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT MultiViewBase + { + SIBR_CLASS_PTR(MultiViewBase); + + public: + + /// Update callback for a standard view. Passes the view pointer, the correct input state, and the correct viewport. + typedef std::function ViewUpdateFunc; + /// Update callback for an IBR view, see main description for the return value. + typedef std::function IBRViewUpdateFunc; + /// Additional render callback for a subview. + typedef std::function AdditionalRenderFunc; + + /* + * \brief Creates a MultiViewBase in a given OS window. + * \param defaultViewRes the default resolution for each subview + */ + MultiViewBase(const Vector2i & defaultViewRes = { 800, 600 }); + + /** + * \brief Update subviews and the MultiViewBase. + * \param input The input state to use. + */ + virtual void onUpdate(Input & input); + + /** + * \brief Render the content of the MultiViewBase + * \param win The OS window into which the rendering should be performed. + */ + virtual void onRender(Window& win); + + /** + * \brief Render additional gui + * \param win The OS window into which the rendering should be performed. + */ + virtual void onGui(Window& win); + + /** + * \brief Register a standard subview (for instance a SceneDebugView). It will be rendered via a call to onRender(Viewport) in an implicit rendertarget managed by the MultiViewBase. + * \param title the title of the view. + * \param view a pointer to the view. + * \param res a custom resolution used for the internal rendering and display. If null, the default value is used. + * \param flags ImGui_WindowFlags to pass to the internal window manager. + */ + void addSubView(const std::string& title, ViewBase::Ptr view, + const Vector2u & res = Vector2u(0,0), + const ImGuiWindowFlags flags = 0); + + /** + * \brief Register a standard subview (for instance a SceneDebugView). It will be rendered via a call to onRender(Viewport) in an implicit rendertarget managed by the MultiViewBase. + * \param title the title of the view. + * \param view a pointer to the view. + * \param updateFunc the function that will be called to update your view. + * It will pass you the view, the correct Input (mouse position + * from 0,0 in the top left corner, key presses and mouse clicks + * only if the cursor is over the view), and the Viewport in the + * OS window. + * \param res a custom resolution used for the internal rendering and display. If null, the default value is used. + * \param flags ImGui_WindowFlags to pass to the internal window manager. + */ + void addSubView(const std::string& title, ViewBase::Ptr view, + const ViewUpdateFunc updateFunc, + const Vector2u & res = Vector2u(0, 0), + const ImGuiWindowFlags flags = 0); + + /** + * \brief Register an IBR subview (for instance an ULRView). It will be rendered via a call to onRenderIBR(rt,cam,dst). + * \param title the title of the view. + * \param view a pointer to the view. + * \param res a custom resolution used for the internal rendering. If null, the default value is used. + * \param flags ImGui_WindowFlags to pass to the internal window manager. + */ + void addIBRSubView(const std::string& title, ViewBase::Ptr view, + const Vector2u & res = Vector2u(0, 0), + const ImGuiWindowFlags flags = 0); + + /** + * \brief Register an IBR subview (for instance an ULRView). It will be rendered via a call to onRenderIBR(rt,cam,dst). + * \param title the title of the view. + * \param view a pointer to the view. + * \param updateFunc the function that will be called to update your view. + * It will pass you the view, the correct Input (mouse position + * from 0,0 in the top left corner, key presses and mouse clicks + * only if the cursor is over the view), and the Viewport in the + * OS window. You should return the camera to use during rendering. + * \param res a custom resolution used for the internal rendering. If null, the default value is used. + * \param flags ImGui_WindowFlags to pass to the internal window manager. + */ + void addIBRSubView(const std::string& title, ViewBase::Ptr view, + const IBRViewUpdateFunc updateFunc, + const Vector2u & res = Vector2u(0, 0), + const ImGuiWindowFlags flags = 0); + + /** Add another multi-view system as a subsystem of this one. + * \param title a name for the multiview + * \param multiview the multiview system to add as a subview + */ + void addSubMultiView(const std::string & title, MultiViewBase::Ptr multiview); + + /** + * \param title + * \return Return viewbase associated with title, will EXIT_ERROR if no view found + * \note This covers both basic and IBR subviews. + * \todo Rename without the IBR prefix + */ + ViewBase::Ptr & getIBRSubView(const std::string& title); + + /** + * \param title + * \return the Viewport associated with title, will EXIT_ERROR if no viewport found + * \note This covers both basic and IBR subviews. + * \todo Rename without the IBR prefix + */ + Viewport & getIBRSubViewport(const std::string &title); + + /** + * \brief Unregister a subview. + * \param title the title of the view to remove. + * \return the view removed from the MultiViewManager. + */ + ViewBase::Ptr removeSubView(const std::string& title); + + /** + * \brief Change the rendering mode. + * \param mode The rendering mode to use. + */ + void renderingMode(const IRenderingMode::Ptr& mode); + + + /** + * \brief Define the default rendering and display size for new subviews. + * \param size the default size to use. + */ + void setDefaultViewResolution(const Vector2i& size); + + /** + * \brief Returns the default viewport used for subviews rendering. + * \return the current default subview viewport + */ + const Viewport getViewport(void) const; + + /** + * \brief Returns the last frame time. + * \return the last frame time. + */ + const float & deltaTime() const { return _deltaTime; } + + /** + * \brief Add a camera handler that will automatically be updated and used by the MultiViewManager for the given subview. + * \param name the name of the subview to which the camera should be associated. + * \param cameraHandler a pointer to the camera handler to register. + */ + void addCameraForView(const std::string & name, ICameraHandler::Ptr cameraHandler); + + /** + * \brief Register a function performing additional rendering for a given subview, + * called by the MultiViewManager after calling onRender() on the subview. + * \param name the name of the subview to which the function should be associated. + * \param renderFunc the function performing additional rendering.. + */ + void addAdditionalRenderingForView(const std::string & name, const AdditionalRenderFunc renderFunc); + + /** + * \brief Count NOT recursively the number of subviews. + */ + int numSubViews() const; + + /** Place all subviews on a regular grid in the given viewport. + * \param vp the region in which the views should be layed out. + */ + void mosaicLayout(const Viewport & vp); + + /** Toggle the display of sub-managers GUIs. */ + void toggleSubViewsGUI(); + + /** + * \brief Set the export path. + * \param path path to the directory to use. + */ + void setExportPath(const std::string & path); + /** + * \brief captures a View content into an image file. + * \param subviewName a string with the name of the subview. + * \param path the path to save the output. + * \param filename the name of the output file, needs to have an OpenCV compatible file type. + */ + void captureView(const std::string& subviewName, const std::string& path = "./screenshots", const std::string& filename = ""); + protected: + + /** Internal representation of a subview. + * Note: this representation should remain *internal* to the multi view system, avoid any abstraction leak. + */ + struct SubView { + ViewBase::Ptr view; ///< Pointer to the view. + RenderTargetRGB::Ptr rt; ///< Destination RT. + ICameraHandler::Ptr handler; ///< Potential camera handler. + AdditionalRenderFunc renderFunc; ///< Optional additonal rendering function. + sibr::Viewport viewport; ///< Viewport in the global window. + ImGuiWindowFlags flags = 0; ///< ImGui flags. + bool shouldUpdateLayout = false; ///< Should the layout be updated at the next frame. + + /// Default constructor. + SubView() = default; + + /// Destructor. + virtual ~SubView() = default; + + /** Constructor. + *\param view_ the view + *\param rt_ the destination RT + *\param viewport_ the viewport + *\param name_ the view name + *\param flags_ the ImGui flags + */ + SubView(ViewBase::Ptr view_, RenderTargetRGB::Ptr rt_, const sibr::Viewport viewport_, + const std::string & name_, const ImGuiWindowFlags flags_); + + /** Render the subview. + *\param rm the rendering mode to use + *\param renderViewport the viewport to use in the destination RT + */ + virtual void render(const IRenderingMode::Ptr & rm, const Viewport & renderViewport) const = 0; + }; + + /** Specialization of Subview for basic views. */ + struct BasicSubView final : SubView { + ViewUpdateFunc updateFunc; ///< The update function. + + /// Default constructor. + BasicSubView() : SubView() {}; + + /// Destructor. + virtual ~BasicSubView() = default; + + /** Constructor. + *\param view_ the view + *\param rt_ the destination RT + *\param viewport_ the viewport + *\param name_ the view name + *\param flags_ the ImGui flags + *\param f_ the update function + */ + BasicSubView(ViewBase::Ptr view_, RenderTargetRGB::Ptr rt_, const sibr::Viewport viewport_, + const std::string & name_, const ImGuiWindowFlags flags_, ViewUpdateFunc f_); + + /** Render the subview. + *\param rm the rendering mode to use (unused) + *\param renderViewport the viewport to use in the destination RT + */ + void render(const IRenderingMode::Ptr & rm, const Viewport & renderViewport) const override; + }; + + /** Specialization of Subview for views using a render mode (IBR views mainly). */ + struct IBRSubView final : SubView { + IBRViewUpdateFunc updateFunc; ///< The update function. + sibr::InputCamera cam; ///< The current camera. + bool defaultUpdateFunc = true; ///< Was the default update function used. + + /// Default constructor. + IBRSubView() : SubView() {}; + + /// Destructor. + virtual ~IBRSubView() = default; + + /** Constructor. + *\param view_ the view + *\param rt_ the destination RT + *\param viewport_ the viewport + *\param name_ the view name + *\param flags_ the ImGui flags + *\param f_ the update function + *\param defaultUpdateFunc_ was the default update function use (to avoid some collisions) + */ + IBRSubView(ViewBase::Ptr view_, RenderTargetRGB::Ptr rt_, const sibr::Viewport viewport_, + const std::string & name_, const ImGuiWindowFlags flags_, IBRViewUpdateFunc f_, const bool defaultUpdateFunc_); + + /** Render the subview. + *\param rm the rendering mode to use + *\param renderViewport the viewport to use in the destination RT + */ + void render(const IRenderingMode::Ptr & rm, const Viewport & renderViewport) const override; + }; + + protected: + + /** Helper to add an IBR subview. + * \param title the title of the view. + * \param view a pointer to the view. + * \param updateFunc the function that will be called to update your view. + * It will pass you the view, the correct Input (mouse position + * from 0,0 in the top left corner, key presses and mouse clicks + * only if the cursor is over the view), and the Viewport in the + * OS window. You should return the camera to use during rendering. + * \param res a custom resolution used for the internal rendering. If null, the default value is used. + * \param flags ImGui_WindowFlags to pass to the internal window manager. + * \param defaultFuncUsed a flag denoting if the default function had to be used + * */ + void addIBRSubView(const std::string & title, ViewBase::Ptr view, + const IBRViewUpdateFunc updateFunc, const Vector2u & res, + const ImGuiWindowFlags flags, const bool defaultFuncUsed); + + /** Perform rendering for a given subview. + *\param subview the subview to render + **/ + void renderSubView(SubView & subview); + + /** Capture a view as an image on disk. + *\param view the view to capture + *\param path the destination direcotry path + *\param filename an optional filename, a timestamp will be appended + *\note if the filename is empty, the name of the view is used, with a timestamp appended. + **/ + static void captureView(const SubView & view, const std::string & path = "./screenshots/", const std::string & filename = ""); + + IRenderingMode::Ptr _renderingMode = nullptr; ///< Rendering mode. + std::map _subViews; ///< Regular subviews. + std::map _ibrSubViews; ///< IBR subviews. + std::map > _subMultiViews; ///< Nested multi-views. + + Vector2i _defaultViewResolution; ///< Default view resolution. + + std::string _exportPath; ///< Capture output path. + std::vector _videoFrames; ///< Video frames. + + std::chrono::time_point _timeLastFrame; ///< Last frame time point. + float _deltaTime; ///< Elapsed time. + bool _showSubViewsGui = true; ///< Show the GUI of the subviews. + bool _onPause = false; ///< Paused interaction and update. + bool _enableGUI = true; ///< Should the GUI be enabled. + }; + + /** A multiview manager is a multi-view system that displays its subviews in an OS window. + use it as a based for applications with multiple subviews. + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT MultiViewManager : public MultiViewBase + { + public: + /* + * \brief Creates a MultiViewManager in a given OS window. + * \param window The OS window to use. + * \param resize Should the window be resized by the manager to maximize usable space. + */ + MultiViewManager(Window& window, bool resize = true); + + /** + * \brief Update subviews and the MultiViewManager. + * \param input The Input state to use. + */ + void onUpdate(Input & input) override; + + /** + * \brief Render the content of the MultiViewManager and its interface + * \param win The OS window into which the rendering should be performed. + */ + void onRender(Window& win) override; + + /** + * \brief Render menus and additional gui + * \param win The OS window into which the rendering should be performed. + */ + void onGui(Window& win) override; + + private: + + /** Show/hide the GUI. */ + void toggleGUI(); + + Window& _window; ///< The OS window. + FPSCounter _fpsCounter; ///< A FPS counter. + bool _showGUI = true; ///< Should the GUI be displayed. + + }; + + ///// INLINE ///// + + inline void MultiViewBase::setDefaultViewResolution(const Vector2i& size) { + _defaultViewResolution = size; + } + + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/Orbit.cpp b/SIBR_viewers/src/core/view/Orbit.cpp new file mode 100644 index 0000000000..6800bd6d09 --- /dev/null +++ b/SIBR_viewers/src/core/view/Orbit.cpp @@ -0,0 +1,327 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "Orbit.hpp" +#include +#include "core/graphics/Input.hpp" +#include "core/graphics/Viewport.hpp" +#include "core/raycaster/CameraRaycaster.hpp" +#include "core/graphics/Window.hpp" +#include "core/graphics/Mesh.hpp" +#include "core/view/UIShortcuts.hpp" + +# define SIBR_ORBIT_INTERPOLATE_FRAMES 900 + +namespace sibr { + + Orbit::Orbit(void) : _hasBeenInitialized(false), _orbitPointClicked(false) { + UIShortcuts::global().add("[Orbit cam] alt+click", "Select new orbit center."); + UIShortcuts::global().add("[Orbit cam] 4", "move left"); + UIShortcuts::global().add("[Orbit cam] 6", "move right"); + UIShortcuts::global().add("[Orbit cam] 8", "move down"); + UIShortcuts::global().add("[Orbit cam] 2", "move up"); + UIShortcuts::global().add("[Orbit cam] 7", "rotate left "); + UIShortcuts::global().add("[Orbit cam] 9", "rotate right "); + UIShortcuts::global().add("[Orbit cam] 1", "get closer"); + UIShortcuts::global().add("[Orbit cam] 3", "get further"); + UIShortcuts::global().add("[Orbit cam] 5", "flip up vector (look upside down)"); + UIShortcuts::global().add("[Orbit cam] alt+1-9", "automatic move"); + UIShortcuts::global().add("[Orbit cam] 0", "stop automatic move, restore previous cam"); + UIShortcuts::global().add("[Orbit cam] .", "stop automatic move, keep current cam"); + } + + void Orbit::update(const sibr::Input & input, const std::shared_ptr raycaster) { + + if (!_hasBeenInitialized) { return; } + + if (raycaster != nullptr && input.mouseButton().isReleased(sibr::Mouse::Left) + && input.key().isActivated(sibr::Key::LeftAlt)) { + updateOrbitParameters(input, raycaster); + } + + const float sensibility = 64.0f; + + if (input.key().isActivated(sibr::Key::LeftAlt)) { + //orbit.factor = 0; + if (input.key().isReleased(sibr::Key::KPNum4) || + input.key().isReleased(sibr::Key::Num4) || + input.key().isReleased(sibr::Key::F) // for laptops + ) { + _orbit.status = OrbitParameters::FORWARD_X; + _orbit.direction = OrbitParameters::ACW; + } + else if (input.key().isReleased(sibr::Key::KPNum6) || + input.key().isReleased(sibr::Key::Num6)) { + _orbit.status = OrbitParameters::FORWARD_X; + _orbit.direction = OrbitParameters::CW; + } + else if (input.key().isReleased(sibr::Key::KPNum2) || + input.key().isReleased(sibr::Key::Num2)) { + _orbit.status = OrbitParameters::FORWARD_Y; + _orbit.direction = OrbitParameters::ACW; + } + else if (input.key().isReleased(sibr::Key::KPNum8) || + input.key().isReleased(sibr::Key::Num8)) { + _orbit.status = OrbitParameters::FORWARD_Y; + _orbit.direction = OrbitParameters::CW; + } + else if (input.key().isReleased(sibr::Key::KPNum7) || + input.key().isReleased(sibr::Key::Num7)) { + _orbit.status = OrbitParameters::FORWARD_Z; + _orbit.direction = OrbitParameters::ACW; + } + else if (input.key().isReleased(sibr::Key::KPNum9) || + input.key().isReleased(sibr::Key::Num9)) { + _orbit.status = OrbitParameters::FORWARD_Z; + _orbit.direction = OrbitParameters::CW; + } + } + else if ((input.key().isReleased(sibr::Key::KPNum0) || input.key().isReleased(sibr::Key::Num0)) + && _orbit.status != OrbitParameters::STATIC) { + _orbit.status = OrbitParameters::STATIC; + } + else if (input.key().isReleased(sibr::Key::KPDecimal) + && _orbit.status != OrbitParameters::STATIC) { + _orbit.keepCamera = true; + } + else if (input.key().isActivated(sibr::Key::KPNum4) || + input.key().isActivated(sibr::Key::Num4)) { + _orbit.theta = -(float)M_2_PI / sensibility; + } + else if (input.key().isActivated(sibr::Key::KPNum6) || + input.key().isActivated(sibr::Key::Num6)) { + _orbit.theta = (float)M_2_PI / sensibility; + } + else if (input.key().isActivated(sibr::Key::KPNum2) || + input.key().isActivated(sibr::Key::Num2)) { + _orbit.phi = -(float)M_2_PI / sensibility; + } + else if (input.key().isActivated(sibr::Key::KPNum8) || + input.key().isActivated(sibr::Key::Num8)) { + _orbit.phi = (float)M_2_PI / sensibility; + } + else if (input.key().isActivated(sibr::Key::KPNum7) || + input.key().isActivated(sibr::Key::Num7)) { + _orbit.roll = -(float)M_2_PI / sensibility; + } + else if (input.key().isActivated(sibr::Key::KPNum9) || + input.key().isActivated(sibr::Key::Num9)) { + _orbit.roll = (float)M_2_PI / sensibility; + } + else if (input.key().isActivated(sibr::Key::KPNum1) || + input.key().isActivated(sibr::Key::Num1)) { + _orbit.radius *= 0.98f; + } + else if (input.key().isActivated(sibr::Key::KPNum3) || + input.key().isActivated(sibr::Key::Num3)) { + _orbit.radius *= 1.02f; + } + else if (input.key().isReleased(sibr::Key::KPNum5) || + input.key().isReleased(sibr::Key::Num5)) { + if (_orbit.status == OrbitParameters::STATIC) { + _orbit.flip(); + std::cout << "\t orbit flip ! " << std::endl; + } + else { + if (_orbit.direction == OrbitParameters::CW) { + _orbit.direction = OrbitParameters::ACW; + std::cout << "\t orbit anti clockwise " << std::endl; + } + else { + _orbit.direction = OrbitParameters::CW; + std::cout << "\t orbit clockwise " << std::endl; + } + } + } + + interpolateOrbit(); + } + + void Orbit::interpolateOrbit() { + using namespace Eigen; + + float k = (_orbit.factor) / (float)(SIBR_ORBIT_INTERPOLATE_FRAMES); + bool keepCam = _orbit.keepCamera; + + float theta = (_orbit.status == OrbitParameters::FORWARD_X ? (float)(SIBR_2PI * k) : _orbit.theta); + float phi = (_orbit.status == OrbitParameters::FORWARD_Y ? (float)(SIBR_2PI * k) : _orbit.phi); + float roll = (_orbit.status == OrbitParameters::FORWARD_Z ? (float)(SIBR_2PI * k) : _orbit.roll); + + sibr::Vector3f dir = -(_orbit.zAxis); + sibr::Quaternionf qRoll(AngleAxisf(roll, _orbit.zAxis)); + sibr::Quaternionf qTheta(AngleAxisf(theta, _orbit.yAxis)); + sibr::Quaternionf qPhi(AngleAxisf(phi, _orbit.xAxis)); + + sibr::Vector3f center = _orbit.center; + sibr::Vector3f Eye = center + _orbit.radius*((qTheta*qPhi)*(dir)); + sibr::Vector3f up(qRoll*_orbit.yAxis); + + sibr::Camera n(_orbit.initialCamera); + n.setLookAt(Eye, center, up); + n.aspect(_orbit.initialCamera.aspect()); + + + if (_orbit.status == OrbitParameters::STATIC || keepCam) { + sibr::Quaternionf qTot = qTheta*qPhi*qRoll; + _orbit.xAxis = qTot*_orbit.xAxis; + _orbit.yAxis = qTot*_orbit.yAxis; + _orbit.zAxis = qTot*_orbit.zAxis; + + _orbit.theta = 0; + _orbit.phi = 0; + _orbit.roll = 0; + } + else { + _orbit.factor += _orbit.direction; + } + + if (keepCam) { + _orbit.status = OrbitParameters::STATIC; + _orbit.keepCamera = false; + } + + _currentCamera = sibr::InputCamera(n, _currentCamera.w(), _currentCamera.h()); + } + + void Orbit::updateOrbitParameters(const sibr::Input& input, std::shared_ptr raycaster) + { + + // Clicked pixel (might need to check against viewport ?) + const float px = (float)input.mousePosition().x(); + const float py = (float)input.mousePosition().y(); + + sibr::Vector3f dx; + sibr::Vector3f dy; + sibr::Vector3f upLeftOffset; + + sibr::CameraRaycaster::computePixelDerivatives(_currentCamera, dx, dy, upLeftOffset); + const sibr::Vector3f worldPos = px*dx + py*dy + upLeftOffset; + + // Cast a ray. + if (raycaster != nullptr) { + sibr::Vector3f dir = worldPos - _currentCamera.position(); + //sibr::Vector3f dir = sibr::CameraRaycaster::computeRayDir(_currentCamera, input.mousePosition().cast()).normalized(); + sibr::RayHit hit = raycaster->intersect(sibr::Ray(_currentCamera.position(), dir)); + + // If hit at the proxy surface, compute the corresponding worls position, save it. + if (hit.hitSomething()) { + _orbit.center = _currentCamera.position() + hit.dist()*dir.normalized(); + + // \todo TODO: SR reimplement the fitting of planes by either passing cameras all the way down, or something else. + //_orbit.planePointCams = computeFittingPlaneCameras(_orbit.center); + _orbit.yAxis = _currentCamera.up(); // _orbit.planePointCams.xyz(); + + //cheap trick to solve the ambiguity of the up direction + if (_orbit.yAxis.dot(_currentCamera.up()) < 0) { + _orbit.yAxis = -_orbit.yAxis; + } + + _orbit.zAxis = dir.normalized(); + _orbit.xAxis = _orbit.yAxis.cross(_orbit.zAxis); + _orbit.radius = (_orbit.initialCamera.position() - _orbit.center).norm(); + _orbit.initialCamera = _currentCamera; + + _orbitPointClicked = true; + } + + } + + } + + void Orbit::update(const sibr::Input & input, const float deltaTime, const Viewport & viewport) + { + update(input); + } + + const sibr::InputCamera & Orbit::getCamera( void ) const + { + if( !_hasBeenInitialized ){ + SIBR_ERR << " Orbit : camera not initialized before use" << std::endl + << "\t you should use either fromMesh(), fromCamera() or load() " << std::endl; + } + return _currentCamera; + + } + + void Orbit::fromCamera( const sibr::InputCamera & cam, const std::shared_ptr raycaster ) + { + _orbit.initialCamera = cam; + _currentCamera = cam; + _hasBeenInitialized = true; + + // If no point has already been selected by the user, we simply pick it automatically by intersecting cam dir and the mesh. + if (!_orbitPointClicked) { + // We need to transfer the camera parameters to the orbit. + updateOrbitParametersCentered(raycaster); + } + } + + void Orbit::updateOrbitParametersCentered(const std::shared_ptr raycaster) + { + if (raycaster != nullptr) { + sibr::RayHit hit = raycaster->intersect(sibr::Ray(_currentCamera.position(), _currentCamera.dir())); + // If hit at the proxy surface, compute the corresponding world position, save it. + if (hit.hitSomething()) { + sibr::Vector3f intersection(_currentCamera.position() + hit.dist()* _currentCamera.dir().normalized()); + _orbit.center = intersection; + _orbit.yAxis = _currentCamera.up(); + _orbit.zAxis = _currentCamera.dir(); + _orbit.xAxis = _currentCamera.right(); + _orbit.radius = (_currentCamera.position() - _orbit.center).norm(); + _orbit.initialCamera = _currentCamera; + //orbitPointClicked -->; don't set it, the center is picked automatically. + } + } + + } + + sibr::Vector4f Orbit::computeFittingPlaneCameras(sibr::Vector3f & clickedPoint, const std::vector & cams) + { + using namespace Eigen; + + std::vector positions(cams.size()); + + for (int i = 0; i<(int)cams.size(); ++i) { + positions.at(i) = cams.at(i)->position(); + } + positions.push_back(clickedPoint); + + std::vector colors(positions.size(), sibr::Vector3f(1, 0, 0)); + + MatrixXf data(3, positions.size()); + int posId = 0; + for (auto & pos : positions) { + data(0, posId) = pos.x(); + data(1, posId) = pos.y(); + data(2, posId) = pos.z(); + ++posId; + } + + sibr::Vector3f center = data.rowwise().mean(); + Eigen::MatrixXf dataCentered = data.colwise() - center; + + JacobiSVD svd(dataCentered, ComputeFullU | ComputeThinV); + + //the normal to the fitting plane is the eigenvector associated to the smallest eigenvalue (i.e. the direction in which the variance of all points is the smallest) + sibr::Vector3f normal = svd.matrixU().col(2); + normal.normalize(); + sibr::Vector3f n(normal); + + //the fitting plane contains the mean point + float d = -center.dot(normal); + + + std::cout << " \t plane ( clicked point + input cams ) : " << n.x() << "*x + " << n.y() << "*y + " << n.z() << "*z + " << d << std::endl; + + return sibr::Vector4f(n.x(), n.y(), n.z(), d); + } +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/view/Orbit.hpp b/SIBR_viewers/src/core/view/Orbit.hpp new file mode 100644 index 0000000000..edf34b1f01 --- /dev/null +++ b/SIBR_viewers/src/core/view/Orbit.hpp @@ -0,0 +1,158 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include +#include + +#include "Config.hpp" +#include "core/graphics/Shader.hpp" +#include "core/assets/InputCamera.hpp" +#include "ICameraHandler.hpp" + + +namespace sibr { + + class Viewport; + class Mesh; + class Input; + class Raycaster; + + /** + * Interactive camera that allow the user to roate around an object using the keypad. + * Commands: + + to enable/disable the orbit (note that using at least once ( atl + click ) to retrieve a 3D point on the proxy is mandatory before enabling the orbit) : + b + in static mode (default mode) : + 5 to flip the orbit (might be the first thing to do if all commands seem broken/reversed, it is needed because there is an ambiguity when using the normal of the plan containing the input cameras and the clicked point) + 4 or 6 to rotate towards current camera x-axis + 2 or 8 to rotate towards current camera y-axis + 7 or 9 to rotate towards current camera z-axis + 1 or 3 to zoom in or out + in dynamic mode ( rotates without interruption around an axis ) : + alt + ( 4 or 6 ) to rotate towards current camera x-axis + alt + ( 2 or 8 ) to rotate towards current camera y-axis + alt + ( 7 or 9 ) to rotate towards current camera z-axis + 5 to inverse the direction (same axis) + 0 to switch back to static mode with initial camera + . to switch back to static mode with current camera + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT Orbit : public ICameraHandler + { + + public: + + /** + Create an orbit centered at (0,0,0) with basic initial parameters. + It is recommended to call fromCamera after that to setup the orbit with a valid set of parameters. + */ + Orbit( void ); + + /** + Setup the orbit so that its camera has the same pose as the argument camera. A raycaster is required to find the center of the orbit. + \param cam the reference camera + \param raycaster raycaster to use for centering intersection tests. + */ + void fromCamera(const sibr::InputCamera & cam, const std::shared_ptr raycaster); + + /** + Update the orbit camera based on the user input (keyboard). Can require a raycaster if the user is alt-clicking to select a new orbit center. + \param input user input + \param raycaster optional raycaster + */ + void update( const sibr::Input & input, const std::shared_ptr raycaster = std::shared_ptr()); + + /** Update the camera handler state. + \param input user input + \param deltaTime time elapsed since last udpate + \param viewport view viewport + */ + virtual void update(const sibr::Input & input, const float deltaTime, const Viewport & viewport) override; + + /** \return the current camera. */ + virtual const sibr::InputCamera & getCamera( void ) const override; + + private: + + /** Internal orbit parameters. */ + struct OrbitParameters + { + /** Motion direction: Clockwise, AntiClockWis e*/ + enum OrbitDirection { CW = 1, ACW = -1 }; + /** Orbit current motion status. */ + enum OrbitStatus { STATIC, FORWARD_X, FORWARD_Y, FORWARD_Z }; + + /** Default constructor. */ + OrbitParameters(void) : factor(0), status(STATIC), + center(sibr::Vector3f(0.0f, 0.0f, 0.0f)), radius(1.0f), theta(0), phi(0), roll(0), direction(CW), keepCamera(false) + {} + + /** Flip motion. */ + void flip(void) { + yAxis = -yAxis; + xAxis = yAxis.cross(zAxis); + } + + bool keepCamera; ///< ? + int factor; ///< Interpolation ID. + + OrbitStatus status; ///< Current status. + OrbitDirection direction; ///< Current motion direction. + + sibr::Vector3f center; ///< Orbit center. + sibr::Vector3f xAxis; ///< Orbit X axis. + sibr::Vector3f yAxis; ///< Orbit Y axis. + sibr::Vector3f zAxis; ///< Orbit Z axis. + + float radius; ///< Orbit radius. + float theta, phi, roll; ///< Orbit angles. + + sibr::Camera initialCamera; ///< Starting camera. + sibr::Vector4f planePointCams; ///< Fitted plane points. + + }; + + /** + * Compute new camera pose from current orbit parameters. + */ + void interpolateOrbit(); + + /** + * Updates the orbit's center and camera pose, by casting a ray from the clicked point (in Input) to the mesh. + * \param input user input + * \param raycaster scene raycaster + */ + void updateOrbitParameters(const sibr::Input& input, const std::shared_ptr raycaster); + + /** + * Updates the orbit's center and camera pose, by casting a ray from the center of the screen to the mesh. + * \param raycaster scene raycaster + */ + void updateOrbitParametersCentered(const std::shared_ptr raycaster); + + /** + * Compute the best fitting plane of the clicked points plus the input cams positions. + * \param clickedPoint point clicked by the user + * \param cams reference cameras + */ + static sibr::Vector4f computeFittingPlaneCameras(sibr::Vector3f& clickedPoint, const std::vector& cams); + + bool _hasBeenInitialized; ///< Has the orbit been initialized. + bool _orbitPointClicked; ///< Has the user clicked on a point in the scene. + sibr::InputCamera _currentCamera; ///< Current camera. + OrbitParameters _orbit; ///< Parameters. + + }; +} diff --git a/SIBR_viewers/src/core/view/RenderingMode.cpp b/SIBR_viewers/src/core/view/RenderingMode.cpp new file mode 100644 index 0000000000..5bb367a57c --- /dev/null +++ b/SIBR_viewers/src/core/view/RenderingMode.cpp @@ -0,0 +1,195 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include "core/graphics/RenderUtility.hpp" +#include "core/view/RenderingMode.hpp" +#include "core/assets/Resources.hpp" +#include "core/graphics/Image.hpp" + +namespace sibr +{ + MonoRdrMode::MonoRdrMode( void ) + { + _clear = true; + _quadShader.init("Texture", + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("texture.vp")), + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("texture.fp"))); + } + + void MonoRdrMode::render( ViewBase& view, const sibr::Camera& eye, const sibr::Viewport& viewport, IRenderTarget* optDest ) + { + /// TODO: clean everything. Resolution handling. + + //int w = (int)viewport.finalWidth(); + //int h = (int)viewport.finalHeight(); + + //if (!_destRT || _destRT->w() != w || _destRT->h() != h) + // _destRT.reset( new RenderTarget(w, h) ); + // + //view.onRenderIBR(*_destRT, eye); + //_destRT->unbind(); + + //_quadShader.begin(); + ////if(_ibr->isPortraitAcquisition() && !_ibr->args().fullscreen) + //// glViewport(0,0, _h, _w); + ////else + //// glViewport(0,0, _w * _ibr->args().rt_factor, (_ibr->args().fullscreen ? screenHeight : _h) * _ibr->args().rt_factor); + //viewport.use(); + ////glViewport(0,0, size().x(), size().y()); + + //glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, _destRT->texture()); + //RenderUtility::renderScreenQuad(false /*_ibr->isPortraitAcquisition()*/); + //_quadShader.end(); + + int w = (int)viewport.finalWidth(); + int h = (int)viewport.finalHeight(); + + if (!_destRT)// || _destRT->w() != w || _destRT->h() != h) + _destRT.reset( new RenderTarget(w, h, SIBR_GPU_LINEAR_SAMPLING) ); + glViewport(0, 0, w, h); + _destRT->bind(); + + if( _clear ) { + viewport.clear(); + // blend with previous + view.preRender(*_destRT); + } + else { + // can come from somewhere else + view.preRender(*_prevR); + } + + view.onRenderIBR(*_destRT, eye); + _destRT->unbind(); + + //show(*_destRT, "before"); + + //glEnable (GL_BLEND); + //glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + glDisable (GL_BLEND); + glDisable(GL_DEPTH_TEST); + //glDepthMask(GL_FALSE); + + //glEnable (GL_BLEND); + //glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + _quadShader.begin(); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, _destRT->texture()); + + if (optDest) // Optionally you can render to another RenderTarget + { + glViewport(0, 0, optDest->w(), optDest->h()); + optDest->bind(); + } + else + { + viewport.bind(); + } + + RenderUtility::renderScreenQuad(/*_ibr->isPortraitAcquisition()*/); + + if (optDest) // Optionally you can render to another RenderTarget + optDest->unbind(); + + _quadShader.end(); + +#if 0 +std::cerr <<"End of render pass 1" << std::endl; + show(*(_destRT)); +#endif + + } + + StereoAnaglyphRdrMode::StereoAnaglyphRdrMode( void ) + { + _clear = true; + _stereoShader.init("StereoAnaglyph", + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("anaglyph.vp")), + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("anaglyph.fp"))); + _leftRT.reset(), _rightRT.reset(); +/* default values good for Street-10 scene */ + + _focalDist = 100; + _eyeDist = (float)0.065; /* meters */ + } + + void StereoAnaglyphRdrMode::render( ViewBase& view, const sibr::Camera& eye, const sibr::Viewport& viewport, IRenderTarget* optDest) + { + int w = (int)viewport.finalWidth(); + int h = (int)viewport.finalHeight(); + + if (!_leftRT || _leftRT->w() != w || _leftRT->h() != h) + _leftRT.reset( new RenderTarget(w, h) ); + if (!_rightRT || _rightRT->w() != w || _rightRT->h() != h) + _rightRT.reset( new RenderTarget(w, h) ); + + InputCamera leye(eye, w, h); + InputCamera reye(eye, w, h); + leye.size(w, h); reye.size(w, h); + leye.position(eye.position()-_eyeDist*eye.right()); + + // setup left eye + leye.setStereoCam(true, _focalDist, _eyeDist); + _leftRT->bind(); + if( _clear ) { + viewport.clear(); + view.preRender(*_leftRT); + } + else { + // can come from somewhere else + view.preRender(*_prevL); + } + + view.onRenderIBR(*_leftRT, leye); + _leftRT->unbind(); + + // setup right eye + reye.position(eye.position()+_eyeDist*eye.right()); + reye.setStereoCam(false, _focalDist, _eyeDist); + + // render right eye + _rightRT->bind(); + if( _clear ) { + viewport.clear(); + view.preRender(*_rightRT); + } + else { + // can come from somewhere else + view.preRender(*_prevR); + } + view.onRenderIBR(*_rightRT, reye); + _rightRT->unbind(); + + glDisable (GL_BLEND); + glDisable(GL_DEPTH_TEST); + + _stereoShader.begin(); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, _leftRT->texture()); + glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, _rightRT->texture()); + + if (optDest) // Optionally you can render to another RenderTarget + { + glViewport(0, 0, optDest->w(), optDest->h()); + optDest->bind(); + } + + RenderUtility::renderScreenQuad(); + + if (optDest) // Optionally you can render to another RenderTarget + optDest->unbind(); + + _stereoShader.end(); + + } + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/RenderingMode.hpp b/SIBR_viewers/src/core/view/RenderingMode.hpp new file mode 100644 index 0000000000..6b592b0f2c --- /dev/null +++ b/SIBR_viewers/src/core/view/RenderingMode.hpp @@ -0,0 +1,164 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/graphics/Camera.hpp" +# include "core/graphics/Viewport.hpp" +# include "core/graphics/Texture.hpp" +# include "core/view/Config.hpp" +# include "core/view/ViewBase.hpp" +# include "core/graphics/Image.hpp" +# include "core/graphics/Shader.hpp" +# include "core/assets/InputCamera.hpp" + +namespace sibr +{ + /** + * Rendering mode manages the rendertarget and camera fed to an IBR view. Can be used to render a view using a stereoscopic mode (anaglyph or VR). + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT IRenderingMode + { + SIBR_CLASS_PTR(IRenderingMode); + + public: + typedef RenderTargetRGB RenderTarget; + public: + /// Destructor. + virtual ~IRenderingMode( void ) { } + + /** Perform rendering of a view. + *\param view the view to render + *\param eye the current camera + *\param viewport the current viewport + *\param optDest an optional destination RT + */ + virtual void render( + ViewBase& view, const sibr::Camera& eye, const sibr::Viewport& viewport, + IRenderTarget* optDest = nullptr) = 0; + + /** Get the current rendered image as a CPU image + *\param current_img will contain the content of the RT */ + virtual void destRT2img( sibr::ImageRGB& current_img ) = 0; + + protected: + std::unique_ptr _prevL, _prevR; ///< prev RT to link renderers across different views in multipass + + public: + bool _clear; ///< Should the dst RT be cleared before rendering. + + /** Set common previous step RT. + *\param p the RT + */ + void setPrev(const std::unique_ptr& p) { std::cerr<<"ERROR " << std::endl; } + /** Set left and right previous step RTs. + *\param pl the left eye RT + *\param pr the right eye RT + */ + void setPrevLR(const std::unique_ptr& pl, const std::unique_ptr& pr) { std::cerr<<"ERROR " << std::endl;} + + /** \return the left eye (or common) RT. */ + virtual const std::unique_ptr& lRT() = 0; + /** \return the right eye (or common) RT. */ + virtual const std::unique_ptr& rRT() = 0; + + }; + + /** Default rendering mode: monoview, passthrough. + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT MonoRdrMode : public IRenderingMode + { + public: + + /// Constructor. + MonoRdrMode( void ); + + /** Perform rendering of a view. + *\param view the view to render + *\param eye the current camera + *\param viewport the current viewport + *\param optDest an optional destination RT + */ + void render( ViewBase& view, const sibr::Camera& eye, const sibr::Viewport& viewport, IRenderTarget* optDest = nullptr); + + /** Get the current rendered image as a CPU image + *\param current_img will contain the content of the RT */ + void destRT2img( sibr::ImageRGB& current_img ) + { + _destRT->readBack(current_img); + return; + } + + /** \return the common RT. */ + virtual const std::unique_ptr& lRT() { return _destRT; } + /** \return the common RT. */ + virtual const std::unique_ptr& rRT() { return _destRT; } + + private: + sibr::GLShader _quadShader; ///< Passthrough shader. + std::unique_ptr _destRT; ///< Common destination RT. + }; + + /** + *Stereo rendering mode: two slightly shifted views are rendered and composited as anaglyphs. + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT StereoAnaglyphRdrMode : public IRenderingMode + { + public: + + /// Constructor. + StereoAnaglyphRdrMode( void ); + + /** Perform rendering of a view. + *\param view the view to render + *\param eye the current camera + *\param viewport the current viewport + *\param optDest an optional destination RT + */ + void render( ViewBase& view, const sibr::Camera& eye, const sibr::Viewport& viewport, IRenderTarget* optDest = nullptr); + + /** Set the focal distance. + \param focal focal distance + */ + void setFocalDist(float focal) { _focalDist = focal; } + + /** Set the distance between the two eyes. + \param iod intra-ocular distance + */ + void setEyeDist(float iod) { _eyeDist = iod; } + + /** \return the focal distance */ + float focalDist() { return _focalDist; } + /** \return the intra-ocular distance */ + float eyeDist() { return _eyeDist; } + + /** Get the current rendered image as a CPU image (empty). + *\param current_img will contain the content of the RT */ + void destRT2img( sibr::ImageRGB& current_img ){}; + + /** \return the left eye RT. */ + virtual const std::unique_ptr& lRT() { return _leftRT; } + /** \return the right eye RT. */ + virtual const std::unique_ptr& rRT() { return _rightRT; } + + private: + sibr::GLShader _stereoShader; ///< Anaglyph shader. + RenderTarget::UPtr _leftRT, _rightRT; ///< Each eye RT. + float _focalDist, _eyeDist; ///< Focal and inter-eyes distances. + }; + + ///// DEFINITIONS ///// + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/SceneDebugView.cpp b/SIBR_viewers/src/core/view/SceneDebugView.cpp new file mode 100755 index 0000000000..97a1d196ac --- /dev/null +++ b/SIBR_viewers/src/core/view/SceneDebugView.cpp @@ -0,0 +1,668 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +# include "core/view/SceneDebugView.hpp" +# include "core/graphics/RenderUtility.hpp" +# include "core/graphics/Input.hpp" +# include "core/graphics/GUI.hpp" +#include + +#include + +namespace sibr +{ + + Mesh::Ptr generateCamFrustum(const InputCamera & cam, float near, float far, bool useCam) + { + static const Mesh::Triangles tris = { + {0,0,1},{1,1,2},{2,2,3},{3,3,0}, + {4,4,5},{5,5,6},{6,6,7},{7,7,4}, + {0,0,4},{1,1,5},{2,2,6},{3,3,7}, + }; + + std::vector dirs; + if (!useCam) { + dirs.resize(4); + dirs[0] = Vector3f(-1, -0.8, -1); + dirs[1] = Vector3f(1, -0.8, -1); + dirs[2] = Vector3f(1, 0.8, -1); + dirs[3] = Vector3f(-1, 0.8, -1); + } else { + for (const auto& c : cam.getImageCorners()) + dirs.push_back(CameraRaycaster::computeRayDir(cam, c.cast() + 0.5f * Vector2f(1, 1))); + + } + + float znear = (near >= 0 ? near : cam.znear()); + float zfar = (far >= 0 ? far : cam.zfar()); + Mesh::Vertices vertices; + for (int k = 0; k < 2; k++) { + float dist = (k == 0 ? znear : zfar); + for (const auto & d : dirs) { + if (useCam) + vertices.push_back(cam.position() + dist * d); + else + vertices.push_back(dist * d); + } + } + + auto out = std::make_shared(); + out->vertices(vertices); + out->triangles(tris); + return out; + } + + Mesh::Ptr generateCamFrustumColored(const InputCamera & cam, const Vector3f & col, float znear, float zfar) + { + auto out = generateCamFrustum(cam, znear, zfar); + Mesh::Colors cols(out->vertices().size(), col); + out->colors(cols); + return out; + } + + Mesh::Ptr generateCamQuadWithUvs(const InputCamera & cam, float dist) + { + static const Mesh::Triangles quadTriangles = { + { 0,1,2 },{ 0,2,3 } + }; + static const Mesh::UVs quadUVs = { + { 0,1 } ,{ 1,1 } ,{ 1,0 } ,{ 0,0 } + }; + + std::vector dirs; + for (const auto & c : cam.getImageCorners()) { + dirs.push_back(CameraRaycaster::computeRayDir(cam, c.cast() + 0.5f*Vector2f(1, 1))); + } + std::vector vertices; + for (const auto & d : dirs) { + vertices.push_back(cam.position() + dist * d); + } + + auto out = std::make_shared(); + out->vertices(vertices); + out->triangles(quadTriangles); + out->texCoords(quadUVs); + return out; + } + + + LabelsManager::CameraInfos::CameraInfos(const InputCamera& cam, uint id, bool highlight) + : cam(cam), id(id), highlight(highlight) { + } + + void LabelsManager::setupLabelsManagerShader() + { + _labelShader.init("text-imgui", + loadFile(Resources::Instance()->getResourceFilePathName("text-imgui.vp")), + loadFile(Resources::Instance()->getResourceFilePathName("text-imgui.fp"))); + _labelShaderPosition.init(_labelShader, "position"); + _labelShaderScale.init(_labelShader, "scale"); + _labelShaderViewport.init(_labelShader, "viewport"); + } + + void LabelsManager::setupLabelsManagerMeshes(const std::vector & cams) + { + _labelMeshes.clear(); + for (const auto & cam : cams) { + unsigned int sepIndex = 0; + _labelMeshes[cam->id()] = {}; + _labelMeshes[cam->id()].mesh = generateMeshForText(std::to_string(cam->id()), sepIndex); + _labelMeshes[cam->id()].splitIndex = sepIndex; + } + } + + void LabelsManager::renderLabels(const Camera & eye, const Viewport & vp, const std::vector& cams_info) + { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + _labelShader.begin(); + // Bind the ImGui font texture. + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, (GLuint)(intptr_t)(ImGui::GetFont()->ContainerAtlas->TexID)); + _labelShaderViewport.set(Vector2f(vp.finalWidth(), vp.finalHeight())); + + for (const auto & camInfos : cams_info) { + const auto & inputCam = camInfos.cam; + if (!inputCam.isActive()) { continue; } + const uint uid = camInfos.id; + if (_labelMeshes.count(uid) == 0) { + continue; + } + // Draw the label. + // TODO: we could try to use depth testing to have the labels overlap properly. + // As the label is put at the position of the camera, the label will intersect with the frustum mesh, causing artifacts. + // One way of solving this would be to just shift the label away a bit and enable depth testing (+ GL_LEQUAl for the text). + const Vector3f camProjPos = eye.project(inputCam.position()); + if (!eye.frustumTest(inputCam.position(), camProjPos.xy())) { + continue; + } + _labelShaderPosition.set(camProjPos); + const auto & label = _labelMeshes[uid]; + // Render the background label. + _labelShaderScale.set(0.8f*_labelScale); + label.mesh->renderSubMesh(0, label.splitIndex, false, false); + // Render the text label. + _labelShaderScale.set(1.0f*_labelScale); + label.mesh->renderSubMesh(label.splitIndex, int(label.mesh->triangles().size()) * 3, false, false); + + } + _labelShader.end(); + glDisable(GL_BLEND); + } + + void ImageCamViewer::initImageCamShaders() + { + const std::string vertex_str = loadFile(Resources::Instance()->getResourceFilePathName("uv_mesh.vert")); + + _shader2D.init("cameraImageShader", vertex_str, loadFile(Resources::Instance()->getResourceFilePathName("alpha_uv_tex.frag"))); + _mvp2D.init(_shader2D, "mvp"); + _alpha2D.init(_shader2D, "alpha"); + + _shaderArray.init("cameraImageShaderArray", vertex_str, loadFile(Resources::Instance()->getResourceFilePathName("alpha_uv_tex_array.frag"))); + _mvpArray.init(_shaderArray, "mvp"); + _alphaArray.init(_shaderArray, "alpha"); + _sliceArray.init(_shaderArray, "slice"); + } + + void ImageCamViewer::renderImage(const Camera & eye, const InputCamera & cam, + const std::vector & rts, int cam_id) + { + const auto quad = generateCamQuadWithUvs(cam, _pathScaling); + if (cam_id < rts.size() && rts[cam_id]) { + _shader2D.begin(); + _mvp2D.set(eye.viewproj()); + _alpha2D.set(_alphaImage); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, rts[cam_id]->handle()); + quad->render(true, false, Mesh::FillRenderMode, false, false); + _shader2D.end(); + } + } + + void ImageCamViewer::renderImage(const Camera & eye, const InputCamera & cam, uint tex2Darray_handle, int cam_id) + { + const auto quad = generateCamQuadWithUvs(cam, _pathScaling); + _shaderArray.begin(); + _mvpArray.set(eye.viewproj()); + _alphaArray.set(_alphaImage); + _sliceArray.set(cam_id); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D_ARRAY, tex2Darray_handle); + quad->render(true, false, Mesh::FillRenderMode, false, false); + _shaderArray.end(); + } + void ImageCamViewer::renderImage(const Camera& eye, const InputCamera& cam, const RenderTargetRGBA32F::Ptr& rt) + { + const auto quad = generateCamQuadWithUvs(cam, _pathScaling); + _shader2D.begin(); + _mvp2D.set(eye.viewproj()); + _alpha2D.set(_alphaImage); + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, rt->handle()); + quad->render(true, false, Mesh::FillRenderMode, false, false); + _shader2D.end(); + } + + void ImageCamViewer::updateImgRt(const InputCamera& cam, const sibr::ImageRGBA& img) + { + uint w = cam.w(); + uint h = cam.h(); + + //Force using image aspect ratio + if (cam.w() >= cam.h()) h = cam.w(), w = cam.h(); + else w = cam.w(), h = cam.h(); + + GLShader textureShader; + textureShader.init("Texture", + loadFile(Resources::Instance()->getResourceFilePathName("texture.vp")), + loadFile(Resources::Instance()->getResourceFilePathName("texture.fp"))); + uint interpFlag = (SIBR_SCENE_LINEAR_SAMPLING & SIBR_SCENE_LINEAR_SAMPLING) ? SIBR_GPU_LINEAR_SAMPLING : 0; // LINEAR_SAMPLING Set to default + + std::cerr << "."; + ImageRGBA cloned_img = std::move(img.clone()); + cloned_img.flipH(); + + std::shared_ptr rawInputImage(new Texture2DRGBA(cloned_img, interpFlag)); + + glViewport(0, 0, w, h); + _imgRt.reset(new RenderTargetRGBA32F(w, h, interpFlag)); + _imgRt->clear(); + _imgRt->bind(); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, rawInputImage->handle()); + + //Render texture (mapped to screenquad geometry) in the framebuffer (renderTarget) + // so that it matches afterwards the same camera settings when applied as a texture + glDisable(GL_DEPTH_TEST); + textureShader.begin(); + RenderUtility::renderScreenQuad(); + textureShader.end(); + _imgRt->unbind(); + } + + SceneDebugView::SceneDebugView(const IIBRScene::Ptr & scene, + const InteractiveCameraHandler::Ptr & camHandler, const BasicDatasetArgs & myArgs, const std::string& imagesPath) + { + + initImageCamShaders(); + setupLabelsManagerShader(); + + _scene = scene; + _userCurrentCam = camHandler; + + if (!_scene->cameras()->inputCameras().empty()) { + camera_handler.fromTransform(_scene->cameras()->inputCameras()[0]->transform(), true, false); + camera_handler.setupInterpolationPath(_scene->cameras()->inputCameras()); + } + + _showImages = false; + if (directoryExists(imagesPath)) { + _images_path = imagesPath; + } + else { + _images_path = ""; + } + + const std::string camerasDir = myArgs.dataset_path.get() + "/cameras"; + if (directoryExists(camerasDir)) { + _topViewPath = camerasDir + "/topview.txt"; + if (!directoryExists(camerasDir)) { + makeDirectory(camerasDir); + } + } + else { + _topViewPath = parentDirectory(myArgs.dataset_path) + "/topview.txt"; + } + + setup(); + } + + SceneDebugView::SceneDebugView(const IIBRScene::Ptr & scene, const Viewport & viewport, + const InteractiveCameraHandler::Ptr & camHandler, const BasicDatasetArgs & myArgs) : SceneDebugView(scene, camHandler, myArgs) { + SIBR_WRG << "Deprecated SceneDebugView constructor, use the version without viewport passed as argument." << std::endl; + } + + void SceneDebugView::onUpdate(Input & input, const float deltaTime, const Viewport & viewport) + { + MultiMeshManager::onUpdate(input, viewport); + + //Camera stub size + if (input.key().isActivated(Key::LeftControl) && input.mouseScroll() != 0.0) { + _userCameraScaling = std::max(0.001f, _userCameraScaling + (float)input.mouseScroll() * 0.1f); + } + if (input.key().isActivated(Key::LeftControl) && input.key().isReleased(Key::P)) { + MeshData & guizmo = getMeshData("guizmo"); + guizmo.active = !guizmo.active; + } + + MeshData & proxy = getMeshData("proxy"); + if( proxy.meshPtr->triangles().size() == 0 ) + // SfM Points only + proxy.renderMode = Mesh::RenderMode::PointRenderMode; + + if (input.key().isActivated(Key::LeftControl) && input.key().isReleased(Key::Z)) { + //MeshData & proxy = getMeshData("proxy"); + if (proxy.renderMode == Mesh::RenderMode::FillRenderMode) { + proxy.renderMode = Mesh::RenderMode::LineRenderMode; + } else { + proxy.renderMode = Mesh::RenderMode::FillRenderMode; + } + } + + if (input.key().isReleased(Key::T)) { + save(); + } + + //user camera transform update + sibr::Transform3f scaled = _userCurrentCam->getCamera().transform(); + scaled.scale(_userCameraScaling); + sibr::Matrix4f scaledMatrix = scaled.matrix(); + getMeshData("scene cam").setTransformation(scaledMatrix); + + // update input camera (path) scales + if (_pathScaling != _lastPathScaling) { + removeMesh("used cams"); + _used_cams.reset(); + _used_cams = std::make_shared(); + for (const auto& camInfos : _cameras) { + if (!camInfos.cam.isActive()) { continue; } + (camInfos.highlight ? _used_cams : _non_used_cams)->merge(*generateCamFrustum(camInfos.cam, 0.0f, _pathScaling)); + } + _lastPathScaling = _pathScaling; + addMeshAsLines("used cams", _used_cams).setColor({ 0,1,0 }).setDepthTest(true); + + } + } + + void SceneDebugView::onUpdate(Input & input, const Viewport & viewport) + { + onUpdate(input, 1.0f / 60.0f, viewport); + } + + void SceneDebugView::onUpdate(Input & input) + { + // Update camera with a fixed timestep. + onUpdate(input, 1.0f / 60.0f); + } + + void SceneDebugView::onRender(Window & win) + { + // We need no information about the window, we render wherever we are. + onRender(win.viewport()); + } + + void SceneDebugView::onRender(const Viewport & viewport) + { + glPushDebugGroup(GL_DEBUG_SOURCE_APPLICATION, 0, -1, "Scene debug view"); + + viewport.clear(backgroundColor); + viewport.bind(); + + renderMeshes(); + + if (_displayImg) { + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + //renderFromTex(camera_handler.getCamera(), _cameras[_cameraIdInfoGUI].cam, _imgTex->handle()); + renderImage(camera_handler.getCamera(), _cameras[_cameraIdInfoGUI].cam, _imgRt); + glDisable(GL_BLEND); + } + + + if (_showLabels) { + renderLabels(camera_handler.getCamera(), viewport, _cameras); + } + + camera_handler.onRender(viewport); + glPopDebugGroup(); + } + + void SceneDebugView::onGUI() + { + if (ImGui::Begin("Top view settings")) { + gui_options(); + list_mesh_onGUI(); + gui_cameras(); + } + ImGui::End(); + + } + + void SceneDebugView::save() + { + + std::ofstream outfile(_topViewPath, std::ios::out | std::ios::trunc); + std::cerr << "Saving topview camera to " << _topViewPath << std::endl; + // save camera view proj matrix + camera_handler.getCamera().writeToFile(outfile); + } + + void SceneDebugView::setScene(const IIBRScene::Ptr & scene, bool preserveCamera) + { + _scene = scene; + const InputCamera cameraBack = camera_handler.getCamera(); + setup(); + camera_handler.setup(_scene->cameras()->inputCameras(), camera_handler.getViewport(), camera_handler.getRaycaster()); + camera_handler.setupInterpolationPath(_scene->cameras()->inputCameras()); + // Optionally restore the camera pose. + if (preserveCamera) { + camera_handler.fromCamera(cameraBack, false); + } + } + + void SceneDebugView::updateActiveCams(const std::vector& cams_id) + { + for (auto & cam : _cameras) { + cam.highlight = false; + } + for (const uint id : cams_id) { + if (id < _cameras.size()) { + _cameras[id].highlight = true; + } + } + } + + void SceneDebugView::gui_options() + { + + if (ImGui::CollapsingHeader("OptionsSceneDebugView##")) { + if (ImGui::Button("Save topview")) { + save(); + } + + ImGui::PushScaledItemWidth(120); + ImGui::InputFloat("Input cameras scale", &_pathScaling, 0.1f, 10.0f); + ImGui::InputFloat("User camera scale", &_userCameraScaling, 0.1f, 10.0f); + _pathScaling = std::max(0.001f, _pathScaling); + _userCameraScaling = std::max(0.001f, _userCameraScaling); + + ImGui::Checkbox("Draw labels ", &_showLabels); + if (_showLabels) { + ImGui::SameLine(); + ImGui::InputFloat("Label scale", &_labelScale, 0.2f, 10.0f); + } + + ImGui::Separator(); + ImGui::Checkbox("Draw Input Images ", &_showImages); + if (_showImages) { + ImGui::SameLine(); + ImGui::SliderFloat("Alpha", &_alphaImage, 0, 1.0); + } + + camera_handler.onGUI("Top view settings"); + ImGui::PopItemWidth(); + ImGui::Separator(); + } + } + + void SceneDebugView::gui_cameras() + { + if (ImGui::CollapsingHeader("Cameras##SceneDebugView")) { + + ImGui::SliderInt("Camera ID info", &_cameraIdInfoGUI, 0, static_cast(_cameras.size()) - 1); + + //Snap topView cam to closest input camera in mainView + if (ImGui::Button(std::string("Snap to closest").c_str())) { + _cameraIdInfoGUI = _userCurrentCam->findNearestCamera(_scene->cameras()->inputCameras()); + const auto& input_cam = _scene->cameras()->inputCameras()[0]; + + auto size = camera_handler.getViewport().finalSize(); + float ratio_dst = size[0] / size[1]; + float ratio_src = input_cam->w() / (float)input_cam->h(); + InputCamera cam = InputCamera(_cameras[_cameraIdInfoGUI].cam, (int)size[0], (int)size[1]); + + if (_displayImg) + _displayImg = false; + + if (ratio_src < ratio_dst) { + float fov_h = 2 * atan(tan(input_cam->fovy() / 2) * ratio_src / ratio_dst); + cam.fovy(fov_h); + } + else { + cam.fovy(input_cam->fovy()); + } + + //cam.znear(0.0001f); + camera_handler.fromCamera(cam, true, true); + } + + ImGui::Columns(4); // 0 name | snapto | active| size + + ImGui::Separator(); + ImGui::Text("Camera"); ImGui::NextColumn(); + ImGui::Text("SnapTo"); ImGui::NextColumn(); + ImGui::Text("alpha"); ImGui::NextColumn(); + + static std::vector cam_info_option_str = { "size", "focal", "fov_y","aspect" }; + if (ImGui::BeginCombo("Info", cam_info_option_str[_camInfoOption].c_str())) { + for (int i = 0; i < (int)cam_info_option_str.size(); ++i) { + if (ImGui::Selectable(cam_info_option_str[i].c_str(), _camInfoOption == i)) { + _camInfoOption = (CameraInfoDisplay)i; + } + } + ImGui::EndCombo(); + } + ImGui::NextColumn(); + ImGui::Separator(); + + //for (uint i = 0; i < _cameras.size(); ++i) + { + std::string name = "cam_" + intToString<4>(_cameraIdInfoGUI); + ImGui::Text(name.c_str()); + ImGui::NextColumn(); + + if (ImGui::Button(("SnapTo##" + name).c_str())) { + const auto & input_cam = _scene->cameras()->inputCameras()[0]; + + auto size = camera_handler.getViewport().finalSize(); + float ratio_dst = size[0] / size[1]; + float ratio_src = input_cam->w() / (float)input_cam->h(); + InputCamera cam = InputCamera(_cameras[_cameraIdInfoGUI].cam, (int)size[0], (int)size[1]); + + if (ratio_src < ratio_dst) { + float fov_h = 2 * atan(tan(input_cam->fovy() / 2) * ratio_src / ratio_dst); + cam.fovy(fov_h); + } else { + cam.fovy(input_cam->fovy()); + } + + if (_displayImg) + _displayImg = false; + + //cam.znear(0.0001f); + camera_handler.fromCamera(cam, true, true); + } + + if (_images_path != "") { + + ImGui::SameLine(); + if (ImGui::Button("DisplayImg##")) { + + if (_imgToFetch != _cameras[_cameraIdInfoGUI].cam.name()) { + _imgToFetch = _cameras[_cameraIdInfoGUI].cam.name(); + + std::string fullPath = _images_path + "/" + _imgToFetch; + sibr::ImageRGBA img; + + if (!fileExists(fullPath)) { + fullPath = fullPath.substr(0, fullPath.length() - 3) + "JPG"; + } + + if (img.load(fullPath)) { + updateImgRt(_cameras[_cameraIdInfoGUI].cam, img); + } + } + _displayImg = !_displayImg; + //(sibr::Image)img.load(fullPath); + } + + } + ImGui::NextColumn(); + + ImGui::SliderFloat("Alpha##", &_alphaImage, 0, 1.0); + ImGui::NextColumn(); + + const InputCamera & cam = _cameras[_cameraIdInfoGUI].cam; + std::stringstream tmp; + switch (_camInfoOption) + { + case SIZE: tmp << cam.w() << " x " << cam.h(); break; + case FOCAL: tmp << cam.focal(); break; + case FOV_Y: tmp << cam.fovy(); break; + case ASPECT: tmp << cam.aspect(); break; + default: break; + } + ImGui::Text(tmp.str().c_str()); + ImGui::NextColumn(); + ImGui::Columns(1); + } + + } + } + + void SceneDebugView::setup() + { + if (_scene) { + setupLabelsManagerMeshes(_scene->cameras()->inputCameras()); + setupMeshes(); + _user_cam = generateCamFrustum(_userCurrentCam->getCamera(), 0.0f, _userCameraScaling, false); + _cameras.clear(); + + int index = 0; + for (const auto& inputCam : _scene->cameras()->inputCameras()) { + const bool isUsed = _scene->cameras()->isCameraUsedForRendering(index); + _cameras.push_back(CameraInfos(*inputCam, inputCam->id(), isUsed)); + + if (inputCam->isActive()) + (isUsed ? _used_cams : _non_used_cams)->merge(*generateCamFrustum(*inputCam, 0.0f, _pathScaling)); + index++; + } + addMeshAsLines("scene cam", _user_cam).setColor({ 1,0,0 }).setDepthTest(true); + addMeshAsLines("used cams", _used_cams).setColor({ 0,1,0 }).setDepthTest(true); + addMeshAsLines("non used cams", _non_used_cams).setColor({ 0,0,1 }).setDepthTest(true); + } + + _snapToImage = 0; + _showLabels = false; + + // check if topview.txt exists + std::ifstream topViewFile(_topViewPath); + if (topViewFile.good()) + { + SIBR_LOG << "Loaded saved topview (" << _topViewPath << ")." << std::endl; + // Intialize a temp camera (used to load the saved top view pose) with + // the current top view camera to get the resolution/fov right. + InputCamera cam(camera_handler.getCamera()); + cam.readFromFile(topViewFile); + // Apply it to the top view FPS camera. + //camera_handler.fromCamera(cam, false); + camera_handler.fromTransform(cam.transform(), false, true); + } + + } + + void SceneDebugView::setupMeshes() + { + // no colors and no texture ? try to find capreal + bool success = false; + Mesh sdv_mesh; + Mesh::Ptr mp; + if (!_scene->proxies()->proxyPtr()->hasColors() && !_scene->proxies()->proxyPtr()->hasTexCoords()) { + std::string fn; + if (fileExists(fn = _scene->data()->basePathName() + "/capreal/mesh.ply")) { + if (sdv_mesh.load(fn, _scene->data()->basePathName())) + success = true; + } + // in sibr subdir + else if (fileExists(fn = _scene->data()->basePathName() + "/../capreal/mesh.ply")) { + if (sdv_mesh.load(fn, _scene->data()->basePathName())) + success = true; + } + if (success) { + Mesh::Ptr mp; + mp.reset(new Mesh); + mp->merge(sdv_mesh); + addMesh("proxy", mp); + } + else + addMesh("proxy", _scene->proxies()->proxyPtr()).setRadiusPoint(2).setDepthTest(false); + } + else + addMesh("proxy", _scene->proxies()->proxyPtr()).setRadiusPoint(2).setDepthTest(false); + + // Add a gizmo. + addMeshAsLines("guizmo", RenderUtility::createAxisGizmo()) + .setDepthTest(false).setColorMode(MeshData::ColorMode::VERTEX); + } + +} // namespace diff --git a/SIBR_viewers/src/core/view/SceneDebugView.hpp b/SIBR_viewers/src/core/view/SceneDebugView.hpp new file mode 100755 index 0000000000..c2b33054ed --- /dev/null +++ b/SIBR_viewers/src/core/view/SceneDebugView.hpp @@ -0,0 +1,278 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#pragma once + +# include "core/assets/InputCamera.hpp" +# include "core/assets/CameraRecorder.hpp" +# include "core/graphics/Texture.hpp" +# include "core/graphics/Camera.hpp" +# include "core/graphics/Window.hpp" +# include "core/graphics/Shader.hpp" +# include "core/graphics/Mesh.hpp" +# include "core/view/InteractiveCameraHandler.hpp" +# include "core/view/ViewBase.hpp" +# include "core/scene/BasicIBRScene.hpp" +# include "core/system/CommandLineArgs.hpp" + +#include + +namespace sibr +{ + + /** Generate an accurate camera frustum + \param cam camera to visualize as a stub + \param znear near value to use for the frustum (if < 0, cam.near() will be used) + \param zfar far value to use for the frustum (if < 0, cam.far() will be used) + \ingroup sibr_view + */ + Mesh::Ptr SIBR_VIEW_EXPORT generateCamFrustum(const InputCamera & cam, float znear = -1, float zfar = -1, bool useCam = true); + + /** Generate an accurate camera frustum with a custom color. + \param cam camera to visualize as a stub + \param col the mesh line color + \param znear near value to use for the frustum (if < 0, cam.near() will be used) + \param zfar far value to use for the frustum (if < 0, cam.far() will be used) + \ingroup sibr_view + */ + Mesh::Ptr SIBR_VIEW_EXPORT generateCamFrustumColored(const InputCamera & cam, const Vector3f & col, float znear = -1, float zfar = -1); + + /** Generate a quad representing a camera image plane. + *\param cam the camera + *\param dist the distance in world space from the camera position to the image plane + \ingroup sibr_view + **/ + Mesh::Ptr SIBR_VIEW_EXPORT generateCamQuadWithUvs(const InputCamera & cam, float dist); + + /** Helper used to display camera labels on screen. + * Internally use ImGui to generate labels data. + \ingroup sibr_view + * */ + struct SIBR_VIEW_EXPORT LabelsManager { + + protected: + + /** Displayed cameras info. */ + struct CameraInfos { + /** Constructor. + *\param cam the camera + *\param id the corresponding vector ID + *\param highlight should the camera be highlighted. + */ + CameraInfos(const InputCamera& cam, uint id, bool highlight); + + const InputCamera & cam; ///< Camera. + uint id = 0; ///< Array ID. + bool highlight = false; ///< Highlight status. + }; + + /** Initialize the shaders. */ + void setupLabelsManagerShader(); + + /** Generate labels data based on input camera informations. + *\param cams the cameras + */ + void setupLabelsManagerMeshes(const std::vector & cams); + + /** Render the camera labels. + *\param eye the current viewpoint + *\param vp the view viewport + *\param cams_info the current state of the cameras. + * \todo Get rid of the viewport if possible. + **/ + void renderLabels(const Camera & eye, const Viewport & vp, const std::vector & cams_info); + + + /** Label geometry info. The mesh is split in two parts, + * one containing the background label shape, + * and one containing the quads that support the text. */ + struct LabelMesh { + Mesh::Ptr mesh; ///< The generated mesh. + unsigned int splitIndex = 0; ///< The boundary between foreground and background mesh. + }; + + std::map _labelMeshes; ///< Generated geometry for each label. + GLShader _labelShader; ///< Shader. + GLuniform _labelShaderPosition; ///< Uniform for the label position. + GLuniform _labelShaderScale = 1.0f; ///< Uniform for the label scale (used twice per label, with different values derived from _labelScale). + GLuniform _labelShaderViewport; ///< The viewport of the view, for ratio adjustment. + float _labelScale = 1.0f; ///< The label scale ons creen. + + }; + + /** Helper used to render image planes in front of the camera, + * for both scenes storing 2D separate images or a texture array. + \ingroup sibr_view + */ + struct SIBR_VIEW_EXPORT ImageCamViewer { + + protected: + + /** Initialize the shaders. */ + void initImageCamShaders(); + + /** Render one specific input image on a camera image plane. + *\param eye the current viewpoint + *\param cam the camera to show the image plane of + *\param rts input 2D textures list + *\param cam_id the list index associated to the camera + */ + void renderImage(const Camera & eye, const InputCamera & cam, const std::vector & rts, int cam_id); + + /** Render one specific input image on a camera image plane. + *\param eye the current viewpoint + *\param cam the camera to show the image plane of + *\param tex2Darray_handle input images texture array + *\param cam_id the array slice associated to the camera + */ + void renderImage(const Camera & eye, const InputCamera & cam, uint tex2Darray_handle, int cam_id); + + void renderImage(const Camera& eye, const InputCamera& cam, const RenderTargetRGBA32F::Ptr& rt); + + void updateImgRt(const InputCamera& cam, const sibr::ImageRGBA& img); + + GLShader _shader2D; ///< Shader for the 2D separate case. + GLShader _shaderArray; ///< Shader for the texture array case. + GLuniform _mvp2D, _mvpArray; ///< MVP matrix. + GLuniform _alpha2D = 1.0f; ///< Opacity. + GLuniform _alphaArray = 1.0f; ///< Opacity. + GLuniform _sliceArray = 1; ///< Slice location (for the texture array case). + float _alphaImage = 0.5f; ///< Opacity shared value. + + RenderTargetRGBA32F::Ptr _imgRt; + float _userCameraScaling = 3.f; ///< User camera scaling. + float _pathScaling = 0.3f; ///< Input cameras scaling. + float _lastPathScaling = 0.2f; + std::string _imgToFetch = ""; + uint _imgTexHandle; + bool _displayImg = false; + sibr::Texture2D* _imgTex = nullptr; + }; + + /** Scene viewer for IBR scenes with a proxy, cameras and input images. + * It adds camera visualization options (labels, frusta, image planes) on top of the MeshManager. + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT SceneDebugView : public MultiMeshManager, public ImageCamViewer, public LabelsManager + { + SIBR_CLASS_PTR(SceneDebugView); + + public: + + /** Which camera info should be displayed in the GUI. */ + enum CameraInfoDisplay { SIZE, FOCAL, FOV_Y, ASPECT }; + + /** Constructor. + * \param scene the scene to display + * \param camHandler a camera handler to display as a "user camera" + * \param myArgs dataset arguments (needed to load/save the camera location) + */ + SceneDebugView(const IIBRScene::Ptr& scene, const InteractiveCameraHandler::Ptr & camHandler, const BasicDatasetArgs& myArgs, const std::string& imagesPath = ""); + + /** Constructor. + * \param scene the scene to display + * \param viewport the view viewport + * \param camHandler a camera handler to display as a "user camera" + * \param myArgs dataset arguments (needed to load/save the camera location) + * \warning Deprecated, use the version without the viewport. + */ + SceneDebugView(const IIBRScene::Ptr& scene, const Viewport& viewport, const InteractiveCameraHandler::Ptr& camHandler, const BasicDatasetArgs& myArgs); + + /** Update state based on user input. + * \param input user input + * \param deltaTime the time elapsed since last update + * \param viewport input viewport + * \note Used when the view is in a multi-view system. + */ + virtual void onUpdate(Input & input, const float deltaTime, const Viewport & viewport = Viewport(0.0f, 0.0f, 0.0f, 0.0f)); + + /** Update state based on user input. + * \param input user input + * \param viewport input viewport + * \note Used when the view is in a multi-view system. + */ + virtual void onUpdate(Input & input, const Viewport & viewport) override; + + /* Update state based on user input. + * \param input user input + */ + virtual void onUpdate(Input& input) override; + + /** Render content in a window. + *\param win destination window + */ + virtual void onRender(Window& win) override; + + /** Render content in the currently bound RT, using a specific viewport. + * \param viewport destination viewport + * \note Used when the view is in a multi-view system. + */ + virtual void onRender(const Viewport & viewport) override; + + using MultiMeshManager::onRender; + + /** Update and display GUI panels. */ + virtual void onGUI() override; + + /** Save the top view camera to scene/cameras/topview.txt. */ + void save(); + + /** \return the camera handler for the view. */ + const InteractiveCameraHandler & getCamera() const { return camera_handler; } + + /** \return the camera handler for the view. */ + InteractiveCameraHandler & getCamera() { return camera_handler; } + + /** Replace the scene. + *\param scene the new scene + *\param preserveCamera should the current camera position be preserved + **/ + void setScene(const IIBRScene::Ptr & scene, bool preserveCamera = false); + + /** Update the active status of all cameras + *\param cams_id the active camera IDs. + */ + void updateActiveCams(const std::vector & cams_id); + + protected: + + /** Generate the GUI for the display options. */ + void gui_options(); + + /** generate the GUI with the camera infos. */ + void gui_cameras(); + + /** Setup the view. */ + void setup(); + + /** Setup the geometry. */ + void setupMeshes(); + + InteractiveCameraHandler::Ptr _userCurrentCam; ///< The "main view" camera handler (will be displayed as an extra camera). + IIBRScene::Ptr _scene; ///< Current displayed scene. + std::vector _cameras; ///< Additional scene cameras info. + CameraInfoDisplay _camInfoOption = SIZE; ///< Camera info to display in the GUI. + std::string _topViewPath; ///< Path to the topview saved file. + int _snapToImage = 0; ///< ID of the camera to snap to. + int _cameraIdInfoGUI = 0; ///< ID of the camera to display info about. + bool _showImages = true; ///< Show the image planes. + bool _showLabels = false; ///< Show camera labels. + + std::string _images_path; + int _renderingCam; ///< ID of the camera used for rendering + Mesh::Ptr _used_cams = std::make_shared(); + Mesh::Ptr _non_used_cams = std::make_shared(); + Mesh::Ptr _user_cam = std::make_shared(); + }; + +} // namespace diff --git a/SIBR_viewers/src/core/view/Skybox.cpp b/SIBR_viewers/src/core/view/Skybox.cpp new file mode 100644 index 0000000000..578e871443 --- /dev/null +++ b/SIBR_viewers/src/core/view/Skybox.cpp @@ -0,0 +1,82 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +# include "core/assets/Resources.hpp" +# include "core/view/Skybox.hpp" + +namespace sibr +{ + bool Skybox::load(const std::string& skyFolder) + { + if (!sibr::directoryExists(skyFolder)) + return false; + + _shader.init("Skybox", + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("skybox.vp")), + sibr::loadFile(sibr::Resources::Instance()->getResourceFilePathName("skybox.fp"))); + _paramView.init(_shader, "in_View"); + _paramAspect.init(_shader, "in_Aspect"); + + std::array filenames = { + "right.jpg" , + "left.jpg" , + "top.jpg" , + "bottom.jpg" , + "forward.jpg" , + "back.jpg" + }; + + std::array images; + + for (uint i = 0; i < filenames.size(); ++i) + { + std::string file = (skyFolder + "/") + filenames[i]; + if (images[i].load(file) == false) + { + SIBR_ERR << "cannot open " << file << " (loading the skybox)" << std::endl; + } + } + _cubemap.reset(new TextureCubeMapRGB(images[0], images[1], images[2], images[3], images[4], images[5])); + + return true; + } + + + void Skybox::render(const Camera& eye, const sibr::Vector2u& imgSize) + { + if (_cubemap == nullptr) + return; + + + glDisable(GL_DEPTH_TEST); + + CHECK_GL_ERROR; + _shader.begin(); + CHECK_GL_ERROR; + _paramAspect.set(Vector2f(float(imgSize.x())/float(imgSize.y()), float(imgSize.y())/float(imgSize.x()))); + CHECK_GL_ERROR; + _paramView.set(Matrix4f(eye.view().inverse())); + CHECK_GL_ERROR; + // cube map texture should already be bound + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_CUBE_MAP, _cubemap->handle()); + CHECK_GL_ERROR; + + RenderUtility::useDefaultVAO(); + const unsigned char indices[] = { 0, 1, 2, 3 }; + glDrawElements(GL_TRIANGLE_STRIP, 4, GL_UNSIGNED_BYTE, indices); + CHECK_GL_ERROR; + + _shader.end(); + } +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/Skybox.hpp b/SIBR_viewers/src/core/view/Skybox.hpp new file mode 100644 index 0000000000..df4e4747ca --- /dev/null +++ b/SIBR_viewers/src/core/view/Skybox.hpp @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "core/view/Config.hpp" +# include "core/graphics/Shader.hpp" +# include "core/graphics/Texture.hpp" +# include "core/graphics/Camera.hpp" + +namespace sibr +{ + /** A skybox object for rendering a cubemap texture. + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT Skybox + { + SIBR_CLASS_PTR(Skybox); + + public: + + /** Load skybox faces from a directory. The files should be named: {right, left, top, bottom, forward, back}.jpg + \param skyFolder directory path + \return a success boolean + */ + bool load(const std::string& skyFolder); + + /** Render in the current RT. + \param eye current viewpoint + \param imgSize the destination RT size + */ + void render(const Camera& eye, const sibr::Vector2u& imgSize); + + private: + + GLShader _shader; ///< Skybox shader. + GLParameter _paramView; ///< VP parameter. + GLParameter _paramAspect; ///< Aspect ratio parameter. + + TextureCubeMapRGB::Ptr _cubemap = nullptr; ///< Cubemap texture. + + }; + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/TrackBall.cpp b/SIBR_viewers/src/core/view/TrackBall.cpp new file mode 100644 index 0000000000..3ef15a357f --- /dev/null +++ b/SIBR_viewers/src/core/view/TrackBall.cpp @@ -0,0 +1,642 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "TrackBall.h" +#include +#include "core/graphics/Input.hpp" +#include "core/graphics/Viewport.hpp" +#include "core/raycaster/CameraRaycaster.hpp" +#include "core/graphics/Window.hpp" +#include "core/graphics/Mesh.hpp" + +namespace sibr { + + float TrackBall::ratioTrackBall2D = 0.75f; + + TrackBall::TrackBall(bool _verbose) : hasBeenInitialized(false), shadersCompiled(false), state(TrackBallState::IDLE), verbose(_verbose), + fixedCamera(InputCamera()), tempCamera(InputCamera()) + { + drawThis = true; + } + + void TrackBall::update(const sibr::Input& input, const float deltaTime, const Viewport& viewport) { + update(input, viewport, std::shared_ptr()); + } + + const InputCamera & TrackBall::getCamera(void) const + { + if (!hasBeenInitialized) { + SIBR_ERR << " TrackBall : camera not initialized before use" << std::endl + << "\t you should use either fromMesh(), fromCamera() or load() " << std::endl; + } + if (state == TrackBallState::IDLE) { + return fixedCamera; + } + else { + return tempCamera; + } + } + + void TrackBall::onRender(const sibr::Viewport& viewport) { + if (!drawThis) { return; } + + if (!shadersCompiled) { + initTrackBallShader(); + } + + if (state == TrackBallState::IDLE) { return; } + + // Save current blending state and function. + GLboolean blendState; + glGetBooleanv(GL_BLEND, &blendState); + GLint blendSrc, blendDst; + glGetIntegerv(GL_BLEND_SRC_ALPHA, &blendSrc); + glGetIntegerv(GL_BLEND_DST_ALPHA, &blendDst); + + // Enable basic blending. + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glEnable(GL_BLEND); + + // Render. + viewport.bind(); + trackBallShader.begin(); + ratioTrackBall2Dgpu.set(ratioTrackBall2D); + trackBallStateGPU.set((int)state); + quadMesh->render(false, false, Mesh::RenderMode::FillRenderMode); + trackBallShader.end(); + + // Restore blend state. + if (!blendState) { + glDisable(GL_BLEND); + } + glBlendFunc(blendSrc, blendDst); + } + + void TrackBall::saveVectorInFile(std::ofstream & s, const Vector3f & v) const { + s << v.x() << " " << v.y() << " " << v.z() << std::endl; + } + + void TrackBall::setCameraAttributes(const Viewport & viewport) + { + fixedCamera.size((int)viewport.finalWidth(), (int)viewport.finalHeight()); + fixedCamera.aspect(viewport.finalWidth() / viewport.finalHeight()); + } + + void TrackBall::updateTrackBallCameraSize(const Viewport & viewport) + { + sibr::Vector2i viewPortSize = viewport.finalSize().cast(); + fixedCamera.size(viewPortSize[0], viewPortSize[1]); + } + + bool TrackBall::load(std::string & filePath, const Viewport & viewport) + { + std::ifstream file(filePath.c_str()); + if (file.is_open()) { + float a, b, c, fov, zNear, zFar; + file >> a >> b >> c; + Vector3f tbCenter(a, b, c); + file >> a >> b >> c; + Vector3f eye(a, b, c); + file >> a >> b >> c; + Vector3f up(a, b, c); + file >> fov >> zNear >> zFar; + + tempCenter = fixedCenter = tbCenter; + + fixedCamera.setLookAt(eye, fixedCenter, up); + fixedCamera.fovy(fov); + fixedCamera.znear(zNear); + fixedCamera.zfar(zFar); + setCameraAttributes(viewport); + tempCamera = fixedCamera; + + hasBeenInitialized = true; + printMessage(" n trackBall loaded " + filePath); + return true; + } + else { + printMessage(" could not open trackBall" + filePath); + return false; + } + } + + void TrackBall::save(std::string & filePath) const + { + if (boost::filesystem::exists(filePath)) { + char c; + SIBR_LOG << " a track ball already exists, override ? y/n ... " << std::flush; + std::cin >> c; + if (c != 'y') { + std::cout << " not saved ! " << std::endl; + return; + } + } + std::ofstream file(filePath.c_str()); + if (file.is_open()) { + saveVectorInFile(file, fixedCenter); + saveVectorInFile(file, fixedCamera.position()); + saveVectorInFile(file, fixedCamera.up()); + file << fixedCamera.fovy() << " " << fixedCamera.znear() << " " << fixedCamera.zfar() << std::endl; + SIBR_LOG << " TrackBall saved at " << filePath << std::endl; + } + else { + SIBR_LOG << " Could not save trackBall" << std::endl; + } + } + + void TrackBall::fromCamera(const InputCamera & cam, const Viewport & viewport, const float & radius) + { + fixedCamera = cam; + + if (fixedCamera.zfar() == 0 || fixedCamera.znear() == 0) { + InputCamera defaultCam = InputCamera(); + fixedCamera.znear(defaultCam.znear()); + fixedCamera.zfar(defaultCam.zfar()); + } + + setCameraAttributes(viewport); + tempCamera = fixedCamera; + tempCenter = fixedCenter = cam.position() + cam.dir().normalized() * radius; + + hasBeenInitialized = true; + } + + bool TrackBall::fromMesh(const Mesh & mesh, const Viewport & viewport) + { + return fromBoundingBox(mesh.getBoundingBox(), viewport); + } + + bool TrackBall::fromBoundingBox(const Eigen::AlignedBox & box, const Viewport & viewport) + { + + if (box.isEmpty() || (box.diagonal().array() == 0.0f).any()) { + SIBR_LOG << " [WARNING] TrackBall::fromMesh : cannot create camera from flat mesh " << std::endl; + return false; + } + else { + tempCenter = fixedCenter = box.center(); + Vector3f eye = fixedCenter + box.diagonal(); + Vector3f up(0, 1, 0); + + fixedCamera.setLookAt(eye, fixedCenter, up); + + fixedCamera.zfar(2.0f*box.diagonal().norm()); + setCameraAttributes(viewport); + tempCamera = fixedCamera; + hasBeenInitialized = true; + printMessage(" TrackBall::fromMesh : camera created "); + return true; + } + } + + void TrackBall::update(const Input & input, const Viewport & viewport, std::shared_ptr raycaster) + { + if( !hasBeenInitialized || input.empty()) { return; } + + updateTrackBallCameraSize(viewport); + + updateTrackBallStatus(input, viewport); + + updateTrackBallCamera(input, viewport, raycaster); + + updateFromKeyboard(input); + } + + void TrackBall::updateAspectWithViewport(const Viewport & viewport) + { + fixedCamera.size(static_cast(viewport.finalWidth()), static_cast(viewport.finalHeight())); + fixedCamera.aspect(viewport.finalHeight() / viewport.finalWidth()); + } + + void TrackBall::updateTrackBallStatus(const Input & input, const Viewport & viewport) + { + currentPoint2D = input.mousePosition(); + + if (input.key().isActivatedOnly(Key::T) && input.key().isActivatedOnly(Key::V)) { + verbose = !verbose; + if (verbose) { + printMessage("trackBall is now verbose "); + } + else { + SIBR_LOG << " TrackBall not verbose anymore " << std::endl; + } + } + if (input.key().isActivated(Key::LeftControl)) { + state = TrackBallState::IDLE; + } + else if (input.mouseButton().isPressed(Mouse::Right)) { + lastPoint2D = currentPoint2D; + tempCamera = fixedCamera; + tempCenter = fixedCenter; + if (isInTrackBall2dRegion(lastPoint2D, viewport)) { + state = TrackBallState::TRANSLATION_PLANE; + } + else { + state = TrackBallState::TRANSLATION_Z; + } + } + else if (input.mouseButton().isPressed(Mouse::Left)) { + lastPoint2D = currentPoint2D; + tempCamera = fixedCamera; + if (isInTrackBall2dRegion(lastPoint2D, viewport)) { + state = TrackBallState::ROTATION_SPHERE; + } + else { + state = TrackBallState::ROTATION_ROLL; + } + } + else if (input.mouseButton().isReleased(Mouse::Right) || input.mouseButton().isReleased(Mouse::Left)) { + if (state != TrackBallState::IDLE) { + state = TrackBallState::IDLE; + fixedCamera = tempCamera; + fixedCenter = tempCenter; + + } + } + } + + void TrackBall::updateTrackBallCamera(const Input & input, const Viewport & viewport, std::shared_ptr raycaster) + { + if (state == TrackBallState::ROTATION_SPHERE) { + updateRotationSphere(input, viewport); + } + else if (state == TrackBallState::ROTATION_ROLL) { + updateRotationRoll(input, viewport); + } + else if (state == TrackBallState::TRANSLATION_PLANE) { + updateTranslationPlane(input, viewport, raycaster); + } + else if (state == TrackBallState::TRANSLATION_Z) { + updateTranslationZ(input, viewport); + } + else if (state == TrackBallState::IDLE) { + if (input.key().isActivated(Key::LeftControl)) { + updateBallCenter(input, raycaster); + } + else if (input.mouseScroll() != 0) { + updateZnearZFar(input); + updateRadius(input); + } + } + } + + void TrackBall::updateBallCenter(const Input & input, std::shared_ptr raycaster) + { + + if (raycaster.get() == nullptr || !input.mouseButton().isPressed(Mouse::Left)) { + return; + } + + sibr::Vector3f worldPos, dir; + if(fixedCamera.ortho()) + { + sibr::Vector2i clickPos = input.mousePosition(); + worldPos = fixedCamera.position() + + (2.0f*clickPos.x() / (float)fixedCamera.w() - 1.0f)*fixedCamera.orthoRight()*fixedCamera.right() + + (2.0f*((float)fixedCamera.h() - 1 - clickPos.y()) / (float)fixedCamera.h() - 1.0f)*fixedCamera.orthoTop()*fixedCamera.up(); + dir = fixedCamera.dir(); + + } + else { + dir = CameraRaycaster::computeRayDir(fixedCamera, input.mousePosition().cast()).normalized(); + worldPos = fixedCamera.position(); + } + RayHit hit = raycaster->intersect(Ray(worldPos, dir)); + + if (hit.hitSomething()) { + printMessage(" TrackBall::updateBallCenter : updating center from mesh "); + Vector3f intersection(worldPos + hit.dist()*dir.normalized()); + fixedCenter = tempCenter = intersection; + fixedCamera.setLookAt(worldPos, fixedCenter, fixedCamera.up()); + } + else { + printMessage(" TrackBall::updateBallCenter : could not intersect mesh "); + } + + } + + void TrackBall::updateRotationSphere(const Input & input, const Viewport & viewport) + { + if (!isInTrackBall2dRegion(input.mousePosition(), viewport) || input.mousePosition() == lastPoint2D) { return; } + Vector3f lastPointSphere(mapToSphere(lastPoint2D, viewport)); + Vector3f newPointSphere(mapToSphere(input.mousePosition(), viewport)); + Vector3f rotationAxisScreenSpace((lastPointSphere.cross(newPointSphere)).normalized()); + Vector4f axis; + axis << rotationAxisScreenSpace, 0.0f; + Vector3f rotationAxisWorldSpace((fixedCamera.view().inverse()* axis).xyz()); + + float angleCos = newPointSphere.dot(lastPointSphere); + if (std::abs(angleCos) < 1.0f) { + float rotationAngle = -2.0f * acos(angleCos); + Eigen::Quaternionf rot(Eigen::AngleAxisf(rotationAngle, rotationAxisWorldSpace)); + + float radius = (fixedCamera.position() - fixedCenter).norm(); + Vector3f oldEye = -fixedCamera.dir().normalized(); + Vector3f newEye = fixedCenter + radius * (rot*oldEye); + tempCamera.setLookAt(newEye, fixedCenter, fixedCamera.up()); + + } + } + + void TrackBall::updateRotationRoll(const Input & input, const Viewport & viewport) + { + if (isInTrackBall2dRegion(input.mousePosition(), viewport)) { return; } + + Vector2f viewportCenter(0.5f*(viewport.finalLeft() + viewport.finalRight()), 0.5f*(viewport.finalTop() + viewport.finalBottom())); + float clockwise = (areClockWise(viewportCenter, lastPoint2D.cast(), input.mousePosition().cast()) ? -1.0f : 1.0f); + float diagonal = std::sqrt((float)(viewport.finalWidth()*viewport.finalWidth() + viewport.finalHeight()*viewport.finalHeight())); + float rollAngle = clockwise * (float)M_PI * (float)(lastPoint2D - input.mousePosition()).norm() / diagonal; + + Eigen::Quaternionf rot(Eigen::AngleAxisf(rollAngle, -fixedCamera.dir().normalized())); + Vector3f newUp = rot * fixedCamera.up().normalized(); + + tempCamera.setLookAt(fixedCamera.position(), fixedCenter, newUp); + } + + void TrackBall::updateTranslationPlane(const Input & input, const Viewport & viewport, std::shared_ptr raycaster) + { + if (!isInTrackBall2dRegion(input.mousePosition(), viewport)) { return; } + + if (input.mouseButton().isPressed(Mouse::Right)) { + + sibr::Vector3f worldPos, dir; + if(fixedCamera.ortho()) + { + sibr::Vector2i clickPos = input.mousePosition(); + worldPos = fixedCamera.position() + + (2.0f*clickPos.x() / (float)fixedCamera.w() - 1.0f)*fixedCamera.orthoRight()*fixedCamera.right() + + (2.0f*((float)fixedCamera.h() - 1 - clickPos.y()) / (float)fixedCamera.h() - 1.0f)*fixedCamera.orthoTop()*fixedCamera.up(); + dir = fixedCamera.dir(); + + } + else { + dir = CameraRaycaster::computeRayDir(fixedCamera, input.mousePosition().cast()).normalized(); + worldPos = fixedCamera.position(); + } + + Vector3f pointOnPlane = fixedCenter; + if (raycaster.get() != nullptr) { + RayHit hit = raycaster->intersect(Ray(worldPos, dir)); + if (hit.hitSomething()) { + pointOnPlane = worldPos + hit.dist()*dir; + } + } + trackballPlane = Eigen::Hyperplane(fixedCamera.dir().normalized(), pointOnPlane); + } + + Vector3f clicked3DPosition(mapTo3Dplane(lastPoint2D)); + Vector3f current3DPosition(mapTo3Dplane(input.mousePosition())); + Vector3f shift3D = clicked3DPosition - current3DPosition; + + tempCenter = fixedCenter + shift3D / zoom; + tempCamera.setLookAt(fixedCamera.position() + shift3D, tempCenter, fixedCamera.up()); + } + + void TrackBall::updateTranslationZ(const Input & input, const Viewport & viewport) + { + if (isInTrackBall2dRegion(input.mousePosition(), viewport)) { return; } + Vector3f zAxis = -fixedCamera.dir().normalized(); + + Vector2i shift2D(input.mousePosition() - lastPoint2D); + Vector2f shift2Df(shift2D.cast().array() / Vector2f(viewport.finalWidth(), viewport.finalHeight()).array()); + + int whichDir = (std::abs(shift2D.x()) > std::abs(shift2D.y()) ? 0 : 1); + + float shift = 4.0f*(fixedCenter - fixedCamera.position()).norm()*(whichDir == 0 ? -1.0f : 1.0f)*shift2Df[whichDir]; + Vector3f shift3D = shift * zAxis; + tempCenter = fixedCenter + shift3D / zoom; + tempCamera.setLookAt(fixedCamera.position() + shift3D, tempCenter, fixedCamera.up()); + } + + void TrackBall::updateFromKeyboard(const Input & input) + { + float angle = 0.005f; + float angleChange = 0.0f; + enum Change { NONE, X, Y, Z }; + Change change = NONE; + + if (input.key().isActivated(sibr::Key::KPNum6)) { + angleChange = +angle; + change = Y; + } + if (input.key().isActivated(sibr::Key::KPNum4)) { + angleChange = -angle; + change = Y; + } + if (input.key().isActivated(sibr::Key::KPNum8)) { + angleChange = -angle; + change = X; + } + if (input.key().isActivated(sibr::Key::KPNum2)) { + angleChange = +angle; + change = X; + } + if (input.key().isActivated(sibr::Key::KPNum7)) { + angleChange = -angle; + change = Z; + } + if (input.key().isActivated(sibr::Key::KPNum9)) { + angleChange = +angle; + change = Z; + } + if (change != NONE) { + Vector3f zAxis = -fixedCamera.dir().normalized(); + Vector3f yAxis = fixedCamera.up().normalized(); + Vector3f xAxis = fixedCamera.right().normalized(); + + Vector3f rotAxis = (change == Z ? zAxis : change == Y ? yAxis : xAxis); + + Eigen::Quaternionf rot(Eigen::AngleAxisf(angleChange, rotAxis)); + sibr::Vector3f newEye = fixedCamera.position(); + sibr::Vector3f newUp = yAxis; + if (change == Z) { + newUp = rot * newUp; + } + else { + newEye = rot * (newEye - fixedCenter) + fixedCenter; + } + + fixedCamera.setLookAt(newEye, fixedCenter, newUp); + } + + } + + void TrackBall::updateRadius(const Input & input) + { + if(input.key().getNumActivated() != 0){ return; } + if (!fixedCamera.ortho()) { + float zoomIn = (input.mouseScroll() > 0 ? -1.0f : 1.0f); + float radius = (fixedCamera.position() - fixedCenter).norm(); + Vector3f oldEye = -fixedCamera.dir().normalized(); + radius = radius * pow(1.25f, zoomIn); + Vector3f newEye = fixedCenter + radius * oldEye; + fixedCamera.setLookAt(newEye, fixedCenter, fixedCamera.up()); + } + else + { + float zoomIn = (input.mouseScroll() > 0.0f ? -1.0f : 1.0f); + fixedCamera.orthoRight(fixedCamera.orthoRight() * pow(1.25f, zoomIn)); + fixedCamera.orthoTop(fixedCamera.orthoTop() * pow(1.25f, zoomIn)); + zoom /= pow(1.25f, zoomIn); + } + } + + void TrackBall::updateZnearZFar(const Input & input) + { + float direction = (input.mouseScroll() > 0 ? 1.0f : -1.0f); + + if (input.key().isActivatedOnly(Key::Z)) { + fixedCamera.zfar(fixedCamera.zfar()* pow(1.25f, direction)); + printMessage(" zFar : " + std::to_string(fixedCamera.zfar())); + } + else if (input.key().isActivatedOnly(sibr::Key::Z) && input.key().isActivatedOnly(Key::LeftShift)) { + fixedCamera.znear(fixedCamera.znear()* pow(1.25f, direction)); + printMessage(" zNear : " + std::to_string(fixedCamera.znear())); + } + tempCamera = fixedCamera; + } + + bool TrackBall::isInTrackBall2dRegion(const Vector2i & pos2D, const Viewport & viewport) const + { + float pos_x = (lastPoint2D.x()) / viewport.finalWidth(); + float pos_y = (lastPoint2D.y()) / viewport.finalHeight(); + float min_ratio = 0.5f * (1.0f - TrackBall::ratioTrackBall2D); + float max_ratio = 0.5f * (1.0f + TrackBall::ratioTrackBall2D); + return pos_x >= min_ratio && pos_x <= max_ratio && pos_y >= min_ratio && pos_y <= max_ratio; + } + + Vector3f TrackBall::mapToSphere(const Vector2i & pos2D, const Viewport & viewport) const + { + + int xMin = (int)0; + int xMax = (int)(viewport.finalRight() - viewport.finalLeft()); + int yMin = (int)0; + int yMax = (int)(viewport.finalBottom() - viewport.finalTop()); + + Vector2i clampPos = pos2D.cwiseMin(Vector2i(xMax, yMax)).cwiseMax(Vector2i(xMin, yMin)); + + double x = clampPos.x() / (double)viewport.finalWidth() - 0.5; + double y = 0.5 - clampPos.y() / (double)viewport.finalHeight(); + + double sinx = sin(M_PI * x * 0.5); + double siny = sin(M_PI * y * 0.5); + double sinx2siny2 = sinx * sinx + siny * siny; + + return Vector3d(sinx, siny, sinx2siny2 < 1.0 ? sqrt(1.0 - sinx2siny2) : 0.0).cast(); + } + + Vector3f TrackBall::mapTo3Dplane(const Vector2i & pos2D) const + { + sibr::Vector3f worldPos, dir; + if(fixedCamera.ortho()) + { + worldPos = fixedCamera.position() + + (2.0f*pos2D.x() / (float)fixedCamera.w() - 1.0f)*fixedCamera.orthoRight()*fixedCamera.right() + + (2.0f*((float)fixedCamera.h() - 1 - pos2D.y()) / (float)fixedCamera.h() - 1.0f)*fixedCamera.orthoTop()*fixedCamera.up(); + dir = fixedCamera.dir(); + + } + else { + dir = CameraRaycaster::computeRayDir(fixedCamera, pos2D.cast()).normalized(); + worldPos = fixedCamera.position(); + } + + Eigen::ParametrizedLine line(worldPos, dir); + return line.intersectionPoint(trackballPlane); + } + + bool TrackBall::areClockWise(const Vector2f & a, const Vector2f & b, const Vector2f & c) const + { + Vector2f u((b - a).normalized()); + Vector2f v((c - b).normalized()); + Vector2f uOrtho(u.y(), -u.x()); + return v.dot(uOrtho) >= 0; + } + + + void TrackBall::initTrackBallShader(void) + { + quadMesh = std::shared_ptr(new Mesh(true)); + + int corners[4][2] = { {-1,-1}, {-1,1}, {1,-1}, {1,1} }; + + std::vector vertexBuffer; + for (int i = 0; i < 4; i++) { + Vector3f corner((float)corners[i][0], (float)corners[i][1], 0.0f); + for (int c = 0; c < 3; c++) { + vertexBuffer.push_back(corner[c]); + } + } + + int indices[6] = { 0, 1, 3, 0, 2, 3 }; + std::vector indicesBuffer(&indices[0], &indices[0] + 6); + + quadMesh->vertices(vertexBuffer); + quadMesh->triangles(indicesBuffer); + + std::string trackBallVertexShader = + "#version 420 \n" + "layout(location = 0) in vec3 in_vertex; \n" + "out vec2 uv_coord; \n" + "void main(void) { \n" + " uv_coord = in_vertex.xy; \n" + " gl_Position = vec4(in_vertex.xy,0.0, 1.0); \n" + "} \n"; + + std::string trackBallFragmentShader = + "#version 420 \n" + "uniform float ratio; \n" + "uniform int mState; \n" + "in vec2 uv_coord; \n" + "out vec4 out_color; \n" + "void main(void) { \n" + " float minB = -ratio; \n" + " float maxB = +ratio; \n" + " float x = uv_coord.x; \n" + " float y = uv_coord.y; \n" + " bool fragOutside = ( xmaxB || ymaxB ); \n" + " if( mState == 1 ){ \n" //plane transl + " vec2 d = abs(uv_coord ) - vec2(ratio,ratio); \n" + " float v = min(max(d.x,d.y),0.0) + length(max(d,0.0)); \n" + " float a = 0.2 * exp( - 5000.0 *v*v ); \n" + " out_color = vec4(1.0,0.0,0.0,a); \n" + " } else if ( mState == 2 && fragOutside ){ \n" //zoom transl + " out_color = vec4(0.0,1.0,0.0,0.1); \n" + " } else if ( mState == 3 ){ \n" //sphere rot + " float d = x*x + y*y - ratio*ratio; \n" + " float a = 0.2 * exp( - 5000.0 *d*d ); \n" + " out_color = vec4(1.0,0.0,0.0,a); \n" + " } else if ( mState == 4 ){ \n" //roll rot + " float d = x*x + y*y - 0.5*(ratio+1.0)*ratio*ratio; \n" + " float a = 0.2 * exp( - 5000.0 *d*d ); \n" + " out_color = vec4(0.0,1.0,0.0,a); \n" + " } else { \n" + " out_color = vec4(0.0,0.0,0.0,0.0); \n" + " } \n" + "} \n"; + + trackBallShader.init("trackBallShader", trackBallVertexShader, trackBallFragmentShader); + + ratioTrackBall2Dgpu.init(trackBallShader, "ratio"); + trackBallStateGPU.init(trackBallShader, "mState"); + + shadersCompiled = true; + } + + void TrackBall::printMessage(const std::string & msg) const + { + if (verbose) { + std::cout << msg << std::endl; + } + } + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/view/TrackBall.h b/SIBR_viewers/src/core/view/TrackBall.h new file mode 100644 index 0000000000..6d9e393cfb --- /dev/null +++ b/SIBR_viewers/src/core/view/TrackBall.h @@ -0,0 +1,253 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include +#include + +#include "Config.hpp" +#include "core/graphics/Shader.hpp" +#include "core/assets/InputCamera.hpp" +#include "ICameraHandler.hpp" + +namespace sibr { + + class Viewport; + class Mesh; + class Input; + class Raycaster; + + + /** Provide a handler to interact using a trackball (based on mouse motions). + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT TrackBall : public ICameraHandler + { + public: + /** Constructor + \param verbose log updates and infos. + */ + TrackBall( bool verbose = false ); + + /** Load a trackball settings from a file on disk. + \param filePath path to the file + \param viewport current viewport + \return a success boolean + \note The viewport is needed to fill-in missing info. + */ + bool load( std::string & filePath , const Viewport & viewport); + + /** Save trackball settings to a file on disk. + \param filePath file path + */ + void save( std::string & filePath ) const ; + + /** Update the trackball pose from a reference camera. + \param cam the reference camera + \param viewport the viewport to use + \param radius the default trackball radius to use + **/ + void fromCamera( const InputCamera & cam , const Viewport & viewport , const float & radius = 100.0f ); + + /** Setup the trackball so that a mesh if visible and centered. + \param mesh the mesh to show + \param viewport the view viewport + */ + bool fromMesh( const Mesh & mesh, const Viewport & viewport ); + + /** Setup the trackball so that a region of space if visible and centered. + \param box the region of space to cover + \param viewport the view viewport + */ + bool fromBoundingBox(const Eigen::AlignedBox& box, const Viewport & viewport); + + /** Update the trackball handler state. the raycaster is used when the user is clicking to center the trackball or panning. + \param input user input + \param viewport view viewport + \param raycaster an optional raycaster + */ + void update( const Input & input , const Viewport & viewport, std::shared_ptr raycaster = std::shared_ptr()); + + /** update the internal aspect ratio. + \param viewport the new viewport + */ + void updateAspectWithViewport(const Viewport & viewport); + + bool drawThis; ///< Should the trackball overlay be displayed. + + /** \return true if the trackball has been initialized */ + bool initialized() const { return hasBeenInitialized; } + + /// ICameraHandler interface + /** Update the camera handler state. + \param input user input + \param deltaTime time elapsed since last udpate + \param viewport view viewport + */ + virtual void update(const sibr::Input & input, const float deltaTime, const Viewport & viewport) override; + + /** \return the current camera. */ + virtual const InputCamera & getCamera(void) const override; + + /** Render on top of the associated view(s). + \param viewport the rendering region + */ + virtual void onRender(const sibr::Viewport & viewport) override; + + private: + + /** Trackball interaction status. */ + enum class TrackBallState { IDLE, TRANSLATION_PLANE, TRANSLATION_Z, ROTATION_SPHERE, ROTATION_ROLL }; + + /** Map a pixel to a point on the sphere. + \param pos2D pixel position + \param viewport view viewport + \return a 3D point on the sphere + */ + Vector3f mapToSphere( const Vector2i & pos2D, const Viewport & viewport ) const; + + + /** Map a pixel to a point on the plane. + \param pos2D pixel position + \return a 3D point on the plane + */ + Vector3f mapTo3Dplane( const Vector2i & pos2D ) const; + + /** update near and far planes. + \param input user input + */ + void updateZnearZFar( const Input & input ); + + /** update the trackball pivot center. + \param input user input + \param raycaster the scene raycaster + */ + void updateBallCenter( const Input & input, std::shared_ptr raycaster ); + + /** Update the trackball radius. + \param input user input + */ + void updateRadius( const Input & input ); + + /** Update the rotation parameters. + \param input user input + \param viewport view viewport + */ + void updateRotationSphere( const Input & input , const Viewport & viewport ); + + /** Update the rotation parameters. + \param input user input + \param viewport view viewport + */ + void updateRotationRoll( const Input & input , const Viewport & viewport ); + + /** Update the translation parameters. + \param input user input + \param viewport view viewport + \param raycaster optional scene raycaster + */ + void updateTranslationPlane( const Input & input , const Viewport & viewport, std::shared_ptr raycaster = std::shared_ptr() ); + + /** Update the translation parameters. + \param input user input + \param viewport view viewport + */ + void updateTranslationZ( const Input & input , const Viewport & viewport ); + + /** Update based on keys input + \param input user input + */ + void updateFromKeyboard(const Input & input); + + /** Check if a point is in the central trackball region. + \param pos2D position in the view + \param viewport view viewport + \return true if it falls inside + */ + bool isInTrackBall2dRegion( const Vector2i & pos2D, const Viewport & viewport ) const; + + /** + * Check if three points are in clockwise order. + * \param a first point + * \param b second point + * \param c third point + * \return true if their order is clockwise. + */ + bool areClockWise( const Vector2f & a, const Vector2f & b, const Vector2f & c ) const; + + /** Log a message. + \param msg essage string + */ + void printMessage( const std::string & msg ) const; + + /** Save vector to output stream. + \param s stream + \param v vector + */ + void saveVectorInFile( std::ofstream & s , const Vector3f & v ) const ; + + /** Setup trackball shader. */ + void initTrackBallShader( void ); + + /** Set camera attributes + \param viewport the viewport to use + */ + void setCameraAttributes( const Viewport & viewport ); + + /** Update camera size. + \param viewport the viewport to use + */ + void updateTrackBallCameraSize(const Viewport & viewport); + + /** Update trackball interaction status. + \param input user input + \param viewport the viewport to use + */ + void updateTrackBallStatus( const Input & input, const Viewport & viewport ); + + /** Main update function. + \param input user input + \param viewport the viewport to use + \param raycaster optional scene raycaster + */ + void updateTrackBallCamera( const Input & input, const Viewport & viewport , std::shared_ptr raycaster = std::shared_ptr() ); + + + InputCamera fixedCamera; ///< Reference camera. + InputCamera tempCamera; ///< Temp camera. + + Vector3f fixedCenter; ///< Current center. + Vector3f tempCenter; ///< Temp center. + + Vector2i lastPoint2D; ///< Last clicked 2D point. + Vector2i currentPoint2D; ///< Current clicked point. + + Eigen::Hyperplane trackballPlane; ///< Trackball translation plane. + + TrackBallState state; ///< Current status. + + bool hasBeenInitialized; ///< Initialized or not. + bool verbose; ///< verbose or not. + + float zoom=1.0f;//zoom factor used for ortho cams + //members used for interaction drawing + std::shared_ptr quadMesh; ///< Supporting mesh for the overlay. + GLShader trackBallShader; ///< Overlay shader. + GLParameter ratioTrackBall2Dgpu; ///< Aspect ratio. + GLParameter trackBallStateGPU; ///< Trackball state uniform. + bool shadersCompiled; ///< Are the sahders ready. + static float ratioTrackBall2D; ///< 2D ratio parameter. + + }; + +} \ No newline at end of file diff --git a/SIBR_viewers/src/core/view/UIShortcuts.cpp b/SIBR_viewers/src/core/view/UIShortcuts.cpp new file mode 100644 index 0000000000..b8e3d194eb --- /dev/null +++ b/SIBR_viewers/src/core/view/UIShortcuts.cpp @@ -0,0 +1,62 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include +#include +#include +#include "core/view/UIShortcuts.hpp" + +namespace sibr +{ + /*static*/ UIShortcuts& UIShortcuts::global( void ) + { + static UIShortcuts instance; + return instance; + } + + void UIShortcuts::list( void ) + { + // Sort elements in alphabetical order. + std::vector> elems(_shortcuts.begin(), _shortcuts.end()); + std::sort(elems.begin(), elems.end(), [](std::pair a, std::pair b) { return b.first < a.first; }); + + std::ostringstream oss; + for (auto& pair: elems) + oss << " " << std::setw(24)<< std::left << pair.first << " : " << pair.second << std::endl; + SIBR_LOG << "List of Shortcuts:\n" << oss.str() << std::endl; + } + + void UIShortcuts::add( const std::string& shortcut, const char* desc ) + { + std::string lshortcut = shortcut; + std::transform(lshortcut.begin(), lshortcut.end(), lshortcut.begin(), ::tolower); + + if (_shortcuts.find(lshortcut) == _shortcuts.end()) + _shortcuts[lshortcut] = desc; + else + { + const char* current = _shortcuts[lshortcut]; + if (current != desc) + { + SIBR_ERR << "conflict with shortcuts.\n" + "Trying to register:\n" + "[" << shortcut << "] : " << desc + << "\nBut already exists as:\n" + "[" << shortcut << "] : " << current + << std::endl; + } + } + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/UIShortcuts.hpp b/SIBR_viewers/src/core/view/UIShortcuts.hpp new file mode 100644 index 0000000000..7956a4c5d3 --- /dev/null +++ b/SIBR_viewers/src/core/view/UIShortcuts.hpp @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include "core/view/Config.hpp" + +namespace sibr +{ + /** Register and display keyboard shortcuts. + * \todo The system should be more robust for collision detection. + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT UIShortcuts + { + public: + + /** Singleton. */ + static UIShortcuts& global( void ); + + /** Print all registered shortcuts. */ + void list( void ); + + /** Register a shortcut. + *\param shortcut the shortcut keys + *\param desc the description + */ + void add( const std::string& shortcut, const char* desc ); + + + private: + std::unordered_map _shortcuts; ///< List of shortcuts. + + }; + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/ViewBase.cpp b/SIBR_viewers/src/core/view/ViewBase.cpp new file mode 100644 index 0000000000..057cda36f6 --- /dev/null +++ b/SIBR_viewers/src/core/view/ViewBase.cpp @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +# include "core/view/ViewBase.hpp" + +namespace sibr +{ + ViewBase::ViewBase(const unsigned int w, const unsigned int h) + { + _resolution = Vector2i(w, h); + _whichRT = 6; // poisson filling + } + + void ViewBase::onUpdate(Input& input, const Viewport & vp) { + onUpdate(input); + } + + void ViewBase::setResolution(const Vector2i& size) + { + _resolution = size; + } + + const Vector2i& ViewBase::getResolution( void ) const + { + return _resolution; + } + + void ViewBase::setFocus(bool focus) + { + _focus = focus; + } + + bool ViewBase::isFocused(void) const + { + return _focus; + } + + void ViewBase::setName(const std::string& name) { + _name = name; + } + + const std::string & ViewBase::name() const { + return _name; + } + + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/ViewBase.hpp b/SIBR_viewers/src/core/view/ViewBase.hpp new file mode 100644 index 0000000000..4d19915167 --- /dev/null +++ b/SIBR_viewers/src/core/view/ViewBase.hpp @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include + +# include "core/graphics/Texture.hpp" +# include "core/graphics/Camera.hpp" +# include "core/view/Config.hpp" +//# include "core/view/IBRScene.hpp" +#include "core/graphics/Input.hpp" +#include "core/graphics/Window.hpp" + +namespace sibr +{ + + /** Basic view representation. All views should inherit from it. + * Can be added as a subview in a multi-window system. + * \sa MultiViewBase + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT ViewBase + { + public: + + typedef std::shared_ptr Ptr; + + /** Constructor. + *\param w view width + *\param h view height + */ + ViewBase( const unsigned int w=720, const unsigned int h=480); + + /** Destructor. */ + virtual ~ViewBase() = default; + + /* Update state based on user input. + * \param input user input + */ + virtual void onUpdate(Input& input) { } + + /** Render content in a window. + *\param win destination window + */ + virtual void onRender( Window& win) { } + + /** Render content in a given rendertarget. + *\param dst destination RT + *\param eye current viewpoint + *\sa IRenderingMode + */ + virtual void onRenderIBR(IRenderTarget& dst, const Camera& eye) {}; + + /** Display GUI. */ + virtual void onGUI() { } + + /** Render content in the currently bound RT, using a specific viewport. + * \param vpRender destination viewport + * \note Used when the view is in a multi-view system. + */ + virtual void onRender(const Viewport & vpRender) { } + + /** Update state based on user input. + * \param input user input + * \param vp input viewport + * \note Used when the view is in a multi-view system. + */ + virtual void onUpdate(Input& input, const Viewport & vp); + + /** Legacy: Used to mix with previous pass. + * \param prev the previous step RT + */ + virtual void preRender(RenderTargetRGB& prev) {} ; + + /** Legacy: Set the internal RT to use. + *\param i RT index */ + virtual void whichRT(uint i) { _whichRT=i; } + /** Legacy: \return the current selected RT ID. */ + virtual uint whichRT(void) { return _whichRT; } + + /** Set the view resolution. + \param size the new resolution, in pixels. + */ + void setResolution(const Vector2i& size); + /**\return the current resolution. */ + const Vector2i& getResolution( void ) const; + + /** Toggle view status. + \param act if true, the view is active. + */ + void active(bool act) { _active = act; } + /** \return true if the view is currently active. */ + bool active() { return _active; } + + /** Toggle view focus (ie the user is interacting with it). + \param focus if true, the view is currently focused + */ + void setFocus(bool focus); + /** \return true if the view is currently focused (ie the user is interacting with it). */ + bool isFocused(void) const; + + + /** Define the name of the view (used for disambiguation of GUI, etc.). + * \param name the new name + */ + void setName(const std::string & name); + + /** \return the name of the view. */ + const std::string & name() const; + + protected: + uint _whichRT; ///< Selected RT id. + std::vector _masks; ///< Rendering masks that can beused by some views/renderers. + + bool _active = true; ///< Is the view active. + Vector2i _resolution; ///< View resolution. + bool _focus = false; ///< Is the view focused. + std::string _name = ""; ///< View name. + + }; + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/interface/Interface.cpp b/SIBR_viewers/src/core/view/interface/Interface.cpp new file mode 100644 index 0000000000..3da9e634bd --- /dev/null +++ b/SIBR_viewers/src/core/view/interface/Interface.cpp @@ -0,0 +1,643 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "Interface.h" + +#include "MeshViewer.h" +#include + +#include + +namespace sibr { + + MultiViewInterface::MultiViewInterface() + { + numImgs = 0; + currentLayer = 0; + currentScale = 0; + grid = sibr::Vector2i(4, 4); + hightligthChanged = false; + reproMeshMode = sibr::Mesh::FillRenderMode; + reproMeshBackFace = true; + + imagesViewBase = std::make_shared(this, MultiViewInterfaceView::ViewType::IMAGES); + meshViewBase = std::make_shared(this, MultiViewInterfaceView::ViewType::MESH); + } + + void MultiViewInterface::displayLoop(sibr::Window & window, std::function f) + { + + if (layersData.size() == 0) { + SIBR_ERR << " cant display interface without image layer added" << std::endl; + } + + utils.initAllShaders(); + + glClearColor(0.8f, 0.8f, 0.8f, 1.0f); + + window.size(window.size().x(), (int)std::ceil(window.size().x() / scalesData[0].imRatio)); + + std::cout << " window size : " << window.size().transpose() << std::endl; + + imagesView.viewport = sibr::Viewport(&window.viewport(),0,0,1,1); + imagesView.isActive = true; + + if (cpuMesh.get()) { + meshViewer.setMainMesh(*cpuMesh, sibr::Mesh::FillRenderMode, false, true); + } else { + std::cout << " no mesh " << std::endl; + } + + winSize = window.size().cast(); + + while (window.isOpened()) { + + //std::cout << "." << std::flush; + + window.makeContextCurrent(); + sibr::Input::poll(); + + winSize = window.size().cast(); + imagesInput = sibr::Input::subInput(sibr::Input::global(), imagesView.viewport); + meshInput = sibr::Input::subInput(sibr::Input::global(), meshView.viewport); + + if (sibr::Input::global().key().isPressed(sibr::Key::Escape)) { + break; + } + + update(window, sibr::Input::global()); + + onGui(); + + render(); + + f(this); + + window.swapBuffer(); + + } + } + + void MultiViewInterface::addCameras(const std::vector& input_cams) + { + cams = input_cams; + } + + void MultiViewInterface::addMesh(const sibr::Mesh::Ptr &mesh) + { + cpuMesh = mesh; + cpuMesh->generateNormals(); + } + + void MultiViewInterface::addMesh(const sibr::Mesh & mesh) + { + cpuMesh = std::make_shared(); + cpuMesh->vertices(mesh.vertices()); + cpuMesh->triangles(mesh.triangles()); + cpuMesh->generateNormals(); + } + + void MultiViewInterface::update(sibr::Window & window, const sibr::Input & input) + { + updateImageView(imagesView.viewport, imagesInput); + updateMeshView(meshInput, window); + } + + void MultiViewInterface::updateImageView(const sibr::Viewport & viewport, const sibr::Input & input) + { + sibr::Vector2f winSize = viewport.finalSize(); + currentActivePos = pixFromScreenPos(input.mousePosition(), winSize); + imagesViewBase->currentActivePos = currentActivePos; + + imgPixelScreenSize = screenPosPixelsFloat({ 0,{ 1,1 } }, winSize) - screenPosPixelsFloat({ 0,{ 0,0 } }, winSize); + + updateCurrentLayer(input); + + if (input.key().isActivated(sibr::Key::LeftShift)) { + return; + } + + updateZoomBox(input, winSize); + //updateCenter(imagesInput, imagesViewSize); + updateZoomScroll(input); + updateDrag(input, winSize); + } + + void MultiViewInterface::render() + { + renderImageView(imagesView.viewport); + + + ////if (hightligthChanged) { + //renderHighlightPixels(); + ////} + //displayHighlightedPixels(sibr::Vector3f(0, 1, 0), 0.15); + + displayMesh(meshView.viewport); + + //if (sibr::Input::global().key().isActivated(sibr::Key::C)) { + // int r = 50; + // utils.rectanglePixels(sibr::Vector3f(1, 0, 1), sibr::Input::global().mousePosition().cast(), sibr::Vector2f(r, r), true, 0.15f, imagesViewSize); + // utils.circlePixels(sibr::Vector3f(0, 1, 1), sibr::Input::global().mousePosition().cast(), r, true, 0.15f, imagesViewSize); + // + //} + + } + + void MultiViewInterface::renderImageView(const sibr::Viewport & viewport) + { + sibr::Vector2f imagesViewSize = viewport.finalSize(); + displayImages(viewport); + + displayZoom(viewport); + + if (currentActivePos.isDefined) { + highlightPixel(currentActivePos, viewport); + } + + } + + sibr::ViewBase::Ptr MultiViewInterface::getViewBase(MultiViewInterfaceView::ViewType type) + { + if (type == MultiViewInterfaceView::ViewType::IMAGES) { + return sibr::ViewBase::Ptr(imagesViewBase.get()); + } else { + return sibr::ViewBase::Ptr(meshViewBase.get()); + } + + } + + void MultiViewInterface::onGui() + { + ImGui::Separator(); + if (imagesLayers.size() != 1) { + ImGui::SliderInt("Laplacian scale", ¤tScale, 0, (int)imagesLayers.size() - 1); + ImGui::Separator(); + } + const size_t nLayers = layersData.size(); + if (nLayers > 1) { + ImGui::Text("Image Layers : "); + ImGui::Separator(); + + for (size_t n = 0; n < nLayers; ++n) { + if (ImGui::Selectable(layersData[n].name.c_str(), currentLayer == n)) { + currentLayer = (int)n; + } + } + ImGui::Separator(); + } + if (currentScale == 0 && currentActivePos.isDefined) { + std::stringstream ss; + ss << "Image : " << currentActivePos.im << ", pixel : " << currentActivePos.pos << std::endl; + ImGui::Text(ss.str().c_str()); + if (currentActivePos.isDefined) { + //std::cout << imagesPtr[currentLayer][currentActivePos.im] << std::endl; + //std::cout << imagesPtr[currentLayer][currentActivePos.im]->size() << std::endl; +/* if (imagesPtr[currentLayer][currentActivePos.im]) { + ImGui::Text(imagesPtr[currentLayer][currentActivePos.im]->pixelStr(currentActivePos.pos).c_str()); + } */ + } + ImGui::Separator(); + } + + } + + //MultiViewInterface::~MultiViewInterface() + //{ + // CHECK_GL_ERROR; + + // CHECK_GL_ERROR; + //} + + PixPos MultiViewInterface::pixFromScreenPos(const sibr::Vector2i & posScreen, const sibr::Vector2f & winSize) + { + UV01 uvScreen = UV10::from((posScreen.cast()+0.5f*sibr::Vector2f(1,1)).cwiseQuotient(winSize)); + + //std::cout << uvScreen.transpose() << std::endl; + + sibr::Vector2f posF = viewRectangle.tl() + (viewRectangle.br() - viewRectangle.tl()).cwiseProduct(uvScreen); + posF.y() = 1.0f - posF.y(); + + posF = posF.cwiseProduct(grid.cast()); + + //std::cout << posF.transpose() << " " << numImgs << std::endl; + + if (posF.x() < 0 || posF.y() < 0 || posF.x() >= grid.x() /* || posF.y() >= grid.y() */ ) { + return PixPos(); + } + + int x = (int)std::floor(posF.x()); + int y = (int)std::floor(posF.y()); + sibr::Vector2f frac = posF - sibr::Vector2f(x, y); + + int n = x + grid.x() * y; + int j = (int)std::floor(frac.x()*scalesData[currentScale].imSize.x()); + int i = (int)std::floor(frac.y()*scalesData[currentScale].imSize.y()); + + if (n >= numImgs) { + return PixPos(); + } + + return PixPos(n, sibr::Vector2i(j, i)); + } + + UV01 MultiViewInterface::screenPos(const PixPos & pix) + { + sibr::Vector2f pos = (pix.pos.cast().cwiseQuotient(scalesData[currentScale].imSize) + + sibr::Vector2f(pix.im % grid.x(), pix.im / grid.x())).cwiseQuotient(grid.cast()); + pos.y() = 1.0f - pos.y(); + return UV01::from((pos - viewRectangle.tl()).cwiseQuotient(viewRectangle.br() - viewRectangle.tl())); + } + + UV01 MultiViewInterface::screenPosPixelCenter(const PixPos & pix) + { + sibr::Vector2f pos = ((pix.pos.cast()+sibr::Vector2f(0.5,0.5)).cwiseQuotient(scalesData[currentScale].imSize) + + sibr::Vector2f(pix.im % grid.x(), pix.im / grid.x())).cwiseQuotient(grid.cast()); + pos.y() = 1.0f - pos.y(); + return UV01::from((pos - viewRectangle.tl()).cwiseQuotient(viewRectangle.br() - viewRectangle.tl())); + } + + sibr::Vector2i MultiViewInterface::screenPosPixels(const PixPos & pix, const sibr::Vector2f & winSize) + { + return (screenPos(pix).cwiseProduct(winSize)).cast(); + } + + sibr::Vector2f MultiViewInterface::screenPosPixelsFloat(const PixPos & pix, const sibr::Vector2f & winSize) + { + return screenPosPixelCenter(pix).cwiseProduct(winSize); + } + + //void MultiViewInterface::setupFromImSizeAndNumIm(LayerData & layerData, const sibr::Vector2i & imSize) + //{ + // imRatio = imSize[0] / (float)imSize[1]; + // imSizeF = imSize.cast(); + // numImgs = numIms; + //} + + void MultiViewInterface::addHighlightPixel(const PixPos & pix, const sibr::Vector2f & winSize) + { + highlightedPixels.push_back(pix); + //hightligthChanged = true; + } + + void MultiViewInterface::renderHighlightPixels() + { + int pixsSize = (int)highlightedPixels.size(); + + if (pixsSize == 0) { + return; + } + + if (!highlightedPixelsMesh.get()) { + highlightedPixelsMesh = std::make_shared(); + } + + sibr::Mesh::Vertices vs(4 * pixsSize); + sibr::Mesh::Triangles ts(2 * pixsSize); + + unsigned pixId = 0; + for (const auto & pix : highlightedPixels) { + UV11 tl = screenPos(pix); + PixPos otherCorner(pix.im, pix.pos + sibr::Vector2i(1, 1)); + UV11 br = screenPos(otherCorner); + + vs[4 * pixId + 0] = { tl.x(), tl.y() , 0 }; + vs[4 * pixId + 1] = { tl.x(), br.y() , 0 }; + vs[4 * pixId + 2] = { br.x(), br.y() , 0 }; + vs[4 * pixId + 3] = { br.x(), tl.y() , 0 }; + + ts[2 * pixId + 0] = { 4 * pixId + 0,4 * pixId + 1,4 * pixId + 2 }; + ts[2 * pixId + 1] = { 4 * pixId + 0,4 * pixId + 2,4 * pixId + 3 }; + + ++pixId; + } + + + + highlightedPixelsMesh->vertices(vs); + highlightedPixelsMesh->triangles(ts); + + //hightligthChanged = false; + } + + void MultiViewInterface::highlightPixel(const PixPos & pix, const sibr::Viewport & viewport, const sibr::Vector3f & color, const sibr::Vector2f & pixScreenSize) + { + UV01 pixTl = screenPos(pix); + PixPos otherCorner(pix.im, pix.pos + sibr::Vector2i(1, 1)); + UV01 pixBR = screenPos(otherCorner); + + viewport.bind(); + + if ((pixBR-pixTl).cwiseProduct(viewport.finalSize()).cwiseAbs().minCoeff() < 2.0f) { + //if pixel size in screen space is tinier than 2 screen pix + utils.rectanglePixels(color, 0.5f*(pixTl+pixBR).cwiseProduct(viewport.finalSize()), pixScreenSize, true, 0.15f, viewport.finalSize()); + } else { + //otherwise hightligh pixel intirely + utils.rectangle(color, pixTl, pixBR, true, 0.15f); + } + + } + + void MultiViewInterface::displayImages(const sibr::Viewport & viewport) + { + + //const sibr::Vector2f & winSize; + //std::cout << imagesView.viewport.left() << " " << imagesView.viewport.right() << " " << imagesView.viewport.top() << " " << imagesView.viewport.bottom() << std::endl; + viewport.bind(); + + viewport.clear(sibr::Vector3f(0.7f, 0.7f, 0.7f)); + //glClear(GL_COLOR_BUFFER_BIT); + + utils.multiViewShader.begin(); + + utils.numImgsGL.set((int)imagesLayers[currentScale][currentLayer]->depth() - 1); + sibr::Vector2f gridF = grid.cast(); + utils.gridGL.set(gridF); + + utils.multiViewTopLeftGL.set(viewRectangle.tl()); + utils.multiViewBottomRightGL.set(viewRectangle.br()); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D_ARRAY, imagesLayers[currentScale][currentLayer]->handle()); + sibr::RenderUtility::renderScreenQuad(); + + utils.multiViewShader.end(); + + for (int i = 0; i <(int)imagesLayers[currentScale][currentLayer]->depth(); ++i) { + UV01 imTl = screenPos(PixPos(i, sibr::Vector2i(0, 0))); + UV01 imBR = screenPos(PixPos(i, scalesData[currentScale].imSize.cast())); + utils.rectangle(sibr::Vector3f(0, 0, 0), imTl, imBR, false, 1.0); + } + + //utils.rectangle(sibr::Vector3f(0, 1, 0), UV01(0.25,0.25), UV01(0.75, 0.75), true, 0.15); + //utils.circle(sibr::Vector3f(0, 0, 1), UV01(0.33, 0.33), 0.1, true, 0.25); + + if (reproMesh.get()) { + utils.meshViewShader.begin(); + utils.alphaMeshGL.set(0.25f); + utils.colorMeshGL.set(sibr::Vector3f(1, 0, 1)); + + sibr::Vector2i viewPortSize(imagesView.viewport.finalWidth(), imagesView.viewport.finalHeight()); + + Eigen::AlignedBox2d winBox; + winBox.extend(sibr::Vector2d(0, 0)); + + winBox.extend(viewPortSize.cast()); + //std::cout << std::endl; + + //std::cout << " winbox " << (winBox.center()-0.5*winBox.diagonal()).transpose() << " " << (winBox.center() + 0.5*winBox.diagonal()).transpose() << std::endl; + for (int i = 0; i <(int)cams.size(); ++i) { + utils.mvp.set(cams[i]->viewproj()); + + //std::cout << i << std::endl; + glClearDepth(1.0); + glClear(GL_DEPTH_BUFFER_BIT); + + sibr::Vector2i tlImgPix = screenPosPixels(PixPos(i, sibr::Vector2i(0, cams[i]->h() - 1)), viewPortSize.cast()); + sibr::Vector2i brImgPix = screenPosPixels(PixPos(i, sibr::Vector2i(cams[i]->w() - 1, 0)), viewPortSize.cast()); + + Eigen::AlignedBox2d box; + box.extend(tlImgPix.cast()); + box.extend(brImgPix.cast()); + //std::cout << "\t box " << (box.center() - 0.5*box.diagonal()).transpose() << " " << (box.center() + 0.5*box.diagonal()).transpose() << std::endl; + + Eigen::AlignedBox2d renderBox = winBox.intersection(box); + + if (renderBox.isEmpty()) { + continue; + } + + //tlImgPix = renderBox.corner(Eigen::AlignedBox2d::CornerType::BottomLeft).cast(); + // brImgPix = renderBox.corner(Eigen::AlignedBox2d::CornerType::TopRight).cast(); + //std::cout << "\t renderBox " << (renderBox.center() - 0.5*renderBox.diagonal()).transpose() << " " << (renderBox.center() + 0.5*renderBox.diagonal()).transpose() << std::endl; + + //std::cout << tlImgPix.x() << " " << tlImgPix.y() << " " << (brImgPix - tlImgPix).x() << " " << (brImgPix - tlImgPix).y() << std::endl; + glViewport(tlImgPix.x(), tlImgPix.y(), std::abs((brImgPix - tlImgPix).x()), std::abs((brImgPix - tlImgPix).y())); + + reproMesh->render(true, reproMeshBackFace, reproMeshMode); + } + + utils.meshViewShader.end(); + } + } + + void MultiViewInterface::displayMesh(const sibr::Viewport & viewport) + { + if (meshView.isActive) { + meshViewer.render(viewport); + } + } + + void MultiViewInterface::displayZoom(const sibr::Viewport & viewport) + { + if (zoomSelection.isActive) { + viewport.bind(); + UV01 tl = UV01::from(zoomSelection.first.cast().cwiseQuotient(viewport.finalSize())); + UV01 br = UV01::from(zoomSelection.second.cast().cwiseQuotient(viewport.finalSize())); + utils.rectangle(sibr::Vector3f(1, 0, 0), tl, br, true, 0.15f); + } + } + + void MultiViewInterface::displayHighlightedPixels(const sibr::Vector3f & color, float alpha) + { + if (!highlightedPixelsMesh.get()) { + return; + } + + utils.baseShader.begin(); + + utils.scalingGL.set(1.0f); + utils.translationGL.set(sibr::Vector2f(0, 0)); + utils.colorGL.set(color); + utils.alphaGL.set(alpha); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBlendEquation(GL_FUNC_ADD); + + highlightedPixelsMesh->render(false, false); + + utils.alphaGL.set(1.0f); + highlightedPixelsMesh->render(false, false, sibr::Mesh::LineRenderMode); + + utils.baseShader.end(); + + highlightedPixelsMesh.reset(); + + } + + void MultiViewInterface::updateMeshView(const sibr::Input & input, sibr::Window & window) + { + + if (meshView.isActive) { + + //meshViewer.trackBall->updateAspectWithViewport(meshView.viewport); + meshViewer.interactCam->update(input, 1 / 60.f, meshView.viewport); + + if (sibr::Input::global().key().isPressed(sibr::Key::Left)) { + sibr::Vector2i oldWinSize = window.size(); + window.size(oldWinSize.x() /2, oldWinSize.y()); + imagesView.viewport = sibr::Viewport(&window.viewport(), 0, 0, 1, 1); + + meshView.isActive = false; + } + } else { + if (sibr::Input::global().key().isPressed(sibr::Key::Right)) { + sibr::Vector2i oldWinSize = window.size(); + window.size(oldWinSize.x() * 2, oldWinSize.y()); + meshView.viewport = sibr::Viewport(&window.viewport(), 0.5, 0, 1, 1); + imagesView.viewport = sibr::Viewport(&window.viewport(), 0, 0, 0.5, 1); + meshViewer.interactCam->setup(cpuMesh, meshView.viewport); + meshView.isActive = true; + } + } + } + + void MultiViewInterface::updateMeshView(const sibr::Input & input, const sibr::Viewport & viewport) + { + if (!meshView.isActive && cpuMesh.get() ) { + meshViewer.setMainMesh(*cpuMesh, sibr::Mesh::FillRenderMode, false, true); + meshViewer.interactCam->setup(cpuMesh, viewport); + meshView.isActive = true; + } + if (meshView.isActive) { + meshViewer.interactCam->update(input,1/60.0f, viewport); + } + } + + void MultiViewInterface::updateZoomBox(const sibr::Input & input, const sibr::Vector2f & winSize) + { + if (input.key().isPressed(sibr::Key::Q)) { + viewRectangle.center = sibr::Vector2f(0.5, 0.5); + viewRectangle.diagonal = sibr::Vector2f(0.5, 0.5); + } + + if (input.mouseButton().isPressed(sibr::Mouse::Code::Right) && !zoomSelection.isActive) { + zoomSelection.isActive = true; + zoomSelection.first = input.mousePosition(); + zoomSelection.first.y() = (int)winSize.y() - zoomSelection.first.y() - 1; + } + if (input.mouseButton().isActivated(sibr::Mouse::Code::Right) && zoomSelection.isActive) { + zoomSelection.second = input.mousePosition(); + zoomSelection.second.y() = (int)winSize.y() - zoomSelection.second.y() - 1; + } + if (input.mouseButton().isReleased(sibr::Mouse::Code::Right) && zoomSelection.isActive) { + sibr::Vector2f currentTL = (zoomSelection.first.cwiseMin(zoomSelection.second)).cast(); + sibr::Vector2f currentBR = (zoomSelection.first.cwiseMax(zoomSelection.second)).cast(); + + if (((currentBR - currentTL).array() > sibr::Vector2f(10, 10).array()).all()) { + + + sibr::Vector2f tlPix = viewRectangle.tl().cwiseProduct(winSize) + (viewRectangle.br() - viewRectangle.tl()).cwiseProduct(currentTL); + sibr::Vector2f brPix = viewRectangle.tl().cwiseProduct(winSize) + (viewRectangle.br() - viewRectangle.tl()).cwiseProduct(currentBR); + + sibr::Vector2f center = 0.5f*(brPix + tlPix); + sibr::Vector2f diag = 0.5f*(brPix - tlPix); + + float new_ratio = diag.x() / diag.y(); + float target_ratio = scalesData[currentScale].imRatio; + if (new_ratio > target_ratio) { + diag.y() = diag.x() / target_ratio; + } else { + diag.x() = diag.y() * target_ratio; + } + + viewRectangle.center = center.cwiseQuotient(winSize); + viewRectangle.diagonal = diag.cwiseQuotient(winSize); + + zoomSelection.isActive = false; + } + } + } + + void MultiViewInterface::updateCurrentLayer(const sibr::Input & input) + { + int i = -1; + + std::vector keys = { + sibr::Key::Num1, sibr::Key::Num2, sibr::Key::Num3, sibr::Key::Num4, sibr::Key::Num5, + sibr::Key::Num6, sibr::Key::Num7, sibr::Key::Num8, sibr::Key::Num9 + }; + + for (int k = 0; k < (int)keys.size(); ++k) { + if (input.key().isPressed(keys[k])) { + i = k; + break; + } + } + + if (i >= 0 && i < (int)imagesLayers.size()) { + currentLayer = i; + } + } + + void MultiViewInterface::updateZoomScroll(const sibr::Input & input) + { + double scroll = input.mouseScroll(); + + if (scroll != 0) { + float ratio = (scroll > 0 ? 0.75f : 1.33f); + if (input.key().isActivated(sibr::Key::LeftControl)) { + ratio *= ratio; + } + viewRectangle.diagonal *= ratio; + } + } + + void MultiViewInterface::updateCenter(const sibr::Input & input, const sibr::Vector2f & winSize) + { + if (dclick.detected(input)) { + //std::cout << "dclick : " << std::endl; + sibr::Vector2f translation = (dclick.firstPosition.cast().cwiseQuotient(winSize)-sibr::Vector2f(0.5,0.5)).cwiseProduct(viewRectangle.br() - viewRectangle.tl()); + translation.y() = -translation.y(); + viewRectangle.center += translation; + } + } + + void MultiViewInterface::updateDrag(const sibr::Input & input, const sibr::Vector2f & winSize) + { + if (input.mouseButton().isPressed(sibr::Mouse::Left)) { + drag.isActive = true; + drag.position = input.mousePosition(); + drag.center = viewRectangle.center; + } else if (drag.isActive && input.mouseButton().isReleased(sibr::Mouse::Left)) { + drag.isActive = false; + } + if (drag.isActive && input.mouseButton().isActivated(sibr::Mouse::Left)) { + sibr::Vector2f translation = (input.mousePosition() - drag.position).cast().cwiseQuotient(winSize).cwiseProduct(viewRectangle.br() - viewRectangle.tl()); + translation.y() = -translation.y(); + viewRectangle.center = drag.center - translation; + } + } + + + void MultiViewInterfaceView::onUpdate(Input & input, const sibr::Viewport & viewport) + { + if (viewType == ViewType::IMAGES) { + //i.imagesInput = input; + //i.imagesView.viewport = viewport; + interfacePtr->updateImageView(viewport, input); + } else if (viewType == ViewType::MESH) { + interfacePtr->updateMeshView(input, viewport); + } + } + + void MultiViewInterfaceView::onRender(const sibr::Viewport & viewport) + { + if (viewType == ViewType::IMAGES) { + interfacePtr->renderImageView(viewport); + interfacePtr->onGui(); + } else if (viewType == ViewType::MESH) { + interfacePtr->displayMesh(viewport); + } + } + +} //namespace sibr diff --git a/SIBR_viewers/src/core/view/interface/Interface.h b/SIBR_viewers/src/core/view/interface/Interface.h new file mode 100644 index 0000000000..8817b50210 --- /dev/null +++ b/SIBR_viewers/src/core/view/interface/Interface.h @@ -0,0 +1,337 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "../Config.hpp" +#include +#include +#include +#include +#include +#include "InterfaceUtils.h" +#include "MeshViewer.h" +#include + +#include + +//typedef void (*CallBackFunction)(int event, int x, int y, int flags, void* userdata); + +namespace sibr { + struct PixPos { + PixPos() : im(-1), isDefined(false) {} + PixPos(int i, const sibr::Vector2i & px) : im(i), pos(px), isDefined(true) {} + void cout() const { std::cout << im << " : " << pos.transpose() << std::endl; } + sibr::Vector2i pos; + int im; + bool isDefined; + }; + + struct SubView { + SubView() : isActive(false) {} + + sibr::Viewport viewport; + bool isActive; + sibr::Vector2i getViewportPosition(const sibr::Vector2i & winPos) { + return winPos - sibr::Vector2f(viewport.finalLeft(), viewport.finalTop()).cast(); + } + }; + + struct ScalingOptions { + ScalingOptions() : numScale(1), interpolation_method_cv(cv::INTER_CUBIC) {}; + int numScale; + int interpolation_method_cv; + }; + + struct LayerData { + LayerData(const std::string & name) : name(name) { } + std::string name; + }; + + struct ScaleData { + ScaleData(const sibr::Vector2i & imSizeI) { + imSize = imSizeI.cast(); + imRatio = imSize[0] / (float)imSize[1]; + } + sibr::Vector2f imSize; + float imRatio; + }; + + class MultiViewInterface; + + class SIBR_VIEW_EXPORT MultiViewInterfaceView : public sibr::ViewBase { + + public: + enum class ViewType { IMAGES, MESH }; + + SIBR_CLASS_PTR(MultiViewInterfaceView); + + MultiViewInterfaceView() {} + MultiViewInterfaceView(MultiViewInterface * interfacePtr, ViewType type) : interfacePtr(interfacePtr), viewType(type) {} + + virtual void onRenderIBR(IRenderTarget& /*dst*/, const sibr::Camera& /*eye*/) {} + + virtual void onUpdate(Input& /*input*/, const sibr::Viewport & viewport); + virtual void onRender(const sibr::Viewport & viewport); + + PixPos currentActivePos; + + protected: + MultiViewInterface * interfacePtr; + ViewType viewType; + }; + + /** + This class provides basic rendering utilities for a list of images + a mesh. + \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT MultiViewInterface { + + SIBR_CLASS_PTR(MultiViewInterface); + + public: + + MultiViewInterface(); + + /** + Execute the main display loop, with an optional callback. + \param window the sibr::Window displayed into + \param f an optional callback called at the end of each frame. + */ + void displayLoop(sibr::Window & window, std::function = [](MultiViewInterface*){}); + void addCameras(const std::vector & input_cams); + void addMesh(const sibr::Mesh::Ptr & mesh); + void addMesh(const sibr::Mesh & mesh); + + virtual void update(sibr::Window & window, const sibr::Input & input); + + virtual void updateImageView(const sibr::Viewport & viewport, const sibr::Input & input); + + virtual void render(); + + void renderImageView(const sibr::Viewport & viewport); + + sibr::ViewBase::Ptr getViewBase(MultiViewInterfaceView::ViewType type = MultiViewInterfaceView::ViewType::IMAGES); + void onGui(); + + //~MultiViewInterface(); + + //virtual void loop(); + + sibr::Mesh::Ptr cpuMesh; + sibr::Mesh::Ptr reproMesh; + sibr::Mesh::RenderMode reproMeshMode; + bool reproMeshBackFace; + + sibr::Mesh::Ptr highlightedPixelsMesh; + std::vector highlightedPixels; + bool hightligthChanged; + + sibr::Vector2f imgPixelScreenSize; + + SubView imagesView; + SubView meshView; + + sibr::Input imagesInput; + sibr::Input meshInput; + + + public: + //std::unique_ptr window; + + MultiViewInterfaceView::Ptr imagesViewBase; + MultiViewInterfaceView::Ptr meshViewBase; + + InterfaceUtilities utils; + + ScalingOptions scalingOptions; + std::map name_to_layer_map; + + RectangleData viewRectangle; + DragData drag; + DoubleClick dclick; + SelectionData zoomSelection; + sibr::MeshViewer meshViewer; + + std::vector cams; + + sibr::PixPos currentActivePos; + + sibr::Vector2i grid; + sibr::Vector2f imSizeF; + sibr::Vector2f winSize; + float imRatio; + + int currentScale; + int currentLayer; + int numImgs; + std::vector> imagesLayers; //for each scale, each image layer + std::vector> imagesPtr; + std::vector > imagesFromLambdasPtr; + std::vector layersData; + std::vector scalesData; + + PixPos pixFromScreenPos(const sibr::Vector2i & pos, const sibr::Vector2f & winSize); + + UV01 screenPos(const PixPos & pix); + UV01 screenPosPixelCenter(const PixPos & pix); + + sibr::Vector2i screenPosPixels(const PixPos & pix, const sibr::Vector2f & winSize); + sibr::Vector2f screenPosPixelsFloat(const PixPos & pix, const sibr::Vector2f & winSize); + + void addHighlightPixel(const PixPos & pix, const sibr::Vector2f & winSize); + void renderHighlightPixels(); + + void highlightPixel(const PixPos & pix, const sibr::Viewport & viewport, const sibr::Vector3f & color = { 0, 1, 0 }, const sibr::Vector2f & pixScreenSize = { 5.0f,5.0f } ); + + virtual void displayImages(const sibr::Viewport & viewport); + virtual void displayMesh(const sibr::Viewport & viewport); + + void displayZoom(const sibr::Viewport & viewport); + void displayHighlightedPixels(const sibr::Vector3f & color, float alpha); + + virtual void updateMeshView(const sibr::Input & input, sibr::Window & window); + virtual void updateMeshView(const sibr::Input & input, const sibr::Viewport & viewport); + void updateZoomBox(const sibr::Input & input, const sibr::Vector2f & winSize); + void updateCurrentLayer(const sibr::Input & input); + void updateZoomScroll(const sibr::Input & input); + void updateCenter(const sibr::Input & input, const sibr::Vector2f & winSize); + void updateDrag(const sibr::Input & input, const sibr::Vector2f & winSize); + + template + bool checkNewLayer(const std::vector > & images) + { + if (imagesLayers.size() == 0) { + imagesLayers.resize(scalingOptions.numScale); + for (int scale = 0; scale < scalingOptions.numScale; ++scale) { + int w_s = static_cast(std::ceil(images[0].w()*pow(2.0f, -scale))); + int h_s = static_cast(std::ceil(images[0].h()*pow(2.0f, -scale))); + scalesData.push_back(ScaleData(sibr::Vector2i(w_s, h_s))); + } + numImgs = (int)images.size(); + } + + const auto & baseScaleImageLayer = imagesLayers[0]; + if (baseScaleImageLayer.size() > 0) { + if ((uint)images.size() != baseScaleImageLayer[0]->depth()) { + SIBR_ERR << "not enough images" << std::endl; + } + } + + if (images.size() == 0) { + SIBR_ERR << "empty image vector" << std::endl; + } + + return true; + } + + public: + + template + void addImageLayer(const std::vector > & images, const std::string & name = "") { + std::vector > imgs(images.size()); + for (int i = 0; i < (int)images.size(); ++i) { + imgs[i] = images[i]->clone(); + } + addImageLayer(imgs, name); + } + + template + void addImageLayer(const std::vector > & images, const std::string & name = "") + { + + checkNewLayer(images); + + for (int scale = 0; scale < scalingOptions.numScale; ++scale) { + std::vector > resized_imgs(images.size()); + if (scale != 0) { +#pragma omp parallel for + for (int im = 0; im < (int)images.size(); ++im) { + const sibr::Vector2i scaleSize = scalesData[scale].imSize.cast(); + resized_imgs[im] = images[im].resized(scaleSize[0], scaleSize[1], scalingOptions.interpolation_method_cv); + } + } else { + std::vector layerPtrs(images.size()); + for (int im = 0; im < (int)images.size(); ++im) { + layerPtrs[im] = &images[im]; + } + imagesPtr.push_back(layerPtrs); + } + const std::vector > & imgs = (scale == 0 ? images : resized_imgs); + auto layer = std::make_shared>(); + + layer->createFromImages(imgs); + + sibr::ITexture2DArray::Ptr layerBase(layer); + imagesLayers[scale].push_back(layerBase); + } + + std::string layerName = (name == "" ? "Layer" + std::to_string(layersData.size()) : name); + name_to_layer_map[layerName] = (int)layersData.size(); + layersData.push_back(LayerData(layerName)); + + } + + template + void addImageLayerWithLambda(const std::vector > & images, LambdaType lambda, const std::string & name = "") { + + checkNewLayer(images); + + using Lambda_Out_Image_Type = decltype(lambda(images[0])); + using Lambda_Out_Type = typename Lambda_Out_Image_Type::Type; + const int Lambda_Out_N = Lambda_Out_Image_Type::e_NumComp; + + for (int scale = 0; scale < scalingOptions.numScale; ++scale) { + std::vector > resized_imgs(images.size()); + if (scale != 0) { +#pragma omp parallel for + for (int im = 0; im < (int)images.size(); ++im) { + const sibr::Vector2i scaleSize = scalesData[scale].imSize.cast(); + resized_imgs[im] = images[im].resized(scaleSize[0], scaleSize[1], scalingOptions.interpolation_method_cv); + } + } + const std::vector > & imgs = (scale == 0 ? images : resized_imgs); + + std::vector lambdaImgs(images.size()); +#pragma omp parallel for + for (int im = 0; im < (int)images.size(); ++im) { + lambdaImgs[im] = lambda(imgs[im]); + //sibr::show(lambdaImgs[im], "test"); + } + + if (scale == 0) { + std::vector firstLayerPtrs(images.size()); + std::vector layerPtrs(images.size()); + for (int im = 0; im < (int)images.size(); ++im) { + auto lambdaImgPtr = std::make_shared(lambdaImgs[im].clone()); + + firstLayerPtrs[im] = std::static_pointer_cast(lambdaImgPtr); + layerPtrs[im] = firstLayerPtrs[im].get(); + } + imagesFromLambdasPtr.push_back(firstLayerPtrs); + imagesPtr.push_back(layerPtrs); + } + + typename sibr::Texture2DArray::Ptr layer = std::make_shared >(); + layer->createFromImages(lambdaImgs); + sibr::ITexture2DArray::Ptr layerBase(layer); + imagesLayers[scale].push_back(layerBase); + } + + std::string layerName = (name == "" ? "Layer" + std::to_string(layersData.size()) : name); + name_to_layer_map[layerName] = (int)layersData.size(); + layersData.push_back(LayerData(layerName)); + } + }; + + +} //namespace sibr diff --git a/SIBR_viewers/src/core/view/interface/InterfaceUtils.cpp b/SIBR_viewers/src/core/view/interface/InterfaceUtils.cpp new file mode 100644 index 0000000000..ee055520d2 --- /dev/null +++ b/SIBR_viewers/src/core/view/interface/InterfaceUtils.cpp @@ -0,0 +1,300 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "InterfaceUtils.h" + +#include +#include + +namespace sibr { + + const std::string InterfaceUtilities::translationScalingVertexShader = + "#version 420 \n" + "layout(location = 0) in vec3 in_vertex; \n" + "uniform vec2 translation; \n" + "uniform vec2 scaling; \n" + "void main(void) { \n" + " gl_Position = vec4(scaling*in_vertex.xy+translation,0.0, 1.0); \n" + "} \n"; + + const std::string InterfaceUtilities::colorAlphaFragmentShader = + "#version 420 \n" + "uniform vec3 color; \n" + "uniform float alpha; \n" + "out vec4 out_color; \n" + "void main(void) { \n" + " out_color = vec4(color,alpha); \n" + "} \n"; + + const std::string InterfaceUtilities::meshVertexShader = + "#version 420 \n" + "layout(location = 0) in vec3 in_vertex; \n" + "uniform mat4 mvp; \n" + "void main(void) { \n" + " gl_Position = mvp*vec4(in_vertex, 1.0); \n" + "} \n"; + + const std::string InterfaceUtilities::multiViewVertexShader = + "#version 420 \n" + "layout(location = 0) in vec3 in_vertex; \n" + "out vec2 uv_coord; \n" + "uniform vec2 zoomTL; \n" + "uniform vec2 zoomBR; \n" + "void main(void) { \n" + " uv_coord = 0.5*in_vertex.xy + vec2(0.5); \n" + " uv_coord = zoomTL + (zoomBR-zoomTL)*uv_coord; \n" + " uv_coord.y = 1.0 - uv_coord.y; \n" + " gl_Position = vec4(in_vertex.xy,0.0, 1.0); \n" + "} \n"; + + + const std::string InterfaceUtilities::multiViewFragmentShader = + "#version 420 \n" + "layout(binding = 0) uniform sampler2DArray texArray; \n" + "uniform int numImgs; \n" + "uniform vec2 grid; \n" + "in vec2 uv_coord; \n" + "out vec4 out_color; \n" + "void main(void) { \n" + " vec2 uvs = uv_coord; \n" + " uvs = grid*uvs; \n" + " if( uvs.x < 0 || uvs.y < 0 ) { discard; } \n" + " vec2 fracs = fract(uvs); \n" + " vec2 mods = uvs - fracs; \n" + " int n = int(mods.x + grid.x*mods.y); \n" + " if ( n< 0 || n > numImgs || mods.x >= grid.x || mods.y >= (float(numImgs)/grid.x) + 1) { discard; } else { \n" + " out_color = texture(texArray,vec3(fracs.x,fracs.y,n)); } \n" + " //out_color = vec4(n/64.0,0.0,0.0,1.0); } \n" + " //out_color = vec4(uv_coord.x,uv_coord.y,0.0,1.0); } \n" + "} \n"; + + //sibr::GLShader InterfaceUtilities::baseShader; + + //sibr::GLParameter InterfaceUtilities::colorGL; + //sibr::GLParameter InterfaceUtilities::alphaGL; + //sibr::GLParameter InterfaceUtilities::scalingGL; + //sibr::GLParameter InterfaceUtilities::translationGL; + + //sibr::GLShader InterfaceUtilities::multiViewShader; + + //sibr::GLParameter InterfaceUtilities::numImgsGL; + //sibr::GLParameter InterfaceUtilities::gridGL; + //sibr::GLParameter InterfaceUtilities::multiViewTopLeftGL; + //sibr::GLParameter InterfaceUtilities::multiViewBottomRightGL; + + //const InterfaceUtilities::GLinitializer InterfaceUtilities::init; + + InterfaceUtilities::InterfaceUtilities() + { + + } + + void InterfaceUtilities::initAllShaders() + { + initBaseShader(); + initMultiViewShader(); + initMeshViewShader(); + CHECK_GL_ERROR; + + std::cout << " all shaders compiled" << std::endl; + } + + void InterfaceUtilities::freeAllShaders() + { + CHECK_GL_ERROR; + baseShader.terminate(); + CHECK_GL_ERROR; + multiViewShader.terminate(); + CHECK_GL_ERROR; + } + + void InterfaceUtilities::initBaseShader() + { + baseShader.init("InterfaceUtilitiesBaseShader", translationScalingVertexShader, colorAlphaFragmentShader); + colorGL.init(baseShader, "color"); + alphaGL.init(baseShader, "alpha"); + scalingGL.init(baseShader, "scaling"); + translationGL.init(baseShader, "translation"); + } + + void InterfaceUtilities::initMultiViewShader() + { + multiViewShader.init("InterfaceUtilitiesMultiViewShader", multiViewVertexShader, multiViewFragmentShader); + multiViewTopLeftGL.init(multiViewShader, "zoomTL"); + multiViewBottomRightGL.init(multiViewShader, "zoomBR"); + numImgsGL.init(multiViewShader, "numImgs"); + gridGL.init(multiViewShader, "grid"); + } + + void InterfaceUtilities::initMeshViewShader() + { + meshViewShader.init("InterfaceUtilitiesMeshViewShader", meshVertexShader, colorAlphaFragmentShader); + mvp.init(meshViewShader,"mvp"); + colorMeshGL.init(meshViewShader,"color"); + alphaMeshGL.init(meshViewShader,"alpha"); + } + + void InterfaceUtilities::rectangle(const sibr::Vector3f & color, const UV11 & tl, const UV11 & br, bool fill, float alpha) + { + + static sibr::Mesh::Ptr rectangleMesh; + static int lastContextId = -1; + + if (lastContextId != sibr::Window::contextId) { + rectangleMesh = std::make_shared(true); + }; + + + baseShader.begin(); + + scalingGL.set(sibr::Vector2f(1.0f,1.0f)); + translationGL.set(sibr::Vector2f(0, 0)); + colorGL.set(color); + + rectangleMesh->vertices({ + { tl.x(), tl.y() , 0 }, + { tl.x(), br.y() , 0 }, + { br.x(), br.y() , 0 }, + { br.x(), tl.y() , 0 } + }); + + if (fill) { + rectangleMesh->triangles({ + { 0,1,2 }, + { 0,2,3 } + }); + + alphaGL.set(alpha); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBlendEquation(GL_FUNC_ADD); + rectangleMesh->render(false, false); + } + + rectangleMesh->triangles({ + { 0,0,1 },{ 1,1,2 },{ 2,2,3 },{ 3,3,0 } + }); + + alphaGL.set(1.0f); + rectangleMesh->render(false, false, sibr::Mesh::LineRenderMode); + + baseShader.end(); + } + + void InterfaceUtilities::rectanglePixels(const sibr::Vector3f & color, const sibr::Vector2f & center, const sibr::Vector2f & diagonal, bool fill, float alpha, const sibr::Vector2f & winSize) + { + UV01 centerUV = UV01::from(center.cwiseQuotient(winSize)); + UV01 tl = UV01::from(centerUV - 0.5f*diagonal.cwiseQuotient(winSize)); + UV01 br = UV01::from(centerUV + 0.5f*diagonal.cwiseQuotient(winSize)); + rectangle(color, tl, br, fill, alpha); + } + + void InterfaceUtilities::circle(const sibr::Vector3f & color, const UV11 & center, float radius, bool fill, float alpha, const sibr::Vector2f & scaling, int precision) + { + + static int n; + static sibr::Mesh::Ptr circleMesh; + static sibr::Mesh::Ptr circleFilledMesh; + static sibr::Mesh::Triangles circleTriangles; + static sibr::Mesh::Triangles circleFillTriangles; + static int lastContextId = -1; + + bool updateMeshes = (lastContextId != sibr::Window::contextId) || (n != precision); + if (updateMeshes) { + lastContextId = sibr::Window::contextId; + n = precision; + circleTriangles.resize(n); + circleFillTriangles.resize(n); + for (int i = 0; i < n; ++i) { + int next = (i + 1) % n; + circleTriangles[i] = sibr::Vector3u(i, i, next); + circleFillTriangles[i] = sibr::Vector3u(i, next, n); + } + + sibr::Mesh::Vertices vertices(n + 1); + double base_angle = 2.0*M_PI / (double)n; + float rho = 0.5f*radius*(float)(1.0 + cos(0.5*base_angle)); + + for (int i = 0; i < n; ++i) { + double angle = i*base_angle; + vertices[i] = sibr::Vector3f((float)cos(angle), (float)sin(angle), (float)0.0); + } + vertices[n] = sibr::Vector3f(0, 0, 0); + + circleMesh = std::make_shared(true); + circleFilledMesh = std::make_shared(true); + circleMesh->vertices(vertices); + circleFilledMesh->vertices(vertices); + circleMesh->triangles(circleTriangles); + circleFilledMesh->triangles(circleFillTriangles); + } + + baseShader.begin(); + + translationGL.set(sibr::Vector2f(0, 0)); + + colorGL.set(color); + scalingGL.set(scaling); + translationGL.set(center); + + if (fill) { + alphaGL.set(alpha); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glBlendEquation(GL_FUNC_ADD); + circleFilledMesh->render(false, false); + } + + alphaGL.set(1.0f); + circleMesh->render(false, false, sibr::Mesh::LineRenderMode); + + baseShader.end(); + } + + void InterfaceUtilities::circlePixels(const sibr::Vector3f & color, const sibr::Vector2f & center, float radius, bool fill, float alpha, const sibr::Vector2f & winSize, int precision) + { + UV10 centerUV = UV10::from(center.cwiseQuotient(winSize)); + sibr::Vector2f scaling = radius*sibr::Vector2f(1, 1).cwiseQuotient(winSize); + + circle(color, centerUV, 1.0f, fill, alpha, scaling, precision); + } + + void InterfaceUtilities::linePixels(const sibr::Vector3f & color, const sibr::Vector2f & ptA, const sibr::Vector2f & ptB, const sibr::Vector2f & winSize) + { + UV11 uvA = UV01::from(ptA.cwiseQuotient(winSize)); + UV11 uvB = UV01::from(ptB.cwiseQuotient(winSize)); + + sibr::Mesh line(true); + line.vertices({ + { uvA.x(), uvA.y(), 0.0f }, + { uvB.x(), uvB.y(), 0.0f } + }); + line.triangles({ + sibr::Vector3u(0,0,1) + }); + + baseShader.begin(); + + scalingGL.set(sibr::Vector2f(1.0f, 1.0f)); + translationGL.set(sibr::Vector2f(0, 0)); + colorGL.set(color); + alphaGL.set(1.0f); + + line.render(false, false, sibr::Mesh::LineRenderMode); + + baseShader.end(); + } + + + + +} //namespace sibr \ No newline at end of file diff --git a/SIBR_viewers/src/core/view/interface/InterfaceUtils.h b/SIBR_viewers/src/core/view/interface/InterfaceUtils.h new file mode 100644 index 0000000000..e4fb63b657 --- /dev/null +++ b/SIBR_viewers/src/core/view/interface/InterfaceUtils.h @@ -0,0 +1,289 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +#include "../Config.hpp" +#include +#include +#include +#include + +#include + +#include + +namespace sibr { + + /** + * \ingroup sibr_view + */ + enum UVspace { ZERO_ONE, MINUS_ONE_ONE, ONE_ZERO }; + + /** + * \ingroup sibr_view + */ + template struct UV : public sibr::Vector2f { + + static UV from(const sibr::Vector2f & v) { return UV(v.x(), v.y()); } + + UV(float u, float v) : Vector2f(u, v) {} + + //explicit UV(const sibr::Vector2f & v) : sibr::Vector2f(v) {} + + template operator UV() const; + }; + + typedef UV UV11; + typedef UV UV01; + typedef UV UV10; + + template<> template<> inline + UV11::operator UV01() const { + return UV01(0.5f*x() + 1, 0.5f*y() + 1); + } + + template<> template<> inline + UV01::operator UV11() const { + return UV11(2.0f*x() - 1, 2.0f*y() - 1); + } + + template<> template<> inline + UV01::operator UV10() const { + return UV10(x(), 1.0f - y()); + } + + template<> template<> inline + UV10::operator UV01() const { + return UV01(x(), 1.0f - y()); + } + + template<> template<> inline + UV10::operator UV11() const { + return UV11(UV01(*this)); + } + + template<> template<> inline + UV11::operator UV10() const { + return UV10(UV01(*this)); + } + + /** + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT InterfaceUtilities + { + public: + InterfaceUtilities(); + + static const std::string translationScalingVertexShader; + static const std::string colorAlphaFragmentShader; + + sibr::GLShader baseShader; + + sibr::GLParameter colorGL; + sibr::GLParameter alphaGL; + sibr::GLParameter scalingGL; + sibr::GLParameter translationGL; + + static const std::string multiViewVertexShader; + static const std::string multiViewFragmentShader; + + static const std::string meshVertexShader; + static const std::string meshAlphaViewFragmentShader; + sibr::GLShader meshViewShader; + sibr::GLParameter mvp; + sibr::GLParameter colorMeshGL; + sibr::GLParameter alphaMeshGL; + + sibr::GLShader multiViewShader; + + sibr::GLParameter numImgsGL; + sibr::GLParameter gridGL; + sibr::GLParameter multiViewTopLeftGL; + sibr::GLParameter multiViewBottomRightGL; + + void rectangle(const sibr::Vector3f & color, const UV11 & tl, const UV11 & br, bool fill, float alpha); + void rectanglePixels(const sibr::Vector3f & color, const sibr::Vector2f & center, const sibr::Vector2f & diagonal, bool fill, float alpha, const sibr::Vector2f & winSize); + void circle(const sibr::Vector3f & color, const UV11 & center, float radius, bool fill, float alpha, const sibr::Vector2f & scaling = sibr::Vector3f(1,1), int precision = 50); + void circlePixels(const sibr::Vector3f & color, const sibr::Vector2f & center, float radius, bool fill, float alpha, const sibr::Vector2f & winSize, int precision = 50); + void linePixels(const sibr::Vector3f & color, const sibr::Vector2f & ptA, const sibr::Vector2f & ptB, const sibr::Vector2f & winSize); + + void initAllShaders(); + void freeAllShaders(); + + private: + struct GLinitializer { + GLinitializer() { + //InterfaceUtilities::initBaseShader(); + } + }; + + void initBaseShader(); + void initMultiViewShader(); + void initMeshViewShader(); + + //const static GLinitializer init; + }; + + struct RectangleData + { + RectangleData() : center({ 0.5, 0.5 }), diagonal({ 0.5, 0.5 }) {} + sibr::Vector2f center; + sibr::Vector2f diagonal; + sibr::Vector2f br() const { return center + diagonal; } + sibr::Vector2f tl() const { return center - diagonal; } + }; + + struct DragData + { + DragData() : isActive(false) {} + sibr::Vector2f center; + sibr::Vector2i position; + bool isActive; + }; + + struct SelectionData + { + SelectionData() : isActive(false) {} + sibr::Vector2i first; + sibr::Vector2i second; + bool isActive; + + }; + + template struct DoubleClick + { + DoubleClick() : detection_timing_in_ms(500) {} + + bool detected(const sibr::Input & input, bool should_be_close = true) { + if (input.mouseButton().isPressed(mKey)) { + //std::cout << "timer.deltaTimeFromLastTic() : " << timer.deltaTimeFromLastTic<>() << std::endl; + if (timer.deltaTimeFromLastTic<>() < detection_timing_in_ms && (!should_be_close || (firstPosition - input.mousePosition()).cwiseAbs().maxCoeff() < 10 ) ) { + return true; + } + firstPosition = input.mousePosition(); + timer.tic(); + } + return false; + } + + double detection_timing_in_ms; + + sibr::Timer timer; + sibr::Vector2i firstPosition; + }; + + template + static void show( + const sibr::Texture2DArray & texArray, + sibr::Window * inputWin = nullptr, + int w = -1, + int h = -1 + ) { + enum Mode { SLICE, GRID }; + + sibr::Window * win = inputWin; + const bool inChargeOfWindow = (win == nullptr); + const bool useCustomSize = (w > 0 && h > 0); + sibr::Vector2i previousSize; + + if (inChargeOfWindow) { + sibr::Vector2i winSize = (useCustomSize ? sibr::Vector2i(w, h) : sibr::Vector2i (1600, 1200)); + win = new sibr::Window(winSize[0], winSize[1], "showTexArray"); + } else if (useCustomSize) { + previousSize = win->size(); + win->size(w, h); + } + Mode mode = GRID; + + win->makeContextCurrent(); + + sibr::InterfaceUtilities utils; + utils.initAllShaders(); + + sibr::Vector2i grid(3, 3), previousGrid; + sibr::Vector2f TL(0, 0), BR(1, 1); + int slice = 1; + + bool renderLoop = true; + while (renderLoop) { + sibr::Input::poll(); + sibr::Input & input = sibr::Input::global(); + if (input.key().isPressed(sibr::Key::Escape)) { + renderLoop = false; + if (inChargeOfWindow) { + win->close(); + } + } + + ImGui::Begin("Show setting"); + if (ImGui::RadioButton("Grid", (int*)&mode, 1)) { + grid = previousGrid; + } + ImGui::SameLine(); + ImGui::RadioButton("Slice", (int*)&mode, 0); + + if (mode == GRID) { + ImGui::SliderInt("GridX", &grid[0], 1, texArray.depth()); + ImGui::SliderInt("GridY", &grid[1], 1, texArray.depth()); + previousGrid = grid; + TL = { 0, 0 }, BR = { 1,1 }; + } else if (mode == SLICE) { + grid = sibr::Vector2i(1, 1); + ImGui::SliderInt("Slice", &slice, 1, texArray.depth()); + TL[1] = -slice + 2; + BR[1] = -slice + 1; + //ImGui::SliderFloat("L", &TL[0], -3, 3); + //ImGui::SliderFloat("T", &TL[1], -3, 3); + //ImGui::SliderFloat("R", &BR[0], -3, 3); + //ImGui::SliderFloat("B", &BR[1], -3, 3); + } + + ImGui::End(); + + const auto & viewport = win->viewport(); + viewport.bind(); + viewport.clear(sibr::Vector3f(0.7, 0.7, 0.7)); + + utils.multiViewShader.begin(); + + utils.numImgsGL.set((int)texArray.depth() - 1); + sibr::Vector2f gridF = grid.cast(); + utils.gridGL.set(gridF); + + utils.multiViewTopLeftGL.set(TL); + utils.multiViewBottomRightGL.set(BR); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D_ARRAY, texArray.handle()); + sibr::RenderUtility::renderScreenQuad(); + + utils.multiViewShader.end(); + + win->swapBuffer(); + } + + if (inChargeOfWindow) { + delete win; + } else if(useCustomSize) { + win->size(previousSize[0], previousSize[1]); + } + } + + //class SIBR_VIEW_EXPORT Draw { + //public: + // static void rectangle(const sibr::Vector3f & color, const UV11 & tl, const UV11 & br, bool fill, float alpha); + // static void circle(const sibr::Vector3f & color, const UV11 & center, float radius, bool fill, float alpha, int precision = 50); + //}; + +} // namespace sibr diff --git a/SIBR_viewers/src/core/view/interface/MeshViewer.cpp b/SIBR_viewers/src/core/view/interface/MeshViewer.cpp new file mode 100755 index 0000000000..6b044a7166 --- /dev/null +++ b/SIBR_viewers/src/core/view/interface/MeshViewer.cpp @@ -0,0 +1,479 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "MeshViewer.h" + +#include +#include +#include +#include +#include + +const std::string sibr::MeshRenderer::meshVertexShader = +"#version 420 \n" +"uniform mat4 MVP; \n" +"layout(location = 0) in vec3 in_vertex; \n" +"layout(location = 1) in vec3 in_color; \n" +"layout(location = 3) in vec3 in_normal; \n" +"out vec3 color; \n" +"out vec3 normal; \n" +"out vec3 vertex; \n" +"void main(void) { \n" +" color = in_color; \n" +" normal = in_normal; \n" +" vertex = in_vertex; \n" +" gl_Position = MVP * vec4(in_vertex,1.0); \n" +"} \n"; + +const std::string sibr::MeshRenderer::meshFragmentShader = +"#version 420 \n" +"uniform vec3 light_pos; \n" +"uniform vec3 forcedColor = vec3(0.7f,0.7f,0.7f); \n" +"in vec3 color; \n" +"in vec3 normal; \n" +"in vec3 vertex; \n" +"out vec4 out_color; \n" +"void main(void) { \n" +" float kd = 0.3; \n" +" float ks = 0.2; \n" +" vec3 L = normalize(light_pos - vertex); \n" +" vec3 N = normalize(normal); \n" +" vec3 R = 2.0*dot(L,N)*N - N; \n" +" vec3 V = L; //light pos = eye \n" +" vec3 diffuse = max(0.0, dot(L,N))*vec3(1, 1, 1); \n" +" vec3 specular = max(0.0, dot(R,V))*vec3(1, 1, 1); \n" +" out_color = vec4((1.0 - kd -ks)*forcedColor + kd*diffuse + ks*specular , 1.0); \n" +"} \n"; + +sibr::MeshRenderer::MeshRenderer() +{ + initShaders(); + + resetLinesAndPoints(); + +} + +void sibr::MeshRenderer::render(const sibr::Camera & eye) +{ + glLineWidth(1.0f); + glEnable(GL_BLEND); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + + for (auto & meshParam : listMeshes) { + if (meshParam.mode == sibr::Mesh::LineRenderMode) { + shaderLines.begin(); + mvpLines.set(eye.viewproj()); + lineColor.set(meshParam.color); + meshParam.mesh->render(meshParam.depthTest, false, sibr::Mesh::LineRenderMode); + shaderLines.end(); + } else { + shaderMesh.begin(); + const sibr::Vector3f lightPos = eye.position(); + light_pos.set(lightPos); + mvpMesh.set(eye.viewproj()); + forcedColor.set(meshParam.color); + meshParam.mesh->render(meshParam.depthTest, meshParam.backFaceCulling, meshParam.mode); + shaderMesh.end(); + } + } + + + if (lines.dirty) { + updateMeshLines(); + } + shaderLines.begin(); + mvpLines.set(eye.viewproj()); + lines.mesh->render(lines.depthTest, false, sibr::Mesh::LineRenderMode); + shaderLines.end(); + + float radiusW = 10.0f; + glEnable(GL_VERTEX_PROGRAM_POINT_SIZE); + glPointSize(radiusW); + + if (points.dirty) { + updateMeshPoints(); + } + shaderPoints.begin(); + mvpPoints.set(eye.viewproj()); + radiusScreen.set(radiusW); + points.mesh->render(points.depthTest, false, sibr::Mesh::PointRenderMode); + + if (specialPoints.get() != nullptr) { + specialPoints->render(false, false, sibr::Mesh::PointRenderMode); + } + + shaderPoints.end(); + + +} + +void sibr::MeshRenderer::addMesh(std::shared_ptr meshPtr, sibr::Mesh::RenderMode mode) +{ + MeshParams mesh; + mesh.mesh = meshPtr; + mesh.mode = mode; + listMeshes.push_back(mesh); +} + +void sibr::MeshRenderer::addLines(const std::vector& listPoints, const sibr::Vector3f & color) +{ + int nLines = (int)listPoints.size() / 2; + for (int l = 0; l < nLines; ++l) { + lines.points.push_back(listPoints[2 * l]); + lines.points.push_back(listPoints[2 * l + 1]); + lines.colors.push_back(color); + } + + lines.dirty = true; +} + +void sibr::MeshRenderer::addPoint(const sibr::Vector3f & point, const sibr::Vector3f & color) +{ + points.points.push_back(point); + points.colors.push_back(color); + points.dirty = true; +} + +void sibr::MeshRenderer::addPoints(const std::vector& list_points, const sibr::Vector3f & color) +{ + std::vector colors(list_points.size(), color); + + points.points.reserve(points.points.size() + list_points.size()); + points.points.insert(points.points.end(), list_points.begin(), list_points.end()); + + points.colors.reserve(points.colors.size() + colors.size()); + points.colors.insert(points.colors.end(), colors.begin(), colors.end()); + points.dirty = true; +} + +void sibr::MeshRenderer::cleanPoints() +{ + points.points.resize(0); + points.colors.resize(0); + points.dirty = true; +} + +void sibr::MeshRenderer::cleanLines() +{ + lines.points.resize(0); + lines.colors.resize(0); + lines.dirty = true; +} + +void sibr::MeshRenderer::resetLinesAndPoints() +{ + lines.mesh = std::shared_ptr(new sibr::Mesh()); + points.mesh = std::shared_ptr(new sibr::Mesh()); + cleanLines(); + cleanPoints(); +} + +void sibr::MeshRenderer::resetMeshes() +{ + listMeshes.resize(0); +} + +void sibr::MeshRenderer::initShaders() +{ + + shaderMesh.init("meshShader", meshVertexShader, meshFragmentShader); + mvpMesh.init(shaderMesh, "MVP"); + light_pos.init(shaderMesh, "light_pos"); + forcedColor.init(shaderMesh, "forcedColor"); + + std::string lineVertexShader = + "#version 420 \n" + "uniform mat4 MVP; \n" + "layout(location = 0) in vec3 in_vertex; \n" + "layout(location = 1) in vec3 in_color; \n" + "out vec3 color_vert; \n" + "void main(void) { \n" + " gl_Position = MVP * vec4(in_vertex,1.0); \n" + " color_vert = in_color; \n" + "} \n"; + + std::string lineFragmentShader = + "#version 420 \n" + "in vec3 color_vert; \n" + "uniform vec3 color; \n" + "out vec4 out_color; \n" + "void main(void) { \n" + " out_color = vec4( color_vert, 1.0 ); \n" + "} \n"; + + shaderLines.init("LineShader", lineVertexShader, lineFragmentShader); + mvpLines.init(shaderLines, "MVP"); + lineColor.init(shaderLines, "color"); + + std::string pointVertexShader = + "#version 420 \n" + "uniform mat4 MVP; \n" + "uniform float radiusScreen; \n" + "layout(location = 0) in vec3 in_vertex; \n" + "layout(location = 1) in vec3 in_color; \n" + "out vec3 color_vert; \n" + "void main(void) { \n" + " gl_Position = MVP * vec4(in_vertex,1.0); \n" + " gl_PointSize = radiusScreen; \n" + " color_vert = in_color; \n" + "} \n"; + + std::string pointFragmentShader = + "#version 420 \n" + "in vec3 color_vert; \n" + "out vec4 out_color; \n" + "void main(void) { \n" + " out_color = vec4( color_vert, 1.0 ); \n" + "} \n"; + + shaderPoints.init("PointShader", pointVertexShader, pointFragmentShader); + mvpPoints.init(shaderPoints, "MVP"); + radiusScreen.init(shaderPoints, "radiusScreen"); +} + +void sibr::MeshRenderer::updateMeshPoints(void) +{ + std::vector vertexBuffer; + for (int vertex_id = 0; vertex_id<(int)points.points.size(); vertex_id++) { + for (int c = 0; c<3; ++c) { + vertexBuffer.push_back(points.points.at(vertex_id)[c]); + } + } + + points.mesh->vertices(vertexBuffer); + points.mesh->colors(points.colors); + + points.dirty = false; +} + +void sibr::MeshRenderer::updateMeshLines(void) +{ + std::vector vertexBuffer; + std::vector indicesBuffer(3 * (lines.points.size() / 2)); + std::vector colors(lines.points.size()); + for (int vertex_id = 0; vertex_id<(int)lines.points.size(); vertex_id += 2) { + for (int c = 0; c<3; ++c) { + vertexBuffer.push_back(lines.points.at(vertex_id)[c]); + } + for (int c = 0; c<3; ++c) { + vertexBuffer.push_back(lines.points.at(vertex_id + 1)[c]); + } + + indicesBuffer.at(3 * (vertex_id / 2)) = vertex_id; + indicesBuffer.at(3 * (vertex_id / 2) + 1) = vertex_id; + indicesBuffer.at(3 * (vertex_id / 2) + 2) = vertex_id + 1; + + colors.at(vertex_id) = lines.colors.at(vertex_id / 2); + colors.at(vertex_id + 1) = lines.colors.at(vertex_id / 2); + } + + lines.mesh->vertices(vertexBuffer); + lines.mesh->colors(colors); + lines.mesh->triangles(indicesBuffer); + + lines.dirty = false; +} + +sibr::MeshViewer::MeshViewer() +{ + renderer = std::make_shared(); + interactCam = std::make_shared(true); + interactCam->setFPSCameraSpeed(1); + interactCam->switchMode(sibr::InteractiveCameraHandler::InteractionMode::TRACKBALL); + inChargeOfWindow = false; + fpsCounter.init(sibr::Vector2f(10, 10)); +} + +sibr::MeshViewer::MeshViewer(const sibr::Vector2i & screenRes, const sibr::Mesh & mesh, bool launchRenderingLoop) +{ + window.reset(new Window(screenRes[0], screenRes[1], "MeshViewer" )); + renderer = std::make_shared(); + interactCam = std::make_shared(new sibr::InteractiveCameraHandler()); + interactCam->setFPSCameraSpeed(1); + interactCam->switchMode(sibr::InteractiveCameraHandler::InteractionMode::TRACKBALL); + inChargeOfWindow = true; + + setMainMesh(mesh); + + if (launchRenderingLoop) { + renderLoop(); + } +} + +void sibr::MeshViewer::setMainMesh(const sibr::Mesh & mesh, sibr::Mesh::RenderMode mode, bool updateCam, bool setupRaycaster) +{ + setMainMesh(*window, mesh, mode, updateCam, setupRaycaster); +} + +void sibr::MeshViewer::setMainMesh(sibr::Window & win, const sibr::Mesh & mesh, sibr::Mesh::RenderMode mode, bool updateCam, bool setupRaycaster) +{ + sibr::Mesh::Ptr meshGL = std::make_shared(true); + meshGL->vertices(mesh.vertices()); + meshGL->triangles(mesh.triangles()); + if (mesh.hasNormals()) { + meshGL->normals(mesh.normals()); + } + + renderer->resetMeshes(); + renderer->addMesh(meshGL, mode); + + if (updateCam) { + interactCam->setup(meshGL, win.viewport()); + interactCam->getTrackball().fromMesh(*meshGL, win.viewport()); + } + + if (setupRaycaster) { + raycaster = std::make_shared(); + raycaster->init(); + raycaster->addMesh(*meshGL); + } + + float radius; + sibr::Vector3f pos; + meshGL->getBoundingSphere(pos, radius); + interactCam->setFPSCameraSpeed(radius/10.0f); + +} + +void sibr::MeshViewer::render() +{ + if (window.get()) { + render(window->viewport(), interactCam->getCamera()); + window->swapBuffer(); + } +} + +void sibr::MeshViewer::renderLoop(sibr::Window & window) +{ + bool doLoop = true; + + while (doLoop && window.isOpened() ) { + sibr::Input::poll(); + + if (sibr::Input::global().key().isPressed(sibr::Key::Escape)) { + doLoop = false; + } + + interactCam->update(sibr::Input::global(), 1 / 60.0f, window.viewport()); + + window.viewport().bind(); + window.viewport().clear(sibr::Vector3f(0.9f, 0.9f, 0.9f)); + renderer->render(interactCam->getCamera()); + interactCam->onRender(window.viewport()); + + window.swapBuffer(); + } + + +} + +void sibr::MeshViewer::render(const sibr::Viewport & viewport, const sibr::Camera & eye ) +{ + viewport.bind(); + viewport.clear(sibr::Vector3f(0.9f, 0.9f, 0.9f)); + renderer->render(eye); + interactCam->onRender(viewport); + fpsCounter.update(true); +} + +void sibr::MeshViewer::render(const sibr::Viewport & viewport) +{ + render(viewport, interactCam->getCamera()); +} + +void sibr::MeshViewer::render(const sibr::Camera & eye) +{ + if (window.get()) { + render(window->viewport(), eye); + window->swapBuffer(); + } +} + +void sibr::MeshViewer::renderLoop(std::shared_ptr otherWindow) +{ + + if (!otherWindow.get() && !window->isOpened()) { + return; + } + if (otherWindow.get() && !window.get() ) { + window = otherWindow; + } + + while (window->isOpened()) { + sibr::Input::poll(); + + if (sibr::Input::global().key().isPressed(sibr::Key::Escape)) { + window->close(); + } + + interactCam->update(sibr::Input::global(), 1 / 60.0f, window->viewport()); + render(); + } + + reset(); +} + +void sibr::MeshViewer::renderLoop(const std::function & f, bool customRendering, bool doReset) +{ + bool doRender = true; + while (doRender && window->isOpened()) { + sibr::Input::poll(); + input = sibr::Input::global(); + if (input.key().isPressed(sibr::Key::Escape)) { + doRender = false; + if (inChargeOfWindow) { + window->close(); + } + } + + interactCam->update(input,1/60.0f, window->viewport()); + + f(this); + + if (!customRendering) { + render(); + } + } + if(doReset) { + reset(); + } +} + +void sibr::MeshViewer::reset() +{ + if (inChargeOfWindow) { + interactCam.reset(); + renderer.reset(); + raycaster.reset(); + window.reset(); + } + +} + +void sibr::MeshViewer::demo() +{ + sibr::Mesh::Ptr meshPtr = sibr::Mesh::getTestCube(); + + sibr::MeshViewer meshViewer(sibr::Vector2i(1600, 1200), *meshPtr); + + meshViewer.renderer->addPoints(meshPtr->vertices(), sibr::Vector3f(0, 1, 0)); + + for (const auto & tri : meshPtr->triangles()) { + for (int k = 0; k < 3; ++k) { + meshViewer.renderer->addLines( + { meshPtr->vertices()[tri[k]], meshPtr->vertices()[tri[(k + 1) % 3]] }, + sibr::Vector3f(1, 0, 0)); + } + } + + meshViewer.renderLoop(); +} diff --git a/SIBR_viewers/src/core/view/interface/MeshViewer.h b/SIBR_viewers/src/core/view/interface/MeshViewer.h new file mode 100755 index 0000000000..6596b1ec40 --- /dev/null +++ b/SIBR_viewers/src/core/view/interface/MeshViewer.h @@ -0,0 +1,168 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once +#ifndef _DISABLE_EXTENDED_ALIGNED_STORAGE +# define _DISABLE_EXTENDED_ALIGNED_STORAGE +#endif +#include "../Config.hpp" +#include +#include +#include +#include +#include +#include +#include + +namespace sibr { + + class InteractiveCameraHandler; + class Raycaster; + class Camera; + + /** + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT MeshRenderer { + + SIBR_CLASS_PTR(MeshRenderer); + + struct MeshData { + MeshData() : dirty(false), depthTest(true) {} + + std::shared_ptr mesh; + std::vector points; + std::vector colors; + bool dirty; + bool depthTest; + }; + + struct MeshParams { + MeshParams() : depthTest(true), backFaceCulling(true), color(sibr::Vector3f(0.7f,0.7f,0.7f)) {} + std::shared_ptr mesh; + sibr::Mesh::RenderMode mode; + sibr::Vector3f color; + bool depthTest; + bool backFaceCulling; + }; + + public: + MeshRenderer(); + void render(const sibr::Camera& viewproj); + + void addMesh(std::shared_ptr meshPtr, sibr::Mesh::RenderMode mode = sibr::Mesh::FillRenderMode ); + + void addLines(const std::vector & listPoints, const sibr::Vector3f & color); + + void addPoint(const sibr::Vector3f & point, const sibr::Vector3f & color); + void addPoints(const std::vector & listPoints, const sibr::Vector3f & color); + void cleanPoints(); + void cleanLines(); + + void resetLinesAndPoints(); + void resetMeshes(); + + std::vector & getMeshesParams() { return listMeshes; } + + public: + std::vector listMeshes; + + MeshData lines; + MeshData points; + sibr::Mesh::Ptr specialPoints; + + static const std::string meshVertexShader; + static const std::string meshFragmentShader; + + sibr::GLShader shaderLines; + + private: + + sibr::GLShader shaderMesh; + sibr::GLShader shaderPoints; + + sibr::GLParameter mvpLines; + sibr::GLuniform lineColor = sibr::Vector3f(1,0,0); + sibr::GLParameter mvpPoints; + sibr::GLParameter mvpMesh; + sibr::GLParameter forcedColor; + + sibr::GLParameter light_pos; + sibr::GLParameter radiusScreen; + + + + void initShaders(); + void updateMeshPoints(void); + void updateMeshLines(void); + + }; + + /** + * \ingroup sibr_view + */ + class SIBR_VIEW_EXPORT MeshViewer { + + SIBR_CLASS_PTR(MeshViewer); + + public: + MeshViewer(); + + MeshViewer( + const sibr::Vector2i & screenRes, + const sibr::Mesh & mesh = sibr::Mesh(), + bool launchRenderingLoop = false); + + virtual void setMainMesh( + const sibr::Mesh & mesh, + sibr::Mesh::RenderMode mode = sibr::Mesh::FillRenderMode, + bool updateCam = true, + bool setupRaycaster = true + ); + + virtual void setMainMesh( + sibr::Window & win, + const sibr::Mesh & mesh, + sibr::Mesh::RenderMode mode = sibr::Mesh::FillRenderMode, + bool updateCam = true, + bool setupRaycaster = true + ); + + virtual void render(const sibr::Viewport & viewport, const sibr::Camera & eye); + virtual void render(const sibr::Viewport & viewport); + virtual void render(const sibr::Camera & eye); + virtual void render(); + + virtual void renderLoop(sibr::Window & window); + + void renderLoop(std::shared_ptr window); + void renderLoop(const std::function & f = [](MeshViewer* m){} , bool customRendering = false, bool doReset = true); + + virtual void reset(); + + static void demo(); + + + + public: + sibr::Input input; + sibr::FPSCounter fpsCounter; + std::shared_ptr window; + std::shared_ptr renderer; + std::shared_ptr interactCam; + std::shared_ptr raycaster; + + bool inChargeOfWindow; + }; + +} //namespace sibr + diff --git a/SIBR_viewers/src/core/view/shaders/alpha_colored_mesh.frag b/SIBR_viewers/src/core/view/shaders/alpha_colored_mesh.frag new file mode 100644 index 0000000000..abb26e6f84 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alpha_colored_mesh.frag @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) out vec4 out_color; + +uniform vec3 light_position; +uniform vec3 user_color; +uniform float alpha; +uniform bool phong_shading; +uniform bool use_mesh_color; + +in vec3 color; +in vec3 normal; +in vec3 position; + +void main(void) { + + vec3 col; + if(use_mesh_color){ + col = color; + } else { + col = user_color; + } + + out_color = vec4(col, alpha); + + if(phong_shading){ + float kd = 0.2; + float ks = 0.1; + vec3 L = normalize(light_position - position); + vec3 N = normalize(normal); + vec3 R = - reflect(L,N); + vec3 V = L; //light pos = eye + float diffuse = max(0.0, dot(L,N)); + float specular = max(0.0, dot(R,V)); + out_color.xyz = (1.0 - kd - ks)*col + (kd*diffuse + ks*specular)* vec3(1, 1, 1); + } +} diff --git a/SIBR_viewers/src/core/view/shaders/alpha_colored_mesh.vert b/SIBR_viewers/src/core/view/shaders/alpha_colored_mesh.vert new file mode 100644 index 0000000000..feb9ef4f2d --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alpha_colored_mesh.vert @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) in vec3 in_vertex; +layout(location = 1) in vec3 in_color; +layout(location = 3) in vec3 in_normal; + +uniform mat4 mvp; + +out vec3 color; +out vec3 normal; +out vec3 position; + +void main(void) { + gl_Position = mvp * vec4(in_vertex, 1.0); + color = in_color; + normal = in_normal; + position = in_vertex; +} diff --git a/SIBR_viewers/src/core/view/shaders/alpha_colored_per_triangle_normals.geom b/SIBR_viewers/src/core/view/shaders/alpha_colored_per_triangle_normals.geom new file mode 100644 index 0000000000..5130841ea7 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alpha_colored_per_triangle_normals.geom @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#version 420 + +layout(triangles) in; +layout(line_strip, max_vertices = 2) out; + +uniform mat4 mvp; +uniform float normals_size; + +out vec3 color; +out vec3 normal; +out vec3 position; + +void main(void) { + vec3 a = gl_in[0].gl_Position.xyz; + vec3 b = gl_in[1].gl_Position.xyz; + vec3 c = gl_in[2].gl_Position.xyz; + + vec3 tri_normal = normalize(cross(b-a,c-b)); + vec3 tri_center = (a+b+c)/3.0; + gl_Position = mvp*vec4(tri_center,1.0); + color = vec3(0.0); + normal = vec3(0.0); + position = vec3(0.0); + EmitVertex(); + gl_Position = mvp*vec4(tri_center + normals_size*tri_normal, 1.0); + color = vec3(0.0); + normal = vec3(0.0); + position = vec3(0.0); + EmitVertex(); + EndPrimitive(); +} diff --git a/SIBR_viewers/src/core/view/shaders/alpha_colored_per_triangle_normals.vert b/SIBR_viewers/src/core/view/shaders/alpha_colored_per_triangle_normals.vert new file mode 100644 index 0000000000..0b05517e0b --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alpha_colored_per_triangle_normals.vert @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) in vec3 in_vertex; + +void main(void) { + gl_Position = vec4(in_vertex, 1.0); +} diff --git a/SIBR_viewers/src/core/view/shaders/alpha_colored_per_vertex_normals.geom b/SIBR_viewers/src/core/view/shaders/alpha_colored_per_vertex_normals.geom new file mode 100644 index 0000000000..927be7c626 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alpha_colored_per_vertex_normals.geom @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(points) in; +layout(line_strip, max_vertices = 2) out; + +uniform mat4 mvp; +uniform float normals_size; + +in vec3 normals[]; + +out vec3 color; +out vec3 normal; +out vec3 position; + + +void main(void) { + gl_Position = mvp*(gl_in[0].gl_Position); + color = vec3(0.0); + normal = vec3(0.0); + position = vec3(0.0); + EmitVertex(); + gl_Position = mvp* vec4(gl_in[0].gl_Position.xyz + normals_size*normals[0],1.0); + color = vec3(0.0); + normal = vec3(0.0); + position = vec3(0.0); + EmitVertex(); + EndPrimitive(); +} diff --git a/SIBR_viewers/src/core/view/shaders/alpha_colored_per_vertex_normals.vert b/SIBR_viewers/src/core/view/shaders/alpha_colored_per_vertex_normals.vert new file mode 100644 index 0000000000..b6af900085 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alpha_colored_per_vertex_normals.vert @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) in vec3 in_vertex; +layout(location = 3) in vec3 in_normal; + +out vec3 normals; + +void main(void) { + gl_Position = vec4(in_vertex, 1.0); + normals = in_normal; +} diff --git a/SIBR_viewers/src/core/view/shaders/alpha_points.frag b/SIBR_viewers/src/core/view/shaders/alpha_points.frag new file mode 100644 index 0000000000..67a9c0d559 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alpha_points.frag @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) out vec4 out_color; + +uniform vec3 user_color; +uniform float alpha; +in vec3 color; + +void main(void) { +// out_color = vec4(user_color, alpha); + out_color = vec4(color, alpha); +} diff --git a/SIBR_viewers/src/core/view/shaders/alpha_points.vert b/SIBR_viewers/src/core/view/shaders/alpha_points.vert new file mode 100644 index 0000000000..681e21b93b --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alpha_points.vert @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) in vec3 in_vertex; +layout(location = 1) in vec3 in_color; + +uniform mat4 mvp; +uniform int radius; +out vec3 color; + +void main(void) { + gl_Position = mvp * vec4(in_vertex, 1.0); + gl_PointSize = radius; + color = in_color; +} diff --git a/SIBR_viewers/src/core/view/shaders/alpha_uv_tex.frag b/SIBR_viewers/src/core/view/shaders/alpha_uv_tex.frag new file mode 100644 index 0000000000..c71a209c5d --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alpha_uv_tex.frag @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) out vec4 out_color; +layout(binding = 0) uniform sampler2D input_rgb; + +in vec2 out_uv; + +uniform float alpha; + +void main() { + out_color = vec4(texture(input_rgb, out_uv).xyz, alpha); +} diff --git a/SIBR_viewers/src/core/view/shaders/alpha_uv_tex_array.frag b/SIBR_viewers/src/core/view/shaders/alpha_uv_tex_array.frag new file mode 100644 index 0000000000..eab58e47e8 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alpha_uv_tex_array.frag @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) out vec4 out_color; +layout(binding = 0) uniform sampler2DArray input_rgbs; + +in vec2 out_uv; + +uniform float alpha; +uniform int slice; + +void main() { + vec3 uv_cam = vec3(out_uv, slice); + out_color = vec4(texture(input_rgbs, uv_cam).xyz, alpha); +} diff --git a/SIBR_viewers/src/core/view/shaders/alphaimgview.fp b/SIBR_viewers/src/core/view/shaders/alphaimgview.fp new file mode 100644 index 0000000000..d7c3b3fb89 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alphaimgview.fp @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(binding = 0) uniform sampler2D tex; +layout(location= 0) out vec4 out_color; + +in vec2 tex_coord; +uniform float alpha; + +void main(void) { + vec2 texcoord = tex_coord ; + out_color = vec4(texture(tex,texcoord).rgb, alpha); +} diff --git a/SIBR_viewers/src/core/view/shaders/alphaimgview.vp b/SIBR_viewers/src/core/view/shaders/alphaimgview.vp new file mode 100644 index 0000000000..ba6679111f --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/alphaimgview.vp @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) in vec2 in_vertex; +layout(location = 1) in vec2 in_texcoord; + +out vec2 tex_coord; + +uniform vec4 imagefit; + +vec2 fitTexcoord( vec2 tc ) { + tc.x = tc.x*imagefit[0] + imagefit[2+0]; + tc.y = tc.y*imagefit[1] + imagefit[2+1]; + return tc; +} + +void main(void) { + gl_Position = vec4(in_vertex, 0.0, 1.0); + tex_coord = fitTexcoord(in_texcoord); +} diff --git a/SIBR_viewers/src/core/view/shaders/anaglyph.fp b/SIBR_viewers/src/core/view/shaders/anaglyph.fp new file mode 100644 index 0000000000..c5b5b997d2 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/anaglyph.fp @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(binding = 0) uniform sampler2D left; +layout(binding = 1) uniform sampler2D right; +layout(location= 0) out vec4 out_color; + +in vec2 vertex_coord; + +void main(void) { + vec2 texcoord = (vertex_coord + vec2(1.0)) / 2.0; + vec4 cl = texture(left, texcoord); + vec4 cr = texture(right, texcoord); + out_color = vec4(cl.r, cr.g, cr.b, 1.0); +} diff --git a/SIBR_viewers/src/core/view/shaders/anaglyph.vp b/SIBR_viewers/src/core/view/shaders/anaglyph.vp new file mode 100644 index 0000000000..910b4f4316 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/anaglyph.vp @@ -0,0 +1,22 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) in vec2 in_vertex; + +out vec2 vertex_coord; + +void main(void) { + gl_Position = vec4(in_vertex, 0.0, 1.0); + vertex_coord = in_vertex; +} diff --git a/SIBR_viewers/src/core/view/shaders/axisgizmo.fp b/SIBR_viewers/src/core/view/shaders/axisgizmo.fp new file mode 100644 index 0000000000..bcaf4f5f43 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/axisgizmo.fp @@ -0,0 +1,20 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +in vec3 axis_color; +out vec4 out_color; + +void main(void) { + out_color = vec4(axis_color, 1.0); +} diff --git a/SIBR_viewers/src/core/view/shaders/axisgizmo.vp b/SIBR_viewers/src/core/view/shaders/axisgizmo.vp new file mode 100644 index 0000000000..9fd55cde8b --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/axisgizmo.vp @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; +layout(location = 1) in vec3 in_color; + +out vec3 axis_color; + +void main(void) { + axis_color = in_color; + gl_Position = MVP * vec4(in_vertex,1.0); +} diff --git a/SIBR_viewers/src/core/view/shaders/camstub.fp b/SIBR_viewers/src/core/view/shaders/camstub.fp new file mode 100644 index 0000000000..b4fb5bf0dc --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/camstub.fp @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform vec3 color; + +out vec4 out_color; + +void main(void) { + out_color = vec4(color, 1.0); +} diff --git a/SIBR_viewers/src/core/view/shaders/camstub.vp b/SIBR_viewers/src/core/view/shaders/camstub.vp new file mode 100644 index 0000000000..9476f4f10f --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/camstub.vp @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; + +layout(location = 0) in vec3 in_vertex; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); +} diff --git a/SIBR_viewers/src/core/view/shaders/depth.fp b/SIBR_viewers/src/core/view/shaders/depth.fp new file mode 100644 index 0000000000..dbcfb3f062 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/depth.fp @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) out vec4 out_color; +layout(binding = 0) uniform sampler2D image; /// \todo TODO: remove + +//in vec3 vertex_coord; +//uniform vec3 iCamPos; + +uniform vec2 size; + +void main(void) { + vec2 tC = gl_FragCoord.xy / size; + out_color.xyz = vec3(0.0);//texture(image, tC.xy).xyz; + out_color.w = gl_FragCoord.z; + //out_color.w = distance(vertex_coord, iCamPos); +} diff --git a/SIBR_viewers/src/core/view/shaders/depth.vp b/SIBR_viewers/src/core/view/shaders/depth.vp new file mode 100644 index 0000000000..49bb956470 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/depth.vp @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 proj; + +layout(location = 0) in vec3 in_vertex; + +//out vec2 texture_coord; +//out vec3 normal_coord; + +void main(void) { + gl_Position = proj * vec4(in_vertex,1.0); +} diff --git a/SIBR_viewers/src/core/view/shaders/depthonly.fp b/SIBR_viewers/src/core/view/shaders/depthonly.fp new file mode 100644 index 0000000000..3c34d3ff91 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/depthonly.fp @@ -0,0 +1,19 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) out float out_color; + +void main(void) { + out_color = gl_FragCoord.z; +} diff --git a/SIBR_viewers/src/core/view/shaders/depthonly.vp b/SIBR_viewers/src/core/view/shaders/depthonly.vp new file mode 100644 index 0000000000..9863f64c30 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/depthonly.vp @@ -0,0 +1,21 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 proj; + +layout(location = 0) in vec3 in_vertex; + +void main(void) { + gl_Position = proj * vec4(in_vertex,1.0); +} diff --git a/SIBR_viewers/src/core/view/shaders/image_viewer.frag b/SIBR_viewers/src/core/view/shaders/image_viewer.frag new file mode 100644 index 0000000000..60baa6ea59 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/image_viewer.frag @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +in vec2 texcoord; + +layout(binding = 0) uniform sampler2D in_texture; + +uniform vec4 minVal = vec4(0.0); +uniform vec4 maxVal = vec4(1.0); +uniform vec4 channels = vec4(1.0); + +layout(location = 0) out vec4 out_color; + +void main(void) +{ + if(any(greaterThan(texcoord, vec2(1.0))) || any(lessThan(texcoord, vec2(0.0)))){ + discard; + } + + vec4 col = texture(in_texture, texcoord); + // Rescale. + out_color = channels*(col - minVal)/(maxVal - minVal); + + // If only one channel is enabled, no alpha and B&W image. + if(dot(channels, vec4(1.0)) == 1.0){ + float val = dot(out_color, channels); + out_color.rgb = vec3(val); + out_color.a = 1.0; + } + + // Ensure visibility when alpha is disabled. + if(channels[3] == 0.0f){ + out_color.a; + } +} diff --git a/SIBR_viewers/src/core/view/shaders/image_viewer.vert b/SIBR_viewers/src/core/view/shaders/image_viewer.vert new file mode 100644 index 0000000000..d6254fee36 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/image_viewer.vert @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) in vec3 in_vertex; + +uniform float scale; +uniform vec2 pos; +uniform vec2 size; +uniform bool correctRatio; + +out vec2 texcoord; + +void main(void) { + vec2 position = scale * vec2(1.0, correctRatio ? (size.y/size.x) : 1.0) * in_vertex.xy + pos; + gl_Position = vec4(in_vertex.xy, 0.0, 1.0); + texcoord = position * 0.5 + 0.5; +} diff --git a/SIBR_viewers/src/core/view/shaders/mesh_color.fp b/SIBR_viewers/src/core/view/shaders/mesh_color.fp new file mode 100644 index 0000000000..7f54cde683 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/mesh_color.fp @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform vec3 lightDir; + +out vec4 out_color; + +in vec3 color_vert; +in vec3 vertexPos; +in vec3 normalPos; + +void main(void) { + float kd = 0.2; + vec3 normal = normalize(normalPos); + vec3 shading = max(0.0,dot(lightDir,normal))*color_vert; + + out_color = vec4( (1.0-kd)*color_vert + kd*shading, 1.0); + //out_color = vec4( normal , 1.0 ); +} diff --git a/SIBR_viewers/src/core/view/shaders/mesh_color.vp b/SIBR_viewers/src/core/view/shaders/mesh_color.vp new file mode 100644 index 0000000000..e120cabc2c --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/mesh_color.vp @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; +uniform mat4 invMV; + +layout(location = 0) in vec3 in_vertex; +layout(location = 1) in vec3 in_color; +layout(location = 3) in vec3 in_normal; + +out vec3 color_vert; +out vec3 vertexPos; +out vec3 normalPos; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + vertexPos = vec3(MVP * vec4(in_vertex,1.0)); + normalPos = vec3(invMV*vec4(in_normal,1.0)); + + color_vert = in_color; +} diff --git a/SIBR_viewers/src/core/view/shaders/mesh_debugview.fp b/SIBR_viewers/src/core/view/shaders/mesh_debugview.fp new file mode 100644 index 0000000000..6e5b9d366e --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/mesh_debugview.fp @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform vec3 lightDir; + +uniform bool hasNormal = true; +out vec4 out_color; + +in vec3 color_vert; +in vec3 vertexPos; +in vec3 normalPos; + +void main(void) { + float kd = 0.8; + float ks = 0.15; + float diffuse = 1.0; + float specular = 0.0; + + if(hasNormal){ + vec3 L = normalize(lightDir); + vec3 N = normalize(normalPos); + vec3 R = reflect(L,N);//2.0*dot(L,N)*N - N; + vec3 V = L; + diffuse = max(0.0, dot(L,N)); + specular = max(0.0, dot(R,V)); + } + out_color.rgb = (1.0-kd-ks)*color_vert + kd*diffuse*color_vert + ks*specular; + out_color.a = 1.0; + +} diff --git a/SIBR_viewers/src/core/view/shaders/mesh_debugview.vp b/SIBR_viewers/src/core/view/shaders/mesh_debugview.vp new file mode 100644 index 0000000000..d0a8d1ca2d --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/mesh_debugview.vp @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 MVP; +uniform mat4 invMV; +uniform bool hasColor = true; +uniform vec3 defaultColor = vec3(0.9,0.9,0.9); + +layout(location = 0) in vec3 in_vertex; +layout(location = 1) in vec3 in_color; +layout(location = 3) in vec3 in_normal; + +out vec3 color_vert; +out vec3 vertexPos; +out vec3 normalPos; + +void main(void) { + gl_Position = MVP * vec4(in_vertex,1.0); + vertexPos = vec3(MVP * vec4(in_vertex,1.0)); + normalPos = vec3(vec4(in_normal,1.0)); + + color_vert = hasColor ? in_color : defaultColor; +} diff --git a/SIBR_viewers/src/core/view/shaders/mesh_normal.fp b/SIBR_viewers/src/core/view/shaders/mesh_normal.fp new file mode 100644 index 0000000000..3b8b52c009 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/mesh_normal.fp @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) out vec4 out_color; + +in vec3 normal_coord; + +void main(void) { + vec3 color = vec3(normalize(normal_coord)); + color = color * 0.5 + 0.5; + out_color = vec4(color, 1.0); + //out_color = vec4(dot(normal_coord, vec3(0.58,-0.58,0.08))); + if (length(normal_coord) == 0.0) { // no normal present + out_color = vec4(0.8); + } +} diff --git a/SIBR_viewers/src/core/view/shaders/mesh_normal.vp b/SIBR_viewers/src/core/view/shaders/mesh_normal.vp new file mode 100644 index 0000000000..dba563f8f9 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/mesh_normal.vp @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform mat4 proj; + +layout(location = 0) in vec3 in_vertex; +//layout(location = 1) in vec2 in_texcoord; +layout(location = 1) in vec3 in_normal; + +//out vec2 texture_coord; +out vec3 normal_coord; + +void main(void) { + gl_Position = proj * vec4(in_vertex,1.0); + //texture_coord = in_texcoord; + normal_coord = in_normal; +} diff --git a/SIBR_viewers/src/core/view/shaders/number.fp b/SIBR_viewers/src/core/view/shaders/number.fp new file mode 100644 index 0000000000..19adc1b71e --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/number.fp @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +in vec2 uv_coord; + +uniform float value; +uniform int count; + +out vec4 out_color; + +const float digits[10] = float[](0x69996,0x26222,0x6924F,0x69396,0x99F11,0xF861E,0x68E96,0xF1248,0x69696,0x69716); + +float printDigit(int digit, vec2 position){ + // Margin scaling/shift + position *= 1.4; + position -= 0.2; + // Early discard. + if(position.x < 0.0 || position.x > 1.0 || position.y < 0.0 || position.y > 1.0){ + return 0.0; + } + // [0,1] -> discrete[0,4]x[0,5] + vec2 newPos = floor(vec2(4.0-4.0*position.x,5.0*position.y)); + // -> corresponding bit + float index = 4*newPos.y + newPos.x; + // -> get the index-th bit + float isIn = mod(floor(digits[digit]/pow(2.0,index)),2.0); + return isIn; +} + +float printPoint(vec2 position){ + position *= 1.4; + position -= 0.02; + if(position.x < 0.0 || position.x > 1.0 || position.y < 0.0 || position.y > 1.0){ + return 0.0; + } + return length(position - vec2(0.2, 0.4)) < 0.182 ? 1.0 : 0.0; + +} + +void main(void) { + float deca = printDigit(int(mod(value/10,10)), uv_coord); + float unit = printDigit(int(mod(value,10)), uv_coord-vec2(1.0,0.0)); + float deci = printDigit(int(mod(value*10,10)), uv_coord-vec2(2.5,0.0)); + float centi = printDigit(int(mod(value*100,10)), uv_coord-vec2(3.5,0.0)); + float point = printPoint(uv_coord-vec2(2.0,0.0)); + float color = clamp(deca+unit+deci+centi+point,0.0,1.0); + out_color = vec4(color,color, color, 1.0); +} diff --git a/SIBR_viewers/src/core/view/shaders/number.vp b/SIBR_viewers/src/core/view/shaders/number.vp new file mode 100644 index 0000000000..e8f338eb52 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/number.vp @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +uniform vec2 position; +uniform vec2 scale; +uniform int count; + +layout(location = 0) in vec3 in_vertex; +out vec2 uv_coord; + +void main(void) { + uv_coord = vec2(count+0.5, 1.0) * (in_vertex.xy * 0.5 + 0.5); + gl_Position = vec4(scale * vec2(count, 1.0) * (in_vertex.xy - position) + position,0.0, 1.0); +} diff --git a/SIBR_viewers/src/core/view/shaders/skybox.fp b/SIBR_viewers/src/core/view/shaders/skybox.fp new file mode 100644 index 0000000000..3eb2cdd9f9 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/skybox.fp @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#version 420 + +layout(binding = 0) uniform samplerCube in_CubeMap; +layout(location= 0) out vec4 out_Color; + +in VSOUT +{ + vec3 tc; +} in_Frag; + +void main(void) +{ + out_Color = texture(in_CubeMap, in_Frag.tc); +} diff --git a/SIBR_viewers/src/core/view/shaders/skybox.vp b/SIBR_viewers/src/core/view/shaders/skybox.vp new file mode 100644 index 0000000000..d7d5aacb84 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/skybox.vp @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#version 420 + +out VSOUT +{ + vec3 tc; +} out_Vert; + +uniform mat4 in_View; +uniform vec2 in_Aspect; + + +const float fov = 70.0; +const float vecZ = in_Aspect.y / tan(radians(fov / 2.0)); +//const float vecZ = 0.8033332538; + +mat3 rotationMatrix(vec3 axis, float angle) +{ + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + return mat3(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, + oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, + oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c); +} + +void main(void) +{ + + vec2[4] vertices = vec2[4](vec2(-1.0, -1.0), + vec2( 1.0, -1.0), + vec2(-1.0, 1.0), + vec2( 1.0, 1.0)); + + + vec3 vertex = vec3(vertices[gl_VertexID], -1.0); + + // out gl_Position + gl_Position = vec4(vertex, 1.0); + + vertex.y = vertex.y * in_Aspect.y; + vertex.z = -vecZ; + + out_Vert.tc = mat3(in_View) * vertex; + //out_Vert.tc = rotationMatrix(vec3(1,0,0), -1.14) * out_Vert.tc; + out_Vert.tc.z = -out_Vert.tc.z; +} diff --git a/SIBR_viewers/src/core/view/shaders/text-imgui.fp b/SIBR_viewers/src/core/view/shaders/text-imgui.fp new file mode 100644 index 0000000000..72e45966ba --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/text-imgui.fp @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout (location = 0) out vec4 fragColor; + +in INTERFACE { + vec4 col; + vec2 uv; +} In ; + +uniform sampler2D tex; + +void main(){ + fragColor = In.col * texture(tex, In.uv); +} diff --git a/SIBR_viewers/src/core/view/shaders/text-imgui.vp b/SIBR_viewers/src/core/view/shaders/text-imgui.vp new file mode 100644 index 0000000000..6e67cae8d8 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/text-imgui.vp @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +// Attributes +layout(location = 0) in vec3 in_vertex; +layout(location = 1) in vec3 in_color; +layout(location = 2) in vec2 in_uv; +//layout(location = 3) in vec3 in_normal; + +// Uniforms +uniform vec3 position = vec3(0.0,0.0,0.0); // Position in NDC space +uniform float scale = 1.0; +uniform vec2 viewport = vec2(1.0); +uniform bool forceOpacity = true; + +out INTERFACE { + vec4 col; + vec2 uv; +} Out ; + +void main(){ + // Should be in -1,1 + // Multiply by the w component to stay at a constant screen size. + gl_Position = vec4(position.xy+scale*in_vertex.xy/viewport, 0.0, 1.0); + Out.uv = in_uv; + Out.col = vec4(in_color, forceOpacity ? 1.0 : in_vertex.z); +} diff --git a/SIBR_viewers/src/core/view/shaders/texture.fp b/SIBR_viewers/src/core/view/shaders/texture.fp new file mode 100644 index 0000000000..ee57f7b8ca --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/texture.fp @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(binding = 0) uniform sampler2D tex; +layout(location= 0) out vec4 out_color; + +in vec2 tex_coord; + +void main(void) { + vec2 texcoord = tex_coord ; + out_color = texture(tex,texcoord); +} diff --git a/SIBR_viewers/src/core/view/shaders/texture.vp b/SIBR_viewers/src/core/view/shaders/texture.vp new file mode 100644 index 0000000000..7b096189f2 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/texture.vp @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) in vec2 in_vertex; +layout(location = 1) in vec2 in_texcoord; + +out vec2 tex_coord; + +void main(void) { + gl_Position = vec4(in_vertex, 0.0, 1.0); + tex_coord = in_texcoord; +} diff --git a/SIBR_viewers/src/core/view/shaders/topview.fp b/SIBR_viewers/src/core/view/shaders/topview.fp new file mode 100644 index 0000000000..f085cb78af --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/topview.fp @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/** + * \file topview.fp + * + * Basic shader to render textured/colored geometry + */ + +#version 420 + +layout(binding = 0) uniform sampler2D tex;/**< Input texture */ +layout(location= 0) out vec4 out_color; /**< Output texture map */ + +uniform vec4 in_color; /**< Uniform color */ +in vec4 texcoord; /**< Texture coords at current pixel */ + +void main(void) { + vec4 c1 = texture(tex,texcoord.xy); + vec4 c2 = in_color; + out_color = c2.a*in_color + clamp(1.0-c2.a,0.0,1.0)*c1; +} diff --git a/SIBR_viewers/src/core/view/shaders/topview.vp b/SIBR_viewers/src/core/view/shaders/topview.vp new file mode 100644 index 0000000000..f46815ec16 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/topview.vp @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/** \file topview.vp + * + * Vertex shader with projection and modelview transformations + * for rendering top view + */ + +#version 420 + +layout(location = 0) in vec4 in_vertex; /**< Input vertex coordinates */ +layout(location = 1) in vec4 in_texcoord; /**< Input texture coordinates */ + +uniform mat4 proj; /**< Projection matrix */ +out vec4 texcoord; /**< Output texture coordinates */ + +void main(void) { + gl_Position = proj * in_vertex; + texcoord = in_texcoord; +} diff --git a/SIBR_viewers/src/core/view/shaders/uv_mesh.vert b/SIBR_viewers/src/core/view/shaders/uv_mesh.vert new file mode 100644 index 0000000000..2e5a9f3be7 --- /dev/null +++ b/SIBR_viewers/src/core/view/shaders/uv_mesh.vert @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) in vec3 in_vertex; +layout(location = 2) in vec2 in_uv; + +out vec2 out_uv; + +uniform mat4 mvp; + +void main() { + out_uv = in_uv; + gl_Position = mvp * vec4(in_vertex, 1.0); +} diff --git a/SIBR_viewers/src/core/view/sibr_view.dox b/SIBR_viewers/src/core/view/sibr_view.dox new file mode 100644 index 0000000000..50180dbea9 --- /dev/null +++ b/SIBR_viewers/src/core/view/sibr_view.dox @@ -0,0 +1,18 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! + \defgroup sibr_view sibr_view + + \brief View, camera, high-level rendering utilities. + +*/ diff --git a/SIBR_viewers/src/projects/dataset_tools/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/CMakeLists.txt new file mode 100644 index 0000000000..3fa2d5be6d --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/CMakeLists.txt @@ -0,0 +1,17 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + + +project(sibr_dataset_tools_all) + +add_subdirectory(preprocess) + +include(install_runtime) +subdirectory_target(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR} "projects/dataset_tools") diff --git a/SIBR_viewers/src/projects/dataset_tools/documentation/dataset_tools.dox b/SIBR_viewers/src/projects/dataset_tools/documentation/dataset_tools.dox new file mode 100644 index 0000000000..78c5260337 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/documentation/dataset_tools.dox @@ -0,0 +1,113 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page sibr_projects_dataset_tools Dataset Preprocessing Tools + +This page contains the documentation for various tools developed for treating multi-view datasets used for image-based rendering. These deal with calibrated cameras (typically with Structure-from-Motion / SfM), 3D meshes reconstructed with SfM and Multi-View Stereo (MVS) and various other utilities. + +For information on datasets, see the @ref howto_generate_dataset. + +We next present a set preprocessing tools used in the various toolchains to prepare data for IBR *Projects*. + +\subsection sibr_projects_dataset_tools_preprocess_tools Preprocessing tools + + +\subsubsection sibr_projects_dataset_tools_preprocess_tools_cameraConverter cameraConverter + +Utility to convert between camera path formats (blender: .lookAt, bundler: .out, colmap: .txt, internal binary format: .bin,...). This is useful for comparisons (see the \ref comparisonsPage) + +\subsubsection sibr_projects_dataset_tools_preprocess_tools_clippingPlanes clippingPlanes + +Calculates near and far planes for each image and writes to file clipping_planes.txt. This is used while creating the dataset. In some cases (e.g., [Chaurasia 13] and [Ortiz-Cayon 15] we need to have the same clipping planes for all images). + +\subsubsection sibr_projects_dataset_tools_preprocess_tools_converters converters + +Converters include python scripts to generate various files. In *install/scripts*, run +``` +python generate_list_images.py --imagesPath IMAGESPATH + +[--outputPath OUTPUTPATH ] +[--filename FILENAME ] +``` +That generates "list_images.txt" file in a directory IMAGESPATH containing images, optional arguments are the outputpath and filename. + +``` +ibr_preprocess_rc_to_sibr.py +``` +See \ref howto_generate_dataset + +``` +simplify_mesh.py +``` +Used in *fullcolmapProcess* (see below), and uses *meshlabServer* to simplify a mesh. + +``` +wedge_to_vertices_uvs.py +``` +converts a mesh from wedge uvs to vertex uvs, again using *meshlabServer*. + + +\subsubsection sibr_projects_dataset_tools_preprocess_tools_cropFromCenter cropFromCenter + +Utility to crop images so they are centered and have the same size. Used for preprocessing in [Chaurasia 13] and [Ortiz-Cayon 15]. + +\subsubsection sibr_projects_dataset_tools_preprocess_tools_distordCrop distordCrop + +Undistort images and then send to *cropFromCenter* above. + +\subpage sibr_projects_dataset_tools_preprocess_tools_fullColmapProcess fullColmapProcess: from images to a colmap dataset + + +\subsubsection sibr_projects_dataset_tools_preprocess_tools_nvmToSIBR nvmToSIBR + +Convert from VisualSFM .nvm format for calibrated cameras to SIBR format + + +\subsubsection sibr_projects_dataset_tools_preprocess_tools_unwrapMesh unwrapMesh + +``` +unwrapMesh_rwdi.exe or +unwrapMesh.exe + --appPath define a custom app path (default: "./") + --help display this help message (default: disabled) + --output path to the output mesh (default: "") + --path path to the mesh [required] + --size target UV map width (approx.) (default: 4096) + --texture-name name of the texture to reference in the output mesh (Meshlab compatible) (default: "TEXTURE_NAME_TO_PUT_IN_THE_FILE") + --visu save visualisation (default: disabled) +``` + +Calls xatlas to compute UV coordinates of a mesh (not adapted to complex meshes, works but really long); typical use involves calling simplify mesh first. + +\subsubsection sibr_projects_dataset_tools_preprocess_tools_textureMesh textureMesh + +``` +textureMesh_rwdi.exe or +textureMesh.exe + --path PATH_TO_DATASET [required] + --output PATH_TO_OUTPUT_FILE.png [required] + --size [default=8192] + --flood + --poisson +``` + +Given a mesh with UV coordinates (typically using unwrapMesh) and calibrated cameras, produces a texture atlas, with optional arguments for texture resolution, flood or poisson filling. + +\subsection Deprecated + +\subsubsection sibr_projects_dataset_tools_preprocess_tools_tonemapper tonemapper + +\subsubsection sibr_projects_dataset_tools_preprocess_tools_meshroomPythonScripts meshroomPythonScripts +Utilities for Meshroom use (untested) + +*/ diff --git a/SIBR_viewers/src/projects/dataset_tools/documentation/dataset_tools_doc.cmake b/SIBR_viewers/src/projects/dataset_tools/documentation/dataset_tools_doc.cmake new file mode 100644 index 0000000000..90e37bf47c --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/documentation/dataset_tools_doc.cmake @@ -0,0 +1,13 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +set(PROJECT_PAGE "sibr_projects_dataset_tools") +set(PROJECT_LINK "https://gitlab.inria.fr/sibr/sibr_core") +set(PROJECT_TYPE "SAMPLES") diff --git a/SIBR_viewers/src/projects/dataset_tools/documentation/fullColmapProcess.dox b/SIBR_viewers/src/projects/dataset_tools/documentation/fullColmapProcess.dox new file mode 100644 index 0000000000..56126a8943 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/documentation/fullColmapProcess.dox @@ -0,0 +1,219 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page sibr_projects_dataset_tools_preprocess_tools_fullColmapProcess fullColmapProcess : running the full Colmap pipeline for SIBR + +\section ColmapInstallRequirements Install requirements + +- Colmap 3.6: https://demuc.de/colmap/ + +You can choose the Pre-Release of Release Version for Windows. The .bat file corresponds +to the application. Download and install it in any folder. + +- Dataset tools projects (available in sibr core) + +Install the SIBR Core on your computer : https://gitlab.inria.fr/sibr/sibr_core + +The page contains all the steps to install it. + +Choose the BUILD_IBR_DATASET_TOOLS option in CMAKE, BUILD and INSTALL the dataset_tools project (Apps and Preprocess). + + +\subsection ColmapHToPrepareDataset How to prepare the dataset +- Create the directory which will contain the future dataset +- In the dataset directory, create a new directory with the name images +- In the images directory, place your images that you want to use to create +the SIBR dataset + +Your dataset architecture should correspond to this: + +\verbatim + dataset/ # your dataset directory + images/ # your images directory + im001.jpeg + im002.jpeg + im003.jpeg + im004.jpeg + ... +\endverbatim + + +\subsection ColmapHToRunPipeline How to run the pipeline + +This section shows the different steps that you need to run to create the dataset. +The SIBR ULR project contains some applications which allows to run Colmap, generate UVs +and create a textured mesh. All the steps can be directly done through the +fullColmapProcess python script. + +You can run the script as an executable in bash-like command, or call it through python on cmd : + +\code +# from cmd +λ python .\install\scripts\fullColmapProcess.py --help +# from git bash / cygwin / msys2 +❯ ./install/scripts/fullColmapProcess.py --help + +usage: fullColmapProcess.py [-h] --path PATH --colmapPath COLMAPPATH [--sibrBinariesPath SIBRBINARIESPATH] [--quality {default,low,medium,average,high,extreme}] [--with_texture] [--numGPUs NUMGPUS] + [--SiftExtraction.max_image_size SIFTEXTRACTION_IMAGESIZE] [--SiftExtraction.estimate_affine_shape SIFTEXTRACTION_ESTIMATEAFFINESHAPE] [--SiftExtraction.domain_size_pooling SIFTEXTRACTION_DOMAINSIZEPOOLING] + [--SiftExtraction.max_num_features SIFTEXTRACTION_MAXNUMFEATURES] [--ImageReader.single_camera IMAGEREADER_SINGLECAMERA] [--ExhaustiveMatching.block_size EXHAUSTIVEMATCHER_EXHAUSTIVEMATCHINGBLOCKSIZE] + [--Mapper.ba_local_max_num_iterations MAPPER_MAPPERDOTBALOCALMAXNUMITERATIONS] [--Mapper.ba_global_max_num_iterations MAPPER_MAPPERDOTBAGLOBALMAXNUMITERATIONS] + [--Mapper.ba_global_images_ratio MAPPER_MAPPERDOTBAGLOBALIMAGESRATIO] [--Mapper.ba_global_points_ratio MAPPER_MAPPERDOTBAGLOBALPOINTSRATIO] + [--Mapper.ba_global_max_refinements MAPPER_MAPPERDOTBAGLOBALMAXREFINEMENTS] [--Mapper.ba_local_max_refinements MAPPER_MAPPERDOTBALOCALMAXREFINEMENTS] + [--PatchMatchStereo.max_image_size PATCHMATCHSTEREO_PATCHMATCHSTEREODOTMAXIMAGESIZE] [--PatchMatchStereo.window_radius PATCHMATCHSTEREO_PATCHMATCHSTEREODOTWINDOWRADIUS] + [--PatchMatchStereo.window_step PATCHMATCHSTEREO_PATCHMATCHSTEREODOTWINDOWSTEP] [--PatchMatchStereo.num_samples PATCHMATCHSTEREO_PATCHMATCHSTEREODOTNUMSAMPLES] + [--PatchMatchStereo.num_iterations PATCHMATCHSTEREO_PATCHMATCHSTEREODOTNUMITERATIONS] [--PatchMatchStereo.geom_consistency PATCHMATCHSTEREO_PATCHMATCHSTEREODOTGEOMCONSISTENCY] + [--StereoFusion.check_num_images STEREOFUSION_CHECKNUMIMAGES] [--StereoFusion.max_image_size STEREOFUSION_MAXIMAGESIZE] + +optional arguments: + -h, --help show this help message and exit + --path PATH path to your dataset folder + --colmapPath COLMAPPATH + colmap path directory which contains colmap.bat / colmap.bin + --sibrBinariesPath SIBRBINARIESPATH + binaries directory of SIBR + --quality {default,low,medium,average,high,extreme} + quality of the reconstruction + --with_texture Add texture steps + --numGPUs NUMGPUS number of GPUs allocated to Colmap + --SiftExtraction.max_image_size SIFTEXTRACTION_IMAGESIZE + --SiftExtraction.estimate_affine_shape SIFTEXTRACTION_ESTIMATEAFFINESHAPE + --SiftExtraction.domain_size_pooling SIFTEXTRACTION_DOMAINSIZEPOOLING + --SiftExtraction.max_num_features SIFTEXTRACTION_MAXNUMFEATURES + --ImageReader.single_camera IMAGEREADER_SINGLECAMERA + --ExhaustiveMatching.block_size EXHAUSTIVEMATCHER_EXHAUSTIVEMATCHINGBLOCKSIZE + --Mapper.ba_local_max_num_iterations MAPPER_MAPPERDOTBALOCALMAXNUMITERATIONS + --Mapper.ba_global_max_num_iterations MAPPER_MAPPERDOTBAGLOBALMAXNUMITERATIONS + --Mapper.ba_global_images_ratio MAPPER_MAPPERDOTBAGLOBALIMAGESRATIO + --Mapper.ba_global_points_ratio MAPPER_MAPPERDOTBAGLOBALPOINTSRATIO + --Mapper.ba_global_max_refinements MAPPER_MAPPERDOTBAGLOBALMAXREFINEMENTS + --Mapper.ba_local_max_refinements MAPPER_MAPPERDOTBALOCALMAXREFINEMENTS + --PatchMatchStereo.max_image_size PATCHMATCHSTEREO_PATCHMATCHSTEREODOTMAXIMAGESIZE + --PatchMatchStereo.window_radius PATCHMATCHSTEREO_PATCHMATCHSTEREODOTWINDOWRADIUS + --PatchMatchStereo.window_step PATCHMATCHSTEREO_PATCHMATCHSTEREODOTWINDOWSTEP + --PatchMatchStereo.num_samples PATCHMATCHSTEREO_PATCHMATCHSTEREODOTNUMSAMPLES + --PatchMatchStereo.num_iterations PATCHMATCHSTEREO_PATCHMATCHSTEREODOTNUMITERATIONS + --PatchMatchStereo.geom_consistency PATCHMATCHSTEREO_PATCHMATCHSTEREODOTGEOMCONSISTENCY + --StereoFusion.check_num_images STEREOFUSION_CHECKNUMIMAGES + --StereoFusion.max_image_size STEREOFUSION_MAXIMAGESIZE +\endcode + +\image HTML colmapfullpipeline.png + +- Colmap creates a reconstruction from your images +- UnwrapMesh program gens UV coordinates on the mesh +- colmapToSibr creates the architecture and files required by a SIBR scene +- TextureMesh create a texture and bind it to the reconstruction. + +\subsubsection ColmapInputArgs Input arguments + +Required arguments: + +\code +--path YOUR_DATA_PATH +\endcode + +The path to your dataset folder. It must contain an images folder with images of your captured scene + +Optional arguments: + +\code +--colmapPath COLMAP_DIR +\endcode + +The directory containing the colmap.bat executable (if not provided, it will look for a `COLMAP_PATH` environment variable, or use `C:\Program Files\Colmap`) + +\code +--meshlabPath MESHLAB_DIR +\endcode + +The directory containing the meshlabserver executable (if not provided, it will look for a `MESHLAB_PATH` environment variable, or use `C:\Program Files\VCG\Meshlab`) + +\code +--sibrBinariesPath YOUR_SIBR_DIR\install\bin +\endcode + +That is the directory which contains the binaries of SIBR + +Those optional arguments are about the Colmap parametrization. You have several ways to +set the colmap parameters + +- Use a pre-defined configuration. You have 4 configurations : low, medium, high, extreme. +If you don't use a pre-defined configuration, all the parameters are set to the default +value ( usually it is a mix between high and extreme ). To apply it, use the +\code +--quality +\endcode option + +- Specify the parameters separately. You can set each parameters by yourself. Here is +a tab contains the default values and the values for each pre-defined configuration: + + | parameters | default | low | medium | average | high | extreme | + | ---------------------------------------------------- | ------------- | ----- | ------------- | ------------- | ------------- | ------------- | + | **colmap feature_extractor** ||||||| + | siftExtraction_ImageSize | 3200 | 1000 | 1600 | 3200 | 2400 | 3200 | + | siftExtraction_EstimateAffineShape | false | false | false | false | true | true | + | siftExtraction_DomainSizePooling | false | false | false | false | false | true | + | siftExtraction_MaxNumFeatures | 16000 | 8192 | 8192 | 8192 | 8192 | 8192 | + | imageReader_SingleCamera | false | true | true | true | true | true | + | **colmap exhaustive_matcher** ||||||| + | exhaustiveMatcher_ExhaustiveMatchingBlockSize | 50 | 50 | 50 | 50 | 50 | 50 | + | **colmap mapper** ||||||| + | mapper_MapperDotbaLocalMaxNumIterations | 25 | 12 | 16 | 25 | 30 | 40 | + | mapper_MapperDotbaGlobalMaxNumIterations | 50 | 25 | 33 | 50 | 75 | 100 | + | mapper_MapperDotbaGlobalImagesRatio | 1.100001 | 1.32 | 1.21 | 1.100001 | 1.100001 | 1.100001 | + | mapper_MapperDotbaGlobalPointsRatio | 1.100001 | 1.32 | 1.21 | 1.100001 | 1.100001 | 1.100001 | + | mapper_MapperDotbaGlobalMaxRefinements | 5 | 2 | 2 | 5 | 5 | 5 | + | mapper_MapperDotbaLocalMaxRefinements | 2 | 2 | 2 | 2 | 3 | 3 | + | **colmap patch_match_stereo** ||||||| + | patchMatchStereo_PatchMatchStereoDotMaxImageSize | -1 | 1000 | 1600 | -1 | 2400 | -1 | + | patchMatchStereo_PatchMatchStereoDotWindowRadius | 5 | 4 | 4 | 5 | 5 | 5 | + | patchMatchStereo_PatchMatchStereoDotWindowStep | 1 | 2 | 2 | 1 | 1 | 1 | + | patchMatchStereo_PatchMatchStereoDotNumSamples | 15 | 7 | 10 | 15 | 15 | 15 | + | patchMatchStereo_PatchMatchStereoDotNumIterations | 5 | 3 | 5 | 5 | 5 | 5 | + | patchMatchStereo_PatchMatchStereoDotGeomConsistency | 1 | 0 | 0 | 1 | 1 | 1 | + | **colmap stereo_fusion** ||||||| + | stereoFusion_CheckNumImages | 50 | 25 | 33 | 50 | 50 | 50 | + | stereoFusion_MaxImageSize | -1 | 1000 | 1600 | -1 | 2400 | -1 | + +- Mix a pre-defined configuration and your own parameters. First, the parameters +of the pre-defined configuration are applied. Then, your parameters are applied over them. + + + +\subsubsection ColmapInputArgsExamples Input arguments examples + +The most basic version looks like that + + +\code +--path E:\USERNAME\dataset --sibrBinariesPath E:\USERNAME\dev\sibr_basic2\install\bin --colmapPath D:\colmap +\endcode + +\note Do not forget that your dataset path has to contain an image directory with the images inside it. + +Now an example using the pre-defined configuration + +\code +--path E:\USERNAME\dataset --sibrBinariesPath E:\YOU\dev\sibr_basic2\install\bin --colmapPath D:\colmap --quality low +\endcode + +Finally, an example with the mix of the two ways + +\code +--path E:\USERNAME\dataset --sibrBinariesPath E:\YOU\dev\sibr_basic2\install\bin --colmapPath D:\colmap --quality medium --SiftExtraction.max_num_features 4096 +\endcode + +All the parameters will be set to the medium configuration except the max_num_features that +will be setted to 4096. + +*/ \ No newline at end of file diff --git a/SIBR_viewers/src/projects/dataset_tools/documentation/img/colmapfullpipeline.png b/SIBR_viewers/src/projects/dataset_tools/documentation/img/colmapfullpipeline.png new file mode 100644 index 0000000000000000000000000000000000000000..807963fbb674728829ffa9906f91ff792973103a GIT binary patch literal 24920 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 z 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/CMakeLists.txt new file mode 100644 index 0000000000..5d299a53f2 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/CMakeLists.txt @@ -0,0 +1,28 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + + +project(SIBR_dataset_tools_preprocess) + +add_subdirectory(alignMeshes) +add_subdirectory(cameraConverter) +add_subdirectory(clippingPlanes) +add_subdirectory(converters) +add_subdirectory(cropFromCenter) +add_subdirectory(distordCrop) +add_subdirectory(fullColmapProcess) +add_subdirectory(meshroomPythonScripts) +add_subdirectory(nvmToSIBR) +add_subdirectory(textureMesh) +add_subdirectory(tonemapper) +add_subdirectory(unwrapMesh) +add_subdirectory(utils) +add_subdirectory(prepareColmap4Sibr) +add_subdirectory(realityCaptureTools) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/alignMeshes/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/alignMeshes/CMakeLists.txt new file mode 100755 index 0000000000..e19086ed67 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/alignMeshes/CMakeLists.txt @@ -0,0 +1,34 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +# project name +project(alignMeshes) + +# Define build output for project +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + OpenMP::OpenMP_CXX + sibr_assets + sibr_system + sibr_graphics + sibr_renderer +) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/alignMeshes/main.cpp b/SIBR_viewers/src/projects/dataset_tools/preprocess/alignMeshes/main.cpp new file mode 100755 index 0000000000..d5e4b68e75 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/alignMeshes/main.cpp @@ -0,0 +1,883 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define PROGRAM_NAME "sibr_chunk2sibr" +using namespace sibr; + +const char* usage = "" +"Usage: " PROGRAM_NAME " -path -path2 -outPath " "\n" +; + +double distPatch(sibr::ImageRGB& im1, sibr::Vector2i& tpos, sibr::ImageRGB& im2, sibr::Vector2i& spos, int size) { + //only need to check boundaries for target + + + double dist = 0; + for (int i = -size; i <= size; i++) { + for (int j = -size; j <= size; j++) { + sibr::Vector2i debug(spos.x() + i, spos.y() + j); + if (!im2.isInRange(debug.x(), debug.y())) + std::cout << "Pos patch is : " << sibr::Vector2i(spos.x() + i, spos.y() + j) << std::endl; + dist += (im1(tpos.x() + i, tpos.y() + j).cast() - im2(spos.x() + i, spos.y() + j).cast()).squaredNorm(); + } + } + return dist; +} + + +// Convienience function to find the Median Absolute Deviation from a vector of deviations. +// Note that it isn't a strict median( just a quick approximation. ) +float findMAD(const Eigen::VectorXf& vec) { + Eigen::VectorXf vec_ = vec; + // Sort the data in increasing order. + std::sort(vec_.data(), vec_.data() + vec_.size()); + // Return the 'middle' element. + return vec_[((vec_.size() + 1) / 2)]; +} + +// Weight function.( Takes a list of standardized adjusted residuals and returns the square-root-weights for each one ) +// Currently, the Bisquares estimator is used. +// Note that this function should return the square root of the actual weight value since both X and Y are multiplied by this vector. +Eigen::VectorXf weight(Eigen::VectorXf v) { + Eigen::VectorXf vout = v; + + for (int i = 0; i < v.size(); i++) { + float r = v[i]; + vout[i] = ((abs(r) < 1) ? (1 - (r * r)) : 0); + } + + return vout; +} + +#define MAX_ITERS 100 +// Procedure for IRLS( Iterative Reweighted Least Squares ). +void irls(Eigen::MatrixX4f mX, Eigen::VectorXf vY, Eigen::Vector4f& mCoeffs, float tune) { + + Eigen::MatrixXf mX_ = mX; + Eigen::VectorXf vY_ = vY; + // Find the least squares coefficients. + Eigen::Vector4f vC = mX_.jacobiSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(vY); + //Log(EInfo, "Finished solving for LS solution."); + + // Form the leverage value matrix as H = X . ( X_T . X ) . X_T + // Form the leverage factor matrix as 1/sqrt(1 - diag(H)) + Eigen::VectorXf mH = (mX_ * (((mX_.transpose() * mX_).inverse()) * mX_.transpose())).diagonal(); + Eigen::MatrixXf mH_ = (Eigen::VectorXf::Constant(mH.rows(), 1, 1) - mH).cwiseSqrt().cwiseInverse().asDiagonal(); + + std::cout << vC << std::endl; + for (int i = 0; ; i++) { + std::cout << "IRLS: Iteration " << i << ":"; + + // Find residuals: + Eigen::VectorXf resid = vY - mX * vC; + + float mad = findMAD(resid.cwiseAbs()); + + // Calcualte Standardized Adjusted Residuals. + Eigen::VectorXf r = (mH_ * resid * 0.6745) / (mad * tune); + + // Find the root weight of residuals. + Eigen::VectorXf wt = weight(r); + + // Multiply X and Y with the root of the weights. + mX_ = wt.asDiagonal() * mX; + vY_ = wt.asDiagonal() * vY; + + std::cout << "MAD= " << mad << ", "; + + // Regress the weighted X and Y to find weighted least squares optimisation. + Eigen::Vector4f vC_ = mX_.jacobiSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(vY_); + + // Find mean deviation in coefficients. + float meanDiff = (vC - vC_).cwiseAbs().mean(); + std::cout << "MD=" << meanDiff << ","; + // Terminate if the deviation is too small or number of iterations has been exceeded. + if (meanDiff < 0.01f || i > MAX_ITERS) { + mCoeffs = vC_; + std::cout << "\n"; + break; + } + + vC = vC_; + std::cout << "\n"; + } + std::cout << vC << std::endl; +} + +static bool isRawRC(std::string pathRC) +{ + // do we have bundle, mesh and list images ? + sibr::Mesh mesh2Align; + if (!mesh2Align.load(pathRC + "/recon.ply")) { + SIBR_WRG << "***** No file " << pathRC + "/recon.ply ; make sure your mesh has the correct name !!"; + return false; + } + if (!fileExists(pathRC + "/bundle.out")) { + SIBR_WRG << "***** No file " << pathRC + "/bundle.out ; make sure your bundle file has the correct name !!"; + return false; + } + if (!fileExists(pathRC + "/list_images.txt")) { + SIBR_WRG << "***** No file " << pathRC + "/list_images.txt ; make sure you generate the list_images.txt file "; + return false; + } + return true; +} + +static void loadRawRC(std::string pathRC, std::vector& cams2Align, + std::vector& imgs2Align, sibr::Mesh& mesh2Align) +{ + cams2Align = sibr::InputCamera::loadBundle(pathRC + "/bundle.out", 0.01f, 1000.0f, pathRC + "/list_images.txt"); + mesh2Align.load(pathRC + "/recon.ply"); + imgs2Align.resize(cams2Align.size()); + for (int c = 0; c < cams2Align.size(); c++) { + sibr::ImageRGB::Ptr imgPtr; + sibr::ImageRGB img; + if (!img.load(pathRC + "/" + cams2Align[c]->name())) + if (!img.load(pathRC + "/" + cams2Align[c]->name() + ".png")) + if (!img.load(pathRC + "/" + cams2Align[c]->name() + ".jpg")) { + SIBR_ERR << "Error loading dataset to align from " << pathRC; + SIBR_ERR << "Problem loading images from raw RC, exiting "; + } + + imgs2Align[c] = img.clonePtr(); + } +} + +static bool isRawSynthetic(std::string pathSynthetic) +{ + // do we have bundle, mesh and list images ? + sibr::Mesh mesh2Align; + if (!fileExists(pathSynthetic + "/scene.obj")) { + SIBR_WRG << "***** No file " << pathSynthetic + "/scene.obj ; make sure your mesh has the correct name !!"; + return false; + } + if (!fileExists(pathSynthetic + "/cameras.lookat")) { + SIBR_WRG << "***** No file " << pathSynthetic + "/cameras.lookat ; make sure your bundle file has the correct name !!"; + return false; + } + if (!directoryExists(pathSynthetic + "/images")) { + SIBR_WRG << "***** No file " << pathSynthetic + "/images ; make sure you have images folder inside the scene "; + return false; + } + return true; +} + +static void loadRawSynthetic(std::string pathSynthetic, std::vector& cams2Align, + std::vector& imgs2Align, sibr::Mesh& mesh2Align) +{ + cams2Align = sibr::InputCamera::loadLookat(pathSynthetic + "/cameras.lookat", std::vector{sibr::Vector2u(1920, 1080)}, 0.01f, 1000.0f); + SIBR_WRG << "We assume a size of the synthetic images of 1920*1080. If it is not your case, this loading will not work properly"; + mesh2Align.load(pathSynthetic + "/scene.obj"); + imgs2Align.resize(cams2Align.size()); + for (int c = 0; c < cams2Align.size(); c++) { + sibr::ImageRGB::Ptr imgPtr; + sibr::ImageRGB img; + if (!img.load(pathSynthetic + "/images/" + cams2Align[c]->name())) + if (!img.load(pathSynthetic + "/images/" + cams2Align[c]->name() + ".png")) + if (!img.load(pathSynthetic + "/images/" + cams2Align[c]->name() + ".jpg")) { + SIBR_ERR << "Error loading dataset to align from " << pathSynthetic; + SIBR_ERR << "Problem loading images from raw RC, exiting "; + } + + imgs2Align[c] = img.clonePtr(); + } +} + + +int assignImages( + std::vector& imgs2Align, std::vector& imgs2AlignSmall, + std::vector& imgsRef, std::vector& imgsRefSmall, + std::map& alignCamToRef, std::vector& camsRef, std::vector cams2Align, + int resizeW, std::set& assignedCam, float threshold) +{ + int assignCnt = 0; + std::cout << "Assigning " << imgs2Align.size() << " cameras from the set to align to the fixed one: "; + //We then look for closest match and assign it only if the distance between the images is half the median distance + //This prevent issues in the case were a camera is missing from one set + for (int i = 0; i < imgs2Align.size(); i++) { + + std::cout << "Assigning camera " << i << ", "; + + sibr::ImageRGB& im2Align = imgs2AlignSmall[i]; + sibr::Vector2i pos2Align(resizeW / 2, im2Align.h() / 2); + + double minImDist = DBL_MAX; + int bestIm = -1; + + std::vector dists; + std::cerr << "2 ALIGN TESTING " << std::endl; + + cv::Rect centerROI(im2Align.w() / 8, im2Align.h() / 8, 6 * im2Align.w() / 8, 6 * im2Align.h() / 8); + + for (int j = 0; j < imgsRef.size(); j++) { + if (assignedCam.find(j) != assignedCam.end()) + continue; + + sibr::ImageRGB& imRef = imgsRefSmall[j]; + double minDist = DBL_MAX; + int wIm = imRef.w(); + int hIm = imRef.h(); + + for (int dx = -wIm / 8; dx <= wIm / 8; dx += 4) { + for (int dy = -hIm / 8; dy <= hIm / 8; dy += 4) { + cv::Rect shiftROI(dx + wIm / 8, dy + hIm / 8, 6 * wIm / 8, 6 * hIm / 8); + double d = cv::norm(imRef.toOpenCV()(shiftROI), im2Align.toOpenCV()(centerROI)); + if (d < minDist) + { + minDist = d; + } + } + } + + dists.push_back(minDist); + + if (minDist < minImDist) { + minImDist = minDist; + bestIm = j; + + //show(imRef); + //show(im2Align); + } + } + + std::sort(dists.begin(), dists.end()); + std::cerr << " SIZe " << dists.size() << " min " << minImDist << " half " << threshold * dists[dists.size() / 2] << std::endl; + if (dists.size() > 5 && minImDist < threshold * dists[dists.size() / 2]) { + alignCamToRef[i] = bestIm; + assignedCam.emplace(bestIm); + std::wcout << i << " -> " << bestIm << " -- " << cams2Align[i]->name().c_str() << " -> " << camsRef[bestIm]->name().c_str() << std::endl; + assignCnt++; + } + else { + alignCamToRef[i] = -1; + std::wcout << i << " -> " << "Not assigned " << std::endl; + std::wcout << i << " BEST MATCH -> " << bestIm << " -- " << cams2Align[i]->name().c_str() << " -> " << camsRef[bestIm]->name().c_str() << std::endl; + } + + //show(imgs2Align[i]); + //show(imgsRef[bestIm]); + + } + return assignCnt; +} + +InputCamera rot90CC(InputCamera::Ptr& in) +{ + InputCamera rotCam = *in; + rotCam.size(rotCam.h(), rotCam.w()); + rotCam.aspect(1.0f / rotCam.aspect()); + rotCam.fovy(2.0 * atan(0.5 * rotCam.h() / rotCam.focal())); + rotCam.setLookAt(rotCam.position(), rotCam.position() + rotCam.dir(), rotCam.right()); + return rotCam; +} + + +struct AlignMeshesArgs : + virtual BasicIBRAppArgs { + RequiredArg pathRef = { "pathRef", "Path to the fixed scene" }; + RequiredArg pathToAlign = { "path2Align", "Path to the scene to align" }; + RequiredArg outPath = { "out", "Path to the folder where to write the transformed mesh and the matrix" }; + Arg forceLandscape = { "forceLandscape", "Option to force all images to be in landscape orientation before image assignation and correspondances computation" }; + Arg saveScene = { "saveScene", "If true saves entire scene, else only save the transformed mesh and transform.txt file in out dir" + }; +}; + +int main(int ac, char** av) +{ + // Parse Commad-line Args + CommandLineArgs::parseMainArgs(ac, av); + AlignMeshesArgs myArgs; + + //sibr::Window window(100, 100, "Window"); + sibr::Window window(PROGRAM_NAME, sibr::Vector2i(50, 50), myArgs); + int wRender, hRender; + + std::cout << "This method relies on images, cameras and meshes of both scenes." << std::endl; + + // Here is the data strctures that we will use for this program to make it as generic as possible + std::vector imgsRef; + std::vector imgs2AlignOriginal; + std::vector imgs2Align; + + std::vector imgsRefSmall; + std::vector imgs2AlignSmall; + + std::vector camsRef; + std::vector cams2Align; + + sibr::Mesh meshRef; + sibr::Mesh mesh2Align; + //Create the two scenes + + //Load the reference data + IParseData::Type refSceneType; + if (myArgs.pathRef.get() == "") + SIBR_ERR << "Reference path empty"; + BasicIBRAppArgs argsRefScene; + argsRefScene.dataset_path = myArgs.pathRef.get(); + + try { + BasicIBRScene::Ptr sceneRef(new BasicIBRScene(argsRefScene, true)); + + if ((refSceneType = sceneRef->data()->datasetType()) != IParseData::Type::EMPTY) { + meshRef = sceneRef->proxies()->proxy(); + imgsRef = sceneRef->images()->inputImages(); + camsRef = sceneRef->cameras()->inputCameras(); + } + else + SIBR_ERR << "Error loading reference dataset from " << myArgs.pathRef.get(); + } + + catch(...) { + std::cout << "Trying to load Raw RealityCapture or Synthetic data" << std::endl; + if (isRawRC(argsRefScene.dataset_path)) { // try "raw RC" option + loadRawRC(argsRefScene.dataset_path, camsRef, imgsRef, meshRef); + } + else if (isRawSynthetic(argsRefScene.dataset_path)) { + loadRawSynthetic(argsRefScene.dataset_path, camsRef, imgsRef, meshRef); + } + else + SIBR_ERR << "Error loading reference dataset from " << myArgs.pathRef.get(); + } + + + //Load the data for the scene to align + if (myArgs.pathToAlign.get() == "") + SIBR_ERR << "Path to mesh to align empty"; + BasicIBRAppArgs argsAlignScene; + argsAlignScene.dataset_path = myArgs.pathToAlign.get(); + // + try { + BasicIBRScene::Ptr sceneAlign(new BasicIBRScene(argsAlignScene, true)); + + if (sceneAlign->data()->datasetType() != IParseData::Type::EMPTY) { + mesh2Align = sceneAlign->proxies()->proxy(); + imgs2AlignOriginal = sceneAlign->images()->inputImages(); + cams2Align = sceneAlign->cameras()->inputCameras(); + } + else { + SIBR_ERR << "Error loading dataset to align from " << myArgs.pathToAlign.get(); + } + } + + + catch(...) { + std::cout << "Trying to load Raw RealityCapture or Synthetic data" << std::endl; + if (isRawRC(argsAlignScene.dataset_path)){ // try "raw RC" option + loadRawRC(argsAlignScene.dataset_path, cams2Align, imgs2AlignOriginal, mesh2Align); + } + else if (isRawSynthetic(argsAlignScene.dataset_path)) { + loadRawSynthetic(argsAlignScene.dataset_path, cams2Align, imgs2AlignOriginal, mesh2Align); + } + else + SIBR_ERR << "Error loading dataset to align from " << myArgs.pathToAlign.get(); + } + + if (myArgs.forceLandscape) { + for (int c = 0; c < camsRef.size(); c++) { + if (imgsRef[c]->h() > imgsRef[c]->w()) { + //rotate the image + cv::rotate(imgsRef[c]->toOpenCV(), imgsRef[c]->toOpenCVnonConst(), cv::ROTATE_90_COUNTERCLOCKWISE); + //rotate the camera + *camsRef[c] = rot90CC(camsRef[c]); + } + + } + for (int c = 0; c < cams2Align.size(); c++) { + if (imgs2AlignOriginal[c]->h() > imgs2AlignOriginal[c]->w()) { + cv::rotate(imgs2AlignOriginal[c]->toOpenCV(), imgs2AlignOriginal[c]->toOpenCVnonConst(), cv::ROTATE_90_COUNTERCLOCKWISE); + //rotate the camera + *cams2Align[c] = rot90CC(cams2Align[c]); + } + } + + } + + + //We resize the input images to the same width to account for possible rescale between the two scenes +#pragma omp parallel for + for (int c = 0; c < camsRef.size(); c++) { + *imgsRef[c] = imgsRef[c]->resized(1024, 1024.0f * imgsRef[c]->h() / imgsRef[c]->w(), cv::INTER_LINEAR); + } + + for (int c = 0; c < cams2Align.size(); c++) { + imgs2Align.push_back(sibr::ImageRGB::Ptr(new sibr::ImageRGB())); + } +#pragma omp parallel for + for (int c = 0; c < cams2Align.size(); c++) { + *imgs2Align[c] = imgs2AlignOriginal[c]->resized(1024, 1024.0f * imgs2AlignOriginal[c]->h() / imgs2AlignOriginal[c]->w(), cv::INTER_LINEAR); + } + + //Create output dir + std::string outPath; + outPath = myArgs.outPath.get(); + //First create all the needed directories + sibr::makeDirectory(outPath); + + //We now match images between the two scenes as we cannot rely on correspondance between cameras + //First we make all image 512*512 + int resizeW = 512; + cv::Rect centerROI(resizeW / 4, resizeW / 4, resizeW / 2, resizeW / 2); + std::map alignCamToRef; + std::set assignedCam; + + std::cout << "Resizing images" << std::endl; + + imgs2AlignSmall.resize(imgs2Align.size()); +#pragma omp parallel for + for (int i = 0; i < imgs2Align.size(); i++) { + imgs2AlignSmall[i] = imgs2Align[i]->resized(resizeW, resizeW, cv::INTER_AREA); + imgs2AlignSmall[i].fromOpenCV(imgs2AlignSmall[i].toOpenCV()(centerROI)); + } + imgsRefSmall.resize(imgsRef.size()); +#pragma omp parallel for + for (int i = 0; i < imgsRef.size(); i++) { + imgsRefSmall[i] = imgsRef[i]->resized(resizeW, resizeW, cv::INTER_AREA); + imgsRefSmall[i].fromOpenCV(imgsRefSmall[i].toOpenCV()(centerROI)); + } + + int cnt = assignImages(imgs2Align, imgs2AlignSmall, imgsRef, imgsRefSmall, alignCamToRef, camsRef, cams2Align, resizeW, assignedCam, 0.7); + std::cout << "Assigned " << cnt << std::endl; + + ///////////////// + ///////////////// + // Now we will compute closely matched feature between pair of images + ///////////////// + ///////////////// + + std::vector listFeatPRef; + std::vector listFeatP2Align; + + std::vector dist2CamRef; + std::vector dist2Cam2Align; + + //Maximum shift for patch alignement + int shiftMax = 16; + const int patchRadius = 8; + + for (int im = 0; im < imgs2Align.size(); im++) { + + if (alignCamToRef[im] < 0) + continue; + + std::cout << "IM " << im << std::endl; + + sibr::ImageRGB& imRef = *imgsRef[alignCamToRef[im]]; + sibr::ImageRGB& im2Align = *imgs2Align[im]; + + // To see feature match in images + sibr::ImageRGB imRefCopy = imRef.clone(); + sibr::ImageRGB im2AlignCopy = im2Align.clone(); + + //Compute im center to transpose position from imref to im2Align. The center should stay aligned with the crop. + //Small errors are absorbed by the shift estimation. + sibr::Vector2i imRefCenter(imRef.w() / 2, imRef.h() / 2); + sibr::Vector2i im2AlignCenter(im2Align.w() / 2, im2Align.h() / 2); + + //Get the two cameras + sibr::InputCamera::Ptr camRef = camsRef[alignCamToRef[im]]; + sibr::InputCamera::Ptr cam2Align = cams2Align[im]; + + //Depth map for 3D position estimation + sibr::ImageL32F depthMapRef, depthMap2Align; + + //We render the two depth map of the two meshes to be able to recover 3D position from pixel position + int wCamRef, hCamRef, wCam2Align, hCam2Align; + wCamRef = camRef->w(); + hCamRef = camRef->h(); + wCam2Align = cam2Align->w(); + hCam2Align = cam2Align->h(); + + std::cout << "Rendering reference DepthMap ..." << std::endl; + sibr::DepthRenderer rendererDepthRef(wCamRef, hCamRef); + glViewport(0, 0, wCamRef, hCamRef); + rendererDepthRef.render(*camRef, meshRef); + rendererDepthRef._depth_RT->readBack(depthMapRef); + + //showFloat(depthMapRef.resized(1024, 1024 * hCamRef / wCamRef)); + std::cout << "Rendering recon DepthMap ..." << std::endl; + + sibr::DepthRenderer rendererDepth2Align(wCam2Align, hCam2Align); + glViewport(0, 0, wCam2Align, hCam2Align); + rendererDepth2Align.render(*cam2Align, mesh2Align); + rendererDepth2Align._depth_RT->readBack(depthMap2Align); + + //showFloat(depthMap2Align.resized(1024, 1024 * hCam2Align / wCam2Align)); + const int stride = std::max(16.0, sqrt(imRef.w() * imRef.h() * imgs2Align.size() / 50000.0)); + std::wcout << " Stride:" << stride << std::endl; + + float ratioRefW = (float)depthMapRef.w() / imRefCopy.w(); + float ratioRefH = (float)depthMapRef.h() / imRefCopy.h(); + float ratio2AlignW = (float)depthMap2Align.w() / im2AlignCopy.w(); + float ratio2AlignH = (float)depthMap2Align.h() / im2AlignCopy.h(); + +#pragma omp parallel for + for (int i = patchRadius; i < imRef.w(); i += stride) { + for (int j = patchRadius; j < imRef.h(); j += stride) { + + sibr::Vector2i posRef(i, j); + //Corresponding position is estimated from the center because the two center of the images should be aligned + sibr::Vector2i pos2Align = im2AlignCenter + posRef - imRefCenter; + + + if (imRef.isInRange(i, j) + && imRef(i, j) != Vector3ub(0, 0, 0) + && im2Align.isInRange(pos2Align.x(), pos2Align.y()) + && im2Align.isInRange(pos2Align.x() - (shiftMax + patchRadius), pos2Align.y() - (shiftMax + patchRadius)) + && im2Align.isInRange(pos2Align.x() + shiftMax + patchRadius + 1, pos2Align.y() + shiftMax + patchRadius + 1)) { + + // To visualize feature match in images + imRefCopy(i, j) = sibr::Vector3ub(255, 0, 0); + im2AlignCopy(pos2Align.x(), pos2Align.y()) = sibr::Vector3ub(255, 0, 0); + + double minDist = DBL_MAX; + sibr::Vector2i bestShift(0, 0); + + //We find the best shift to refine our point matching + for (int k = -shiftMax; k <= shiftMax; k++) { + for (int l = -shiftMax; l <= shiftMax; l++) { + + sibr::Vector2i shift(k, l); + sibr::Vector2i pos2AlignShifted = pos2Align + shift; + + double dist = distPatch(imRef, posRef, im2Align, pos2AlignShifted, patchRadius); + + if (dist < minDist || (dist == minDist && shift.norm() < bestShift.norm())) { + bestShift = shift; + minDist = dist; + } + } + } + + sibr::Vector2i pos2AlignShifted = pos2Align + bestShift; + sibr::Vector2i posImFullRef(posRef.x() * ratioRefW, posRef.y() * ratioRefH); + sibr::Vector2i posImFull2Align(pos2AlignShifted.x() * ratio2AlignW, pos2AlignShifted.y() * ratio2AlignH); + + if (depthMapRef(posImFullRef.x(), posImFullRef.y()).x() != 1 && + depthMap2Align(posImFull2Align.x(), posImFull2Align.y()).x() != 1) { + // To see feature match in images + im2AlignCopy(pos2Align.x() + bestShift.x(), pos2Align.y() + bestShift.y()) = sibr::Vector3ub(0, 255, 0); + + float dRef = depthMapRef(posImFullRef.x(), posImFullRef.y()).x(); + sibr::Vector3f pos3DRef = camRef->unprojectImgSpaceInvertY( + posImFullRef, dRef); + + float d2Align = depthMap2Align(posImFull2Align.x(), posImFull2Align.y()).x(); + sibr::Vector3f pos3D2Align = cam2Align->unprojectImgSpaceInvertY( + posImFull2Align, d2Align); + + //Add those feature to the list +#pragma omp critical + { + if (pos3DRef == pos3DRef && pos3D2Align == pos3D2Align) { + listFeatPRef.push_back(pos3DRef); + listFeatP2Align.push_back(pos3D2Align); + + dist2CamRef.push_back((pos3DRef - camRef->position()).norm()); + dist2Cam2Align.push_back((pos3D2Align - cam2Align->position()).norm()); + } + else { + std::cout << "Skipping bad point" << std::endl; + } + } + } + + } + + } + } + + // To see feature match in images + //show(imRefCopy); + //show(im2AlignCopy); + + } + + //Now we will remove outliers that appears for several reason, one of them is obviously the part of the images where the content changed. + //We compute the median scale factor using the distances to cameras, and we only keep matches that respect this median + std::vector scalesfromCam; + for (int i = 0; i < dist2CamRef.size(); i++) { + scalesfromCam.push_back(dist2CamRef[i] / dist2Cam2Align[i]); + } + std::sort(scalesfromCam.begin(), scalesfromCam.end()); + float medianScale = scalesfromCam[scalesfromCam.size() / 2]; + std::cout << std::endl << "Median is " << medianScale << std::endl; + + std::vector listStrongFeatPRef; + std::vector listStrongFeatP2Align; + + //5% above and under the median + for (int i = 0; i < dist2CamRef.size(); i++) { + if (dist2CamRef[i] / dist2Cam2Align[i] > 0.95 * medianScale && + dist2CamRef[i] / dist2Cam2Align[i] < 1.05 * medianScale) { + listStrongFeatPRef.push_back(listFeatPRef[i]); + listStrongFeatP2Align.push_back(listFeatP2Align[i]); + } + } + + std::cout << "Cleaned matches: " << listFeatPRef.size() << " to " << listStrongFeatPRef.size() << std::endl; + + ///////// + ///////// + //Now we will estimate the transformation using irls. + ///////// + ///////// + + //Format the data + std::vector XData; + std::vector YData0; + std::vector YData1; + std::vector YData2; + + for (int i = 0; i < listStrongFeatPRef.size(); i++) { + XData.push_back(listStrongFeatP2Align[i].x()); + XData.push_back(listStrongFeatP2Align[i].y()); + XData.push_back(listStrongFeatP2Align[i].z()); + + YData0.push_back(listStrongFeatPRef[i].x()); + YData1.push_back(listStrongFeatPRef[i].y()); + YData2.push_back(listStrongFeatPRef[i].z()); + } + + /////////////// + //SOLVING WITH IRLS + int numX = listStrongFeatP2Align.size(); + // Convert std::vector to Eigen::VectorXf + Eigen::Map evY0(YData0.data(), numX); + Eigen::Map evY1(YData1.data(), numX); + Eigen::Map evY2(YData2.data(), numX); + + Eigen::Map > mX3(XData.data(), numX, 3); + + // Convert 3-column matrix into a 4-column one using all 1s for the last column. + Eigen::MatrixX4f mX4(mX3.rows(), 4); + mX4 << mX3, Eigen::ArrayXXf::Ones(mX3.rows(), 1); + +#define TUNING_CONSTANT 4.685 + Eigen::Vector4f vCoeffs0; + Eigen::Vector4f vCoeffs1; + Eigen::Vector4f vCoeffs2; + + // Run IRLS considering each of the Y-matrix's calumns as the target Y-vector individually. + // We get one row of the solution matrix at each step which is then put together to form the + // complete solution. + //Log(EInfo, "Running IRLS on row 0"); + irls(mX4, evY0, vCoeffs0, TUNING_CONSTANT); + //Log(EInfo, "Running IRLS on row 1"); + irls(mX4, evY1, vCoeffs1, TUNING_CONSTANT); + //Log(EInfo, "Running IRLS on row 2"); + irls(mX4, evY2, vCoeffs2, TUNING_CONSTANT); + //Log(EInfo, "Finished running IRLS"); + + // Put all the rows together. + Eigen::Matrix4f mFinal; + mFinal << vCoeffs0.x(), vCoeffs0.y(), vCoeffs0.z(), vCoeffs0.w(), + vCoeffs1.x(), vCoeffs1.y(), vCoeffs1.z(), vCoeffs1.w(), + vCoeffs2.x(), vCoeffs2.y(), vCoeffs2.z(), vCoeffs2.w(), + 0, 0, 0, 1; + + std::cout << "Matrix is:" << std::endl; + std::cout << vCoeffs0.x() << " " << vCoeffs0.y() << " " << vCoeffs0.z() << " " << vCoeffs0.w() << std::endl; + std::cout << vCoeffs1.x() << " " << vCoeffs1.y() << " " << vCoeffs1.z() << " " << vCoeffs1.w() << std::endl; + std::cout << vCoeffs2.x() << " " << vCoeffs2.y() << " " << vCoeffs2.z() << " " << vCoeffs2.w() << std::endl; + std::cout << 0 << " " << 0 << " " << 0 << " " << 1 << std::endl; + std::cout << medianScale << std::endl; // for xFormScene scale factor of 1 + + std::ofstream myfile; + myfile.open(outPath + "/transform.txt"); + myfile << vCoeffs0.x() << " " << vCoeffs0.y() << " " << vCoeffs0.z() << " " << vCoeffs0.w() << std::endl; + myfile << vCoeffs1.x() << " " << vCoeffs1.y() << " " << vCoeffs1.z() << " " << vCoeffs1.w() << std::endl; + myfile << vCoeffs2.x() << " " << vCoeffs2.y() << " " << vCoeffs2.z() << " " << vCoeffs2.w() << std::endl; + myfile << 0 << " " << 0 << " " << 0 << " " << 1 << std::endl; + myfile << 1 << std::endl; // for xFormScene scale factor of 1 + myfile.close(); + + //create new mesh : + Mesh alignedMesh = mesh2Align; + std::cout << "Input vertices num : " << mesh2Align.vertices().size(); + Mesh::Vertices newVertices; + for (sibr::Vector3f v : alignedMesh.vertices()) { + sibr::Vector4f v4(v.x(), v.y(), v.z(), 1.0); + newVertices.push_back((mFinal * v4).xyz()); + } + alignedMesh.vertices(newVertices); + std::cout << " Output vertices num : " << alignedMesh.vertices().size() << std::endl; + + if (myArgs.saveScene) { + sibr::makeDirectory(outPath + "/meshes"); + sibr::makeDirectory(outPath + "/cameras"); + sibr::makeDirectory(outPath + "/images"); + + //Save the meshes + alignedMesh.save(outPath + "/meshes/recon.ply", true); + alignedMesh.save(outPath + "/meshes/recon.obj", true); + + //Save the cameras + //transform first + for (auto& cam : cams2Align) { + sibr::Vector3f pos = cam->position(); + sibr::Vector3f center = cam->position() + cam->dir(); + sibr::Vector3f up = cam->position() + cam->up(); + pos = (mFinal * pos.homogeneous()).xyz(); + center = (mFinal * center.homogeneous()).xyz(); + up = (mFinal * up.homogeneous()).xyz(); + cam->setLookAt(pos, center, (up - pos).normalized()); + } + std::vector outCams; + for (const auto& cam : cams2Align) { + outCams.push_back(std::make_shared(*cam)); + } + + sibr::InputCamera::saveAsBundle(outCams, outPath + "/cameras/bundle.out"); + + //Save the images and metadata + std::ofstream outputSceneMetadata; + outputSceneMetadata.open(outPath + "/scene_metadata.txt"); + outputSceneMetadata << "Scene Metadata File\n" << std::endl; + outputSceneMetadata << "[list_images]\n " << std::endl; + + int im = 0; + for (const auto& camIm : cams2Align) { + + //std::string extensionFile = boost::filesystem::extension(camIm->name()); + std::ostringstream ssZeroPad; + ssZeroPad << std::setw(8) << std::setfill('0') << camIm->id(); + std::string newFileName = ssZeroPad.str() + ".jpg"; + imgs2AlignOriginal[im]->save(outPath + "/images/" + newFileName); + outputSceneMetadata << newFileName << " " << camIm->w() << " " << camIm->h() << " " << camIm->znear() << " " << camIm->zfar() << std::endl; + im++; + } + outputSceneMetadata << "\n// Always specify active/exclude images after list images\n\n[exclude_images]\n ... " << std::endl; + outputSceneMetadata << "\n\n\n[other parameters]" << std::endl; + outputSceneMetadata.close(); + } + else { // just save meshes (transform.txt saved above) + std::string textureFileName; + // could preserve texture name, but is probably cleaner to have standard name + textureFileName = "textured_u1_v1.png"; + + alignedMesh.save(outPath + "/mesh.ply", true, textureFileName); + alignedMesh.save(outPath + "/mesh.obj", true); + // save the mtl file + std::string mtlFileName = outPath + "/mesh.mtl"; + std::ofstream mtlFile; + mtlFile.open(mtlFileName); + mtlFile << "# File produced by SIBR\n\nnewmtl $Material_0\nKa 1 1 1\nKd 1 1 1\nd 1\nNs 0\nillum 1\nmap_Kd " << textureFileName; + mtlFile.close(); + } + + return EXIT_SUCCESS; +} + + + +template std::vector sort_indexes(const std::vector& v) { + + // initialize original index locations + std::vector idx(v.size()); + iota(idx.begin(), idx.end(), 0); + + // sort indexes based on comparing values in v + sort(idx.begin(), idx.end(), + [&v](size_t i1, size_t i2) {return v[i1] < v[i2]; }); + + return idx; +} + + + +void computeRT(std::vector A, std::vectorB, Matrix3f S, Matrix3f& R, sibr::Vector3f& T) { + + //finding R,T such that B = RA + T; + const int numPoint = B.size(); + //Scaling the points to align + std::vector AScaled; + for (int i = 0; i < numPoint; i++) { + AScaled.push_back(S * A[i]); + } + + //Computing the centroids + sibr::Vector3f centroidB(0, 0, 0); + sibr::Vector3f centroidA(0, 0, 0); + for (int i = 0; i < numPoint; i++) { + centroidB += B[i]; + centroidA += AScaled[i]; + } + centroidB /= numPoint; + centroidA /= numPoint; + + + //Now we estimate the rotation : + Matrix3f H; + H << 0, 0, 0, + 0, 0, 0, + 0, 0, 0; + + for (int i = 0; i < numPoint; i++) { + H += (AScaled[i] - centroidA) * (B[i] - centroidB).transpose(); + } + + Eigen::JacobiSVD svd(H, Eigen::ComputeThinU | Eigen::ComputeThinV); + + R = svd.matrixV() * svd.matrixU().transpose(); + if (R.determinant() < 0) { + //R.col(2) *= -1; + //std::cout << "Warning : determinant of rotation matrix is negative, multiplying last column by -1" << std::endl; + } + + //Translation estimation : + T = -R * centroidA + centroidB; + +} + +float computeS(std::vector A, std::vectorB, float& minScale, float& maxScale) { + //findin S such that A*S has the same scale as B + sibr::Vector3f meanPosA(0, 0, 0); + sibr::Vector3f meanPosB(0, 0, 0); + + for (int i = 0; i < A.size(); i++) { + meanPosA += A[i]; + meanPosB += B[i]; + } + + meanPosA /= A.size(); + meanPosB /= A.size(); + + float scale = 0; + for (int i = 0; i < A.size(); i++) { + + float scale_i = (B[i] - meanPosB).norm() / (A[i] - meanPosA).norm(); + scale += scale_i; + + if (scale_i > maxScale) + maxScale = scale_i; + if (scale_i < minScale) + minScale = scale_i; + } + + scale /= A.size(); + + return scale; +} + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/cameraConverter/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/cameraConverter/CMakeLists.txt new file mode 100644 index 0000000000..b500df1c4d --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/cameraConverter/CMakeLists.txt @@ -0,0 +1,31 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(cameraConverter) + +# Define build output for project +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + sibr_system + sibr_assets + sibr_graphics +) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/cameraConverter/main.cpp b/SIBR_viewers/src/projects/dataset_tools/preprocess/cameraConverter/main.cpp new file mode 100644 index 0000000000..271a26ad98 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/cameraConverter/main.cpp @@ -0,0 +1,247 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "core/system/CommandLineArgs.hpp" +#include "core/assets/InputCamera.hpp" + +using namespace sibr; + +/* Camera converter args. */ +struct CameraConverterArgs : virtual AppArgs { + RequiredArg input = { "input", "input camera file" }; + RequiredArg output = { "output", "output camera file" }; + RequiredArg colmapPath = { "colmapPath", "path to colmap recon for camera file" }; + Arg transfo = { "transfo", "", "matrix file" }; + Arg inputRes = {"ires", {1920, 1080}, "input camera resolution (not required for all formats)"}; + Arg outputRes = { "ores", {1920, 1080}, "output camera resolution (not required for all formats)" }; + Arg inverse = {"inverse", "reverse the transformation"}; + Arg bundleImageList = { "images_list", "for a bundle output, output list_images.txt" }; + Arg bundleImageFiles = { "images_files", "for a bundle output, output empty images in a 'visualize' subdirectory" }; + Arg inImageFilePath = { "in_images_files", "", "for a bundle input images file directory (for list_images etc)" }; + Arg scale = { "scale", 1.0, "scale images for cameras.txt file" }; +}; + +/* SIBR binary path loader helper. + * \param filename the .path binary file + * \param cams will be populated with the loaded cameras + * \param res the image resolution (for aspect ratio) + * \return the loading status + */ +bool load(const std::string& filename, std::vector & cams, const sibr::Vector2u & res){ + sibr::ByteStream stream; + if(!stream.load(filename)) { + return false; + } + int32 num = 0; + stream >> num; + while (num > 0) { + Camera cam; + stream >> cam; + cams.push_back(std::make_shared(cam, res[0], res[1])); + --num; + } + return stream; +} + +/** SIBR binary path saver helper. + * \param filename the .path output file + * \param cams the cameras to save + */ +void save(const std::string& filename, const std::vector & cams){ + sibr::ByteStream stream; + const int32 num = int32(cams.size()); + stream << num; + for (const InputCamera::Ptr& cam : cams) { + Camera subcam(*cam); + stream << subcam; + } + stream.saveToFile(filename); +} + + + +void colmapSave(const std::string& filename, const std::vector & xformPath, float scale, float focaly, float focalx) { + // save as colmap images.txt file + sibr::Matrix3f converter; + converter << 1, 0, 0, + 0, -1, 0, + 0, 0, -1; + + std::ofstream outputColmapPath, outputColmapPathCams; + std::string colmapPathCams = parentDirectory(filename) + std::string("/cameras.txt"); + + std::cerr << std::endl; + std::cerr << std::endl; + std::cerr << "Writing colmap path to " << parentDirectory(filename) << std::endl; + + outputColmapPath.open(filename); + if(!outputColmapPath.good()) + SIBR_ERR << "Cant open output file " << filename << std::endl; + outputColmapPathCams.open(colmapPathCams); + + outputColmapPathCams << "# Camera list with one line of data per camera:" << std::endl; + outputColmapPathCams << "# CAMERA_ID, MODEL, WIDTH, HEIGHT, PARAMS[]" << std::endl; + outputColmapPathCams << "# Number of cameras: 1" << std::endl; + if (focalx == -1) { + focalx = xformPath[0]->focal() * xformPath[0]->aspect(); // use aspect ratio + SIBR_WRG << "No focal x given making it equal to focaly * aspect ratio; use result at own risk. Should have a colmap dataset as input" << std::endl; + } + else + { + std::cerr << "FX " << focalx << std::endl; + focalx = xformPath[0]->focal() * (focalx / focaly); + SIBR_WRG << "Focal x set to f / (fx/fy); f of first image :" << focalx<w()*scale << " " << xformPath[0]->h()*scale + << " " << xformPath[0]->focal()*scale << " " << focalx*scale + << " " << xformPath[0]->w()*scale * 0.5 << " " << xformPath[0]->h()*scale * 0.5 << std::endl; + } + + + outputColmapPath<< "# Image list with two lines of data per image:" << std::endl; + outputColmapPath<< "# IMAGE_ID, QW, QX, QY, QZ, TX, TY, TZ, CAMERA_ID, NAME" << std::endl; + outputColmapPath<< "# POINTS2D[] as (X, Y, POINT3D_ID)" << std::endl; + for(int i=0; irotation().toRotationMatrix() * converter; + sibr::Matrix3f Qinv = tmp.transpose(); + sibr::Quaternionf q = quatFromMatrix(Qinv); + sibr::Vector3f t = -Qinv*xformPath[i]->position(); + + outputColmapPath << i << " " << q.w() << " " << -q.x() << " " << -q.y() << " " << -q.z() << " " << + t.x() << " " << t.y() << " " << t.z() << " " << 1 << " " << "pathImage"< cams; + const std::string ext = sibr::getExtension(args.input); + if(ext == "path") { + load(args.input, cams, args.inputRes); + } else if(ext == "lookat") { + cams = InputCamera::loadLookat(args.input, { args.inputRes }); + } else if (ext == "out") { + if (std::string(args.inImageFilePath) == "") + SIBR_ERR << "Please provide image file directory for bundler input (use option -in_images_files DIRECTORY_CONTAINING_LIST_IMAGES.txt )\nIf necessary use the generate_list_images.py script to generate list_images.txt " << std::endl; + cams = InputCamera::loadBundle(args.input, 0.01, 1000, args.inImageFilePath, true); + } else if (ext == "nvm") { + cams = InputCamera::loadNVM(args.input, 0.01f, 1000.0f, {args.inputRes}); + } else if (sibr::directoryExists(args.input)) { + // If we got a directory, assume colmap sparse. + cams = InputCamera::loadColmap(args.input, 0.01, 1000, 1); + } else { + SIBR_ERR << "Unsupported path file extension: " << ext << "." << std::endl; + return EXIT_FAILURE; + } + SIBR_LOG << "Loaded " << cams.size() << " cameras." << std::endl; + + float focaly = cams[0]->focal(); // y by default + float focalx = cams[0]->focalx(); + + // if a path is given try and get focalx + std::vector camsFx; + if (args.colmapPath != "") { + std::cerr << "COLMAP " << args.colmapPath << std::endl; + std::string cm_sparse_path = args.colmapPath.get() + "/stereo/sparse"; + if (directoryExists(cm_sparse_path)) { + camsFx = InputCamera::loadColmap(cm_sparse_path, 0.01, 1000, 1); + std::cerr << "Found " << camsFx.size() << " cameras fovx " << camsFx[0]->focalx() << std::endl; + focalx = camsFx[0]->focalx(); + } + else + std::cerr << "Cant find " << cm_sparse_path << std::endl; + } + + // Load the transformation. + std::ifstream transFile(args.transfo.get()); + sibr::Matrix4f transf = sibr::Matrix4f::Identity(); + if (transFile.is_open()) { + for (int i = 0; i < 16; ++i) { + float f; + transFile >> f; + transf(i) = f; + } + transFile.close(); + } + transf.transposeInPlace(); + if (args.inverse) { + transf = transf.inverse().eval(); + } + + // Apply transformation to each camera keypoints, if it's not identity. + if(!transf.isIdentity()) { + SIBR_LOG << "Applying transformation: " << std::endl << transf << std::endl; + for (auto & cam : cams) { + sibr::Vector3f pos = cam->position(); + sibr::Vector3f center = cam->position() + cam->dir(); + sibr::Vector3f up = cam->position() + cam->up(); + pos = (transf * pos.homogeneous()).xyz(); + center = (transf * center.homogeneous()).xyz(); + up = (transf * up.homogeneous()).xyz(); + cam->setLookAt(pos, center, (up - pos).normalized()); + + } + } + + // Save cameras. + const std::string outExt = sibr::getExtension(args.output); + if (outExt == "path") { + save(args.output, cams); + } else if (outExt == "out") { // bundler + std::vector outCams; + for(const auto & cam : cams) { + const int outH = int(args.outputRes.get()[1]); + const int outW = int(std::round(cam->aspect() * float(outH))); + InputCamera::Ptr oc; + outCams.push_back(oc=std::make_shared(*cam, outW, outH)); + // reset focal + oc->setFocal(cam->focal()); + } + sibr::InputCamera::saveAsBundle(outCams, args.output, args.bundleImageList, args.bundleImageFiles, false); + } else if (outExt == "lookat") { + std::vector outCams; + for (const auto& cam : cams) { + const int outH = int(args.outputRes.get()[1]); + const int outW = int(std::round(cam->aspect() * float(outH))); + outCams.push_back(std::make_shared(*cam, outW, outH)); + } + sibr::InputCamera::saveAsLookat(outCams, args.output); + } + else if (getFileName(args.output) == "images.txt" ) { // colmap + colmapSave(args.output, cams, args.scale, focaly, focalx); + } else { + SIBR_ERR << "Unsupported output file extension: " << outExt << "." << std::endl; + return EXIT_FAILURE; + } + SIBR_LOG << "Saved transformed cameras to \"" << args.output.get() << "\"." << std::endl; + + return EXIT_SUCCESS; +} + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/clippingPlanes/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/clippingPlanes/CMakeLists.txt new file mode 100644 index 0000000000..90e46f355b --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/clippingPlanes/CMakeLists.txt @@ -0,0 +1,38 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(clippingPlanes) + +# libraries used: +# * sibr graphics (vector2i class) +# * sibr system (programArg class) +# * boost filesystem (path class) +# * openmp + +# Define build output for project +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + sibr_graphics + sibr_assets + sibr_raycaster + sibr_system +) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/clippingPlanes/main.cpp b/SIBR_viewers/src/projects/dataset_tools/preprocess/clippingPlanes/main.cpp new file mode 100644 index 0000000000..fad65c828c --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/clippingPlanes/main.cpp @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include +#include +#include +#include +#include + +/* +generate clipping_planes.txt file +*/ +const char* USAGE = "Usage: clippingPlanes \n"; +const char* TAG = "[clippingPlanes]"; + +using namespace sibr; + + +int main(const int argc, const char** argv) +{ + + if (argc < 1 + 1) + { + std::cout << USAGE << std::endl; + return 1; + } + + std::string datasetPath = argv[1]; + + if (directoryExists(datasetPath) == false) { + SIBR_ERR << "Wrong program options, check the usage."; + return 1; + } + + // load rest of the things + std::vector inCams = InputCamera::load(datasetPath); + ImageListFile imageListFile; + Mesh proxy(false); + + // check needed things are there + if (imageListFile.load(datasetPath + "/images/list_images.txt") == false && imageListFile.load(datasetPath + "/list_images.txt") == false) + return 1; + + if ((proxy.load(datasetPath + "/meshes/pmvs_recon.ply") == false) && (proxy.load(datasetPath + "/meshes/mesh.ply") == false) && (proxy.load(datasetPath + "/pmvs_recon.ply") == false) && (proxy.load(datasetPath + "/recon.ply") == false) && (proxy.load(datasetPath + "/meshes/recon.ply") == false)) + return 1; + + const std::string clipping_planes_file_path = datasetPath + "/clipping_planes.txt"; + if (!sibr::fileExists(clipping_planes_file_path)) { + + std::vector nearsFars; + CameraRaycaster::computeClippingPlanes(proxy, inCams, nearsFars); + + std::ofstream file(clipping_planes_file_path, std::ios::trunc | std::ios::out); + if (file) { + for (const auto & nearFar : nearsFars) { + if (nearFar[0] > 0 && nearFar[1] > 0) { + file << nearFar[0] << ' ' << nearFar[1] << std::endl; + } + else { + /** \todo [SP]Temporary fix. Ideally we should exclude these images. */ + file << "0.1 100.0" << std::endl; + } + } + file.close(); + } + else { + SIBR_WRG << " Could not save file '" << clipping_planes_file_path << "'." << std::endl; + } + } + + std::cout << TAG << " done!\n"; + return 0; +} \ No newline at end of file diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/CMakeLists.txt new file mode 100644 index 0000000000..f4b6ce3f40 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/CMakeLists.txt @@ -0,0 +1,19 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(dataset_tools_converters) + +file(GLOB_RECURSE SCRIPTS "*.py" "*.sh" "*.mlx") + +add_custom_target(${PROJECT_NAME} ALL) + +include(install_runtime) +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") +ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FILES ${SCRIPTS} RELATIVE) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/bundle.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/bundle.py new file mode 100644 index 0000000000..8f1f30fa0d --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/bundle.py @@ -0,0 +1,301 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# in python, elements declared outside __init__ are static (belong to the class) +# while ones declared inside __init__ belong to the object + +import os +import get_image_size # way faster than loading images in opencv and lightweighted (not as the case with python's pillow) +from enum import IntEnum + +class InputImage: + + def __init__(self, cam_id, path_to_image): + self.id = cam_id + self.path = path_to_image # absolute path + self.filename = os.path.basename(path_to_image) + width, height = get_image_size.get_image_size(path_to_image) + self.resolution = [width, height] + + def __str__(self): + return "{0}\t{1}\t{2}".format(self.path, self.resolution[0], self.resolution[1]) + # return str(self.filename) + delimiter + str(self.resolution[0]) + delimiter + str(self.resolution[1]) + #return "{0}\t{1}\t{2}".format(self.filename, self.resolution[0], self.resolution[1]) + + +class BundleFeaturePointLine (IntEnum): + POSITION = 0 + COLOR = 1 + VIEW_LIST = 2 + + +class BundleCamera: + + def __init__(self, cam_id, focal_length, radial_dist, rotation, translation): + self.id = cam_id + self.focal_length = focal_length + self.radial_dist = radial_dist + self.rotation = rotation + self.translation = translation + + # inverse index of feature points + self.list_of_feature_points = [] + + def add_feature_point (feature_point): + pass + + def set_feature_points (list_of_feature_points): + pass + + def scale_focal_length (self, factor): + self.focal_length = self.focal_length * factor + + def __str__(self): + first_line = "{0:g} {1:g} {2:g}\n".format(self.focal_length, self.radial_dist[0], self.radial_dist[1]) + second_line = "{0:g} {1:g} {2:g}\n".format(self.rotation[0][0], self.rotation[0][1], self.rotation[0][2]) + third_line = "{0:g} {1:g} {2:g}\n".format(self.rotation[1][0], self.rotation[1][1], self.rotation[1][2]) + fourth_line = "{0:g} {1:g} {2:g}\n".format(self.rotation[2][0], self.rotation[2][1], self.rotation[2][2]) + fifth_line = "{0:g} {1:g} {2:g}".format(self.translation[0], self.translation[1], self.translation[2]) + return first_line + second_line + third_line + fourth_line + fifth_line + + +class BundleFeaturePoint: + + def __init__(self, feature_point_id, position, color, view_list): + self.id = feature_point_id + self.position = position + self.color = color # each channel between [0, 255] + + # list of cameras + # each camera has the following info: + # ( ) # (x,y) floating point value with (0,0) center of the img + self.view_list = view_list + # for colmap conversion + self.point2d_index = {} + + def remove_cam(self, cam_id): + for index in range (len(self.view_list)): + if (self.view_list[index][0] == cam_id): + del self.view_list[index] + break + # fix all subsequent indices + + newlist = [] + nr1 = len(self.view_list) + change = False + for vl_item in self.view_list: + newitem = list(vl_item) + if (vl_item[0] > cam_id): +# change = True + newitem[0] = newitem[0]-1 + newlist.append(tuple(newitem)) + else: + newlist.append(vl_item) + + if change: + print("NEW : {}\n".format( newlist )) + print("OLD : {}\n".format( self.view_list )) + + self.view_list = newlist + + def __str__(self): + first_line = "{0:g} {1:g} {2:g}\n".format(self.position[0], self.position[1], self.position[2]) + second_line = "{0} {1} {2}\n".format(self.color[0], self.color[1], self.color[2]) + third_line = str(len(self.view_list)) + " " + cam_index = 0 + for view_info in self.view_list: + third_line = third_line + "{0:g} {1:g} {2:g} {3:g}".format(view_info[0], view_info[1], view_info[2], view_info[3]) + if (cam_index != len(self.view_list) - 1): + third_line = third_line + " " + cam_index = cam_index + 1 + return first_line + second_line + third_line + +class Bundle: + + MAX_NR_FEATURE_POINTS = 8000000 # if bundle file has more than this limit, features will not be processed at all + + def __init__(self, path_to_bundle): + # read bundle file + input_file = open(path_to_bundle, "r") + + # first line is the header containing bundle version + self.header = input_file.readline().strip() + self.nr_cameras, self.nr_feature_points = map(int, input_file.readline().strip().split(" ")) + + self.using_feature_points = (self.nr_feature_points < Bundle.MAX_NR_FEATURE_POINTS) + if (not self.using_feature_points): + self.nr_feature_points = 0 + print ("[bundle.py] Warning: Too many feature points. They are going to be discarded") + + self.list_of_cameras = [] + self.list_of_feature_points = [] + + for i in range(self.nr_cameras): + # read each camera + focal_length, radial_dist_x, radial_dist_y = map(float, input_file.readline().strip().split(" ")) + r11, r12, r13 = map(float, input_file.readline().strip().split(" ")) + r21, r22, r23 = map(float, input_file.readline().strip().split(" ")) + r31, r32, r33 = map(float, input_file.readline().strip().split(" ")) + tx, ty, tz = map(float, input_file.readline().strip().split(" ")) + + camera = BundleCamera(i, focal_length, (radial_dist_x, radial_dist_y), [ [r11, r12, r13], [r21, r22, r23], [r31, r32, r33] ], [tx, ty, tz]) + + self.list_of_cameras.append(camera) + + if (self.using_feature_points): + # keep reading input file + # read feature points (sometimes there aren't as many as reported in the header) + # display a warning when this happens + type_of_line_to_read = BundleFeaturePointLine.POSITION + + feature_point_position = None + feature_point_color = None + feature_point_view_list = None + feature_point_id = 0 + + for line in input_file: + if (type_of_line_to_read == BundleFeaturePointLine.POSITION): + x, y, z = map(float, line.strip().split(" ")) + feature_point_position = [x, y, z] + elif (type_of_line_to_read == BundleFeaturePointLine.COLOR): + r, g, b = map(int, line.strip().split(" ")) + feature_point_color = [r, g, b] + elif (type_of_line_to_read == BundleFeaturePointLine.VIEW_LIST): + tokens = line.split() + nr_cams_that_see_point = int(tokens[0]) + list_of_view_info = [] + for i in range(nr_cams_that_see_point): + cam_id = int (tokens[1 + i*4+0]) + sift = int (tokens[1 + i*4+1]) + x_pos = float (tokens[1 + i*4+2]) + y_pos = float (tokens[1 + i*4+3]) + list_of_view_info.append( (cam_id, sift, x_pos, y_pos) ) + + # add feature point to the list of feature points contained in the bundle + feature_point = BundleFeaturePoint(feature_point_id, feature_point_position, feature_point_color, list_of_view_info) + + # for colmap conversion + for v in list_of_view_info: + if v[0] >= len(self.list_of_cameras): + print("ERROR ", v[0], " ", len(self.list_of_cameras)) + else: + self.list_of_cameras[v[0]].list_of_feature_points.append(feature_point) + + feature_point_id = feature_point_id + 1 + + self.list_of_feature_points.append(feature_point) + + type_of_line_to_read = (type_of_line_to_read + 1) % len (BundleFeaturePointLine) + + # done processing input file + input_file.close() + + # paths + self.path_to_bundle_file = path_to_bundle + self.root_directory = os.path.dirname(path_to_bundle) + + # get absolute path to input images + image_id = 0 + self.list_of_input_images = [] + for file_in_dir in os.listdir( self.root_directory ): + # input imgs have a [jpg|jpeg|png] extension + if (file_in_dir.lower().endswith(".jpg" ) or file_in_dir.lower().endswith(".png" ) or file_in_dir.lower().endswith(".jpeg")): + # input images must also have a numerical filename (avoid reading things as texture images that are stored in the same folder) + if (os.path.splitext(file_in_dir)[0].isdigit()): + absolute_path = os.path.join(self.root_directory, file_in_dir) + image = InputImage(image_id, absolute_path) + self.list_of_input_images.append(image) + image_id = image_id + 1 + + # additional data + self.list_of_excluded_cams = [] + self.has_right_nr_feature_pts = False + self.has_right_nr_images = (len(self.list_of_cameras) == len(self.list_of_input_images)) + + if (not self.has_right_nr_images): + print ("[bundle.py] Warning: nr cameras in bundle file (" + str(len(self.list_of_cameras)) + ") is not the same as nr of images in " + self.root_directory + " (" + str(len(self.list_of_input_images)) + ")") + + print ("[bundle.py] Message: Done reading bundle file", path_to_bundle) + print ("[bundle.py] Message: Nr cams in bundle file", len(self.list_of_cameras)) + print ("[bundle.py] Message: Nr images in root folder", len(self.list_of_input_images)) + print ("[bundle.py] Message: Nr feature points", len(self.list_of_feature_points)) + + def get_avg_resolution (self): + result = [0, 0] + for image in self.list_of_input_images: + result[0] = result[0] + image.resolution[0] + result[1] = result[1] + image.resolution[1] + if (len(self.list_of_input_images) != 0): + result[0] = (int)(result[0] / len(self.list_of_input_images)) + result[1] = (int)(result[1] / len(self.list_of_input_images)) + return result + + def generate_list_of_images_file (self, path_to_output): + output_file = open (path_to_output, "w") + for image in self.list_of_input_images: + output_file.write(str(image) + '\n') + output_file.close() + + + def scale (self, factor): + for cam in self.list_of_cameras: + cam.scale_focal_length(factor) + + def exclude_cams (self, cam_list, verbose = True): + if (verbose): + print ("[bundle.py] Message: excluding images", cam_list) + # calling this method twice doesn't make sense because + # we need to make sure the index passed refer to the right cameras to remove + + # sort list of cams to exclude by decreasing order + cam_list.sort(reverse=True) + for index in cam_list: + # don't forget to go through feature points and remove ref to cam + for feature_point in self.list_of_feature_points: + feature_point.remove_cam(index) + + # log the cam id that was removed by adding it to the internal list of excluded cams + self.list_of_excluded_cams.append(index) + + del self.list_of_cameras[index] + del self.list_of_input_images[index] + + # update nr_cameras attribute + self.nr_cameras = len (self.list_of_cameras) + + def save (self, path_to_output_file, new_res=[]): + output_file = open(path_to_output_file, "w") + + output_file.write(self.header + '\n') + output_file.write(str(self.nr_cameras) + " " + str(self.nr_feature_points) + '\n') + + if new_res == []: + for cam in self.list_of_cameras: + output_file.write(str(cam) + '\n') + else: + # not needed TODO: verify + #indx = 0 + for cam in self.list_of_cameras: + #im = self.list_of_input_images[indx] + #old_w = im.resolution[0] + #old_h = im.resolution[1] + #new_focal = cam.focal_length*(min(old_h/new_res[1], old_w/new_res[0])) + #print("Old : ", cam.focal_length, " New : " , new_focal) + #cam.focal_length = new_focal + output_file.write(str(cam) + '\n') + #indx = indx + 1 + + for feature_point in self.list_of_feature_points: +# print("Writing ", len(feature_point.view_list) , " FEATURE POINTS " ) + if len(feature_point.view_list)> 0: + output_file.write(str(feature_point) + '\n') + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/colmap2sibr.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/colmap2sibr.py new file mode 100755 index 0000000000..69f66b72a4 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/colmap2sibr.py @@ -0,0 +1,99 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +""" @package dataset_tools_preprocess +This script calls meshlab to simplify a mesh + +Parameters: --h help, + --path + +Usage: python colmap2sibr.py --path [required] + +""" + +import os, sys +import argparse +import os, sys, getopt +import re +from utils.commands import getProcess +from utils.paths import getBinariesPath +from utils.commands import runCommand +import subprocess +from pathlib import Path + + +def checkColmapConsistent(pathdir): + colmapDir = Path(pathdir+"/colmap") + + if not os.path.isdir(colmapDir): + return False + + # check for mesh + colmapmesh = Path(pathdir+"/colmap/stereo/meshed-delaunay.ply") + if not os.path.isfile(colmapmesh): + print("SIBR_ERROR: colmap directory exists but there is no mesh ", colmapmesh) + print("No file", colmapmesh) + return False + + return True + +def main(): + parser = argparse.ArgumentParser() + + # common arguments + parser.add_argument("--path", type=str, required=True, help="path to dataset folder") + + args = vars(parser.parse_args()) + + if not checkColmapConsistent(args['path']): + print("SIBR_ERROR Colmap hasnt been run properly; run it first (ie dont use --noColmap)") + sys.exit(1) + + # prepareColmap4Sibr: convert cameras and create bundle file put everything in sfm_mvs_cm, then run the normal preprocessing + # + prepareColmap_app = getProcess("prepareColmap4Sibr") + + prepareColmap_args = [prepareColmap_app, + "--path", args['path'], + ] + + print("Running prepareColmap4Sibr ", prepareColmap_args) + p_exit = subprocess.call(prepareColmap_args) + if p_exit != 0: + print("SIBR ERROR: prepareColmap4Sibr failed, exiting") + sys.exit(1) + + # run rc_to_sibr process to make all images have the same size and be compatible with spixelwarp pipeline + p_exit = subprocess.call(["python", "ibr_preprocess_rc_to_sibr.py", "-i", args['path']+"/sfm_mvs_cm", "-o", args['path']+"/sibr_cm"]) + if p_exit != 0: + print("SIBR_ERROR preprocess to sibr_cm failed"); + sys.exit(1) + + prepareColmap_app = getProcess("prepareColmap4Sibr") + + prepareColmap_args = [prepareColmap_app, + "--fix_metadata", + "--path", args['path'], + ] + + print("Running prepareColmap4Sibr to fix scene_dataset.txt ", prepareColmap_args) + p_exit = subprocess.call(prepareColmap_args) + if p_exit != 0: + print("SIBR ERROR: prepareColmap4Sibr failed, exiting") + sys.exit(1) + + + sys.exit(0) + +if __name__ == "__main__": + main() diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/generate_list_images.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/generate_list_images.py new file mode 100644 index 0000000000..d8c10b4134 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/generate_list_images.py @@ -0,0 +1,72 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import argparse, sys, os +from PIL import Image, UnidentifiedImageError + +def generateListImages(imagesPath, outputPath = None, filename = "list_images.txt"): + if not os.path.exists(imagesPath): + print("Path '%s' does not exists. Aborting." % imagesPath) + sys.exit(1) + + if not outputPath: + outputPath = imagesPath + elif not os.path.exists(outputPath): + print("Path '%s' does not exists. Aborting." % outputPath) + sys.exit(1) + + files = os.listdir(imagesPath) + + if not files: + print("No files found in directory '%s'. Aborting." % imagesPath) + sys.exit(1) + + with open(os.path.join(outputPath, filename), "w") as list_images: + for file in files: + try: + if os.path.isdir(os.path.join(imagesPath, file)): + raise UnidentifiedImageError() + with Image.open(os.path.join(imagesPath, file)) as image: + list_images.write("%s %s %s\n" % (file, image.width, image.height)) + except UnidentifiedImageError: + print("File '%s' is not a recognizable image. Skipping." % file) + + + +def main(): + parser = argparse.ArgumentParser() + + # common arguments + parser.add_argument("--imagesPath", type=str, required=True, help="path to your images folder") + parser.add_argument("--outputPath", type=str, default=None, help="output path where to place the list_images.txt") + parser.add_argument("--filename", type=str, default=None, help="filename for the image list") + + args = vars(parser.parse_args()) + + if not args["outputPath"]: + args["outputPath"] = args["imagesPath"] + elif not os.path.isdir(args["outputPath"]) and os.path.basename(args["outputPath"]) and not args["filename"]: + args["outputPath"], args["filename"] = os.path.split(args["outputPath"]) + + if not args["filename"]: + args["filename"] = "list_images.txt" + + print("Generating '%s' file from images in '%s' and saving to '%s'." % (args["filename"], args["imagesPath"], args["outputPath"])) + + generateListImages(os.path.abspath(args["imagesPath"]), os.path.abspath(args["outputPath"]), args["filename"]) + + print("'%s' generated successfully." % args["filename"]) + sys.exit(0) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/get_image_size.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/get_image_size.py new file mode 100644 index 0000000000..7d4e17c636 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/get_image_size.py @@ -0,0 +1,399 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +# -*- coding: utf-8 -*- +from __future__ import print_function +""" + +get_image_size.py +==================== + + :Name: get_image_size + :Purpose: extract image dimensions given a file path + + :Author: Paulo Scardine (based on code from Emmanuel VAÏSSE) + + :Created: 26/09/2013 + :Copyright: (c) Paulo Scardine 2013 + :Licence: MIT + +""" +import collections +import json +import os +import struct + +FILE_UNKNOWN = "Sorry, don't know how to get size for this file." + + +class UnknownImageFormat(Exception): + pass + + +types = collections.OrderedDict() +BMP = types['BMP'] = 'BMP' +GIF = types['GIF'] = 'GIF' +ICO = types['ICO'] = 'ICO' +JPEG = types['JPEG'] = 'JPEG' +PNG = types['PNG'] = 'PNG' +TIFF = types['TIFF'] = 'TIFF' + +image_fields = ['path', 'type', 'file_size', 'width', 'height'] + + +class Image(collections.namedtuple('Image', image_fields)): + + def to_str_row(self): + return ("%d\t%d\t%d\t%s\t%s" % ( + self.width, + self.height, + self.file_size, + self.type, + self.path.replace('\t', '\\t'), + )) + + def to_str_row_verbose(self): + return ("%d\t%d\t%d\t%s\t%s\t##%s" % ( + self.width, + self.height, + self.file_size, + self.type, + self.path.replace('\t', '\\t'), + self)) + + def to_str_json(self, indent=None): + return json.dumps(self._asdict(), indent=indent) + + +def get_image_size(file_path): + """ + Return (width, height) for a given img file content - no external + dependencies except the os and struct builtin modules + """ + img = get_image_metadata(file_path) + return (img.width, img.height) + + +def get_image_metadata(file_path): + """ + Return an `Image` object for a given img file content - no external + dependencies except the os and struct builtin modules + + Args: + file_path (str): path to an image file + + Returns: + Image: (path, type, file_size, width, height) + """ + size = os.path.getsize(file_path) + + # be explicit with open arguments - we need binary mode + with open(file_path, "rb") as input: + height = -1 + width = -1 + data = input.read(26) + msg = " raised while trying to decode as JPEG." + + if (size >= 10) and data[:6] in (b'GIF87a', b'GIF89a'): + # GIFs + imgtype = GIF + w, h = struct.unpack("= 24) and data.startswith(b'\211PNG\r\n\032\n') + and (data[12:16] == b'IHDR')): + # PNGs + imgtype = PNG + w, h = struct.unpack(">LL", data[16:24]) + width = int(w) + height = int(h) + elif (size >= 16) and data.startswith(b'\211PNG\r\n\032\n'): + # older PNGs + imgtype = PNG + w, h = struct.unpack(">LL", data[8:16]) + width = int(w) + height = int(h) + elif (size >= 2) and data.startswith(b'\377\330'): + # JPEG + imgtype = JPEG + input.seek(0) + input.read(2) + b = input.read(1) + try: + while (b and ord(b) != 0xDA): + while (ord(b) != 0xFF): + b = input.read(1) + while (ord(b) == 0xFF): + b = input.read(1) + if (ord(b) >= 0xC0 and ord(b) <= 0xC3): + input.read(3) + h, w = struct.unpack(">HH", input.read(4)) + break + else: + input.read( + int(struct.unpack(">H", input.read(2))[0]) - 2) + b = input.read(1) + width = int(w) + height = int(h) + except struct.error: + raise UnknownImageFormat("StructError" + msg) + except ValueError: + raise UnknownImageFormat("ValueError" + msg) + except Exception as e: + raise UnknownImageFormat(e.__class__.__name__ + msg) + elif (size >= 26) and data.startswith(b'BM'): + # BMP + imgtype = 'BMP' + headersize = struct.unpack("= 40: + w, h = struct.unpack("= 8) and data[:4] in (b"II\052\000", b"MM\000\052"): + # Standard TIFF, big- or little-endian + # BigTIFF and other different but TIFF-like formats are not + # supported currently + imgtype = TIFF + byteOrder = data[:2] + boChar = ">" if byteOrder == "MM" else "<" + # maps TIFF type id to size (in bytes) + # and python format char for struct + tiffTypes = { + 1: (1, boChar + "B"), # BYTE + 2: (1, boChar + "c"), # ASCII + 3: (2, boChar + "H"), # SHORT + 4: (4, boChar + "L"), # LONG + 5: (8, boChar + "LL"), # RATIONAL + 6: (1, boChar + "b"), # SBYTE + 7: (1, boChar + "c"), # UNDEFINED + 8: (2, boChar + "h"), # SSHORT + 9: (4, boChar + "l"), # SLONG + 10: (8, boChar + "ll"), # SRATIONAL + 11: (4, boChar + "f"), # FLOAT + 12: (8, boChar + "d") # DOUBLE + } + ifdOffset = struct.unpack(boChar + "L", data[4:8])[0] + try: + countSize = 2 + input.seek(ifdOffset) + ec = input.read(countSize) + ifdEntryCount = struct.unpack(boChar + "H", ec)[0] + # 2 bytes: TagId + 2 bytes: type + 4 bytes: count of values + 4 + # bytes: value offset + ifdEntrySize = 12 + for i in range(ifdEntryCount): + entryOffset = ifdOffset + countSize + i * ifdEntrySize + input.seek(entryOffset) + tag = input.read(2) + tag = struct.unpack(boChar + "H", tag)[0] + if(tag == 256 or tag == 257): + # if type indicates that value fits into 4 bytes, value + # offset is not an offset but value itself + type = input.read(2) + type = struct.unpack(boChar + "H", type)[0] + if type not in tiffTypes: + raise UnknownImageFormat( + "Unkown TIFF field type:" + + str(type)) + typeSize = tiffTypes[type][0] + typeChar = tiffTypes[type][1] + input.seek(entryOffset + 8) + value = input.read(typeSize) + value = int(struct.unpack(typeChar, value)[0]) + if tag == 256: + width = value + else: + height = value + if width > -1 and height > -1: + break + except Exception as e: + raise UnknownImageFormat(str(e)) + elif size >= 2: + # see http://en.wikipedia.org/wiki/ICO_(file_format) + imgtype = 'ICO' + input.seek(0) + reserved = input.read(2) + if 0 != struct.unpack(" 1: + import warnings + warnings.warn("ICO File contains more than one image") + # http://msdn.microsoft.com/en-us/library/ms997538.aspx + w = input.read(1) + h = input.read(1) + width = ord(w) + height = ord(h) + else: + raise UnknownImageFormat(FILE_UNKNOWN) + + return Image(path=file_path, + type=imgtype, + file_size=size, + width=width, + height=height) + + +import unittest + + +class Test_get_image_size(unittest.TestCase): + data = [{ + 'path': 'lookmanodeps.png', + 'width': 251, + 'height': 208, + 'file_size': 22228, + 'type': 'PNG'}] + + def setUp(self): + pass + + def test_get_image_metadata(self): + img = self.data[0] + output = get_image_metadata(img['path']) + self.assertTrue(output) + self.assertEqual(output.path, img['path']) + self.assertEqual(output.width, img['width']) + self.assertEqual(output.height, img['height']) + self.assertEqual(output.type, img['type']) + self.assertEqual(output.file_size, img['file_size']) + for field in image_fields: + self.assertEqual(getattr(output, field), img[field]) + + def test_get_image_metadata__ENOENT_OSError(self): + with self.assertRaises(OSError): + get_image_metadata('THIS_DOES_NOT_EXIST') + + def test_get_image_metadata__not_an_image_UnknownImageFormat(self): + with self.assertRaises(UnknownImageFormat): + get_image_metadata('README.rst') + + def test_get_image_size(self): + img = self.data[0] + output = get_image_size(img['path']) + self.assertTrue(output) + self.assertEqual(output, + (img['width'], + img['height'])) + + def tearDown(self): + pass + + +def main(argv=None): + """ + Print image metadata fields for the given file path. + + Keyword Arguments: + argv (list): commandline arguments (e.g. sys.argv[1:]) + Returns: + int: zero for OK + """ + import logging + import optparse + import sys + + prs = optparse.OptionParser( + usage="%prog [-v|--verbose] [--json|--json-indent] []", + description="Print metadata for the given image paths " + "(without image library bindings).") + + prs.add_option('--json', + dest='json', + action='store_true') + prs.add_option('--json-indent', + dest='json_indent', + action='store_true') + + prs.add_option('-v', '--verbose', + dest='verbose', + action='store_true',) + prs.add_option('-q', '--quiet', + dest='quiet', + action='store_true',) + prs.add_option('-t', '--test', + dest='run_tests', + action='store_true',) + + argv = list(argv) if argv is not None else sys.argv[1:] + (opts, args) = prs.parse_args(args=argv) + loglevel = logging.INFO + if opts.verbose: + loglevel = logging.DEBUG + elif opts.quiet: + loglevel = logging.ERROR + logging.basicConfig(level=loglevel) + log = logging.getLogger() + log.debug('argv: %r', argv) + log.debug('opts: %r', opts) + log.debug('args: %r', args) + + if opts.run_tests: + import sys + sys.argv = [sys.argv[0]] + args + import unittest + return unittest.main() + + output_func = Image.to_str_row + if opts.json_indent: + import functools + output_func = functools.partial(Image.to_str_json, indent=2) + elif opts.json: + output_func = Image.to_str_json + elif opts.verbose: + output_func = Image.to_str_row_verbose + + EX_OK = 0 + EX_NOT_OK = 2 + + if len(args) < 1: + prs.print_help() + print('') + prs.error("You must specify one or more paths to image files") + + errors = [] + for path_arg in args: + try: + img = get_image_metadata(path_arg) + print(output_func(img)) + except KeyboardInterrupt: + raise + except OSError as e: + log.error((path_arg, e)) + errors.append((path_arg, e)) + except Exception as e: + log.exception(e) + errors.append((path_arg, e)) + pass + if len(errors): + import pprint + print("ERRORS", file=sys.stderr) + print("======", file=sys.stderr) + print(pprint.pformat(errors, indent=2), file=sys.stderr) + return EX_NOT_OK + return EX_OK + + +if __name__ == "__main__": + import sys + sys.exit(main(argv=sys.argv[1:])) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/ibr_convert_old_to_new.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/ibr_convert_old_to_new.py new file mode 100644 index 0000000000..5bc5f78107 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/ibr_convert_old_to_new.py @@ -0,0 +1,212 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# -------------------------------------------- +""" @package dataset_tools_preprocess +This script creates a SIBR template dataset from the old SIBR dataset which can be fed to a SIBR application + +Parameters: -h help, + -i , + -o [optional], + -r use release w/ debug symbols executables + +Usage: python ibr_preprocess_rc_to_sibr.py -i \sibr\install\bin\datasets\museum_sibr_old_preproc + -d \sibr\install\bin\datasets\museum_sibr_new_preproc2 + +""" + +import subprocess +import shutil +import os, sys, getopt +import re +from utils.commands import getProcess +from utils.paths import getBinariesPath + +from os import walk + +#-------------------------------------------- + +#=============================================================================== + +import struct +import imghdr + +def get_image_size(fname): + '''Determine the image type of fhandle and return its size. + from draco''' + with open(fname, 'rb') as fhandle: + head = fhandle.read(24) + if len(head) != 24: + return + if imghdr.what(fname) == 'png': + check = struct.unpack('>i', head[4:8])[0] + if check != 0x0d0a1a0a: + return + width, height = struct.unpack('>ii', head[16:24]) + elif imghdr.what(fname) == 'gif': + width, height = struct.unpack('H', fhandle.read(2))[0] - 2 + # We are at a SOFn block + fhandle.seek(1, 1) # Skip `precision' byte. + height, width = struct.unpack('>HH', fhandle.read(4)) + except Exception: #IGNORE:W0703 + return + else: + return + return width, height + +def checkOutput( output, force_continue ): + if( output != 0): + if( not force_continue ): + sys.exit() + else: + return False + else: + return True + + +#=============================================================================== + +#-------------------------------------------- +# 0. Paths, commands and options + +def main(argv, path_dest): + opts, args = getopt.getopt(argv, "hi:ro:", ["idir=", "bin="]) + executables_suffix = "" + executables_folder = getBinariesPath() + path_data = "" + for opt, arg in opts: + if opt == '-h': + print("-i path_to_old_dataset -d path_to_new_dataset [-r (use release w/ debug symbols executables)]") + sys.exit() + elif opt == '-i': + path_data = arg + print(['Setting path_data to ', path_data]) + elif opt == '-r': + executables_suffix = "_rwdi" + print("Using rwdi executables.") + elif opt == '-o': + path_dest = arg + print(['Setting path_dest to ', path_dest]) + + return (path_data, path_dest, executables_suffix, executables_folder) + +path_dest = "" +path_data, path_dest, executables_suffix, executables_folder = main(sys.argv[1:], path_dest) + +if(path_data == ""): + path_data = os.path.abspath(os.path.join(os.path.dirname(__file__), "../datasets")) + +if(path_dest == ""): + path_dest = path_data + +path_data = os.path.abspath(path_data + "/") + "/" +path_dest = os.path.abspath(path_dest + "/") + "/" + +path_in_imgs = path_data + + +print(['Raw_data folder: ', path_data]) +print(['Path_dest: ', path_dest]) + +#path_dest_pmvs = path_dest + "pmvs/models/"; +file_nameList = path_data + "images/list_images.txt"; +# path_scene_metadata = path_data + "scene_metadata.txt" + + +#-------------------------------------------- +# Create scene metadata file from list image file +scene_metadata = "Scene Metadata File\n\n" + +# read list image file +path_list_images = os.path.join(path_in_imgs, "list_images.txt") +list_images = [] + +print(path_list_images) +if os.path.exists(path_list_images): + list_image_file = open(path_list_images, "r") + + for line in list_image_file: + list_images.append(line) + + list_image_file.close() + +# read clipping planes file +path_clipping_planes = os.path.join(path_data, "clipping_planes.txt") +clipping_planes = [] + +if os.path.exists(path_clipping_planes): + clipping_planes_file = open(path_clipping_planes, "r") + + for line in clipping_planes_file: + line = line.strip('\n') + clipping_planes.append(line) + + clipping_planes_file.close() + + +if not os.path.exists(path_dest): + os.mkdir(path_dest) + +folder_to_create = ["images","cameras","meshes","textures"] +for f in folder_to_create: + if not os.path.exists(os.path.join(path_dest,f)): + os.mkdir(os.path.join(path_dest,f)) + +scene_metadata = scene_metadata + "[list_images]\n \n" + +for im in list_images: + print("copying: "+im.split(' ', 1)[0]) + shutil.copy( + os.path.join(path_data,im.split(' ', 1)[0]), + os.path.join(path_dest,"images",im.split(' ', 1)[0]) + ) + + if len(clipping_planes) is not 0: + scene_metadata = scene_metadata + im[:-1] + " " + clipping_planes[0] + "\n" + else: + scene_metadata = scene_metadata + im[:-1] + " 0.01 100\n" + +shutil.copy( + os.path.join(path_data,"list_images.txt"), + os.path.join(path_dest,"images","list_images.txt") + ) + +shutil.copy( + os.path.join(path_data,"bundle.out"), + os.path.join(path_dest,"cameras","bundle.out") + ) + +shutil.copy( + os.path.join(path_data,"pmvs/models/pmvs_recon.ply"), + os.path.join(path_dest,"meshes/recon.ply") + ) + +scene_metadata = scene_metadata + "\n\n// Always specify active/exclude images after list images\n\n[exclude_images]\n ... \n" + + +path_scene_metadata = os.path.join(path_dest, "scene_metadata.txt") + +scene_metadata_file = open(path_scene_metadata, "w") +scene_metadata_file.write(scene_metadata) +scene_metadata_file.close() \ No newline at end of file diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/ibr_preprocess_rc_to_sibr.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/ibr_preprocess_rc_to_sibr.py new file mode 100644 index 0000000000..04448a43cd --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/ibr_preprocess_rc_to_sibr.py @@ -0,0 +1,487 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# -------------------------------------------- +""" @package dataset_tools_preprocess +This script converts a Reality Capture dataset to SIBR template dataset which can be fed to an SIBR application + +Parameters: -h help, + -i , + -o [optional], + -r use release w/ debug symbols executables + +Usage: python ibr_preprocess_rc_to_sibr.py -r + -i \sibr\install\bin\datasets\museum_sibr_new_preproc_template_RCOut + -o \sibr\install\bin\datasets\museum_sibr_new_preproc2 + +""" + +import subprocess +import shutil +import os +import re +from utils.commands import getProcess +from utils.paths import getBinariesPath +from generate_list_images import generateListImages + +from os import walk + +# -------------------------------------------- + +from tempfile import mkstemp +from shutil import move +from os import remove, close + +# =============================================================================== + +import sys, getopt +import struct +import imghdr + +# =============================================================================== +import bundle + + +def get_image_size(fname): + '''Determine the image type of fhandle and return its size. + from draco''' + with open(fname, 'rb') as fhandle: + head = fhandle.read(24) + if len(head) != 24: + return + if imghdr.what(fname) == 'png': + check = struct.unpack('>i', head[4:8])[0] + if check != 0x0d0a1a0a: + return + width, height = struct.unpack('>ii', head[16:24]) + elif imghdr.what(fname) == 'gif': + width, height = struct.unpack('H', fhandle.read(2))[0] - 2 + # We are at a SOFn block + fhandle.seek(1, 1) # Skip `precision' byte. + height, width = struct.unpack('>HH', fhandle.read(4)) + except Exception: # IGNORE:W0703 + return + else: + return + return width, height + + +# =============================================================================== + +def replace(file_path, pattern, subst): + # Create temp file + fh, abs_path = mkstemp() + with open(abs_path, 'w') as new_file: + with open(file_path) as old_file: + for line in old_file: + new_file.write(line.replace(pattern, subst)) + close(fh) + # Remove original file + remove(file_path) + # Move new file + move(abs_path, file_path) + +def checkOutput( output, force_continue ): + """Check if an external process succeeded and if we should abort if something went wrong + + Args: + output (int): output of some external launched process (0=fine, 1 or greater=error) + force_continue (bool): should we continue anyway? + + Returns: + bool: True if last process succeeded + """ + if(output != 0): + if( not force_continue ): + sys.exit() + else: + return False + else: + return True + +def get_textured_mesh_base_name (source_folder): + """Return the base name of a textured mesh obtained with RealityCapture + + Args: + source_folder (str): path to dataset (bundle file, textured and images) + + Returns: + str: base name of .obj, .mtl and _u1_v1.png + """ + default_name = "textured" + for file_in_dir in os.listdir (source_folder): + if (file_in_dir.lower().endswith(".mtl")): + return os.path.splitext( file_in_dir )[0] + return default_name + + +def get_scale_factor (current_res, target_res): + """Return the scale factor needed to go from current_res to target_res. + The value is calculated based on the idea that we don't want to crop the input dataset anymore + and that we prefer to add black borders in order to reach the target resolution + + Args: + current_res (vec2): current dataset resolution + target_res (vec2): target dataset resolution + + Returns: + float: scale factor + """ + + # to go from current to target resolution, we have to options: + # either scale down current width to match target width and modify height accordingly + # or scalen down current height to match target height and modify width accordingly. + # we take the option that doesn't crop the remaining dimension and add the least black border + + # trying scaling down width + alpha_by_width = (float)(target_res[0]) / current_res[0] + adjusted_height = (int) (alpha_by_width * current_res[1]) + delta_height = target_res[1] - adjusted_height + + # trying scaling down height + alpha_by_height = (float)(target_res[1]) / current_res[1] + adjusted_width = (int) (alpha_by_height * current_res[0]) + delta_width = target_res[0] - adjusted_width + + # since we don't want to crop the input images even more, we considerer only + # the options were black borders need to be added + + if (delta_height < 0): + # height would need to be cropped. take the other option + return alpha_by_height + elif (delta_width < 0): + # width would need to be cropped. take the other option + return alpha_by_width + else: + # none of them need to be cropped. take option that adds less black border + return alpha_by_width if (delta_height < delta_width) else alpha_by_height + + + +# =============================================================================== + +# -------------------------------------------- +# 0. Paths, commands and options + +def main(argv, path_dest): + opts, args = getopt.getopt(argv, "hi:ro:", ["idir=", "bin="]) + executables_suffix = "" + executables_folder = getBinariesPath() + path_data = "" + for opt, arg in opts: + if opt == '-h': + print("-i path_to_rc_data_dir -o path_to_destination_dir [-r (use release w/ debug symbols executables)]") + sys.exit() + elif opt == '-i': + path_data = arg + print(['Setting path_data to ', path_data]) + elif opt == '-r': + executables_suffix = "_rwdi" + print("Using rwdi executables.") + elif opt == '-o': + path_dest = arg + print(['Setting path_dest to ', path_dest]) + elif opt in ('-bin', '--bin'): + executables_folder = os.path.abspath(arg) + + return (path_data, path_dest, executables_suffix, executables_folder) + + +path_dest = "" +path_data, path_dest, executables_suffix, executables_folder = main(sys.argv[1:], path_dest) + +if(path_data == ""): + path_data = os.path.abspath(os.path.join(os.path.dirname(__file__), "../datasets")) + +if(path_dest == ""): + path_dest = path_data + +path_data = os.path.abspath(path_data + "/") + "/" +path_dest = os.path.abspath(path_dest + "/") + "/" +executables_folder = os.path.abspath(executables_folder + "/") + "/" + +path_in_imgs = path_data +path_out_imgs = path_dest + "images/" + +print(['Raw_data folder: ', path_data]) +print(['Path_dest: ', path_dest]) +print(['Executables folder: ', executables_folder]) + +# dirs to create + +raw_data = "raw/" +cameras_dir = "cameras/" +images_dir = "images/" +pmvs_model_dir = "meshes/" +parentdir = os.path.dirname(os.path.split(path_dest)[0]) +print("COMPARE " , parentdir , " AND " , os.path.dirname(os.path.split(path_data)[0])) +if( parentdir == os.path.dirname(os.path.split(path_data)[0])): + capreal_dir = os.path.join(parentdir, "capreal/") + print("CAPREAL " , capreal_dir) + if not os.path.exists(capreal_dir): + os.makedirs(capreal_dir) + +dirs_to_create = [ raw_data, cameras_dir, images_dir, pmvs_model_dir] + +for dir_to_create in dirs_to_create: + path_to_dir = os.path.join(path_dest, dir_to_create) + if not os.path.exists(path_to_dir): + os.makedirs(path_to_dir) + + +################################# GLOBALS ###################################### + +# half size parameters +width_limit = 2500 +create_temp_folders = False + +input_bundle = bundle.Bundle(path_data + "bundle.out") + + +############################# RUN DISTORDCROP ################################## +# by calling distordCrop (preprocess/distordCrop), input images that have a +# resolution completely different from the average or that have too much +# black border added by RealityCapture will be listed in a exclude_images.txt file. +# A new proposed resolution will be also output in a file called cropNewSize.txt +# In order to accelerate this process and avoid loading the images multiple times, +# make sure that average resolution was already calculated and there is file called +# resolutions.txt in the dataset source folder containing the current resolution +# of each image. + +# distordCrop executable +crop_app = getProcess("distordCrop" + executables_suffix, executables_folder) + +# query current avera resolution in dataset +avg_resolution = input_bundle.get_avg_resolution() + +# generate resolutions.txt and put it in the current dataset folder +resolutions_txt_path = os.path.join(path_data, "resolutions.txt") +input_bundle.generate_list_of_images_file(resolutions_txt_path) + +# call distordCrop +p_exit = subprocess.call([crop_app, "--path", path_data, "--ratio", "0.3", "--avg_width", str(avg_resolution[0]), "--avg_height", str(avg_resolution[1]) ]) +print(crop_app, " exited with ", p_exit); +checkOutput(p_exit, False) + +# read new proposed resolution and check if images were discarded +exclude = [] +path_to_exclude_images_txt = os.path.join(path_data, "exclude_images.txt") +if (os.path.exists(path_to_exclude_images_txt)): + # list of excluded cameras (one line having all the camera ids to exclude) + exclusion_file = open(path_to_exclude_images_txt, "r") + line = exclusion_file.readline() + tokens = line.split() + + for cam_id in tokens: + exclude.append(int(cam_id)) + exclusion_file.close() + +# exclude cams from bundle file +input_bundle.exclude_cams (exclude) + +# read proposed cropped resolution +path_to_crop_new_size_txt = os.path.join(path_data, "cropNewSize.txt") +with open(path_to_crop_new_size_txt) as crop_size_file: + line = crop_size_file.readline() + tokens = line.split() + new_width = int(tokens[0]) + new_height = int(tokens[1]) + proposed_res = [new_width, new_height] + +print("crop size:", proposed_res) + +################################################################################ + +##################### TRANSFORM IMAGES TO TARGET RESOLUTION #################### +# we need to crop images to the previous proposed resolution (crop applied from the center). +# if a target resolution was passed as parameter, we also need to scale down the images +# and pad them with black borders in order to end up with the exact target resolution. +# Before padding the images, we need to have available the temporary result of the +# dataset scaled down in order to potentially call harmonize (which doesn't work with +# images that were padded with black borders). +# Scaled down dataset will be stored inside \/scaledDown +# and we will store the scale down factor in a scale_factor.txt file +target_res = None +if (proposed_res[0] > width_limit): + half_width = (int)(proposed_res[0] * 0.5) + half_height = (int)(proposed_res[0] * 0.5) + target_res = [half_width, half_height] + +# cropFromCenter executable +crop_from_center_app = getProcess("cropFromCenter" + executables_suffix, executables_folder) + +# generate file with list of current selected images to process +path_to_transform_list_txt = os.path.join (path_data, "toTransform.txt") +input_bundle.generate_list_of_images_file(path_to_transform_list_txt) + +crop_from_center_args = [crop_from_center_app, + "--inputFile", path_to_transform_list_txt, + "--outputPath", path_out_imgs, + "--avgResolution", str(avg_resolution[0]), str(avg_resolution[1]), + "--cropResolution", str(proposed_res[0]), str(proposed_res[1]) +] + +# calculate scale factor and how to achieve target resolution +# scaled dataset will be store in destionation_folder/scaled +if (target_res is not None): + scale_factor = get_scale_factor(proposed_res, target_res) + crop_from_center_args.extend([ + "--scaleDownFactor", str(scale_factor), + "--targetResolution", str(target_res[0]), str(target_res[1]) + ]) + +# call cropFromCenter +p_exit = subprocess.call(crop_from_center_args) +print(crop_from_center_app, " exited with ", p_exit); +checkOutput(p_exit, False) + +# write bundle file in output cameras folder +path_to_output_bundle = os.path.join (path_dest, cameras_dir, "bundle.out") +input_bundle.save(path_to_output_bundle) + +# and also in scaled down output folder if needed +if (target_res is not None): + # scale bundle file for the same factor + input_bundle.scale(scale_factor) + path_to_scaled_down_output_bundle = os.path.join (os.path.join (path_dest, "images/scaled"), "bundle.out") + input_bundle.save(path_to_scaled_down_output_bundle) + +################################################################################ + +############################ MOVE REST OF ASSETS ############################### + +textured_mesh_base_name = get_textured_mesh_base_name(path_data) +print("***** TEXT * ", textured_mesh_base_name) + +# copy files +files_to_move = [ #['pmvs/models/pmvs_recon.ply',''], + ['pmvs_recon.ply', pmvs_model_dir], + ['mesh.ply', pmvs_model_dir], + ['mesh.ply', capreal_dir], + ['recon.ply', pmvs_model_dir], + ['rc_out.csv', path_dest], + ["textured.obj", capreal_dir], + ["textured.mtl", capreal_dir], + ["textured_u1_v1.png", capreal_dir], + [textured_mesh_base_name + ".obj", capreal_dir], + [textured_mesh_base_name + ".mtl", capreal_dir], + [textured_mesh_base_name + "_u1_v1.png", capreal_dir] ] +for filename, directory_name in files_to_move: + source_file = os.path.join (path_data, filename) + destination_file = os.path.join (os.path.join (path_dest, directory_name), filename) + # print("Trying ", source_folder + file , " ", destination_folder + dir + file ) + print("Trying ", source_file , "-->", destination_file ) + if (os.path.exists(source_file)): + print("Moving ", source_file , " ", destination_file ) + shutil.copy( source_file , destination_file ) + +################################################################################ + +######################## CALCULATE CLIPPING PLANES ############################# +# clippingPlanes executable +clipping_planes_app = getProcess("clippingPlanes" + executables_suffix, executables_folder) + +clipping_planes_args = [clipping_planes_app, path_dest] + +# call clippingPlanes app +p_exit = subprocess.call(clipping_planes_args) +print(clipping_planes_app, " exited with ", p_exit); +checkOutput(p_exit, False) + +################################################################################ + +########################## CREATE LIST IMAGES ################################## + +path_images = os.path.join(path_dest, images_dir) +path_list_images = os.path.join(path_images, "list_images.txt") +generateListImages(path_images) + +################################################################################ + +######################## CREATE SCENE METADATA ################################# + +# read list image file +list_images = [] + +if os.path.exists(path_list_images): + list_image_file = open(path_list_images, "r") + + for line in list_image_file: + list_images.append(line) + + list_image_file.close() + +# read clipping planes file +path_clipping_planes = os.path.join(path_dest, "clipping_planes.txt") +clipping_planes = [] + +if os.path.exists(path_clipping_planes): + clipping_planes_file = open(path_clipping_planes, "r") + + for line in clipping_planes_file: + clipping_planes.append(line) + + clipping_planes_file.close() + + +# Create scene metadata file from list image file +scene_metadata = "Scene Metadata File\n\n" + +if len(list_images) == len(clipping_planes): + scene_metadata = scene_metadata + "[list_images]\n \n" + new_list = [a[:-1] + " " + b for a, b in zip(list_images, clipping_planes)] + for line in new_list: + scene_metadata = scene_metadata + line + +scene_metadata = scene_metadata + "\n\n// Always specify active/exclude images after list images\n\n[exclude_images]\n ... \n" + +# if len(exclude) > 0: +# for line in exclude: +# scene_metadata = scene_metadata + str(line) + " " + +scene_metadata = scene_metadata + "\n\n\n[other parameters]" + + +# rename pmvs_recon.ply to recon.ply +if (os.path.exists(os.path.join(path_dest, pmvs_model_dir, "pmvs_recon.ply"))): + shutil.copy(os.path.join(path_dest, pmvs_model_dir, "pmvs_recon.ply"), os.path.join(path_dest, pmvs_model_dir, "recon.ply")) + +if (os.path.exists(os.path.join(path_dest, pmvs_model_dir, "mesh.ply"))): + shutil.copy(os.path.join(path_dest, pmvs_model_dir, "mesh.ply"), os.path.join(path_dest, pmvs_model_dir, "recon.ply")) + +path_scene_metadata = os.path.join(path_dest, "scene_metadata.txt") + +scene_metadata_file = open(path_scene_metadata, "w") +scene_metadata_file.write(scene_metadata) +scene_metadata_file.close() + +################################################################################ + +for filename in os.listdir(path_data): + src = os.path.join(path_data, filename) + dst = os.path.join(path_dest, raw_data) + if not os.path.isdir(src): + shutil.copy(src, dst) + +print("Fin.") diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify.mlx b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify.mlx new file mode 100644 index 0000000000..a77e796f18 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify.mlx @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify200.mlx b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify200.mlx new file mode 100644 index 0000000000..e44b6c71af --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify200.mlx @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify250.mlx b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify250.mlx new file mode 100644 index 0000000000..03af02fcbf --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify250.mlx @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify300.mlx b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify300.mlx new file mode 100644 index 0000000000..6f35b699ea --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify300.mlx @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify350.mlx b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify350.mlx new file mode 100644 index 0000000000..03af02fcbf --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/simplify350.mlx @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/wedge_to_vertex_uvs.mlx b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/wedge_to_vertex_uvs.mlx new file mode 100644 index 0000000000..a72957a82c --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/meshlab/wedge_to_vertex_uvs.mlx @@ -0,0 +1,4 @@ + + + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/simplify_mesh.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/simplify_mesh.py new file mode 100644 index 0000000000..6e18622b10 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/simplify_mesh.py @@ -0,0 +1,72 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +""" @package dataset_tools_preprocess +This script calls meshlab to simplify a mesh + +Parameters: -h help, + -inputMesh , + -outputMesh , + -meshlabPath + +Usage: python simplify_mesh.py --inputMesh + --outputMesh + --meshlabPath + --meshsize + +""" + +import os, sys +import argparse +from utils.commands import runCommand, getMeshlabServer +from utils.paths import getMeshlabPath + +def simplifyMesh(inputMesh, outputMesh, meshsize="", meshlabPath = getMeshlabPath()): + mlxFileEnd = 'meshlab/simplify.mlx' + + if( meshsize != "" ): + if( meshsize == "200"): + mlxFileEnd = 'meshlab/simplify200.mlx' + elif( meshsize == "250"): + mlxFileEnd = 'meshlab/simplify250.mlx' + elif( meshsize == "300"): + mlxFileEnd = 'meshlab/simplify300.mlx' + elif( meshsize == "350"): + mlxFileEnd = 'meshlab/simplify350.mlx' + elif( meshsize == "400"): + mlxFileEnd = 'meshlab/simplify400.mlx' + + + mlxFile = os.path.abspath(os.path.join(os.path.abspath(os.path.dirname(__file__)), mlxFileEnd)) + + return runCommand(getMeshlabServer(meshlabPath), ['-i', inputMesh, + '-o', outputMesh, + '-s', mlxFile]) + +def main(): + parser = argparse.ArgumentParser() + + # common arguments + parser.add_argument("--inputMesh", type=str, required=True, help="the mesh to simplify") + parser.add_argument("--outputMesh", type=str, required=True, help="the output mesh") + parser.add_argument("--meshlabPath", type=str, default=getMeshlabPath(), help="Meshlab binary directory") + parser.add_argument("--meshsize", type=str, help="size of the output mesh in K polygons (ie 200 == 200,000 polygons). Values allowed: 200, 250, 300, 350, 400") + + args = vars(parser.parse_args()) + + return simplifyMesh(args['inputMesh'], args['outputMesh'], args['meshsize'], args['meshlabPath']) + +# sys.exit(0) + +if __name__ == "__main__": + main() diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/wedge_to_vertex_uvs.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/wedge_to_vertex_uvs.py new file mode 100644 index 0000000000..bcf651c015 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/converters/wedge_to_vertex_uvs.py @@ -0,0 +1,60 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +""" @package dataset_tools_preprocess +This script calls meshlab to simplify a mesh + +Parameters: -h help, + -inputMesh , + -outputMesh , + -meshlabPath + +Usage: python wedge_to_vertex_uvs.py -inputMesh + -outputMesh + -meshlabPath + +""" + +import os, sys +import argparse +from utils.commands import runCommand, getMeshlabServer +from utils.paths import getMeshlabPath + +def convertUVs(inputMesh, outputMesh, meshlabPath = getMeshlabPath()): + mlxFile = os.path.abspath(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'meshlab/wedge_to_vertex_uvs.mlx')) + + ret = runCommand(getMeshlabServer(meshlabPath), ['-i', inputMesh, + '-o', outputMesh, + '-m', 'vt', + '-s', mlxFile]) + return ret + +def main(): + parser = argparse.ArgumentParser() + + # common arguments + parser.add_argument("--inputMesh", type=str, required=True, help="the mesh to simplify") + parser.add_argument("--outputMesh", type=str, required=True, help="the output mesh") + parser.add_argument("--meshlabPath", type=str, default=getMeshlabPath(), help="Meshlab binary directory") + + args = vars(parser.parse_args()) + + ret = convertUVs(args['inputMesh'], args['outputMesh'], args['meshlabPath']) + if( ret.returncode != 0 ): + print("SIBR_ERROR meshlab error in converting UVs") + sys.exit(1) + + sys.exit(0) + +if __name__ == "__main__": + main() diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/cropFromCenter/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/cropFromCenter/CMakeLists.txt new file mode 100644 index 0000000000..23b57c6b95 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/cropFromCenter/CMakeLists.txt @@ -0,0 +1,38 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(cropFromCenter) + +# libraries used: +# * sibr graphics (vector2i class) +# * sibr system (programArg class) +# * boost filesystem (path class) +# * openmp + +# Define build output for project +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + OpenMP::OpenMP_CXX + sibr_system + sibr_graphics + sibr_imgproc +) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/cropFromCenter/main.cpp b/SIBR_viewers/src/projects/dataset_tools/preprocess/cropFromCenter/main.cpp new file mode 100644 index 0000000000..a62ef6320b --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/cropFromCenter/main.cpp @@ -0,0 +1,193 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include + + + +/* +Crop input images from center so they end up with resolution x +if scale down factor is also passed, after the image has been cropped, it will be scaled down by that value +*/ +const char* USAGE = "Usage: cropFromCenter --inputFile --outputPath --avgResolution --cropResolution [--scaleDownFactor --targetResolution ] \n"; +//const char* USAGE = "Usage: cropFromCenter --inputFile --outputPath --avgResolution --cropResolution [--scaleDownFactor --targetResolution ] \n"; +const char* TAG = "[cropFromCenter]"; +const unsigned PROCESSING_BATCH_SIZE = 150; +const char* LOG_FILE_NAME = "cropFromCenter.log"; +const char* SCALED_DOWN_SUBFOLDER = "scaled"; +const char* SCALED_DOWN_FILENAME = "scale_factor.txt"; + +struct CropAppArgs : + virtual sibr::BasicIBRAppArgs { + sibr::Arg inputFileArg = { "inputFile", "" }; + sibr::Arg outputFolderArg = { "outputPath", "" }; + sibr::Arg avgResolutionArg = { "avgResolution",{ 0, 0 } }; + sibr::Arg cropResolutionArg = { "cropResolution",{ 0, 0 } }; + sibr::Arg scaleDownFactorArg = { "scaleDownFactor", 0.0f }; + sibr::Arg targetResolutionArg = { "targetResolution",{ 0, 0 } }; +}; + +void printUsage() +{ + std::cout << USAGE << std::endl; +} + + +bool getParamas(int argc, const char ** argv, + std::string & inputFile, boost::filesystem::path & outputPath, + sibr::Vector2i & avgResolution, sibr::Vector2i & cropResolution, float & scaleDownFactor, sibr::Vector2i & targetResolution) +{ + + sibr::CommandLineArgs::parseMainArgs(argc, argv); + CropAppArgs myArgs; + + inputFile = myArgs.inputFileArg; + + std::string outputFolder = myArgs.outputFolderArg; + outputPath = outputFolder; + + avgResolution = myArgs.avgResolutionArg; + + cropResolution = myArgs.cropResolutionArg; + + // optional parameters + if (myArgs.scaleDownFactorArg != 0.0f) { + scaleDownFactor = myArgs.scaleDownFactorArg; + } + + if (myArgs.targetResolutionArg.get() != sibr::Vector2i(0, 0)) { + targetResolution = myArgs.targetResolutionArg; + } + + + if (inputFile.empty() || outputFolder.empty() || avgResolution == sibr::Vector2i(0, 0) || cropResolution == sibr::Vector2i(0, 0)) { + return false; + } + + return true; +} + + +int main(const int argc, const char** argv) +{ + // process parameters + std::string inputFileName; + boost::filesystem::path outputFolder; + boost::filesystem::path scaledDownOutputFolder; + sibr::Vector2i avgInitialResolution; // just for statistics and log file + sibr::Vector2i cropResolution; + float scaleDownFactor = 0.f; + sibr::Vector2i targetResolution; + + sibr::CropScaleImageUtility appUtility; + + if (!getParamas(argc, argv, inputFileName, outputFolder, avgInitialResolution, cropResolution, scaleDownFactor, targetResolution)) { + std::cerr << TAG << " ERROR: wrong parameters.\n"; + printUsage(); + return -1; + } + + scaledDownOutputFolder = (outputFolder / SCALED_DOWN_SUBFOLDER); + + bool scaleDown = (scaleDownFactor > 0); + //cv::Size resizedSize (finalResolution[0], cropResolution[1] * ((float)(finalResolution[0]) / cropResolution[0])); + cv::Size resizedSize(int(cropResolution[0] * scaleDownFactor), int(cropResolution[1] * scaleDownFactor)); + + + if (!boost::filesystem::exists(outputFolder)) + { + boost::filesystem::create_directory(outputFolder); + } + + if (scaleDown && !boost::filesystem::exists(scaledDownOutputFolder)) { + boost::filesystem::create_directory(scaledDownOutputFolder); + } + + // read input file + std::vector pathToImgs = appUtility.getPathToImgs(inputFileName); + std::vector listOfImages(pathToImgs.size()); + std::vector listOfImagesScaledDown(scaleDown ? pathToImgs.size() : 0); + + // calculate nr batches + const int nrBatches = static_cast(ceil((float)(pathToImgs.size()) / PROCESSING_BATCH_SIZE)); + + std::chrono::time_point start, end; + start = std::chrono::system_clock::now(); + + const int batchSize = int(PROCESSING_BATCH_SIZE); + // run batches sequentially + for (int batchId = 0; batchId < nrBatches; batchId++) { + + const int nrItems = (batchId != nrBatches - 1) ? batchSize : ((nrBatches * batchSize != int(pathToImgs.size())) ? (int(pathToImgs.size()) - (batchSize * batchId)) : batchSize); + + #pragma omp parallel for + for (int localImgIndex = 0; localImgIndex < nrItems; localImgIndex++) { + + const int globalImgIndex = (batchId * batchSize) + localImgIndex; + + // using next code will keep filename in output directory + boost::filesystem::path boostPath(pathToImgs[globalImgIndex]); + //std::string outputFileName = (outputFolder / boostPath.filename()).string(); + + std::stringstream ss; + ss << std::setfill('0') << std::setw(8) << globalImgIndex << boostPath.extension().string(); + std::string outputFileName = (outputFolder / ss.str()).string(); + std::string scaledDownOutputFileName = (scaledDownOutputFolder / ss.str()).string(); + + cv::Mat img = cv::imread(pathToImgs[globalImgIndex], 1); + + cv::Rect areOfIntererst = cv::Rect((img.cols - cropResolution[0]) / 2, (img.rows - cropResolution[1]) / 2, cropResolution[0], cropResolution[1]); + + cv::Mat croppedImg = img(areOfIntererst); + + cv::imwrite(outputFileName, croppedImg); + + listOfImages[globalImgIndex].filename = ss.str(); + listOfImages[globalImgIndex].width = croppedImg.cols; + listOfImages[globalImgIndex].height = croppedImg.rows; + + if (scaleDown) { + cv::Mat resizedImg; + cv::resize(croppedImg, resizedImg, resizedSize, 0, 0, cv::INTER_LINEAR); + + cv::imwrite(scaledDownOutputFileName, resizedImg); + + listOfImagesScaledDown[globalImgIndex].filename = ss.str(); + listOfImagesScaledDown[globalImgIndex].width = resizedImg.cols; + listOfImagesScaledDown[globalImgIndex].height = resizedImg.rows; + } + } + } + + end = std::chrono::system_clock::now(); + auto elapsedTime = std::chrono::duration_cast(end - start).count(); + + std::cout << TAG << " elapsed time=" << elapsedTime << "s.\n"; + + appUtility.logExecution(avgInitialResolution, int(pathToImgs.size()), elapsedTime, scaleDown, LOG_FILE_NAME); + + // write list_images.txt + appUtility.writeListImages((outputFolder / "list_images.txt").string(), listOfImages); + + // write list_images.txt and scale_factor in scaled down directoy if needed + if (scaleDown) { + appUtility.writeListImages((scaledDownOutputFolder / "list_images.txt").string(), listOfImagesScaledDown); + appUtility.writeScaleFactor((scaledDownOutputFolder / SCALED_DOWN_FILENAME).string(), scaleDownFactor); + + if (targetResolution != sibr::Vector2i(0, 0)) { + appUtility.writeTargetResolution((scaledDownOutputFolder / "target_resolution.txt").string(), targetResolution); + } + } + + return 0; +} \ No newline at end of file diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/distordCrop/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/distordCrop/CMakeLists.txt new file mode 100644 index 0000000000..2431d73795 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/distordCrop/CMakeLists.txt @@ -0,0 +1,39 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +# project name +project(distordCrop) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") + +# Define build output for project +add_executable(${PROJECT_NAME} ${SOURCES}) + +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + OpenMP::OpenMP_CXX + sibr_system + sibr_graphics + sibr_imgproc +) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") +if (WIN32) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251") +endif() + + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/distordCrop/main.cpp b/SIBR_viewers/src/projects/dataset_tools/preprocess/distordCrop/main.cpp new file mode 100644 index 0000000000..637760d386 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/distordCrop/main.cpp @@ -0,0 +1,192 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include + +typedef boost::filesystem::path Path; +using namespace boost::filesystem; + +int threshold_black_color = 10; //10 +int thinest_bounding_box_size = 5; +int threshold_bounding_box_size = 500; +float threshold_ratio_bounding_box_size = 0.2f; + +const int PROCESSING_BATCH_SIZE = 150; // process PROCESSING_BATCH_SIZE images together + +sibr::Vector3i backgroundColor = sibr::Vector3i(0, 0, 0); + +/* + if input image resolution is too different from the avg, it will be discarded automatically at the beginning +*/ +float resolutionThreshold = 0.15f; + +/* + tolerance factor is used to allow somehow some black borders in the final images. + if tolerance factor is zero, then all black borders are remove. + if tolerance factor is one, then the image keeps its original resolution +*/ +float toleranceFactor = 0.0f; + +bool debug_viz = false; + +struct DistordCropAppArgs : + virtual sibr::BasicIBRAppArgs { + sibr::Arg black_threshold = { "black", threshold_black_color }; + sibr::Arg minSizeThresholdArg = { "min", threshold_bounding_box_size}; + sibr::Arg minRatioThresholdArg = { "ratio", threshold_ratio_bounding_box_size }; + sibr::Arg resThreshold = { "resolution_threshold", 0.15f }; + sibr::Arg toleranceArg = { "tolerance", toleranceFactor }; + sibr::Arg vizArg = { "debug" }; + sibr::ArgSwitch modeArg = { "modesame", true }; + sibr::Arg avgWidthArg = { "avg_width", 0 }; + sibr::Arg avgHeightArg = { "avg_height", 0 }; + sibr::Arg backgroundColor = { "backgroundColor", sibr::Vector3i(0, 0, 0) }; +}; + + +/* +utility program that determines a new resolution taking into account that some input images have black borders added by reality capture. +the second output of the program [optional] is a excludeImages.txt file containing the id of the images that didn't pass the threshold test +(they would have to be cropped to much). current pipeline (IBR_recons_RC.py) doesn't used that file properly. + +we might need to call process_cam_selection manually passing as argument the excludeImages.txt in order to actually remove the cameras that +didn't pass the threshold test + +update: reality capture (using the 'fit' option when exporting bundle) sometimes produces datasets that have images not only with black borders +but also with a completely different resolution. We need to take into account those datasets too. +*/ + + +using namespace sibr; + + +int main(const int argc, const char* const* argv) +{ + // parameters stuff + sibr::CommandLineArgs::parseMainArgs(argc, argv); + DistordCropAppArgs myArgs; + + DistordCropUtility appUtils; + + std::string datasetPath = myArgs.dataset_path; + + threshold_black_color = myArgs.black_threshold; + threshold_bounding_box_size = myArgs.minSizeThresholdArg; + threshold_ratio_bounding_box_size = myArgs.minRatioThresholdArg; + toleranceFactor = myArgs.toleranceArg; + backgroundColor = myArgs.backgroundColor; + resolutionThreshold = myArgs.resThreshold; + + if( myArgs.vizArg.get()) { + debug_viz = true; + } + + int avgWidth = myArgs.avgWidthArg; + int avgHeight = myArgs.avgHeightArg; + + bool sameSize = myArgs.modeArg; + // end parameters stuff + + Path root(datasetPath); + + std::cout << "[distordCrop] looking for input images : " << std::endl; + std::vector< Path > imagePaths; + directory_iterator it(root), eod; + std::vector resolutions; + + BOOST_FOREACH(Path const &p, std::make_pair(it, eod)) { + if (is_regular_file(p) && ( p.extension() == ".jpg" || p.extension() == ".JPG" || p.extension() == ".PNG" || p.extension() == ".png" ) && appUtils.is_number(p.stem().string())) { + + std::cout << "\t " << p.filename().string() << std::endl; + imagePaths.push_back(p); + } + else if (is_regular_file(p) && p.extension() == ".txt" && p.stem().string() == "resolutions") { + + // read resolutions file + ifstream inputFile(p.string()); + + std::string line; + while (getline(inputFile, line)) { + std::stringstream iss(line); + std::string pathToImg; + std::string widthStr; + std::string heightStr; + + getline(iss, pathToImg, '\t'); + getline(iss, widthStr, '\t'); + getline(iss, heightStr, '\n'); + + sibr::Vector2i res(std::stoi(widthStr), std::stoi(heightStr)); + + resolutions.push_back(res); + + } + + inputFile.close(); + } + } + + if (resolutions.size() == 0) { + std::cout << "[distordCrop] WARNING : no resolution.txt file found" << std::endl; + return 0; + } + + if (imagePaths.size() == 0) { + std::cout << "[distordCrop] WARNING: no images found: need .jpg,.JPG,.png,.PNG " << std::endl; + return 0; + } + + if (resolutions.size() != imagePaths.size()) { + std::cout << "[distordCrop] WARNING : different number of input images and resolutions written in resolutions.txt" << std::endl; + return 0; + } + + int minWidth, minHeight, new_half_w, new_half_h; + + if (sameSize) { + std::cout << " ALL IMG SHOULD HAVE SAME SIZE " << std::endl; + sibr::Vector2i minSize = appUtils.findBiggestImageCenteredBox(root, imagePaths, resolutions, avgWidth, avgHeight, + PROCESSING_BATCH_SIZE, resolutionThreshold, threshold_ratio_bounding_box_size, backgroundColor, + threshold_black_color, thinest_bounding_box_size, toleranceFactor); + + std::cout << "[distordCrop] minSize " << minSize[0] << "x" << minSize[1] << std::endl; + minWidth = minSize[0]; + minHeight = minSize[1]; + } else { + std::cout << " ALL IMG SHOULD NOT HAVE SAME SIZE " << std::endl; + sibr::Vector2i minSize = appUtils.findMinImageSize(root, imagePaths); + minWidth = minSize[0]; + minHeight = minSize[1]; + } + + new_half_w = (minWidth % 2 == 0) ? (minWidth / 2) : (--minWidth / 2); + new_half_h = (minHeight % 2 == 0) ? (minHeight / 2) : (--minHeight / 2); + + while ((new_half_w % 4) != 0) { --new_half_w; } + while ((new_half_h % 4) != 0) { --new_half_h; } + + std::string outputFilePath = root.string() + "/cropNewSize.txt"; + std::ofstream file(outputFilePath, std::ios::trunc); + if (file) { + file << 2 * new_half_w << " " << 2 * new_half_h; + file.close(); + } + else { + std::cout << "[distordCrop] ERROR cant open file : " << outputFilePath << std::endl; + return 1; + } + + std::cout << "[distordCrop] done, new size is " << 2 * new_half_w << " x " << 2 * new_half_h << std::endl; + + return 0; +} diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/CMakeLists.txt new file mode 100644 index 0000000000..fde4398683 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/CMakeLists.txt @@ -0,0 +1,19 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(fullColmapProcess) + +file(GLOB SCRIPTS "*.py" "*.json") + +add_custom_target(${PROJECT_NAME} ALL) + +include(install_runtime) +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") +ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FILES ${SCRIPTS}) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/ColmapProcessSteps.json b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/ColmapProcessSteps.json new file mode 100644 index 0000000000..3ea917aa1c --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/ColmapProcessSteps.json @@ -0,0 +1,182 @@ +{ + "steps" : [ + { + "name": "build_dataset_structure", + "function": "utils.datasets.buildDatasetStructure", + "function_args": { + "path" : "${path}", + "types" : ["colmap", "capreal"] + } + }, + { + "name": "colmap_feature_extractor", + "app": "colmap", + "command_args": [ + "feature_extractor", + "--database_path", "${path}/colmap/dataset.db", + "--image_path", "${path}/images/", + "--ImageReader.camera_model", "OPENCV", + "--SiftExtraction.max_image_size", "${siftExtraction_ImageSize}", + "--SiftExtraction.estimate_affine_shape", "${siftExtraction_EstimateAffineShape}", + "--SiftExtraction.domain_size_pooling", "${siftExtraction_DomainSizePooling}", + "--SiftExtraction.max_num_features", "${siftExtraction_MaxNumFeatures}", + "--ImageReader.single_camera", "${imageReader_SingleCamera}", + "--SiftExtraction.gpu_index", "${gpusIndices}" + ] + }, + { + "name": "colmap_exhaustive_matcher", + "app": "colmap", + "command_args": [ + "exhaustive_matcher", + "--database_path", "${path}/colmap/dataset.db", + "--SiftMatching.guided_matching", "1", + "--ExhaustiveMatching.block_size", "${exhaustiveMatcher_ExhaustiveMatchingBlockSize}", + "--SiftMatching.gpu_index", "${gpusIndices}" + ] + }, + { + "name": "colmap_mapper", + "app": "colmap", + "command_args": [ + "mapper", + "--database_path", "${path}/colmap/dataset.db", + "--image_path", "${path}/images/", + "--output_path", "${path}/colmap/sparse/", + "--Mapper.ba_local_max_num_iterations", "${mapper_MapperDotbaLocalMaxNumIterations}", + "--Mapper.ba_global_max_num_iterations", "${mapper_MapperDotbaGlobalMaxNumIterations}", + "--Mapper.ba_global_images_ratio", "${mapper_MapperDotbaGlobalImagesRatio}", + "--Mapper.ba_global_points_ratio", "${mapper_MapperDotbaGlobalPointsRatio}", + "--Mapper.ba_global_max_refinements", "${mapper_MapperDotbaGlobalMaxRefinements}", + "--Mapper.ba_local_max_refinements", "${mapper_MapperDotbaLocalMaxRefinements}" + ] + }, + { + "name": "colmap_image_undistorter_colmap", + "app": "colmap", + "command_args": [ + "image_undistorter", + "--image_path", "${path}/images/", + "--input_path", "${path}/colmap/sparse/0", + "--output_path", "${path}/colmap/stereo/", + "--output_type", "COLMAP" + ] + }, + { + "name": "colmap_image_undistorter_capreal", + "app": "colmap", + "command_args": [ + "image_undistorter", + "--image_path", "${path}/images/", + "--input_path", "${path}/colmap/sparse/0/", + "--output_path", "${path}/capreal/undistorted/", + "--output_type", "CMP-MVS" + ] + }, + { + "name": "colmap_patch_match_stereo", + "app": "colmap", + "command_args": [ + "patch_match_stereo", + "--workspace_path", "${path}/colmap/stereo", + "--workspace_format", "COLMAP", + "--PatchMatchStereo.max_image_size", "${patchMatchStereo_PatchMatchStereoDotMaxImageSize}", + "--PatchMatchStereo.window_radius", "${patchMatchStereo_PatchMatchStereoDotWindowRadius}", + "--PatchMatchStereo.window_step", "${patchMatchStereo_PatchMatchStereoDotWindowStep}", + "--PatchMatchStereo.num_samples", "${patchMatchStereo_PatchMatchStereoDotNumSamples}", + "--PatchMatchStereo.num_iterations", "${patchMatchStereo_PatchMatchStereoDotNumIterations}", + "--PatchMatchStereo.geom_consistency", "${patchMatchStereo_PatchMatchStereoDotGeomConsistency}", + "--PatchMatchStereo.gpu_index", "${gpusIndices}" + ] + }, + { + "name": "colmap_stereo_fusion", + "app": "colmap", + "command_args": [ + "stereo_fusion", + "--workspace_path", "${path}/colmap/stereo/", + "--workspace_format", "COLMAP", + "--input_type", "geometric", + "--output_path", "${path}/colmap/stereo/fused.ply", + "--StereoFusion.max_image_size", "${stereoFusion_MaxImageSize}", + "--StereoFusion.check_num_images", "${stereoFusion_CheckNumImages}" + ] + }, + { + "name": "colmap_delaunay_mesher", + "app": "colmap", + "command_args": [ + "delaunay_mesher", + "--input_path", "${path}/colmap/stereo/", + "--output_path", "${path}/colmap/stereo/meshed-delaunay.ply", + "--input_type", "dense" + ] + }, + { + "name": "colmap_model_converter", + "app": "colmap", + "command_args": [ + "model_converter", + "--input_path", "${path}/colmap/stereo/sparse/", + "--output_path", "${path}/colmap/stereo/sparse/", + "--output_type", "TXT" + ] + }, + { + "name": "fix_mesh_eol", + "function": "utils.convert.fixMeshEol", + "function_args": { + "meshPath" : "${path}/colmap/stereo/meshed-delaunay.ply", + "newMeshPath" : "${path}/colmap/stereo/unix-meshed-delaunay.ply" + } + }, + { + "if": "${with_texture}", + "name": "simplify_mesh", + "function": "simplify_mesh.simplifyMesh", + "function_args": { + "inputMesh" : "${path}/colmap/stereo/unix-meshed-delaunay.ply", + "outputMesh" : "${path}/colmap/stereo/unix-meshed-delaunay-simplified.ply", + "meshlabPath" : "${meshlabPath}", + "meshsize" : "${meshsize}" + } + }, + { + "if": "${with_texture}", + "name": "unwrap_mesh", + "app": "unwrapMesh", + "command_args": [ + "--path", "${path}/colmap/stereo/unix-meshed-delaunay-simplified.ply", + "--output", "${path}/capreal/mesh.ply", + "--texture-name", "texture.png" + ] + }, + { + "if": "${with_texture}", + "name": "texture_mesh", + "app": "textureMesh", + "command_args": [ + "--path", "${path}", + "--output", "${path}/capreal/texture.png", + "--size", "8192", + "--flood" + ] + }, + { + "name": "move_eol_dirty_mesh", + "function": "shutil.copy", + "function_args": { + "src" : "${path}/colmap/stereo/meshed-delaunay.ply", + "dst" : "${path}/colmap/stereo/meshed-delaunay-eolpb.ply" + } + }, + { + "name": "use_eol_fixed_mesh", + "function": "shutil.copy", + "function_args": { + "src" : "${path}/colmap/stereo/unix-meshed-delaunay.ply", + "dst" : "${path}/colmap/stereo/meshed-delaunay.ply" + } + } + ] +} diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/ColmapQualityParameters.json b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/ColmapQualityParameters.json new file mode 100644 index 0000000000..e7989fb833 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/ColmapQualityParameters.json @@ -0,0 +1,162 @@ +{ + "siftExtraction_ImageSize": { + "default": 3200, + "low": 1000, + "medium": 1600, + "average": 3200, + "high": 2400, + "extreme": 3200 + }, + "siftExtraction_EstimateAffineShape": { + "default": false, + "low": false, + "medium": false, + "average": false, + "high": true, + "extreme": true + }, + "siftExtraction_DomainSizePooling": { + "default": false, + "low": false, + "medium": false, + "average": false, + "high": false, + "extreme": true + }, + "siftExtraction_MaxNumFeatures": { + "default": 16000, + "low": 8192, + "medium": 8192, + "average": 8192, + "high": 8192, + "extreme": 8192 + }, + "imageReader_SingleCamera": { + "default": false, + "low": true, + "medium": true, + "average": true, + "high": true, + "extreme": true + }, + "exhaustiveMatcher_ExhaustiveMatchingBlockSize": { + "default": 50, + "low": 50, + "medium": 50, + "average": 50, + "high": 50, + "extreme": 50 + }, + "mapper_MapperDotbaLocalMaxNumIterations": { + "default": 25, + "low": 12, + "medium": 16, + "average": 25, + "high": 30, + "extreme": 40 + }, + "mapper_MapperDotbaGlobalMaxNumIterations": { + "default": 50, + "low": 25, + "medium": 33, + "average": 50, + "high": 75, + "extreme": 100 + }, + "mapper_MapperDotbaGlobalImagesRatio": { + "default": 1.100001, + "low": 1.32, + "medium": 1.21, + "average": 1.100001, + "high": 1.100001, + "extreme": 1.100001 + }, + "mapper_MapperDotbaGlobalPointsRatio": { + "default": 1.100001, + "low": 1.32, + "medium": 1.21, + "average": 1.100001, + "high": 1.100001, + "extreme": 1.100001 + }, + "mapper_MapperDotbaGlobalMaxRefinements": { + "default": 5, + "low": 2, + "medium": 2, + "average": 5, + "high": 5, + "extreme": 5 + }, + "mapper_MapperDotbaLocalMaxRefinements": { + "default": 2, + "low": 2, + "medium": 2, + "average": 2, + "high": 3, + "extreme": 3 + }, + "patchMatchStereo_PatchMatchStereoDotMaxImageSize": { + "default": -1, + "low": 1000, + "medium": 1600, + "average": -1, + "high": 2400, + "extreme": -1 + }, + "patchMatchStereo_PatchMatchStereoDotWindowRadius": { + "default": 5, + "low": 4, + "medium": 4, + "average": 5, + "high": 5, + "extreme": 5 + }, + "patchMatchStereo_PatchMatchStereoDotWindowStep": { + "default": 1, + "low": 2, + "medium": 2, + "average": 1, + "high": 1, + "extreme": 1 + }, + "patchMatchStereo_PatchMatchStereoDotNumSamples": { + "default": 15, + "low": 7, + "medium": 10, + "average": 15, + "high": 15, + "extreme": 15 + }, + "patchMatchStereo_PatchMatchStereoDotNumIterations": { + "default": 5, + "low": 3, + "medium": 5, + "average": 5, + "high": 5, + "extreme": 5 + }, + "patchMatchStereo_PatchMatchStereoDotGeomConsistency": { + "default": 1, + "low": 0, + "medium": 0, + "average": 1, + "high": 1, + "extreme": 1 + }, + "stereoFusion_CheckNumImages": { + "default": 50, + "low": 25, + "medium": 33, + "average": 50, + "high": 50, + "extreme": 50 + }, + "stereoFusion_MaxImageSize": { + "default": -1, + "low": 1000, + "medium": 1600, + "average": -1, + "high": 2400, + "extreme": -1 + } +} \ No newline at end of file diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/SelectiveColmapProcessSteps.json b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/SelectiveColmapProcessSteps.json new file mode 100644 index 0000000000..b722fdcbbb --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/SelectiveColmapProcessSteps.json @@ -0,0 +1,234 @@ +{ + "steps" : [ + { + "name": "build_dataset_structure", + "function": "utils.datasets.buildDatasetStructure", + "function_args": { + "path" : "${path}", + "types" : ["colmap"] + } + }, + { + "name": "extract_video_frames", + "function": "selective_colmap_process.extract_video_frames", + "function_args": { + "pathIn": "${path}/videos", + "pathOut": "${path}/images" + } + }, + { + "name": "colmap_feature_extractor", + "app": "colmap", + "command_args": [ + "feature_extractor", + "--database_path", "${path}/colmap/dataset.db", + "--image_path", "${path}/images/", + "--ImageReader.camera_model", "OPENCV", + "--SiftExtraction.max_image_size", "${siftExtraction_ImageSize}", + "--SiftExtraction.estimate_affine_shape", "${siftExtraction_EstimateAffineShape}", + "--SiftExtraction.domain_size_pooling", "${siftExtraction_DomainSizePooling}", + "--SiftExtraction.max_num_features", "${siftExtraction_MaxNumFeatures}", + "--ImageReader.single_camera", "${imageReader_SingleCamera}", + "--SiftExtraction.gpu_index", "${gpusIndices}" + ] + }, + { + "name": "colmap_exhaustive_matcher", + "app": "colmap", + "command_args": [ + "exhaustive_matcher", + "--database_path", "${path}/colmap/dataset.db", + "--SiftMatching.gpu_index", "${gpusIndices}" + ] + }, + { + "name": "colmap_mapper", + "app": "colmap", + "command_args": [ + "mapper", + "--database_path", "${path}/colmap/dataset.db", + "--image_path", "${path}/images/", + "--output_path", "${path}/colmap/sparse/", + "--Mapper.num_threads", "16", + "--Mapper.init_min_tri_angle", "4", + "--Mapper.multiple_models", "0", + "--Mapper.extract_colors", "0", + "--Mapper.ba_global_images_ratio", "1.2", + "--Mapper.ba_global_points_ratio", "1.2", + "--Mapper.ba_global_max_num_iterations", "20", + "--Mapper.ba_global_max_refinements", "3", + "--Mapper.ba_global_points_freq", "200000" + ] + }, + { + "name": "colmap_model_converter_sparse_0", + "app": "colmap", + "command_args": [ + "model_converter", + "--input_path", "${path}/colmap/sparse/0", + "--output_path", "${path}/colmap/sparse/", + "--output_type", "TXT" + ] + }, + { + "name": "fix_cameras", + "function": "selective_colmap_process.fix_cameras", + "function_args": { + "path": "${path}", + "photoName": "MG_", + "sparseSubdir": "" + } + }, + { + "name": "colmap_image_undistorter_colmap", + "app": "colmap", + "command_args": [ + "image_undistorter", + "--image_path", "${path}/images/", + "--input_path", "${path}/colmap/sparse/", + "--output_path", "${path}/colmap/stereo", + "--output_type", "COLMAP" + ] + }, + { + "name": "colmap_model_converter_stereo_sparse", + "app": "colmap", + "command_args": [ + "model_converter", + "--input_path", "${path}/colmap/stereo/sparse", + "--output_path", "${path}/colmap/stereo/sparse/", + "--output_type", "TXT" + ] + }, + { + "name": "build_dataset_structure", + "function": "utils.datasets.buildDatasetStructure", + "function_args": { + "path" : "${path}", + "types" : ["capreal"] + } + }, + { + "name": "colmap_image_deleter_colmap", + "app": "colmap", + "command_args": [ + "image_deleter", + "--input_path", "${path}/colmap/sparse/", + "--output_path", "${path}/colmap/sparse/", + "--image_names_path", "${path}/videos/Video_frames.txt" + ] + }, + { + "name": "remove_video_images", + "function": "selective_colmap_process.remove_video_images", + "function_args": { + "path": "${path}" + } + }, + { + "name": "colmap_patch_match_stereo", + "app": "colmap", + "command_args": [ + "patch_match_stereo", + "--workspace_path", "${path}/colmap/stereo", + "--workspace_format", "COLMAP", + "--PatchMatchStereo.max_image_size", "${patchMatchStereo_PatchMatchStereoDotMaxImageSize}", + "--PatchMatchStereo.window_radius", "${patchMatchStereo_PatchMatchStereoDotWindowRadius}", + "--PatchMatchStereo.window_step", "${patchMatchStereo_PatchMatchStereoDotWindowStep}", + "--PatchMatchStereo.num_samples", "${patchMatchStereo_PatchMatchStereoDotNumSamples}", + "--PatchMatchStereo.num_iterations", "${patchMatchStereo_PatchMatchStereoDotNumIterations}", + "--PatchMatchStereo.geom_consistency", "${patchMatchStereo_PatchMatchStereoDotGeomConsistency}", + "--PatchMatchStereo.gpu_index", "${gpusIndices}" + ] + }, + { + "name": "colmap_stereo_fusion", + "app": "colmap", + "command_args": [ + "stereo_fusion", + "--workspace_path", "${path}/colmap/stereo/", + "--workspace_format", "COLMAP", + "--input_type", "geometric", + "--output_path", "${path}/colmap/stereo/fused.ply", + "--StereoFusion.max_image_size", "${stereoFusion_MaxImageSize}", + "--StereoFusion.check_num_images", "${stereoFusion_CheckNumImages}" + ] + }, + { + "name": "colmap_delaunay_mesher", + "app": "colmap", + "command_args": [ + "delaunay_mesher", + "--input_path", "${path}/colmap/stereo/", + "--output_path", "${path}/colmap/stereo/meshed-delaunay.ply", + "--input_type", "dense" + ] + }, + { + "name": "colmap_model_converter", + "app": "colmap", + "command_args": [ + "model_converter", + "--input_path", "${path}/colmap/stereo/sparse/", + "--output_path", "${path}/colmap/stereo/sparse/", + "--output_type", "TXT" + ] + }, + { + "name": "fix_mesh_eol", + "function": "utils.convert.fixMeshEol", + "function_args": { + "meshPath" : "${path}/colmap/stereo/meshed-delaunay.ply", + "newMeshPath" : "${path}/colmap/stereo/unix-meshed-delaunay.ply" + } + }, + { + "if": "${with_texture}", + "name": "simplify_mesh", + "function": "simplify_mesh.simplifyMesh", + "function_args": { + "inputMesh" : "${path}/colmap/stereo/unix-meshed-delaunay.ply", + "outputMesh" : "${path}/colmap/stereo/unix-meshed-delaunay-simplified.ply", + "meshlabPath" : "${meshlabPath}", + "meshsize" : "${meshsize}" + } + }, + { + "if": "${with_texture}", + "name": "unwrap_mesh", + "app": "unwrapMesh", + "command_args": [ + "--path", "${path}/colmap/stereo/unix-meshed-delaunay-simplified.ply", + "--output", "${path}/capreal/mesh.ply", + "--texture-name", "texture.png" + ] + }, + { + "if": "${with_texture}", + "name": "texture_mesh", + "app": "textureMesh", + "command_args": [ + "--path", "${path}", + "--output", "${path}/capreal/texture.png", + "--size", "8192", + "--flood" + ] + }, + { + "name": "move_eol_dirty_mesh", + "function": "shutil.copy", + "function_args": { + "src" : "${path}/colmap/stereo/meshed-delaunay.ply", + "dst" : "${path}/colmap/stereo/meshed-delaunay-eolpb.ply" + } + }, + { + "name": "use_eol_fixed_mesh", + "function": "shutil.copy", + "function_args": { + "src" : "${path}/colmap/stereo/unix-meshed-delaunay.ply", + "dst" : "${path}/colmap/stereo/meshed-delaunay.ply" + } + } + ] +} diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/colmap2nerf.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/colmap2nerf.py new file mode 100644 index 0000000000..e9c6e1068f --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/colmap2nerf.py @@ -0,0 +1,359 @@ +#!/usr/bin/env python3 + +# Copyright (c) 2020-2022, NVIDIA CORPORATION. All rights reserved. +# +# NVIDIA CORPORATION and its licensors retain all intellectual property +# and proprietary rights in and to this software, related documentation +# and any modifications thereto. Any use, reproduction, disclosure or +# distribution of this software and related documentation without an express +# license agreement from NVIDIA CORPORATION is strictly prohibited. + +import argparse +import os +from pathlib import Path, PurePosixPath + +import numpy as np +import json +import sys +import math +import cv2 +import os +import shutil + +def parse_args(): + parser = argparse.ArgumentParser(description="convert a text colmap export to nerf format transforms.json; optionally convert video to images, and optionally run colmap in the first place") + + parser.add_argument("--video_in", default="", help="run ffmpeg first to convert a provided video file into a set of images. uses the video_fps parameter also") + parser.add_argument("--video_fps", default=2) + parser.add_argument("--run_colmap", action="store_true", help="run colmap first on the image folder") + parser.add_argument("--colmap_matcher", default="sequential", choices=["exhaustive","sequential","spatial","transitive","vocab_tree"], help="select which matcher colmap should use. sequential for videos, exhaustive for adhoc images") + parser.add_argument("--colmap_db", default="colmap.db", help="colmap database filename") + parser.add_argument("--images", default="images", help="input path to the images") + parser.add_argument("--text", default="colmap_text", help="input path to the colmap text files (set automatically if run_colmap is used)") + parser.add_argument("--aabb_scale", default=16, choices=["1","2","4","8","16"], help="large scene scale factor. 1=scene fits in unit cube; power of 2 up to 16") + parser.add_argument("--skip_early", default=0, help="skip this many images from the start") + parser.add_argument("--out", default="transforms.json", help="output path") + parser.add_argument("--path", default="", help="top level dataset") + args = parser.parse_args() + return args + +def do_system(arg): + print(f"==== running: {arg}") + err=os.system(arg) + if err: + print("FATAL: command failed") + sys.exit(err) + + +def run_ffmpeg(args): + if not os.path.isabs(args.images): + args.images = os.path.join(os.path.dirname(args.video_in), args.images) + images=args.images + video=args.video_in + fps=float(args.video_fps) or 1.0 + print(f"running ffmpeg with input video file={video}, output image folder={images}, fps={fps}.") + if (input(f"warning! folder '{images}' will be deleted/replaced. continue? (Y/n)").lower().strip()+"y")[:1] != "y": + sys.exit(1) + try: + shutil.rmtree(images) + except: + pass + do_system(f"mkdir {images}") + do_system(f"ffmpeg -i {video} -qscale:v 1 -qmin 1 -vf \"fps={fps}\" {images}/%04d.jpg") + +def run_colmap(args): + db=args.colmap_db + images=args.images + db_noext=str(Path(db).with_suffix("")) + + if args.text=="text": + args.text=db_noext+"_text" + text=args.text + sparse=db_noext+"_sparse" + print(f"running colmap with:\n\tdb={db}\n\timages={images}\n\tsparse={sparse}\n\ttext={text}") + if (input(f"warning! folders '{sparse}' and '{text}' will be deleted/replaced. continue? (Y/n)").lower().strip()+"y")[:1] != "y": + sys.exit(1) + if os.path.exists(db): + os.remove(db) + do_system(f"colmap feature_extractor --ImageReader.camera_model OPENCV --ImageReader.single_camera 1 --database_path {db} --image_path {images}") + do_system(f"colmap {args.colmap_matcher}_matcher --database_path {db}") + try: + shutil.rmtree(sparse) + except: + pass + do_system(f"mkdir {sparse}") + do_system(f"colmap mapper --database_path {db} --image_path {images} --output_path {sparse}") + do_system(f"colmap bundle_adjuster --input_path {sparse}/0 --output_path {sparse}/0 --BundleAdjustment.refine_principal_point 1") + try: + shutil.rmtree(text) + except: + pass + do_system(f"mkdir {text}") + do_system(f"colmap model_converter --input_path {sparse}/0 --output_path {text} --output_type TXT") + +def variance_of_laplacian(image): + return cv2.Laplacian(image, cv2.CV_64F).var() + +def sharpness(imagePath): + image = cv2.imread(imagePath) + gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) + fm = variance_of_laplacian(gray) + return fm + +def qvec2rotmat(qvec): + return np.array([ + [ + 1 - 2 * qvec[2]**2 - 2 * qvec[3]**2, + 2 * qvec[1] * qvec[2] - 2 * qvec[0] * qvec[3], + 2 * qvec[3] * qvec[1] + 2 * qvec[0] * qvec[2] + ], [ + 2 * qvec[1] * qvec[2] + 2 * qvec[0] * qvec[3], + 1 - 2 * qvec[1]**2 - 2 * qvec[3]**2, + 2 * qvec[2] * qvec[3] - 2 * qvec[0] * qvec[1] + ], [ + 2 * qvec[3] * qvec[1] - 2 * qvec[0] * qvec[2], + 2 * qvec[2] * qvec[3] + 2 * qvec[0] * qvec[1], + 1 - 2 * qvec[1]**2 - 2 * qvec[2]**2 + ] + ]) + +def rotmat(a, b): + a, b = a / np.linalg.norm(a), b / np.linalg.norm(b) + v = np.cross(a, b) + c = np.dot(a, b) + s = np.linalg.norm(v) + kmat = np.array([[0, -v[2], v[1]], [v[2], 0, -v[0]], [-v[1], v[0], 0]]) + return np.eye(3) + kmat + kmat.dot(kmat) * ((1 - c) / (s ** 2 + 1e-10)) + +def closest_point_2_lines(oa, da, ob, db): # returns point closest to both rays of form o+t*d, and a weight factor that goes to 0 if the lines are parallel + da=da/np.linalg.norm(da) + db=db/np.linalg.norm(db) + c=np.cross(da,db) + denom=(np.linalg.norm(c)**2) + t=ob-oa + ta=np.linalg.det([t,db,c])/(denom+1e-10) + tb=np.linalg.det([t,da,c])/(denom+1e-10) + if ta>0: + ta=0 + if tb>0: + tb=0 + return (oa+ta*da+ob+tb*db)*0.5,denom + + + +def convert(AABB_SCALE, SKIP_EARLY, IMAGE_FOLDER, TEXT_FOLDER, OUT_PATH, totp=-1, totw=-1, avglen = -1, rMat = np.array([])): + print(f"outputting to {OUT_PATH}...") + with open(os.path.join(TEXT_FOLDER,"cameras.txt"), "r") as f: + angle_x=math.pi/2 + for line in f: + # 1 SIMPLE_RADIAL 2048 1536 1580.46 1024 768 0.0045691 + # 1 OPENCV 3840 2160 3178.27 3182.09 1920 1080 0.159668 -0.231286 -0.00123982 0.00272224 + # 1 RADIAL 1920 1080 1665.1 960 540 0.0672856 -0.0761443 + # + if line[0]=="#": + continue + els=line.split(" ") + w = float(els[2]) + h = float(els[3]) + fl_x = float(els[4]) + fl_y = float(els[4]) + k1 = 0 + k2 = 0 + p1 = 0 + p2 = 0 + cx = w/2 + cy = h/2 + if (els[1]=="SIMPLE_RADIAL"): + cx = float(els[5]) + cy = float(els[6]) + k1 = float(els[7]) + elif (els[1]=="RADIAL"): + cx = float(els[5]) + cy = float(els[6]) + k1 = float(els[7]) + k2 = float(els[8]) + elif (els[1]=="OPENCV"): + fl_y = float(els[5]) + cx = float(els[6]) + cy = float(els[7]) + k1 = float(els[8]) + k2 = float(els[9]) + p1 = float(els[10]) + p2 = float(els[11]) + elif (els[1]=="PINHOLE"): + cx = float(els[6]) + cy = float(els[7]) + else: + print("unknown camera model ", els[1]) + # fl = 0.5 * w / tan(0.5 * angle_x); + angle_x= math.atan(w/(fl_x*2))*2 + angle_y= math.atan(h/(fl_y*2))*2 + fovx=angle_x*180/math.pi + fovy=angle_y*180/math.pi + + #print(f"camera:\n\tres={w,h}\n\tcenter={cx,cy}\n\tfocal={fl_x,fl_y}\n\tfov={fovx,fovy}\n\tk={k1,k2} p={p1,p2} ") + + with open(os.path.join(TEXT_FOLDER,"images.txt"), "r") as f: + i=0 + bottom = np.array([0,0,0,1.]).reshape([1,4]) + out={ + "camera_angle_x":angle_x, + "camera_angle_y":angle_y, + "fl_x":fl_x, + "fl_y":fl_y, + "k1":k1, + "k2":k2, + "p1":p1, + "p2":p2, + "cx":cx, + "cy":cy, + "w":w, + "h":h, + "aabb_scale":AABB_SCALE,"frames":[] + } + + up=np.zeros(3) + for line in f: + line=line.strip() + if len(line)!=0 and line[0]=="#": + continue + i=i+1 + if i < SKIP_EARLY*2: + continue + if i%2==1 : + elems=line.split(" ") # 1-4 is quat, 5-7 is trans, 9 is filename + #name = str(PurePosixPath(Path(IMAGE_FOLDER, elems[9]))) + # why is this requireing a relitive path while using ^ + image_rel = os.path.relpath(IMAGE_FOLDER) + name = str(f"./{image_rel}/{elems[9]}") + if not os.path.exists(name): + name = name + ".png" + print("opening ", name) + b=sharpness(name) + #print(name, "sharpness=",b) + image_id = int(elems[0]) + qvec = np.array(tuple(map(float, elems[1:5]))) + tvec = np.array(tuple(map(float, elems[5:8]))) + R = qvec2rotmat(-qvec) + t = tvec.reshape([3,1]) + m = np.concatenate([np.concatenate([R, t], 1), bottom], 0) + c2w = np.linalg.inv(m) + c2w[0:3,2] *= -1 # flip the y and z axis + c2w[0:3,1] *= -1 + c2w=c2w[[1,0,2,3],:] # swap y and z + c2w[2,:] *= -1 # flip whole world upside down + + up += c2w[0:3,1] + + #s=str(os.path.splitext(os.path.basename(elems[9]))[0]) + s=str(os.path.basename(elems[9])) + #print("BASENAME ", s) + name = "images/"+ s # os.path.join("images", s) + frame={"file_path":name,"sharpness":b,"transform_matrix": c2w} + #print("OUTPUT ", name) + out["frames"].append(frame) + nframes = len(out["frames"]) + if len(rMat) == 0: + up = up / np.linalg.norm(up) + print("rMat is None up vector was ", up) + R=rotmat(up,[0,0,1]) # rotate up vector to [0,0,1] + R=np.pad(R,[0,1]) + R[-1,-1]=1 + rMat = R + else: + R = rMat + + + for f in out["frames"]: + f["transform_matrix"]=np.matmul(R,f["transform_matrix"]) # rotate up to be the z axis + + # find a central point they are all looking at + print("computing center of attention...") + + print("TOTP {} TOTW {}".format(totp, totw)) + if totw < 0 : + totw=0 + totp=[0,0,0] + for f in out["frames"]: + mf=f["transform_matrix"][0:3,:] + for g in out["frames"]: + mg=g["transform_matrix"][0:3,:] + p,w=closest_point_2_lines(mf[:,3],mf[:,2],mg[:,3],mg[:,2]) + if w>0.01: + totp+=p*w + totw+=w + if totw >0: + totp/=totw + + print("AFTER TOTP {} TOTW {}".format(totp, totw)) + print(totp) # the cameras are looking at totp + for f in out["frames"]: + f["transform_matrix"][0:3,3]-=totp + + if avglen < 0: + avglen=0. + for f in out["frames"]: + avglen+=np.linalg.norm(f["transform_matrix"][0:3,3]) + avglen/=nframes + + print("avg camera distance from origin ", avglen) + for f in out["frames"]: + f["transform_matrix"][0:3,3]*=4./avglen # scale to "nerf sized" + + for f in out["frames"]: + f["transform_matrix"]=f["transform_matrix"].tolist() + print(nframes,"frames") + print(f"writing {OUT_PATH}") + with open(OUT_PATH, "w") as outfile: + json.dump(out, outfile, indent=2) + + return totp, totw, avglen, rMat + +def createNerf(path, hires=False): + AABB_SCALE=int(16) + SKIP_EARLY=int(0) + print("Path is ", path, str(path)) + if hires: + print("DOING HIRES !!") + colmappath = os.path.join(os.path.join(str(path), "sibr"), "colmap") + else: + colmappath = os.path.join(os.path.join(str(path), "colmap_1000"), "colmap") + TEXT_FOLDER=os.path.join(os.path.join(colmappath, "stereo"), "sparse") + IMAGE_FOLDER=os.path.join(os.path.join(colmappath, "stereo"), "images") + OUT_PATH= os.path.join(os.path.join(colmappath, "stereo"), "transforms.json") + + totp, totw, avglen, rMat = convert(AABB_SCALE, SKIP_EARLY, IMAGE_FOLDER, TEXT_FOLDER, OUT_PATH, -1, -1, -1, np.array([])) + + colmappath = os.path.join(os.path.join(str(path), "colmap_1000"), "validation_colmap") + TEXT_FOLDER=os.path.join(os.path.join(colmappath, "stereo"), "sparse") + IMAGE_FOLDER=os.path.join(os.path.join(colmappath, "stereo"), "images") + OUT_PATH= os.path.join(os.path.join(colmappath, "stereo"), "transforms.json") + totp, totw, avglen, rMat = convert(AABB_SCALE, SKIP_EARLY, IMAGE_FOLDER, TEXT_FOLDER, OUT_PATH, totp, totw, avglen, rMat) + + colmappath = os.path.join(os.path.join(str(path), "colmap_1000"), "test_path_colmap") + TEXT_FOLDER=os.path.join(os.path.join(colmappath, "stereo"), "sparse") + IMAGE_FOLDER=os.path.join(os.path.join(colmappath, "stereo"), "images") + OUT_PATH= os.path.join(os.path.join(colmappath, "stereo"), "transforms.json") + totp, totw, avglen, rMat = convert(AABB_SCALE, SKIP_EARLY, IMAGE_FOLDER, TEXT_FOLDER, OUT_PATH, totp, totw, avglen, rMat) + + # if test2_path exists + colmappath = os.path.join(os.path.join(str(path), "colmap_1000"), "test_path2") + + if os.path.exists(colmappath): + TEXT_FOLDER=os.path.join(os.path.join(colmappath, "stereo"), "sparse") + IMAGE_FOLDER=os.path.join(os.path.join(colmappath, "stereo"), "images") + OUT_PATH= os.path.join(os.path.join(colmappath, "stereo"), "transforms.json") + totp, totw, avglen, rMat = convert(AABB_SCALE, SKIP_EARLY, IMAGE_FOLDER, TEXT_FOLDER, OUT_PATH, totp, totw, avglen, rMat) + +if __name__ == "__main__": + args = parse_args() + if args.video_in != "": + run_ffmpeg(args) + if args.run_colmap: + run_colmap(args) + AABB_SCALE=int(args.aabb_scale) + SKIP_EARLY=int(args.skip_early) + IMAGE_FOLDER=args.images + TEXT_FOLDER=args.text + OUT_PATH=args.out + convert(AABB_SCALE, SKIP_EARLY, IMAGE_FOLDER, TEXT_FOLDER, OUT_PATH, -1, -1) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/fullColmapProcess.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/fullColmapProcess.py new file mode 100644 index 0000000000..da9391a311 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/fullColmapProcess.py @@ -0,0 +1,126 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +""" @package dataset_tools_preprocess +This script runs a pipeline to create Colmap reconstruction data + +Parameters: -h help, + -path , + -sibrBinariesPath , + -colmapPath , + -quality , + +Usage: python fullColmapProcess.py -path + -sibrBinariesPath + -colmapPath + -quality + +""" + +import os, sys, shutil +import json +import argparse +from utils.paths import getBinariesPath, getColmapPath, getMeshlabPath +from utils.commands import getProcess, getColmap +from utils.TaskPipeline import TaskPipeline + +def main(): + parser = argparse.ArgumentParser() + + # common arguments + parser.add_argument("--path", type=str, required=True, help="path to your dataset folder") + parser.add_argument("--sibrBinariesPath", type=str, default=getBinariesPath(), help="binaries directory of SIBR") + parser.add_argument("--colmapPath", type=str, default=getColmapPath(), help="path to directory colmap.bat / colmap.bin directory") + parser.add_argument("--meshlabPath", type=str, default=getMeshlabPath(), help="path to meshlabserver directory") + parser.add_argument("--quality", type=str, default='default', choices=['default', 'low', 'medium', 'average', 'high', 'extreme'], + help="quality of the reconstruction") + parser.add_argument("--dry_run", action='store_true', help="run without calling commands") + parser.add_argument("--with_texture", action='store_true', help="Add texture steps") + parser.add_argument("--create_sibr_scene", action='store_true', help="Create SIBR scene") + parser.add_argument("--meshsize", type=str, help="size of the output mesh in K polygons (ie 200 == 200,000 polygons). Values allowed: 200, 250, 300, 350, 400") + + #colmap performance arguments + parser.add_argument("--numGPUs", type=int, default=2, help="number of GPUs allocated to Colmap") + + # Feature extractor + parser.add_argument("--SiftExtraction.max_image_size", type=int, dest="siftExtraction_ImageSize") + parser.add_argument("--SiftExtraction.estimate_affine_shape", type=int, dest="siftExtraction_EstimateAffineShape") + parser.add_argument("--SiftExtraction.domain_size_pooling", type=int, dest="siftExtraction_DomainSizePooling") + parser.add_argument("--SiftExtraction.max_num_features", type=int, dest="siftExtraction_MaxNumFeatures") + parser.add_argument("--ImageReader.single_camera", type=int, dest="imageReader_SingleCamera") + + # Exhaustive matcher + parser.add_argument("--ExhaustiveMatching.block_size", type=int, dest="exhaustiveMatcher_ExhaustiveMatchingBlockSize") + + # Mapper + parser.add_argument("--Mapper.ba_local_max_num_iterations", type=int, dest="mapper_MapperDotbaLocalMaxNumIterations") + parser.add_argument("--Mapper.ba_global_max_num_iterations", type=int, dest="mapper_MapperDotbaGlobalMaxNumIterations") + parser.add_argument("--Mapper.ba_global_images_ratio", type=float, dest="mapper_MapperDotbaGlobalImagesRatio") + parser.add_argument("--Mapper.ba_global_points_ratio", type=float, dest="mapper_MapperDotbaGlobalPointsRatio") + parser.add_argument("--Mapper.ba_global_max_refinements", type=int, dest="mapper_MapperDotbaGlobalMaxRefinements") + parser.add_argument("--Mapper.ba_local_max_refinements", type=int, dest="mapper_MapperDotbaLocalMaxRefinements") + + # Patch match stereo + parser.add_argument("--PatchMatchStereo.max_image_size", type=int, dest="patchMatchStereo_PatchMatchStereoDotMaxImageSize") + parser.add_argument("--PatchMatchStereo.window_radius", type=int, dest="patchMatchStereo_PatchMatchStereoDotWindowRadius") + parser.add_argument("--PatchMatchStereo.window_step", type=int, dest="patchMatchStereo_PatchMatchStereoDotWindowStep") + parser.add_argument("--PatchMatchStereo.num_samples", type=int, dest="patchMatchStereo_PatchMatchStereoDotNumSamples") + parser.add_argument("--PatchMatchStereo.num_iterations", type=int, dest="patchMatchStereo_PatchMatchStereoDotNumIterations") + parser.add_argument("--PatchMatchStereo.geom_consistency", type=int, dest="patchMatchStereo_PatchMatchStereoDotGeomConsistency") + + # Stereo fusion + parser.add_argument("--StereoFusion.check_num_images", type=int, dest="stereoFusion_CheckNumImages") + parser.add_argument("--StereoFusion.max_image_size", type=int, dest="stereoFusion_MaxImageSize") + + args = vars(parser.parse_args()) + + # Update args with quality values + with open(os.path.join(os.path.abspath(os.path.dirname(__file__)), "ColmapQualityParameters.json"), "r") as qualityParamsFile: + qualityParams = json.load(qualityParamsFile) + + for key, value in qualityParams.items(): + if not key in args or args[key] is None: + args[key] = qualityParams[key][args["quality"]] if args["quality"] in qualityParams[key] else qualityParams[key]["default"] + + # Get process steps + with open(os.path.join(os.path.abspath(os.path.dirname(__file__)), "ColmapProcessSteps.json"), "r") as processStepsFile: + steps = json.load(processStepsFile)["steps"] + + # Fixing path values + args["path"] = os.path.abspath(args["path"]) + args["sibrBinariesPath"] = os.path.abspath(args["sibrBinariesPath"]) + args["colmapPath"] = os.path.abspath(args["colmapPath"]) + + args["gpusIndices"] = ','.join([str(i) for i in range(args["numGPUs"])]) + + programs = { + "colmap": { + "path": getColmap(args["colmapPath"]) + }, + "unwrapMesh": { + "path": getProcess("unwrapMesh", args["sibrBinariesPath"]) + }, + "textureMesh": { + "path": getProcess("textureMesh", args["sibrBinariesPath"]) + }, + } + + pipeline = TaskPipeline(args, steps, programs) + + pipeline.runProcessSteps() + + print("fullColmapProcess has finished successfully.") + sys.exit(0) + +if __name__ == "__main__": + main() diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/read_write_model.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/read_write_model.py new file mode 100644 index 0000000000..fe5da2421c --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/read_write_model.py @@ -0,0 +1,502 @@ +# Copyright (c) 2018, ETH Zurich and UNC Chapel Hill. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# * Neither the name of ETH Zurich and UNC Chapel Hill nor the names of +# its contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# +# Author: Johannes L. Schoenberger (jsch-at-demuc-dot-de) + +import os +import collections +import numpy as np +import struct +import argparse + + +CameraModel = collections.namedtuple( + "CameraModel", ["model_id", "model_name", "num_params"]) +Camera = collections.namedtuple( + "Camera", ["id", "model", "width", "height", "params"]) +BaseImage = collections.namedtuple( + "Image", ["id", "qvec", "tvec", "camera_id", "name", "xys", "point3D_ids"]) +Point3D = collections.namedtuple( + "Point3D", ["id", "xyz", "rgb", "error", "image_ids", "point2D_idxs"]) + + +class Image(BaseImage): + def qvec2rotmat(self): + return qvec2rotmat(self.qvec) + + +CAMERA_MODELS = { + CameraModel(model_id=0, model_name="SIMPLE_PINHOLE", num_params=3), + CameraModel(model_id=1, model_name="PINHOLE", num_params=4), + CameraModel(model_id=2, model_name="SIMPLE_RADIAL", num_params=4), + CameraModel(model_id=3, model_name="RADIAL", num_params=5), + CameraModel(model_id=4, model_name="OPENCV", num_params=8), + CameraModel(model_id=5, model_name="OPENCV_FISHEYE", num_params=8), + CameraModel(model_id=6, model_name="FULL_OPENCV", num_params=12), + CameraModel(model_id=7, model_name="FOV", num_params=5), + CameraModel(model_id=8, model_name="SIMPLE_RADIAL_FISHEYE", num_params=4), + CameraModel(model_id=9, model_name="RADIAL_FISHEYE", num_params=5), + CameraModel(model_id=10, model_name="THIN_PRISM_FISHEYE", num_params=12) +} +CAMERA_MODEL_IDS = dict([(camera_model.model_id, camera_model) + for camera_model in CAMERA_MODELS]) +CAMERA_MODEL_NAMES = dict([(camera_model.model_name, camera_model) + for camera_model in CAMERA_MODELS]) + + +def read_next_bytes(fid, num_bytes, format_char_sequence, endian_character="<"): + """Read and unpack the next bytes from a binary file. + :param fid: + :param num_bytes: Sum of combination of {2, 4, 8}, e.g. 2, 6, 16, 30, etc. + :param format_char_sequence: List of {c, e, f, d, h, H, i, I, l, L, q, Q}. + :param endian_character: Any of {@, =, <, >, !} + :return: Tuple of read and unpacked values. + """ + data = fid.read(num_bytes) + return struct.unpack(endian_character + format_char_sequence, data) + + +def write_next_bytes(fid, data, format_char_sequence, endian_character="<"): + """pack and write to a binary file. + :param fid: + :param data: data to send, if multiple elements are sent at the same time, + they should be encapsuled either in a list or a tuple + :param format_char_sequence: List of {c, e, f, d, h, H, i, I, l, L, q, Q}. + should be the same length as the data list or tuple + :param endian_character: Any of {@, =, <, >, !} + """ + if isinstance(data, (list, tuple)): + bytes = struct.pack(endian_character + format_char_sequence, *data) + else: + bytes = struct.pack(endian_character + format_char_sequence, data) + fid.write(bytes) + + +def read_cameras_text(path): + """ + see: src/base/reconstruction.cc + void Reconstruction::WriteCamerasText(const std::string& path) + void Reconstruction::ReadCamerasText(const std::string& path) + """ + cameras = {} + with open(path, "r") as fid: + while True: + line = fid.readline() + if not line: + break + line = line.strip() + if len(line) > 0 and line[0] != "#": + elems = line.split() + camera_id = int(elems[0]) + model = elems[1] + width = int(elems[2]) + height = int(elems[3]) + params = np.array(tuple(map(float, elems[4:]))) + cameras[camera_id] = Camera(id=camera_id, model=model, + width=width, height=height, + params=params) + return cameras + + +def read_cameras_binary(path_to_model_file): + """ + see: src/base/reconstruction.cc + void Reconstruction::WriteCamerasBinary(const std::string& path) + void Reconstruction::ReadCamerasBinary(const std::string& path) + """ + cameras = {} + with open(path_to_model_file, "rb") as fid: + num_cameras = read_next_bytes(fid, 8, "Q")[0] + for _ in range(num_cameras): + camera_properties = read_next_bytes( + fid, num_bytes=24, format_char_sequence="iiQQ") + camera_id = camera_properties[0] + model_id = camera_properties[1] + model_name = CAMERA_MODEL_IDS[camera_properties[1]].model_name + width = camera_properties[2] + height = camera_properties[3] + num_params = CAMERA_MODEL_IDS[model_id].num_params + params = read_next_bytes(fid, num_bytes=8*num_params, + format_char_sequence="d"*num_params) + cameras[camera_id] = Camera(id=camera_id, + model=model_name, + width=width, + height=height, + params=np.array(params)) + assert len(cameras) == num_cameras + return cameras + + +def write_cameras_text(cameras, path): + """ + see: src/base/reconstruction.cc + void Reconstruction::WriteCamerasText(const std::string& path) + void Reconstruction::ReadCamerasText(const std::string& path) + """ + HEADER = "# Camera list with one line of data per camera:\n" + \ + "# CAMERA_ID, MODEL, WIDTH, HEIGHT, PARAMS[]\n" + \ + "# Number of cameras: {}\n".format(len(cameras)) + with open(path, "w") as fid: + fid.write(HEADER) + for _, cam in cameras.items(): + to_write = [cam.id, cam.model, cam.width, cam.height, *cam.params] + line = " ".join([str(elem) for elem in to_write]) + fid.write(line + "\n") + + +def write_cameras_binary(cameras, path_to_model_file): + """ + see: src/base/reconstruction.cc + void Reconstruction::WriteCamerasBinary(const std::string& path) + void Reconstruction::ReadCamerasBinary(const std::string& path) + """ + with open(path_to_model_file, "wb") as fid: + write_next_bytes(fid, len(cameras), "Q") + for _, cam in cameras.items(): + model_id = CAMERA_MODEL_NAMES[cam.model].model_id + camera_properties = [cam.id, + model_id, + cam.width, + cam.height] + write_next_bytes(fid, camera_properties, "iiQQ") + for p in cam.params: + write_next_bytes(fid, float(p), "d") + return cameras + + +def read_images_text(path): + """ + see: src/base/reconstruction.cc + void Reconstruction::ReadImagesText(const std::string& path) + void Reconstruction::WriteImagesText(const std::string& path) + """ + images = {} + with open(path, "r") as fid: + while True: + line = fid.readline() + if not line: + break + line = line.strip() + if len(line) > 0 and line[0] != "#": + elems = line.split() + image_id = int(elems[0]) + qvec = np.array(tuple(map(float, elems[1:5]))) + tvec = np.array(tuple(map(float, elems[5:8]))) + camera_id = int(elems[8]) + image_name = elems[9] + elems = fid.readline().split() + xys = np.column_stack([tuple(map(float, elems[0::3])), + tuple(map(float, elems[1::3]))]) + point3D_ids = np.array(tuple(map(int, elems[2::3]))) + images[image_id] = Image( + id=image_id, qvec=qvec, tvec=tvec, + camera_id=camera_id, name=image_name, + xys=xys, point3D_ids=point3D_ids) + return images + + +def read_images_binary(path_to_model_file): + """ + see: src/base/reconstruction.cc + void Reconstruction::ReadImagesBinary(const std::string& path) + void Reconstruction::WriteImagesBinary(const std::string& path) + """ + images = {} + with open(path_to_model_file, "rb") as fid: + num_reg_images = read_next_bytes(fid, 8, "Q")[0] + for _ in range(num_reg_images): + binary_image_properties = read_next_bytes( + fid, num_bytes=64, format_char_sequence="idddddddi") + image_id = binary_image_properties[0] + qvec = np.array(binary_image_properties[1:5]) + tvec = np.array(binary_image_properties[5:8]) + camera_id = binary_image_properties[8] + image_name = "" + current_char = read_next_bytes(fid, 1, "c")[0] + while current_char != b"\x00": # look for the ASCII 0 entry + image_name += current_char.decode("utf-8") + current_char = read_next_bytes(fid, 1, "c")[0] + num_points2D = read_next_bytes(fid, num_bytes=8, + format_char_sequence="Q")[0] + x_y_id_s = read_next_bytes(fid, num_bytes=24*num_points2D, + format_char_sequence="ddq"*num_points2D) + xys = np.column_stack([tuple(map(float, x_y_id_s[0::3])), + tuple(map(float, x_y_id_s[1::3]))]) + point3D_ids = np.array(tuple(map(int, x_y_id_s[2::3]))) + images[image_id] = Image( + id=image_id, qvec=qvec, tvec=tvec, + camera_id=camera_id, name=image_name, + xys=xys, point3D_ids=point3D_ids) + return images + + +def write_images_text(images, path): + """ + see: src/base/reconstruction.cc + void Reconstruction::ReadImagesText(const std::string& path) + void Reconstruction::WriteImagesText(const std::string& path) + """ + if len(images) == 0: + mean_observations = 0 + else: + mean_observations = sum((len(img.point3D_ids) for _, img in images.items()))/len(images) + HEADER = "# Image list with two lines of data per image:\n" + \ + "# IMAGE_ID, QW, QX, QY, QZ, TX, TY, TZ, CAMERA_ID, NAME\n" + \ + "# POINTS2D[] as (X, Y, POINT3D_ID)\n" + \ + "# Number of images: {}, mean observations per image: {}\n".format(len(images), mean_observations) + + with open(path, "w") as fid: + fid.write(HEADER) + for _, img in images.items(): + image_header = [img.id, *img.qvec, *img.tvec, img.camera_id, img.name] + first_line = " ".join(map(str, image_header)) + fid.write(first_line + "\n") + + points_strings = [] + for xy, point3D_id in zip(img.xys, img.point3D_ids): + points_strings.append(" ".join(map(str, [*xy, point3D_id]))) + fid.write(" ".join(points_strings) + "\n") + + +def write_images_binary(images, path_to_model_file): + """ + see: src/base/reconstruction.cc + void Reconstruction::ReadImagesBinary(const std::string& path) + void Reconstruction::WriteImagesBinary(const std::string& path) + """ + with open(path_to_model_file, "wb") as fid: + write_next_bytes(fid, len(images), "Q") + for _, img in images.items(): + write_next_bytes(fid, img.id, "i") + write_next_bytes(fid, img.qvec.tolist(), "dddd") + write_next_bytes(fid, img.tvec.tolist(), "ddd") + write_next_bytes(fid, img.camera_id, "i") + for char in img.name: + write_next_bytes(fid, char.encode("utf-8"), "c") + write_next_bytes(fid, b"\x00", "c") + write_next_bytes(fid, len(img.point3D_ids), "Q") + for xy, p3d_id in zip(img.xys, img.point3D_ids): + write_next_bytes(fid, [*xy, p3d_id], "ddq") + + +def read_points3D_text(path): + """ + see: src/base/reconstruction.cc + void Reconstruction::ReadPoints3DText(const std::string& path) + void Reconstruction::WritePoints3DText(const std::string& path) + """ + points3D = {} + with open(path, "r") as fid: + while True: + line = fid.readline() + if not line: + break + line = line.strip() + if len(line) > 0 and line[0] != "#": + elems = line.split() + point3D_id = int(elems[0]) + xyz = np.array(tuple(map(float, elems[1:4]))) + rgb = np.array(tuple(map(int, elems[4:7]))) + error = float(elems[7]) + image_ids = np.array(tuple(map(int, elems[8::2]))) + point2D_idxs = np.array(tuple(map(int, elems[9::2]))) + points3D[point3D_id] = Point3D(id=point3D_id, xyz=xyz, rgb=rgb, + error=error, image_ids=image_ids, + point2D_idxs=point2D_idxs) + return points3D + + +def read_points3D_binary(path_to_model_file): + """ + see: src/base/reconstruction.cc + void Reconstruction::ReadPoints3DBinary(const std::string& path) + void Reconstruction::WritePoints3DBinary(const std::string& path) + """ + points3D = {} + with open(path_to_model_file, "rb") as fid: + num_points = read_next_bytes(fid, 8, "Q")[0] + for _ in range(num_points): + binary_point_line_properties = read_next_bytes( + fid, num_bytes=43, format_char_sequence="QdddBBBd") + point3D_id = binary_point_line_properties[0] + xyz = np.array(binary_point_line_properties[1:4]) + rgb = np.array(binary_point_line_properties[4:7]) + error = np.array(binary_point_line_properties[7]) + track_length = read_next_bytes( + fid, num_bytes=8, format_char_sequence="Q")[0] + track_elems = read_next_bytes( + fid, num_bytes=8*track_length, + format_char_sequence="ii"*track_length) + image_ids = np.array(tuple(map(int, track_elems[0::2]))) + point2D_idxs = np.array(tuple(map(int, track_elems[1::2]))) + points3D[point3D_id] = Point3D( + id=point3D_id, xyz=xyz, rgb=rgb, + error=error, image_ids=image_ids, + point2D_idxs=point2D_idxs) + return points3D + + +def write_points3D_text(points3D, path): + """ + see: src/base/reconstruction.cc + void Reconstruction::ReadPoints3DText(const std::string& path) + void Reconstruction::WritePoints3DText(const std::string& path) + """ + if len(points3D) == 0: + mean_track_length = 0 + else: + mean_track_length = sum((len(pt.image_ids) for _, pt in points3D.items()))/len(points3D) + HEADER = "# 3D point list with one line of data per point:\n" + \ + "# POINT3D_ID, X, Y, Z, R, G, B, ERROR, TRACK[] as (IMAGE_ID, POINT2D_IDX)\n" + \ + "# Number of points: {}, mean track length: {}\n".format(len(points3D), mean_track_length) + + with open(path, "w") as fid: + fid.write(HEADER) + for _, pt in points3D.items(): + point_header = [pt.id, *pt.xyz, *pt.rgb, pt.error] + fid.write(" ".join(map(str, point_header)) + " ") + track_strings = [] + for image_id, point2D in zip(pt.image_ids, pt.point2D_idxs): + track_strings.append(" ".join(map(str, [image_id, point2D]))) + fid.write(" ".join(track_strings) + "\n") + + +def write_points3D_binary(points3D, path_to_model_file): + """ + see: src/base/reconstruction.cc + void Reconstruction::ReadPoints3DBinary(const std::string& path) + void Reconstruction::WritePoints3DBinary(const std::string& path) + """ + with open(path_to_model_file, "wb") as fid: + write_next_bytes(fid, len(points3D), "Q") + for _, pt in points3D.items(): + write_next_bytes(fid, pt.id, "Q") + write_next_bytes(fid, pt.xyz.tolist(), "ddd") + write_next_bytes(fid, pt.rgb.tolist(), "BBB") + write_next_bytes(fid, pt.error, "d") + track_length = pt.image_ids.shape[0] + write_next_bytes(fid, track_length, "Q") + for image_id, point2D_id in zip(pt.image_ids, pt.point2D_idxs): + write_next_bytes(fid, [image_id, point2D_id], "ii") + + +def detect_model_format(path, ext): + if os.path.isfile(os.path.join(path, "cameras" + ext)) and \ + os.path.isfile(os.path.join(path, "images" + ext)) and \ + os.path.isfile(os.path.join(path, "points3D" + ext)): + print("Detected model format: '" + ext + "'") + return True + + return False + + +def read_model(path, ext=""): + # try to detect the extension automatically + if ext == "": + if detect_model_format(path, ".bin"): + ext = ".bin" + elif detect_model_format(path, ".txt"): + ext = ".txt" + else: + print("Provide model format: '.bin' or '.txt'") + return + + if ext == ".txt": + cameras = read_cameras_text(os.path.join(path, "cameras" + ext)) + images = read_images_text(os.path.join(path, "images" + ext)) + points3D = read_points3D_text(os.path.join(path, "points3D") + ext) + else: + cameras = read_cameras_binary(os.path.join(path, "cameras" + ext)) + images = read_images_binary(os.path.join(path, "images" + ext)) + points3D = read_points3D_binary(os.path.join(path, "points3D") + ext) + return cameras, images, points3D + + +def write_model(cameras, images, points3D, path, ext=".bin"): + if ext == ".txt": + write_cameras_text(cameras, os.path.join(path, "cameras" + ext)) + write_images_text(images, os.path.join(path, "images" + ext)) + write_points3D_text(points3D, os.path.join(path, "points3D") + ext) + else: + write_cameras_binary(cameras, os.path.join(path, "cameras" + ext)) + write_images_binary(images, os.path.join(path, "images" + ext)) + write_points3D_binary(points3D, os.path.join(path, "points3D") + ext) + return cameras, images, points3D + + +def qvec2rotmat(qvec): + return np.array([ + [1 - 2 * qvec[2]**2 - 2 * qvec[3]**2, + 2 * qvec[1] * qvec[2] - 2 * qvec[0] * qvec[3], + 2 * qvec[3] * qvec[1] + 2 * qvec[0] * qvec[2]], + [2 * qvec[1] * qvec[2] + 2 * qvec[0] * qvec[3], + 1 - 2 * qvec[1]**2 - 2 * qvec[3]**2, + 2 * qvec[2] * qvec[3] - 2 * qvec[0] * qvec[1]], + [2 * qvec[3] * qvec[1] - 2 * qvec[0] * qvec[2], + 2 * qvec[2] * qvec[3] + 2 * qvec[0] * qvec[1], + 1 - 2 * qvec[1]**2 - 2 * qvec[2]**2]]) + + +def rotmat2qvec(R): + Rxx, Ryx, Rzx, Rxy, Ryy, Rzy, Rxz, Ryz, Rzz = R.flat + K = np.array([ + [Rxx - Ryy - Rzz, 0, 0, 0], + [Ryx + Rxy, Ryy - Rxx - Rzz, 0, 0], + [Rzx + Rxz, Rzy + Ryz, Rzz - Rxx - Ryy, 0], + [Ryz - Rzy, Rzx - Rxz, Rxy - Ryx, Rxx + Ryy + Rzz]]) / 3.0 + eigvals, eigvecs = np.linalg.eigh(K) + qvec = eigvecs[[3, 0, 1, 2], np.argmax(eigvals)] + if qvec[0] < 0: + qvec *= -1 + return qvec + + +def main(): + parser = argparse.ArgumentParser(description="Read and write COLMAP binary and text models") + parser.add_argument("--input_model", help="path to input model folder") + parser.add_argument("--input_format", choices=[".bin", ".txt"], + help="input model format", default="") + parser.add_argument("--output_model", + help="path to output model folder") + parser.add_argument("--output_format", choices=[".bin", ".txt"], + help="outut model format", default=".txt") + args = parser.parse_args() + + cameras, images, points3D = read_model(path=args.input_model, ext=args.input_format) + + print("num_cameras:", len(cameras)) + print("num_images:", len(images)) + print("num_points3D:", len(points3D)) + + if args.output_model is not None: + write_model(cameras, images, points3D, path=args.output_model, ext=args.output_format) + + +if __name__ == "__main__": + main() diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/selectiveColmapProcess.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/selectiveColmapProcess.py new file mode 100644 index 0000000000..c236cec7e0 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/selectiveColmapProcess.py @@ -0,0 +1,194 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +""" @package dataset_tools_preprocess +This script runs a pipeline to create Colmap reconstruction data; you can choose which steps to do and it also handles test path data which are only calibrated + +Parameters: -h help, + -path , + -sibrBinariesPath , + -colmapPath , + -quality , + +Usage: python selectiveColmapProcess.py -path + -sibrBinariesPath + -colmapPath + -quality + +""" + +import os, sys, shutil +import json +import argparse +from utils.paths import getBinariesPath, getColmapPath, getMeshlabPath +from utils.commands import getProcess, getColmap +from utils.TaskPipeline import TaskPipeline +import selective_colmap_process + +def main(): + parser = argparse.ArgumentParser() + + # common arguments + parser.add_argument("--path", type=str, required=True, help="path to your dataset folder") + parser.add_argument("--sibrBinariesPath", type=str, default=getBinariesPath(), help="binaries directory of SIBR") + parser.add_argument("--colmapPath", type=str, default=getColmapPath(), help="path to directory colmap.bat / colmap.bin directory") + parser.add_argument("--meshlabPath", type=str, default=getMeshlabPath(), help="path to meshlabserver directory") + parser.add_argument("--quality", type=str, default='default', choices=['default', 'low', 'medium', 'average', 'high', 'extreme'], + help="quality of the reconstruction") + parser.add_argument("--dry_run", action='store_true', help="run without calling commands") + parser.add_argument("--with_texture", action='store_true', help="Add texture steps") + parser.add_argument("--create_sibr_scene", action='store_true', help="Create SIBR scene") + parser.add_argument("--meshsize", type=str, help="size of the output mesh in K polygons (ie 200 == 200,000 polygons). Values allowed: 200, 250, 300, 350, 400") + + # additional step choice presets + parser.add_argument("--from_step", type=str, default='default', help="Run from this step to --to_step") + parser.add_argument("--to_step", type=str, default='default', help="up to but *excluding* this step (from --from_step); must be unique steps") + parser.add_argument("--exclude_steps", type=str, default='default', help="Ignore these steps (string with space separated names of steps)") + parser.add_argument("--calibrate_only", action='store_true', help="Do calibration only (from dataset_build_structure to before colmap_path_match_stereo with no special test frame processing") + parser.add_argument("--calibrate_only_process_test", action='store_true', help="Do calibration only (from dataset_build_structure to before colmap_path_match_stereo with test frame processing") + parser.add_argument("--mvs_only", action='store_true', help="Do mvs only (from colmap_path_match_stereo onwards without test frame processing") + parser.add_argument("--fix_cameras", action='store_true', help="Do fix camera step only") + parser.add_argument("--fix_cameras_stereo", action='store_true', help="Do fix camera step only for stereo/sparse") + + #colmap performance arguments + parser.add_argument("--numGPUs", type=int, default=2, help="number of GPUs allocated to Colmap") + + # Feature extractor + parser.add_argument("--SiftExtraction.max_image_size", type=int, dest="siftExtraction_ImageSize") + parser.add_argument("--SiftExtraction.estimate_affine_shape", type=int, dest="siftExtraction_EstimateAffineShape") + parser.add_argument("--SiftExtraction.domain_size_pooling", type=int, dest="siftExtraction_DomainSizePooling") + parser.add_argument("--SiftExtraction.max_num_features", type=int, dest="siftExtraction_MaxNumFeatures") + parser.add_argument("--ImageReader.single_camera", type=int, dest="imageReader_SingleCamera") + + # Exhaustive matcher + parser.add_argument("--ExhaustiveMatching.block_size", type=int, dest="exhaustiveMatcher_ExhaustiveMatchingBlockSize") + + # Mapper + parser.add_argument("--Mapper.ba_local_max_num_iterations", type=int, dest="mapper_MapperDotbaLocalMaxNumIterations") + parser.add_argument("--Mapper.ba_global_max_num_iterations", type=int, dest="mapper_MapperDotbaGlobalMaxNumIterations") + parser.add_argument("--Mapper.ba_global_images_ratio", type=float, dest="mapper_MapperDotbaGlobalImagesRatio") + parser.add_argument("--Mapper.ba_global_points_ratio", type=float, dest="mapper_MapperDotbaGlobalPointsRatio") + parser.add_argument("--Mapper.ba_global_max_refinements", type=int, dest="mapper_MapperDotbaGlobalMaxRefinements") + parser.add_argument("--Mapper.ba_local_max_refinements", type=int, dest="mapper_MapperDotbaLocalMaxRefinements") + + + # Patch match stereo + parser.add_argument("--PatchMatchStereo.max_image_size", type=int, dest="patchMatchStereo_PatchMatchStereoDotMaxImageSize") + parser.add_argument("--PatchMatchStereo.window_radius", type=int, dest="patchMatchStereo_PatchMatchStereoDotWindowRadius") + parser.add_argument("--PatchMatchStereo.window_step", type=int, dest="patchMatchStereo_PatchMatchStereoDotWindowStep") + parser.add_argument("--PatchMatchStereo.num_samples", type=int, dest="patchMatchStereo_PatchMatchStereoDotNumSamples") + parser.add_argument("--PatchMatchStereo.num_iterations", type=int, dest="patchMatchStereo_PatchMatchStereoDotNumIterations") + parser.add_argument("--PatchMatchStereo.geom_consistency", type=int, dest="patchMatchStereo_PatchMatchStereoDotGeomConsistency") + + # Stereo fusion + parser.add_argument("--StereoFusion.check_num_images", type=int, dest="stereoFusion_CheckNumImages") + parser.add_argument("--StereoFusion.max_image_size", type=int, dest="stereoFusion_MaxImageSize") + + args = vars(parser.parse_args()) + + # Update args with quality values + with open(os.path.join(os.path.abspath(os.path.dirname(__file__)), "ColmapQualityParameters.json"), "r") as qualityParamsFile: + qualityParams = json.load(qualityParamsFile) + + for key, value in qualityParams.items(): + if not key in args or args[key] is None: + args[key] = qualityParams[key][args["quality"]] if args["quality"] in qualityParams[key] else qualityParams[key]["default"] + + # Get process steps + with open(os.path.join(os.path.abspath(os.path.dirname(__file__)), "SelectiveColmapProcessSteps.json"), "r") as processStepsFile: + steps = json.load(processStepsFile)["steps"] + + # apply selective processing + exclude_steps = [] + if( args["exclude_steps"] != 'default' ): + exclude_steps = args["exclude_steps"].split() + + from_step = args["from_step"] + to_step = args["to_step"] + + # treat pre-defined cases + if( args["fix_cameras"] or args["fix_cameras_stereo"]): + new_steps = [] + for s in steps: + if( s['name'] == "fix_cameras" ): + print(s) + (s['function_args'])['photoName'] = "00" + if args["fix_cameras_stereo"]: + (s['function_args'])['sparse_subdir'] = os.path.join(os.path.join("colmap", "stereo"), "sparse") + new_steps.append(s) + break + steps = new_steps + + if( args["calibrate_only"] or args["calibrate_only_process_test"] ): + from_step = "build_dataset_structure" + to_step = "colmap_patch_match_stereo" + if( args["calibrate_only"] ): + exclude_steps = [ "extract_video_frames", "fix_cameras", "colmap_image_deleter_colmap", "remove_video_images" ] + + if( args["mvs_only"] ): + from_step = "colmap_patch_match_stereo" + to_step = "use_eol_fixed_mesh" + + + if( from_step != 'default' ): + # check if to_step exists + if( to_step != 'default' ): + # select steps + newsteps = [] + adding_steps = False + for s in steps: + if( s['name'] == from_step ): + adding_steps = True + # special case for last step that should be added + if( s['name'] == to_step and s['name'] != "use_eol_fixed_mesh" ): + break + if adding_steps : + if not (s['name'] in exclude_steps): + newsteps.append(s) + steps = newsteps + else: + print("--from_step given without --to_step; ignoring") + + if args["dry_run"]: + print("Keeping only following steps: ") + for s in steps: + print (s['name']) + + # Fixing path values + args["path"] = os.path.abspath(args["path"]) + args["sibrBinariesPath"] = os.path.abspath(args["sibrBinariesPath"]) + args["colmapPath"] = os.path.abspath(args["colmapPath"]) + + args["gpusIndices"] = ','.join([str(i) for i in range(args["numGPUs"])]) + + programs = { + "colmap": { + "path": getColmap(args["colmapPath"]) + }, + "unwrapMesh": { + "path": getProcess("unwrapMesh", args["sibrBinariesPath"]) + }, + "textureMesh": { + "path": getProcess("textureMesh", args["sibrBinariesPath"]) + }, + } + + pipeline = TaskPipeline(args, steps, programs) + + pipeline.runProcessSteps() + + print("selectiveColmapProcess has finished successfully.") + sys.exit(0) + +if __name__ == "__main__": + main() diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/selective_colmap_process.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/selective_colmap_process.py new file mode 100644 index 0000000000..39b36a5641 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/selective_colmap_process.py @@ -0,0 +1,390 @@ +import os +import os.path +import sys +import argparse +import shutil +import sqlite3 +import read_write_model as rwm + + +import cv2 +print(cv2.__version__) + + +def extract_images(pathIn, pathOut, videoName, maxNumFrames = -1, resize=False): + EVERY_NTH = 2 + count = 0 + vidcap = cv2.VideoCapture(pathIn) + fps = round(vidcap.get(cv2.CAP_PROP_FPS)) + total_frames = vidcap.get(7)/EVERY_NTH + print("FPS = ", fps) + success,image = vidcap.read() + success = True + print("Extracting ", total_frames, " Frames" ) + fileNames = [] + newFolder = pathOut + "\\%s" % (videoName) + if not os.path.exists(newFolder): + print( "Creating: ", newFolder) + os.makedirs(newFolder, exist_ok=True) + + for frame in range(round(total_frames)): + # every Nth frame + vidcap.set(cv2.CAP_PROP_POS_FRAMES,(EVERY_NTH*frame)) + success,image = vidcap.read() + if not success: + break + resized = image + if resize : + #print('Original Dimensions : ',image.shape) + scale_percent = 52 # percent of original size + width = int(image.shape[1] * scale_percent / 100) + height = int(image.shape[0] * scale_percent / 100) + dim = (width, height) + resized = cv2.resize(image, dim, interpolation = cv2.INTER_AREA) + + print( "Writing: frame # ", EVERY_NTH*frame, " " , pathOut + "\\%s\\frame%04d.png" % (videoName, count)) + fileNames.append("%s\\frame%04d.png" % (videoName, count)) + cv2.imwrite( pathOut + "\\%s\\frame%04d.png" % (videoName, count), resized) # save frame as PNG file + + if maxNumFrames == count: + break; + + count = count + 1 + + return fileNames + +def extract_images_with_name(imageName, images_data, new_images_data): + add_next = False + new_images_data.append(images_data[0]) + new_images_data.append(images_data[1]) + new_images_data.append(images_data[2]) + new_images_data.append(images_data[3]) + + img_cnt = 0 + # create list with photo-only images + for line in images_data: + if line.split(): + if imageName in line.split()[-1]: + new_images_data.append(line) + img_cnt = img_cnt+1 + add_next = True + elif add_next: + new_images_data.append(line) + add_next = False + else: + add_next = False + + return new_images_data, img_cnt + +def remove_lines_from_file(fname, match, nextDel=False): + newdata = [] + prevMatch = False + with open(fname, 'r') as imagesfile: + data = imagesfile.read().splitlines() + for line in data: + if match in line: + if nextDel: + prevMatch = True + elif (not match in line) and (not prevMatch): + newdata.append(line) + prevMatch = False + else: + prevMatch = False + + # overwrite + with open(fname, 'w') as outfile: + for line in newdata: + outfile.write(line + "\n") + + + +def remove_video_images(path, photoName="MG_"): + # make backups + oldb = os.path.abspath(os.path.join(path, "colmap\\dataset.db" )) # will be modified + backuppath = dstpath = os.path.join(path, "backups\\two_cams_all_images\\") + if not os.path.exists(dstpath): + os.makedirs(dstpath, exist_ok=True) + + dbfile = os.path.abspath(os.path.join(dstpath,"dataset.db")) + oldb = os.path.abspath(os.path.join(path, "colmap\\dataset.db" )) # will be modified + if not os.path.exists(dbfile): + shutil.copyfile(oldb, dbfile) + + + # Read images.txt & cameras.txt + backup_images = os.path.abspath(os.path.join(dstpath,"images.txt")) + images_fname = os.path.abspath(os.path.join(path, "colmap\\sparse\\")) + "\\images.txt" + if not os.path.exists(backup_images): + shutil.copyfile(images_fname, backup_images) + + backup_cameras = os.path.abspath(os.path.join(dstpath,"cameras.txt")) + cameras_fname = os.path.abspath(os.path.join(path, "colmap\\sparse\\")) + "\\cameras.txt" + if not os.path.exists(backup_cameras): + shutil.copyfile(cameras_fname, backup_cameras) + + # extract photos only for images.txt + with open(images_fname, 'r') as imagesfile: + images_data = imagesfile.read().splitlines() + + videoDirList = [] + imagespath = os.path.abspath(os.path.join(path, "images")) + for filename in os.listdir(imagespath): + if "Video" in filename: + videoDirList.append(filename) + + new_images_data = [] + new_images_data, img_cnt = extract_images_with_name(photoName, images_data, new_images_data) + + # remaining images + print("Remaining images ", img_cnt) + + new_images_data[3] = ' '.join(images_data[3].split()[0:4]) + " " + str(img_cnt) +" " + ' '.join(images_data[3].split()[5:-1] ) + + # overwrite current calibration + dstpath = os.path.abspath(os.path.join(path, "colmap\\sparse")) + with open(dstpath+"\\images.txt", 'w') as outfile: + for line in new_images_data: + outfile.write(str(line) + "\n") + + outfile.close() + print("Writing fixed images ", dstpath + "\\images.txt") + ims = rwm.read_images_text(dstpath + "\\images.txt") + rwm.write_images_binary(ims, dstpath + "\\images.bin") + + # fix the database + + # open the database + db = sqlite3.connect(oldb) + cursor = db.cursor() + cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") + tables = cursor.fetchall() + # debug + delImagesQuery = """DELETE from images WHERE name LIKE '%Video%'""" + cursor.execute(delImagesQuery) + + db.commit() + + # write out database + db.close() + + # create GT path directories + dstpath = os.path.abspath(os.path.join(path, "paths_GT")) + + if not os.path.exists(dstpath): + print("Creating ", dstpath) + os.makedirs(dstpath) + + + # backup original (distorted) video images & move undistorted images to special directories + # then create the colmap data for each + + for currVideoName in videoDirList: + # move the original videos to backup + imagespath = os.path.abspath(os.path.join(path, "images")) + shutil.move(imagespath + "\\" + currVideoName, backuppath+ "\\" + currVideoName) + + # create GT_path dir + dstpath = os.path.abspath(os.path.join(path, "paths_GT")) + curr_GTpath_dir = dstpath + "\\" + currVideoName + print("Creating ", curr_GTpath_dir) + os.makedirs(curr_GTpath_dir) + os.makedirs(curr_GTpath_dir+"\\images") + + # move undistorted mages to GT_path dir + imagespath = path + "\\colmap\\stereo\\images\\"+ currVideoName + shutil.move(imagespath, curr_GTpath_dir + "\\images") + + video_images_list = [] + video_images_list, img_cnt = extract_images_with_name(currVideoName, images_data, video_images_list) + video_images_list[2] = ' '.join(images_data[2].split()[0:4]) + " " + str(img_cnt) +" " + ' '.join(images_data[2].split()[5:-1] ) + + # create colmap data + dstpath = os.path.abspath(os.path.join(curr_GTpath_dir, "text")) + os.makedirs(dstpath) + + with open(dstpath+"\\images.txt", 'w') as outfile: + for line in video_images_list: + outfile.write(str(line) + "\n") + + cameras_fname = os.path.abspath(os.path.join(path, "colmap\\sparse\\")) + "\\cameras.txt" + shutil.copyfile(cameras_fname, dstpath+"\\cameras.txt") + + points_fname = os.path.abspath(os.path.join(path, "colmap\\sparse\\")) + "\\points3D.txt" + shutil.copyfile(points_fname, dstpath+"\\points3D.txt") + + fname = os.path.abspath(os.path.join(path, "colmap\\stereo\\stereo\\fusion.cfg")) + remove_lines_from_file(fname, "Video", False) + fname = os.path.abspath(os.path.join(path, "colmap\\stereo\\stereo\\patch-match.cfg")) + remove_lines_from_file(fname, "Video", True) + # all done + + +def fix_cameras(path, photoName="MG_", sparseSubdir=""): + if sparseSubdir == "": + sparse_subdir = os.path.join("colmap", "sparse") + else: + sparse_subdir = sparseSubdir + + # Read images.txt + images_fname = os.path.abspath(os.path.join(path, sparse_subdir)) + "\\images.txt" + with open(images_fname, 'r') as imagesfile: + images_data = imagesfile.read().splitlines() + + # Read cameras.txt + cameras_fname = os.path.abspath(os.path.join(path, sparse_subdir)) + "\\cameras.txt" + with open(cameras_fname, 'r') as camerasfile: + cameras_data = camerasfile.read().splitlines() + + # find the first camera index for a photo + photoCamIndex = -1 + for line in images_data: + if line.split(): + if (photoName in line.split()[-1]) and (int(line.split()[0]) > 2): + photoCamIndex = line.split()[0] + print("Found Photo Camera Index ", photoCamIndex, " for camera ", line.split()[-1]) + break + + # find the first camera index for a video + videoCamIndex = -1 + for line in images_data: + if line.split(): + if ("Video" in line.split()[-1]) and ( int(line.split()[0]) > 2): + videoCamIndex = line.split()[0] + print("Found Video Camera Index ", videoCamIndex, " for camera ", line.split()[-1]) + break + + # make backups of original files + dstpath = os.path.join(path, "backups\\") + if not os.path.exists(dstpath): + os.makedirs(dstpath, exist_ok=True) + # + dstpath = os.path.join(path, "backups\\orig\\") + if not os.path.exists(dstpath): + os.makedirs(dstpath, exist_ok=True) + + # make backups of original files + if not os.path.exists(dstpath+"\\images.txt"): + shutil.copyfile(images_fname, dstpath +"\\images.txt") + if not os.path.exists(dstpath+"\\cameras.txt"): + shutil.copyfile(cameras_fname, dstpath +"\\cameras.txt") + + dbfile = os.path.abspath(os.path.join(dstpath,"dataset.db")) + oldb = os.path.abspath(os.path.join(path, "colmap\\dataset.db" )) # will be modified + if os.path.exists(oldb): # only do DB processing if it exists + print("Old ", oldb, " new ", dbfile, " path ", path) + if not os.path.exists(dbfile): + shutil.copyfile(oldb, dbfile) + + # open the database + db = sqlite3.connect(oldb) + cursor = db.cursor() + cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") + tables = cursor.fetchall() + # debug + # table = pd.read_sql_query("SELECT * from %s" % 'images', db) + + # delete all cameras except videoCamEntry and photoCamEntry from database + delCamQuery = """DELETE from cameras WHERE camera_id != '%s' and camera_id != '%s'""" % (videoCamIndex, photoCamIndex) + cursor.execute(delCamQuery ) + + # change photo cam id to 1 and video cam id to 2 + setQuery = "UPDATE cameras SET camera_id = '%s' WHERE camera_id = '%s'" % ("1", photoCamIndex) + cursor.execute(setQuery) + + setQuery = "UPDATE cameras SET camera_id = '%s' WHERE camera_id = '%s'" % ("2", videoCamIndex) + cursor.execute(setQuery) + + # change photo cam id to 1 for all images of photos + setQuery = "UPDATE images SET camera_id = '1' WHERE name LIKE '%MG_%'" + cursor.execute(setQuery) + + # change video cam id to 2 for all images + setQuery = "UPDATE images SET camera_id = '2' WHERE name LIKE '%Video%'" + cursor.execute(setQuery) + + db.commit() + + # write out database ; next step re-exports the result to TXT and BIN + db.close() + + # replace all camera indices in images.txt + new_images_data = images_data + cnt = 0 + for line in new_images_data: + if line.split(): + if photoName in line.split()[-1]: + new_images_data[cnt] = ' '.join(line.split()[0:-2]) + " 1 " + line.split()[-1] + print("replace ", line.split()[0], " by 1 in ", new_images_data[cnt] ) + elif "Video" in line.split()[-1]: + new_images_data[cnt] = ' '.join(line.split()[0:-2]) + " 2 " + line.split()[-1] + + cnt = cnt + 1 + + videoCamEntry = "" + for line in cameras_data: + if line.split(): + if photoCamIndex == line.split()[0]: + photoCamEntry = "1 " + ' '.join(line.split()[1:]) + if videoCamIndex == line.split()[0]: + videoCamEntry = "2 " + ' '.join(line.split()[1:]) + + # create two element camera file one for photos one for video + dstpath = os.path.abspath(os.path.join(path, "colmap\\sparse\\")) + dst = dstpath + "\\cameras_two.txt" + with open(dst, 'w') as outfile: + outfile.write(photoCamEntry + "\n") + if( videoCamEntry != "" ): + outfile.write(videoCamEntry + "\n") + outfile.close() + + # write out new file + dst = dstpath + "\\images_two.txt" + with open(dst, 'w') as outfile: + for line in new_images_data: + outfile.write(line + "\n") + outfile.close() + + # replace files + dstpath = os.path.abspath(os.path.join(path, "colmap\\sparse\\")) + shutil.move(dstpath + "\\images_two.txt", images_fname) + shutil.move(dstpath + "\\cameras_two.txt", cameras_fname) + + dstpath = os.path.abspath(os.path.join(path, "colmap\\sparse\\")) + print("Writing cam/im binary ", dstpath + "\\cameras.bin") + cams = rwm.read_cameras_text(dstpath + "\\cameras.txt") + ims = rwm.read_images_text(dstpath + "\\images.txt") + rwm.write_cameras_binary(cams, dstpath + "\\cameras.bin") + rwm.write_images_binary(ims, dstpath + "\\images.bin") + + ptsbin = dstpath+"\\0\\points3D.bin" + print("Pts bin ", ptsbin, " Exists " ,os.path.exists(ptsbin)) + if os.path.exists(ptsbin): + shutil.copyfile(ptsbin, dstpath+"\\points3D.bin") + + # overwrite 0 as well + dstpath = os.path.abspath(os.path.join(path, "colmap\\sparse\\0\\")) + print("Writing cam/im binary ", dstpath + "\\cameras.bin") + rwm.write_cameras_binary(cams, dstpath + "\\cameras.bin") + rwm.write_images_binary(ims, dstpath + "\\images.bin") + rwm.write_cameras_text(cams, dstpath + "\\cameras.txt") + rwm.write_images_text(ims, dstpath + "\\images.txt") + + return True + +def extract_video_frames(pathIn, pathOut): + cnt = 0 + fileNames = [] + for filename in os.listdir(pathIn): + if ("MP4" in filename) or ("mp4" in filename): + with open(os.path.join(pathIn, filename), 'r') as f: + print("Extracting Video from File: ", f.name) +# fileNames = fileNames + extract_images(f.name, pathOut, "Video%d" % cnt, maxNumFrames=3, resize=True) + fileNames = fileNames + extract_images(f.name, pathOut, "Video%d" % cnt, resize=True) +# extract_images(f.name, pathOut, videoName="Video%d" % cnt) + cnt = cnt+1 + + with open(os.path.dirname(pathIn) + "\\videos\\Video_Frames.txt", 'w') as f: + for item in fileNames: + f.write("%s\n" % item.replace("\\", "/")) + f.close() + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/textureOnly.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/textureOnly.py new file mode 100644 index 0000000000..f9fd2603ea --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/fullColmapProcess/textureOnly.py @@ -0,0 +1,89 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +""" @package dataset_tools_preprocess +This script runs a pipeline to texture a mesh after colmap has been run + +Parameters: -h help, + -path , + -sibrBinariesPath , + +Usage: python textureOnly.py -path + -sibrBinariesPath + +""" + +import subprocess +import os, sys, getopt +import os, sys, shutil +import json +import argparse +from utils.paths import getBinariesPath +from utils.commands import getProcess +from utils.TaskPipeline import TaskPipeline +from simplify_mesh import simplifyMesh + +def main(): + parser = argparse.ArgumentParser() + + # common arguments + parser.add_argument("--path", type=str, required=True, help="path to your dataset folder") + parser.add_argument("--sibrBinariesPath", type=str, default=getBinariesPath(), help="binaries directory of SIBR") + parser.add_argument("--dry_run", action='store_true', help="run without calling commands") + + + args = vars(parser.parse_args()) + + + # Fixing path values + args["path"] = os.path.abspath(args["path"]) + args["sibrBinariesPath"] = os.path.abspath(args["sibrBinariesPath"]) + + ret = simplifyMesh( args["path"] + "/colmap/stereo/unix-meshed-delaunay.ply", args["path"] + "/colmap/stereo/unix-meshed-delaunay-simplified.ply") + print("RET ", ret) + if( ret.returncode != 0 ): + print("SIBR ERROR: meshlab simplify failed, exiting") + sys.exit(1) + + unwrap_app = getProcess("unwrapMesh") + unwrap_args = [unwrap_app, + "--path", args["path"] + "/colmap/stereo/unix-meshed-delaunay-simplified.ply", + "--output", args["path"] + "/capreal/mesh.ply", + ] + + print("Running unwrap mesh ", unwrap_args) + p_exit = subprocess.call(unwrap_args) + if p_exit != 0: + print("SIBR ERROR: unwrap failed, exiting") + sys.exit(1) + + texturemesh_app = getProcess("textureMesh") + texturemesh_args = [texturemesh_app, + "--path", args["path"], + "--output", args["path"] + "/capreal/texture.png", + "--size", "8192", + "--flood" + ] + + print("Texturing mesh ", texturemesh_args) + p_exit = subprocess.call(texturemesh_args) + if p_exit != 0: + print("SIBR ERROR: mesh texturing failed, exiting") + sys.exit(1) + + + print("textureonly has finished successfully.") + sys.exit(0) + +if __name__ == "__main__": + main() diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/meshroomPythonScripts/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/meshroomPythonScripts/CMakeLists.txt new file mode 100644 index 0000000000..67ce9af31e --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/meshroomPythonScripts/CMakeLists.txt @@ -0,0 +1,19 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(meshroomPythonScripts) + +file(GLOB SCRIPTS "*.py") + +add_custom_target(${PROJECT_NAME} ALL) + +include(install_runtime) +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") +ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FILES ${SCRIPTS}) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/meshroomPythonScripts/ULR.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/meshroomPythonScripts/ULR.py new file mode 100644 index 0000000000..6c67b7706e --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/meshroomPythonScripts/ULR.py @@ -0,0 +1,50 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- +__version__ = "3.0" + +from meshroom.core import desc +import os + +class ULR(desc.CommandLineNode): + commandLine = 'SIBR_ulrv2_app_rwdi {allParams}' + + print(os.path.abspath('.')) + cpu = desc.Level.INTENSIVE + ram = desc.Level.INTENSIVE + + inputs = [ + desc.ListAttribute( + elementDesc = desc.File( + name = "path", + label = "Cache folder", + description = "", + value = desc.Node.internalFolder + "../..", + uid=[0], + ), + name='path', + label='Input Folder', + description='MeshroomCache folder containing the StructureFromMotion folder, PrepareDenseScene folder, and Texturing folder.' + ), + desc.ChoiceParam( + name='texture-width', + label='Texture Width', + description='''Output texture size''', + value=1024, + values=(256, 512, 1024, 2048, 4096), + exclusive=True, + uid=[0], + ), + ] + + outputs = [ + ] diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/nvmToSIBR/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/nvmToSIBR/CMakeLists.txt new file mode 100644 index 0000000000..bb6d264881 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/nvmToSIBR/CMakeLists.txt @@ -0,0 +1,33 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(nvmToSIBR) + +# Define build output for project +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + sibr_graphics + sibr_assets + sibr_raycaster + sibr_system + sibr_view +) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/nvmToSIBR/main.cpp b/SIBR_viewers/src/projects/dataset_tools/preprocess/nvmToSIBR/main.cpp new file mode 100644 index 0000000000..3fc6bef9ad --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/nvmToSIBR/main.cpp @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include +#include +#include +#include +#include +#include + + +#define PROGRAM_NAME "sibr_nvm_to_sibr" +using namespace sibr; + +const char* usage = "" +"Usage: " PROGRAM_NAME " -path " "\n" +; + +struct ColmapPreprocessArgs : + virtual BasicIBRAppArgs { +}; + +int main(const int argc, const char** argv) +{ + + CommandLineArgs::parseMainArgs(argc, argv); + ColmapPreprocessArgs myArgs; + + std::string pathScene = myArgs.dataset_path; + + std::vector dirs = { "cameras", "images", "meshes"}; + + std::cout << "Generating SIBR scene." << std::endl; + BasicIBRScene scene(myArgs, true); + + // load the cams + std::vector cams = scene.cameras()->inputCameras(); + const int maxCam = int(cams.size()); + const int minCam = 0; + + for (auto dir : dirs) { + std::cout << dir << std::endl; + if (!directoryExists(pathScene + "/" + dir.c_str())) { + makeDirectory(pathScene + "/" + dir.c_str()); + } + } + + std::ofstream outputBundleCam; + std::ofstream outputListIm; + std::ofstream outputSceneMetadata; + + outputBundleCam.open(pathScene + "/cameras/bundle.out"); + outputListIm.open(pathScene + "/images/list_images.txt"); + outputSceneMetadata.open(pathScene + "/scene_metadata.txt"); + outputBundleCam << "# Bundle file v0.3" << std::endl; + outputBundleCam << maxCam << " " << 0 << std::endl; + outputSceneMetadata << "Scene Metadata File\n" << std::endl; + outputSceneMetadata << "[list_images]\n " << std::endl; + + std::sort(cams.begin(), cams.end(), [](const InputCamera::Ptr & a, const InputCamera::Ptr & b) { + return a->id() < b->id(); + }); + + for (int c = minCam; c < maxCam; c++) { + InputCamera & camIm = *cams[c]; + + std::string extensionFile = boost::filesystem::extension(camIm.name()); + std::ostringstream ssZeroPad; + ssZeroPad << std::setw(8) << std::setfill('0') << camIm.id(); + std::string newFileName = ssZeroPad.str() + extensionFile; + + boost::filesystem::copy_file(pathScene + "/nvm/" + camIm.name(), pathScene + "/images/" + newFileName, boost::filesystem::copy_option::overwrite_if_exists); + outputBundleCam << camIm.toBundleString(); + outputListIm << newFileName << " " << camIm.w() << " " << camIm.h() << std::endl; + outputSceneMetadata << newFileName << " " << camIm.w() << " " << camIm.h() << " " << camIm.znear() << " " << camIm.zfar() << std::endl; + } + + + outputSceneMetadata << "\n// Always specify active/exclude images after list images\n\n[exclude_images]\n ... " << std::endl; + + for (int i = 0; i < scene.data()->activeImages().size(); i++) { + if (!scene.data()->activeImages()[i]) + outputSceneMetadata << i << " "; + } + + outputSceneMetadata << "\n\n\n[other parameters]" << std::endl; + + outputBundleCam.close(); + outputListIm.close(); + outputSceneMetadata.close(); + + const std::string meshPath = pathScene + "/capreal/mesh.ply"; + sibr::copyFile(meshPath, pathScene + "/meshes/recon.ply", true); + + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/prepareColmap4Sibr/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/prepareColmap4Sibr/CMakeLists.txt new file mode 100644 index 0000000000..fc2fb3ed59 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/prepareColmap4Sibr/CMakeLists.txt @@ -0,0 +1,33 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(prepareColmap4Sibr) + +# Define build output for project +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + sibr_graphics + sibr_assets + sibr_raycaster + sibr_system + sibr_view +) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/prepareColmap4Sibr/main.cpp b/SIBR_viewers/src/projects/dataset_tools/preprocess/prepareColmap4Sibr/main.cpp new file mode 100644 index 0000000000..ae44c53dd1 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/prepareColmap4Sibr/main.cpp @@ -0,0 +1,185 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include +#include +#include +#include +#include +#include + + +#define PROGRAM_NAME "prepareColmap4Sibr" +using namespace sibr; + +const char* usage = "" +"Usage: " PROGRAM_NAME " -path " "\n" +; + +struct ColmapPreprocessArgs : public BasicIBRAppArgs { + Arg fix_metadata = { "fix_metadata", "Fix scene_metadata after crop and distort " }; +}; + +int main(const int argc, const char** argv) +{ + + CommandLineArgs::parseMainArgs(argc, argv); + ColmapPreprocessArgs myArgs; + + std::string pathScene = myArgs.dataset_path; + + std::vector dirs = { "sfm_mvs_cm" , "sibr_cm" }; + + std::ofstream outputSceneMetadata; + + if( myArgs.fix_metadata ) { + std::string cm_path = myArgs.dataset_path.get() + "/sibr_cm"; + myArgs.dataset_path = cm_path; + + BasicIBRScene cm_scene(myArgs, true, true); + + std::vector cams = cm_scene.cameras()->inputCameras(); + + std::string tmpFileName = cm_path + "/scene_metadata_tmp.txt"; + // done in a second pass, when everything has been created. + outputSceneMetadata.open(tmpFileName); + + // overwrite previous version since image sizes have changed when running sibr preprocessing + outputSceneMetadata << "Scene Metadata File\n" << std::endl; + + if (outputSceneMetadata.bad()) + SIBR_ERR << "Problem writing new metadata file" << std::endl; + + SIBR_LOG << "Writing new scene_metadata.txt file " << cm_path + "/scene_metadata.txt" << std::endl; + + outputSceneMetadata << "[list_images]\n " << std::endl; + + for (int c = 0; c < cams.size(); c++) { + InputCamera & camIm = *cams[c]; + + std::string extensionFile = boost::filesystem::extension(camIm.name()); + std::ostringstream ssZeroPad; + ssZeroPad << std::setw(8) << std::setfill('0') << camIm.id(); + std::string newFileName = ssZeroPad.str() + extensionFile; + // load image + std::string imgpath = cm_path + "/images/" + camIm.name(); + sibr::ImageRGB im; + if (!im.load(imgpath, false)) + SIBR_ERR << "Cant open image " << imgpath << std::endl; + + std::cerr << newFileName << " " << im.w() << " " << im.h() << " " << camIm.znear() << " " << camIm.zfar() << std::endl; + outputSceneMetadata << newFileName << " " << im.w() << " " << im.h() << " " << camIm.znear() << " " << camIm.zfar() << std::endl; + } + + outputSceneMetadata << "\n// Always specify active/exclude images after list images\n\n[exclude_images]\n ... " << std::endl; + + for (int i = 0; i < cm_scene.data()->activeImages().size(); i++) { + if (!cm_scene.data()->activeImages()[i]) + outputSceneMetadata << i << " "; + } + outputSceneMetadata << "\n\n\n[other parameters]" << std::endl; + outputSceneMetadata.close(); + + std::string SMName = cm_path + "/scene_metadata.txt"; + + SIBR_LOG << "Copying " << tmpFileName << " to " << SMName << std::endl; + boost::filesystem::copy_file( tmpFileName, SMName, boost::filesystem::copy_option::overwrite_if_exists); + boost::filesystem::remove(tmpFileName); + + exit(0); + } + std::cout << "Creating bundle file for SIBR scene." << std::endl; + BasicIBRScene scene(myArgs, true, true); + + // load the cams + std::vector cams = scene.cameras()->inputCameras(); + const int maxCam = int(cams.size()); + const int minCam = 0; + + for (auto dir : dirs) { + std::cout << dir << std::endl; + if (!directoryExists(pathScene + "/" + dir.c_str())) { + makeDirectory(pathScene + "/" + dir.c_str()); + } + } + + std::ofstream outputBundleCam; + std::ofstream outputListIm; + + outputBundleCam.open(pathScene + "/sfm_mvs_cm/bundle.out"); + outputListIm.open(pathScene + "/sfm_mvs_cm/list_images.txt"); + outputBundleCam << "# Bundle file v0.3" << std::endl; + outputBundleCam << maxCam << " " << 0 << std::endl; + + outputSceneMetadata.open(pathScene + "/sibr_cm/scene_metadata.txt"); + outputSceneMetadata << "Scene Metadata File\n" << std::endl; + outputSceneMetadata << "[list_images]\n " << std::endl; + + std::sort(cams.begin(), cams.end(), [](const InputCamera::Ptr & a, const InputCamera::Ptr & b) { + return a->id() < b->id(); + }); + + for (int c = minCam; c < maxCam; c++) { + InputCamera & camIm = *cams[c]; + + std::string extensionFile = boost::filesystem::extension(camIm.name()); + std::ostringstream ssZeroPad; + ssZeroPad << std::setw(8) << std::setfill('0') << camIm.id(); + std::string newFileName = ssZeroPad.str() + extensionFile; + + boost::filesystem::copy_file(pathScene + "/colmap/stereo/images/" + camIm.name(), pathScene + "/sfm_mvs_cm/" + newFileName, boost::filesystem::copy_option::overwrite_if_exists); + // keep focal + outputBundleCam << camIm.toBundleString(false, true); + outputListIm << newFileName << " " << camIm.w() << " " << camIm.h() << std::endl; + outputSceneMetadata << newFileName << " " << camIm.w() << " " << camIm.h() << " " << camIm.znear() << " " << camIm.zfar() << std::endl; + } + + outputSceneMetadata << "\n// Always specify active/exclude images after list images\n\n[exclude_images]\n ... " << std::endl; + + for (int i = 0; i < scene.data()->activeImages().size(); i++) { + if (!scene.data()->activeImages()[i]) + outputSceneMetadata << i << " "; + } + outputSceneMetadata << "\n\n\n[other parameters]" << std::endl; + + + outputBundleCam.close(); + outputListIm.close(); + outputSceneMetadata.close(); + + std::vector> meshPathList = { + { "/capreal/mesh.ply", "/sfm_mvs_cm/recon.ply"}, + { "/capreal/mesh.obj", "/sfm_mvs_cm/recon.ply"}, + { "/capreal/mesh.mtl", "/sfm_mvs_cm/"}, + { "/capreal/texture.png", "/sfm_mvs_cm/"}, + { "/capreal/mesh_u1_v1.png", "/sfm_mvs_cm/"}, + { "/colmap/stereo/meshed-delaunay.ply", "/sfm_mvs_cm/recon.ply"}, + }; + + bool success = false; + for(const std::vector & meshPaths : meshPathList) { + if(boost::filesystem::exists(pathScene + meshPaths[0])) { + sibr::copyFile(pathScene + meshPaths[0], pathScene + meshPaths[1], true); + success = true; + } + } + if (!success) { + std::cerr << "Couldnt file proxy geometry in any of the following places "; + for (const std::vector& meshPaths : meshPathList) + std::cerr << pathScene + meshPaths[0] << std::endl; + SIBR_ERR << "No proxy geometry, exiting" << std::endl; + + } + + return EXIT_SUCCESS; +} diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/CMakeLists.txt new file mode 100644 index 0000000000..bd77dc9963 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/CMakeLists.txt @@ -0,0 +1,19 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(realityCaptureTools) + +file(GLOB SCRIPTS "*.py" "*.json" ".bat" ".xml") + +add_custom_target(${PROJECT_NAME} ALL) + +include(install_runtime) +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") +ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FILES ${SCRIPTS}) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/SetVariables.bat b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/SetVariables.bat new file mode 100644 index 0000000000..1178242c57 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/SetVariables.bat @@ -0,0 +1,9 @@ +::CapturingReality +:: switch off console output +::@echo off + + +:: root path to work folders where the dataset is stored +set RootFolder=E:\datasets\Yorgos\Reflections\KitchenRCTest\ +set Video="%RootFolder%\videos\MVI_3030.MP4" +set FPS=0.2 diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/exportModel.xml b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/exportModel.xml new file mode 100755 index 0000000000..3eb2b11daa --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/exportModel.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/fixup.bat b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/fixup.bat new file mode 100644 index 0000000000..8787279ae4 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/fixup.bat @@ -0,0 +1,27 @@ +::CapturingReality + +:: switch off console output +::@echo off +@echo on +set RootFolder=%1 + +:: path to RealityCapture application +set RealityCaptureExe="C:\Program Files\Capturing Reality\RealityCapture\RealityCapture.exe" + +:: variable storing path to images for texturing model +set Project="%RootFolder%\rcProj\RCproject.rcproj" + +:: run RealityCapture +:: test and fix video import when RC working again + +%RealityCaptureExe% -load %Project% ^ + -selectAllImages ^ + -enableAlignment false ^ + -selectImage *test_* ^ + -enableAlignment true ^ + + + + + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/processRCSteps.json b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/processRCSteps.json new file mode 100644 index 0000000000..41e653ae1f --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/processRCSteps.json @@ -0,0 +1,228 @@ +{ + "steps" : [ + { + "if": "${car_data}", + "name": "car_data_process", + "function": "rc_tools.car_data_process", + "function_args": { + "path": "${path}" + } + }, + { + "name": "preprocess_for_rc", + "function": "rc_tools.preprocess_for_rc", + "function_args": { + "path": "${path}", + "video_name": "${video_name}", + "do_validation_split": "${do_validation_split}", + "valid_skip": "${valid_skip}" + } + }, + { + "if" : "${calib_only}", + "name": "calib_only", + "app": "RC", + "optional_arg1": [ + "${do_train}", + "-addFolder", "${path}/input/train/" + ], + "optional_arg2": [ "${do_validation}", + "-addFolder", "${path}/input/validation/" + ], + "optional_arg3": [ "${do_video}", + "-importVideo", "${video_filename}", "${path}/input/test_video_frames/", "${one_over_fps}" + ], + "optional_arg4": [ "${do_test}", + "-addFolder", "${path}/input/test/" + ], + "command_args": [ + "-align" , + "-selectMaximalComponent" , + "-selectAllImages" , + "-enableAlignment", "false" , + "-selectImage", "*validation_*" , + "-enableAlignment", "true" , + "-exportRegistration", "${path}/rcScene/validation_cameras/bundle.out", "${config_folder}/registrationConfig.xml" , + "-selectAllImages" , + "-enableAlignment", "false" , + "-selectImage", "*${path_prefix}*", + "-enableAlignment", "true" , + "-exportRegistration", "${path}/rcScene/test_path_cameras/bundle.out", "${config_folder}/registrationConfig.xml" , + "-selectAllImages" , + "-enableAlignment", "false" , + "-selectImage", "*train_*" , + "-enableAlignment", "true" , + "-exportRegistration", "${path}/rcScene/train_cameras/bundle.out", "${config_folder}/registrationConfig.xml" , + "-save", "${path}/rcProj/RCproject.rcproj" , + "-quit" + ] + }, + { + "if": "${video_only}", + "name": "fix_video_only", + "function": "rc_tools.fix_video_only", + "function_args": { + "path": "${path}" + } + }, + { + "if" : "${do_mvs}", + "name": "run_rc", + "app": "RC", + "optional_arg1": [ + "${do_train}", + "-addFolder", "${path}/input/train/" + ], + "optional_arg2": [ "${do_validation}", + "-addFolder", "${path}/input/validation/" + ], + "optional_arg3": [ "${do_video}", + "-importVideo", "${video_filename}", "${path}/input/test_video_frames/", "${one_over_fps}" + ], + "optional_arg4": [ "${do_test}", + "-addFolder", "${path}/input/test/" + ], + "command_args": [ + "-align" , + "-selectMaximalComponent" , + "-selectAllImages" , + "-enableAlignment", "false" , + "-selectImage", "*validation_*" , + "-enableAlignment", "true" , + "-exportRegistration", "${path}/rcScene/validation_cameras/bundle.out", "${config_folder}/registrationConfig.xml" , + "-selectAllImages" , + "-enableAlignment", "false" , + "-selectImage", "*${path_prefix}*" , + "-enableAlignment", "true" , + "-exportRegistration", "${path}/rcScene/test_path_cameras/bundle.out", "${config_folder}/registrationConfig.xml" , + "-selectAllImages" , + "-enableAlignment", "false" , + "-selectImage", "*train_*" , + "-enableAlignment", "true" , + "-exportRegistration", "${path}/rcScene/train_cameras/bundle.out", "${config_folder}/registrationConfig.xml", + "-setReconstructionRegionAuto" , + "-scaleReconstructionRegion", "1.4", "1.4", "2.5", "center", "factor" , + "-selectAllImages" , + "-enableAlignment", "false" , + "-selectImage", "*${path_prefix}*" , + "-enableAlignment", "true" , + "-save", "${path}/rcProj/RCproject.rcproj" + ], + "optional_final_arg": [ "${auto_recon_area}", + "-quit" + ] + }, + { + "if" : "${do_mvs}", + "name": "run_rc_mvs", + "app": "RC", + "command_args": [ + "-load", "${path}/rcProj/RCproject.rcproj" , + "-selectMaximalComponent" , + "-selectAllImages" , + "-enableAlignment", "false" , + "-selectImage", "*train_*" , + "-enableAlignment", "true" , + "-calculateNormalModel" , + "-calculateTexture" , + "-selectMarginalTriangles" , + "-removeSelectedTriangles" , + "-save", "${path}/rcProj/RCproject.rcproj" , + "-renameSelectedModel", "${model_name}" , + "-exportModel", "${model_name}", "${mesh_obj_filename}", "${config_folder}/exportModel.xml" , + "-deselectModelTriangles" , + "-exportModel", "${model_name}", "${mesh_ply_filename}", "${config_folder}/exportModel.xml" , + "-quit" + ] + }, + { + "name": "densify_mesh", + "function": "rc_tools.densify_mesh", + "function_args": { + "mesh_path": "${path}/rcScene/meshes/mesh.obj" + } + }, + { + "name": "dense_mesh", + "app": "RC", + "command_args": [ + "-load", "${path}/rcProj/RCProject.rcproj", + "-selectMaximalComponent", + "-importModel" , "${path}/rcScene/meshes/dense_mesh.obj", + "-renameSelectedModel", "RCTest", + "-exportModel", "RCTest", "${path}/rcScene/meshes/dense_point_cloud.xyz", "${config_folder}/exportModel.xml" , + "-quit" + ] + }, + { + "name": "rc_to_colmap_validation_cameras", + "function": "rc_tools.rc_to_colmap", + "function_args": { + "rc_path": "${path}/rcScene/validation_cameras", + "out_path": "${path}/colmap_1000/validation_colmap", + "create_colmap": "0", + "target_width": "${target_width}" + } + }, + { + "name": "rc_to_colmap_path_cameras", + "function": "rc_tools.rc_to_colmap", + "function_args": { + "rc_path": "${path}/rcScene/test_path_cameras", + "out_path": "${path}/colmap_1000/test_path_colmap", + "create_colmap": "0", + "target_width": "${target_width}" + } + }, + { + "name": "crop_cameras", + "function": "rc_tools.crop_images", + "function_args": { + "path_data": "${path}/rcScene/train_cameras/", + "path_dest": "${path}/rcScene/cropped_train_cameras/" + } + }, + { + "name": "rc_to_colmap_1000_cropped_cameras", + "function": "rc_tools.rc_to_colmap", + "function_args": { + "rc_path": "${path}/rcScene/cropped_train_cameras", + "out_path": "${path}/colmap_1000/colmap", + "create_colmap": "1", + "target_width": "${target_width}" + } + }, + { + "name": "rc_to_colmap_cropped_cameras", + "function": "rc_tools.rc_to_colmap", + "function_args": { + "rc_path": "${path}/rcScene/cropped_train_cameras", + "out_path": "${path}/sibr/colmap", + "create_colmap": "1" + } + }, + { + "name": "create_nerf", + "function": "colmap2nerf.createNerf", + "function_args": { + "path": "${path}" + } + }, + { + "if": "${hires_nerf}", + "name": "create_hi_nerf", + "function": "colmap2nerf.createNerf", + "function_args": { + "path": "${path}", + "hires": "True" + } + }, + { + "name": "convert_sibr_mesh", + "function": "rc_tools.convert_sibr_mesh", + "function_args": { + "path": "${path}" + } + } + ] +} diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/rc_tools.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/rc_tools.py new file mode 100644 index 0000000000..cc5a21d729 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/rc_tools.py @@ -0,0 +1,526 @@ +# +# RealityCapture tools +# +import os +import os.path +import sys +import argparse +import shutil +import sqlite3 +import read_write_model as rwm +import pymeshlab + + +import cv2 +print(cv2.__version__) + + +""" @package dataset_tools_preprocess +Library for RealityCapture treatment + + +""" + +import bundle +import os, sys, shutil +import json +import argparse +import scipy +import numpy as np +from scipy.spatial.transform import Rotation as R +from utils.paths import getBinariesPath, getColmapPath, getMeshlabPath +from utils.commands import getProcess, getColmap, getRCprocess, runCommand + +def preprocess_for_rc(path, video_name='default', do_validation_split=True, valid_skip='10'): + # create train/validation split (every 10 images by default now) + print("VALID SKIP ", valid_skip) + int_valid_skip = int(valid_skip) + + # Should exist + rawpath = os.path.join(path, "raw") + if not os.path.exists(rawpath): + os.makedirs(os.path.join(path, "raw")) + + imagespath = os.path.abspath(os.path.join(rawpath, "images")) + testpath = os.path.abspath(os.path.join(rawpath, "test")) + videopath = os.path.abspath(os.path.join(rawpath, "videos")) + do_test = False + inputpath = os.path.join(path, "input") + + # If not, move around + if not os.path.exists(imagespath): + if os.path.exists(os.path.join(path, "images")): + shutil.move(os.path.join(path, "images"), imagespath) + elif not os.path.exists(os.path.join(path, "videos")) and not os.path.exists(videopath): + print("ERROR: No images nor video, exiting. Images should be in $path/raw/images") + exit(-1) + # videos are optional + if os.path.exists(os.path.join(path, "videos")): + shutil.move(os.path.join(path, "videos"), videopath) + # test images (stills for path) + test_orig = os.path.join(path, "test") +# print("TEST ", test_orig, " " , os.path.exists(test_orig) , " > ", testpath) + if os.path.exists(test_orig): + do_test = True + shutil.move(test_orig, testpath) + else: + print("Found images {}".format(imagespath)) + if os.path.exists(videopath): + print("Found video {}".format(videopath)) + if os.path.exists(testpath): + print("Found test {}".format(testpath)) + do_test = True + + cnt = 0 + validation_path = os.path.abspath(os.path.join(inputpath, "validation")) + train_path = os.path.abspath(os.path.join(inputpath, "train")) + if not os.path.exists(train_path): + os.makedirs(train_path) + if not os.path.exists(validation_path): + os.makedirs(validation_path) + input_test_path = os.path.abspath(os.path.join(inputpath, "test")) + if not os.path.exists(input_test_path): + os.makedirs(input_test_path) + + # rcScene -- will contain full bundle files from RC + rcscenepath = os.path.join(path, "rcScene") + if not os.path.exists(rcscenepath): + os.makedirs(rcscenepath) + + # rcProj -- RC project save + rcprojpath = os.path.join(path, "rcProj") + if not os.path.exists(rcprojpath): + os.makedirs(rcprojpath) + + + # sibr -- will contain full size colmap + sibrpath = os.path.join(path, "sibr") + if not os.path.exists(sibrpath): + os.makedirs(sibrpath) + caprealpath = os.path.join(sibrpath, "capreal") + os.makedirs(caprealpath) + + # BUG: do_validation_split is a string + if do_validation_split != 'False': + print("Train/Validation", train_path , " : ", validation_path) + for filename in os.listdir(imagespath): + ext = os.path.splitext(filename)[1] + if ext == ".JPG" or ext == ".jpg" or ext == ".PNG" or ext == ".png" : + image = os.path.join(imagespath, filename) +# print("IM ", image) + if not(cnt % int_valid_skip ): + filename = "validation_"+filename + fname = os.path.join(validation_path, filename) +# print("Copying ", image, " to ", fname , " in validation") + shutil.copyfile(image, fname) + else: + filename = "train_"+filename + fname = os.path.join(train_path, filename) +# print("Copying ", image, " to ", fname , " in train") + shutil.copyfile(image, fname) + + cnt = cnt + 1 + else: + print("Not doing validation") + for filename in os.listdir(imagespath): + ext = os.path.splitext(filename)[1] + if ext == ".JPG" or ext == ".jpg" or ext == ".PNG" or ext == ".png" : + image = os.path.join(imagespath, filename) +# print("IM ", image) + + filename = "train_"+filename + fname = os.path.join(train_path, filename) +# print("Copying ", image, " to ", fname , " in train") + shutil.copyfile(image, fname) + + cnt = cnt + 1 + + if do_test: + for filename in os.listdir(testpath): + ext = os.path.splitext(filename)[1] + if ext == ".JPG" or ext == ".jpg" or ext == ".PNG" or ext == ".jpg" : + image = os.path.join(testpath, filename) + filename = "test_"+filename + fname = os.path.join(input_test_path, filename) +# print("Copying ", image, " to ", fname , " in test") + shutil.copyfile(image, fname) + else: + print ("****************** NOT DOING TEST !!!") + + + # extract video name -- if not given, take first + if video_name == 'default': + if os.path.exists(videopath): + for filename in os.listdir(videopath): +# print("Checking ", filename) + if ("MP4" in filename) or ("mp4" in filename): + video_name = filename + video_filename = os.path.join(path, os.path.join("raw", os.path.join("videos", video_name))) + print("Full video path:", video_filename) + + return "video_filename", video_filename + +def convert_sibr_mesh(path): + ms = pymeshlab.MeshSet() + mesh_path = os.path.join(os.path.join(os.path.join(path, "rcScene"), "meshes"), "mesh.obj") + print("Loading mesh (slow...)", mesh_path) + ms.load_new_mesh(mesh_path) + meshply_path = out_mesh_path = os.path.join(os.path.join(os.path.join(path, "sibr"), "capreal"), "mesh.ply") + print("Saving mesh (slow...)", out_mesh_path) + ms.save_current_mesh(out_mesh_path, save_wedge_texcoord=False, binary=False) + print("Done saving mesh (slow...)", out_mesh_path) + texture_path = os.path.join(os.path.join(os.path.join(path, "sibr"), "capreal"), "mesh_u1_v1.png") + out_texture_path = os.path.join(os.path.join(os.path.join(path, "sibr"), "capreal"), "texture.png") + print("Copying (to allow meshlab to work) {} to {}".format(texture_path, out_texture_path)) + shutil.copyfile(texture_path, out_texture_path) + out_mesh_path = os.path.join(os.path.join(os.path.join(os.path.join(path, "sibr"), "colmap"), "stereo"), "meshed-delaunay.ply") + print("Copying {} to {}".format(meshply_path, out_mesh_path)) + shutil.copyfile(meshply_path, out_mesh_path) + + +def densify_mesh(mesh_path): + ms = pymeshlab.MeshSet() + subdiv_threshold = pymeshlab.Percentage(0.09) + ms.load_new_mesh(mesh_path) + print("Loaded mesh ", mesh_path, " Subdividing (this can take some time)...") + ms.subdivision_surfaces_butterfly_subdivision(threshold=subdiv_threshold) + path_split = os.path.split(mesh_path) + dense_mesh_fname = "dense_" + path_split[1] + fname, fname_ext = os.path.splitext(dense_mesh_fname) + dense_mesh_fname = fname + ".obj" + dense_mesh_path = os.path.join(path_split[0], dense_mesh_fname) + print("Writing dense mesh ", dense_mesh_path) + ms.save_current_mesh(dense_mesh_path) + +def rc_to_colmap(rc_path, out_path, create_colmap=False, target_width=-1): + + input_bundle = bundle.Bundle(os.path.join(rc_path , "bundle.out")) + input_bundle.generate_list_of_images_file (os.path.join(rc_path , "list_images.txt")) + + dst_image_path = os.path.join(out_path, "images") + + # create entire colmap structure + if create_colmap: + dir_name = os.path.join(out_path, "stereo") + if not os.path.exists(dir_name): + os.makedirs(dir_name) + + stereo_stereo_dir = os.path.join(dir_name, "stereo") + if not os.path.exists(stereo_stereo_dir): + os.makedirs(stereo_stereo_dir) + + dst_image_path = os.path.join(dir_name, "images") + + sparse_stereo_dir = dir_name = os.path.join(dir_name, "sparse") + if not os.path.exists(dir_name): + os.makedirs(dir_name) + + + else: + sparse_stereo_dir = out_path + + if not os.path.exists(dst_image_path): + os.makedirs(dst_image_path) + + # create cameras.txt + fname = os.path.join(sparse_stereo_dir, "cameras.txt") + print("Creating ", fname) + numcams = len(input_bundle.list_of_input_images) + + camera_id = 1 + scale = 1. + with open(fname, 'w') as outfile: + outfile.write("# Camera list with one line of data per camera:\n") + outfile.write("# CAMERA_ID, MODEL, WIDTH, HEIGHT, PARAMS[]\n") + outfile.write("# Number of cameras: {}\n".format(numcams)) + for im in input_bundle.list_of_input_images: + width = im.resolution[0] + height = im.resolution[1] + focal_length = input_bundle.list_of_cameras[camera_id-1].focal_length + + # resize images if required + if target_width != -1: + orig_width = width + width = float(target_width) + scale = float(target_width) / orig_width + aspect = height / orig_width + height = width * aspect + focal_length = scale * focal_length + + outfile.write("{} PINHOLE {} {} {} {} {} {}\n".format(camera_id, int(width), int(height), focal_length, focal_length, width/2.0, height/2.0)) + camera_id = camera_id + 1 + outfile.close() + + # create images.txt + fname = os.path.join(sparse_stereo_dir, "images.txt") + + print("Creating ", fname) + camera_id = 1 + with open(fname, 'w') as outfile: + outfile.write( "# Image list with two lines of data per image:\n" ) + outfile.write( "# IMAGE_ID, QW, QX, QY, QZ, TX, TY, TZ, CAMERA_ID, NAME\n" ) + outfile.write( "# POINTS2D[] as (X, Y, POINT3D_ID)\n" ) + point2d_index = 0 + for cam in input_bundle.list_of_cameras: + in_im = input_bundle.list_of_input_images[camera_id-1] + imname = in_im.path + name = os.path.basename(imname) + im = cv2.imread(imname, cv2.IMREAD_UNCHANGED) + w = im.shape[1] + h = im.shape[0] + + # to sibr internal + br = np.matrix(cam.rotation).transpose() + t = -np.matmul(br , np.matrix([cam.translation[0], cam.translation[1], cam.translation[2]]).transpose()) + + # sibr save to colmap + br = np.matmul(br, np.matrix([[1, 0, 0], [0, -1, 0], [0, 0, -1]])) + br = br.transpose() + + sci_rot = R.from_matrix(br) + sci_quat = sci_rot.as_quat() + + t = -np.matmul(br, t) + + outfile.write("{} {} {} {} {} {} {} {} {} {}\n".format(camera_id, -sci_quat[3], -sci_quat[0], -sci_quat[1], -sci_quat[2], t[0,0], t[1,0], t[2,0], camera_id, name)) + # write out points + first = False + scale = 1.0 + if target_width !=1 : + scale = float(target_width) / float(in_im.resolution[0]) + for p in cam.list_of_feature_points: + for v in p.view_list: + if v[0] == camera_id-1: + outfile.write( str(scale*(2.*v[2]+w)) + " " + str(scale*(2.*v[3]+h))+ " -1" ) # TODO: not sure about this, seems to be -1 in all existing files + if not first: + outfile.write(" ") + else: + first = False + + p.point2d_index[v[0]] = point2d_index + point2d_index = point2d_index + 1 + + outfile.write("\n") + camera_id = camera_id + 1 + outfile.close() + + # create points3D.txt + fname = os.path.join(sparse_stereo_dir, "points3D.txt") + + print("Creating ", fname) + camera_id = 1 + with open(fname, 'w') as outfile: + num_points = len(input_bundle.list_of_feature_points) +# FIX mean_track_length = sum((len(pt.image_ids) for _, pt in points3D.items()))/len(points3D) + mean_track_length = 10 # 10 is a placeholder value + outfile.write("# 3D point list with one line of data per point:\n" ) + outfile.write("# POINT3D_ID, X, Y, Z, R, G, B, ERROR, TRACK[] as (IMAGE_ID, POINT2D_IDX)\n") + outfile.write("# Number of points: {}, mean track length: {}\n".format(num_points, mean_track_length)) + for p in input_bundle.list_of_feature_points: + # error set to 0.1 for all + outfile.write(str(p.id+1)+ " " + str(p.position[0]) + " " + str(p.position[1]) + " " + str(p.position[2]) + " " + str( p.color[0])+ " " + str( p.color[1])+ " " + str( p.color[2])+ " 0.1") + for v in p.view_list: +# print("Cam id ", v[0], " P= ", p.id+1 , " p2dind " , p.point2d_index ) + outfile.write(" " + str(v[0]+1)+ " " + str(p.point2d_index[v[0]]) ) + outfile.write("\n") + + + if create_colmap: + fname = os.path.join(stereo_stereo_dir, "fusion.cfg") + outfile_fusion = open(fname, 'w') + fname = os.path.join(stereo_stereo_dir, "patch-match.cfg") + outfile_patchmatch = open(fname, 'w') + outdir = os.path.join(stereo_stereo_dir, "normal_maps") + if not os.path.exists(outdir): + os.makedirs(outdir) + outdir = os.path.join(stereo_stereo_dir, "depth_maps") + if not os.path.exists(outdir): + os.makedirs(outdir) + outdir = os.path.join(stereo_stereo_dir, "consistency_graphs") + if not os.path.exists(outdir): + os.makedirs(outdir) + + # copy images + for fname in os.listdir(rc_path): + if fname.endswith(".jpg") or fname.endswith(".JPG") or fname.endswith(".png") or fname.endswith(".PNG") : + src_image_fname = os.path.join(rc_path, fname) + dst_image_fname = os.path.join(dst_image_path, os.path.basename(fname)) +# print("Copying ", src_image_fname, "to ", dst_image_fname) + + if create_colmap: + outfile_fusion.write(fname+"\n") + outfile_patchmatch.write(fname+"\n") + outfile_patchmatch.write("__auto__, 20\n") + + # resize if necessary + if target_width != -1: + im = cv2.imread(src_image_fname, cv2.IMREAD_UNCHANGED) + orig_width = im.shape[1] + orig_height = im.shape[0] + width = float(target_width) + scale = float(target_width)/ orig_width + aspect = orig_height / orig_width + height = width * aspect + dim = (int(width), int(height)) + im = cv2.resize(im, dim, interpolation = cv2.INTER_AREA) + cv2.imwrite(dst_image_fname, im) + else: + shutil.copyfile(src_image_fname, dst_image_fname) + + # copy mesh; fake it + if create_colmap: + outfile_patchmatch.close() + outfile_fusion.close() + +# taken from ibr_preprocess_rc_to_sibr +# TODO: pretty ugly needs rethink and cleanup +def crop_images(path_data, path_dest): + # open calibration data + input_bundle = bundle.Bundle(os.path.join(path_data , "bundle.out")) + # query current average resolution of these cameras + avg_resolution = input_bundle.get_avg_resolution() + print("AVG resolution ", avg_resolution) + + # special case: validation_cameras take size/crop data from train cameras so they are all the same + if "validation_" not in path_data: + + # generate resolutions.txt and put it in the current dataset folder + resolutions_txt_path = os.path.join(path_data, "resolutions.txt") + input_bundle.generate_list_of_images_file(resolutions_txt_path) + + # setup avg_resolution parameters for distordCrop + print("Command: run distordCrop ARGS: ", "--path", path_data, "--ratio", "0.3", "--avg_width", str(avg_resolution[0]), "--avg_height", str(avg_resolution[1]), ")") + retcode = runCommand(getProcess("distordCrop"), [ "--path", path_data, "--ratio", "0.3", "--avg_width", str(avg_resolution[0]), "--avg_height", str(avg_resolution[1]) ]) + if retcode.returncode != 0: + print("Command: distordCrop failed, exiting (ARGS: ", "--path", path_data, "--ratio", "0.3", "--avg_width", str(avg_resolution[0]), "--avg_height", str(avg_resolution[1]), ")") + #exit(1) + + # read new proposed resolution and check if images were discarded + exclude = [] + path_to_exclude_images_txt = os.path.join(path_data, "exclude_images.txt") + if (os.path.exists(path_to_exclude_images_txt)): + # list of excluded cameras (one line having all the camera ids to exclude) + exclusion_file = open(path_to_exclude_images_txt, "r") + line = exclusion_file.readline() + tokens = line.split() + + for cam_id in tokens: + exclude.append(int(cam_id)) + exclusion_file.close() + + # exclude cams from bundle file + if len(exclude) > 0: + print("Excluding ", exclude) + input_bundle.exclude_cams (exclude) + + # read proposed cropped resolution + path_to_crop_new_size_txt = os.path.join(path_data, "cropNewSize.txt") + else: + train_path_data = str.replace(path_data, "validation_", "") + path_to_crop_new_size_txt = os.path.join(train_path_data, "cropNewSize.txt") + print("Reading crop size from ", path_to_crop_new_size_txt ) + + with open(path_to_crop_new_size_txt) as crop_size_file: + line = crop_size_file.readline() + tokens = line.split() + new_width = int(tokens[0]) + new_height = int(tokens[1]) + proposed_res = [new_width, new_height] + + print("Crop size found:", proposed_res) + # generate file with list of current selected images to process + + path_to_transform_list_txt = os.path.join (path_data, "toTransform.txt") + input_bundle.generate_list_of_images_file(path_to_transform_list_txt) + + if not os.path.exists(path_dest): + os.makedirs(path_dest) + + + path_to_output_bundle = os.path.join (path_dest, "bundle.out") + # write bundle file in output cameras folder + new_width = None + input_bundle.save(path_to_output_bundle, proposed_res) + + # setup avg_resolution and proposed_resolution parameters for distordCrop + print("Command: run cropFromCenter ARGS:", "--inputFile", path_to_transform_list_txt, "--outputPath", path_dest, "--avgResolution", str(avg_resolution[0]), str(avg_resolution[1]), "--cropResolution", str(proposed_res[0]), str(proposed_res[1])) + retcode = runCommand(getProcess("cropFromCenter"), [ "--inputFile", path_to_transform_list_txt, "--outputPath", path_dest, "--avgResolution", str(avg_resolution[0]), str(avg_resolution[1]), "--cropResolution", str(proposed_res[0]), str(proposed_res[1]) ]) + if retcode.returncode != 0: + print("Command: cropFromCenter failed, exiting (ARGS:", "--inputFile", path_to_transform_list_txt, "--outputPath", path_dest, "--avgResolution", str(avg_resolution[0]), str(avg_resolution[1]), "--cropResolution", str(proposed_res[0]), str(proposed_res[1])) + exit(1) + + +def fix_video_only(path): + # TODO: currently only works for video_only + calib_only; doesnt do video only with MVS + # verify that train is actually empty + train_dir = os.path.join(path, os.path.join("rcScene", "train_cameras")) + test_dir = os.path.join(path, os.path.join("rcScene", "test_path_cameras")) + files = os.listdir(train_dir) + if len(files) == 1: # empty bundle file + shutil.move(train_dir, train_dir+"_save") + print("MOVING {} to {}".format(test_dir, train_dir)) + shutil.move(test_dir, train_dir) + else: + print("FATAL ERROR: trying to overwrite existing train images") + exit(1) + +def car_data_process(path): + # Contains: CAM_{BACK,FRONT}[_]{LEFT, RIGHT} + rawpath = os.path.join(path, "raw") + if not os.path.exists(rawpath): + os.makedirs(rawpath) + + imagespath = os.path.abspath(os.path.join(rawpath, "images")) + if not os.path.exists(imagespath): + os.makedirs(imagespath) + + # read all the sets of cameras + + dirlist = [ "CAM_BACK", "CAM_BACK_LEFT", "CAM_BACK_RIGHT", "CAM_FRONT", "CAM_FRONT_LEFT", "CAM_FRONT_RIGHT" ] + imlists = {} + global_im_counter = 0 + + for dirname in dirlist: + campath = os.path.join(path, dirname) + first = True +# basic version + for filename in os.listdir(campath): + shutil.copyfile(os.path.join(campath, filename), os.path.join(imagespath, "{:06d}".format(global_im_counter)+".jpg")) + global_im_counter += 1 + +""" +# code below useless + for filename in os.listdir(campath): + ext = os.path.splitext(filename)[1] + if ext == ".JPG" or ext == ".jpg" or ext == ".PNG" or ext == ".png" : + if first: + imlists[dirname] = [filename] + first = False + else: + imlists[dirname].append(filename) + +# print("Adding ", filename , " to list " , dirname) + for i in range(len(imlists["CAM_BACK"])): + imname = imlists[ "CAM_BACK_LEFT"][i] + shutil.copyfile(os.path.join(path, os.path.join( "CAM_BACK_LEFT", imname)), os.path.join(imagespath, "{:06d}".format(global_im_counter)+".jpg")) + global_im_counter += 1 + imname = imlists[ "CAM_FRONT_LEFT"][i] + shutil.copyfile(os.path.join(path, os.path.join( "CAM_FRONT_LEFT", imname)), os.path.join(imagespath, "{:06d}".format(global_im_counter)+".jpg")) + global_im_counter += 1 + if i > 2: + imname = imlists[ "CAM_FRONT"][i-2] + shutil.copyfile(os.path.join(path, os.path.join( "CAM_FRONT", imname)), os.path.join(imagespath, "{:06d}".format(global_im_counter)+".jpg")) + global_im_counter += 1 + + for i in range(len(imlists["CAM_BACK"])): + imname = imlists[ "CAM_FRONT_RIGHT"][i] + shutil.copyfile(os.path.join(path, os.path.join( "CAM_FRONT_RIGHT", imname)), os.path.join(imagespath, "{:06d}".format(global_im_counter)+ ".jpg")) + global_im_counter += 1 + imname = imlists[ "CAM_BACK_RIGHT"][i] + shutil.copyfile(os.path.join(path, os.path.join( "CAM_BACK_RIGHT", imname)), os.path.join(imagespath, "{:06d}".format(global_im_counter)+ ".jpg")) + global_im_counter += 1 + if i < len(imlists["CAM_BACK"])-2: + imname = imlists[ "CAM_BACK"][i+2] + shutil.copyfile(os.path.join(path, os.path.join( "CAM_BACK", imname)), os.path.join(imagespath, "{:06d}".format(global_im_counter)+ ".jpg")) + global_im_counter += 1 +""" diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/registrationConfig.xml b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/registrationConfig.xml new file mode 100644 index 0000000000..416c328422 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/registrationConfig.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/runRC.bat b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/runRC.bat new file mode 100644 index 0000000000..6c0b506f7a --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/realityCaptureTools/runRC.bat @@ -0,0 +1,71 @@ +::CapturingReality + +:: switch off console output +::@echo off +@echo on +set RootFolder=%1 +set Video="%RootFolder%\videos\video.mp4" +set FPS=%2 + +set ConfigFolder=D:\Users\gdrett\src\sibr_core\install\scripts +:: path to RealityCapture application +set RealityCaptureExe="C:\Program Files\Capturing Reality\RealityCapture\RealityCapture.exe" + +:: variable storing path to images for creating model +set Images="%RootFolder%\images" +set TestImages="%RootFolder%\test" +set TrainImages="%RootFolder%\train" +set PathImages="%RootFolder%\train" + +:: set a new name for calculated model +set ModelName="RCTest" + +:: set the path, where model is going to be saved, and its name +set ModelObj="%RootFolder%\rcScene\meshes\mesh.obj" +set ModelXYZ="%RootFolder%\rcScene\meshes\point_cloud.xyz" + +:: variable storing path to images for texturing model +set Project="%RootFolder%\rcproj\mesh.rcproj" + +:: run RealityCapture +:: test and fix video import when RC working again + +echo %@Images% + +%RealityCaptureExe% -addFolder %TrainImages% ^ + -addFolder %TestImages% ^ + -importVideo %Video% %RootFolder%\video_frames\ %FPS% ^ + -align ^ + -selectMaximalComponent ^ + -selectAllImages ^ + -enableAlignment false ^ + -selectImage *test_* ^ + -enableAlignment true ^ + -exportRegistration %RootFolder%\rcScene\test_cameras\bundle.out %ConfigFolder%\registrationConfig.xml ^ + -selectAllImages ^ + -enableAlignment false ^ + -selectImage *frame* ^ + -enableAlignment true ^ + -exportRegistration %RootFolder%\rcScene\path_cameras\bundle.out %ConfigFolder%\registrationConfig.xml ^ + -selectAllImages ^ + -enableAlignment false ^ + -selectImage *train_* ^ + -enableAlignment true ^ + -exportRegistration %RootFolder%\rcScene\cameras\bundle.out %ConfigFolder%\registrationConfig.xml ^ + -setReconstructionRegionAuto ^ + -scaleReconstructionRegion 1.4 1.4 2.5 center factor ^ + -calculateNormalModel ^ + -selectMarginalTriangles ^ + -removeSelectedTriangles ^ + -calculateTexture ^ + -save %Project% ^ + -renameSelectedModel %ModelName% ^ + -exportModel %ModelName% %ModelObj% ^ + -exportModel %ModelName% %ModelXYZ% ^ + -quit + + + + + + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/textureMesh/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/textureMesh/CMakeLists.txt new file mode 100644 index 0000000000..37dd8a3d31 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/textureMesh/CMakeLists.txt @@ -0,0 +1,34 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(textureMesh) + +# Define build output for project +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + sibr_system + sibr_assets + sibr_graphics + sibr_raycaster + sibr_imgproc + sibr_view +) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/textureMesh/main.cpp b/SIBR_viewers/src/projects/dataset_tools/preprocess/textureMesh/main.cpp new file mode 100644 index 0000000000..c608540d63 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/textureMesh/main.cpp @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "core/system/CommandLineArgs.hpp" +#include "core/assets/InputCamera.hpp" +#include "core/graphics/Image.hpp" +#include "core/graphics/Mesh.hpp" +#include "core/imgproc/MeshTexturing.hpp" +#include "core/scene/BasicIBRScene.hpp" + +using namespace sibr; + + +struct TexturingAppArgs : virtual BasicIBRAppArgs { + Arg meshPath = { "mesh", "" }; + RequiredArg output_path = { "output", "output texture path" }; + Arg output_size = { "size", 8192, "texture side" }; + Arg flood_fill = { "flood", "perform flood fill" }; + Arg poisson_fill = { "poisson", "perform Poisson filling (slow on large images)" }; + Arg samples = { "samples", 1.0, "%ge of total samples to be used for texturing" }; +}; + +int main(int ac, char** av) { + + // Parse Command-line Args + sibr::CommandLineArgs::parseMainArgs(ac, av); + + TexturingAppArgs args; + + // Display help. + if(!args.dataset_path.isInit() || !args.output_path.isInit()) { + std::cout << "Usage: " << std::endl; + std::cout << "\tRequired: --path path/to/dataset --output path/to/output/file.png" << std::endl; + std::cout << "\tOptional: --size 8192 --flood (flood fill) --poisson (poisson fill)" << std::endl; + return 0; + } + + BasicIBRScene::SceneOptions opts; + opts.renderTargets = false; + if (!args.meshPath.get().empty()) { + opts.mesh = false; + } + opts.texture = false; + + SIBR_LOG << "[Texturing] Loading data..." << std::endl; + + BasicIBRScene scene(args, opts); + + if (!scene.proxies()->hasProxy()) { + sibr::Mesh::Ptr customMesh; + customMesh.reset(new Mesh()); + customMesh->load(args.meshPath); + scene.proxies()->replaceProxyPtr(customMesh); + } + + MeshTexturing texturer(args.output_size); + texturer.setMesh(scene.proxies()->proxyPtr()); + texturer.reproject(scene.cameras()->inputCameras(), scene.images()->inputImages(), args.samples); + + // Export options. + // UVs start at the bottom of the image, we have to flip. + uint options = MeshTexturing::FLIP_VERTICAL; + if (args.flood_fill) { + options = options | MeshTexturing::FLOOD_FILL; + } + if (args.poisson_fill) { + options = options | MeshTexturing::POISSON_FILL; + } + + sibr::ImageRGB::Ptr result = texturer.getTexture(options); + result->save(args.output_path); + + return 0; +} + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/tonemapper/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/tonemapper/CMakeLists.txt new file mode 100644 index 0000000000..5db33d7c55 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/tonemapper/CMakeLists.txt @@ -0,0 +1,32 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(tonemapper) + +# Define build output for project +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + sibr_system + sibr_assets + sibr_graphics + sibr_imgproc +) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/tonemapper/main.cpp b/SIBR_viewers/src/projects/dataset_tools/preprocess/tonemapper/main.cpp new file mode 100644 index 0000000000..0a3c8f262c --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/tonemapper/main.cpp @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include "core/system/CommandLineArgs.hpp" +#include "core/assets/InputCamera.hpp" +#include "core/graphics/Image.hpp" +#include "core/graphics/Mesh.hpp" +#include "core/imgproc/MeshTexturing.hpp" +#include "core/scene/BasicIBRScene.hpp" + +using namespace sibr; + + +struct TonemapperAppArgs : virtual AppArgs { + RequiredArg path = { "path", "path to the EXR images directory" }; + Arg output = { "output", "", "output directory path" }; + Arg outputExtension = { "ext", "png", "output files extension" }; + Arg exposure = { "exposure", 1.0f, "exposure value" }; + Arg gamma = { "gamma", 2.2f, "gamma value" }; +}; + +void tonemap(const sibr::ImageRGB32F& hdrImg, sibr::ImageRGB& ldrImg, float exposure, float gamma) { + const cv::Mat & tonemaped = hdrImg.toOpenCV(); + const cv::Mat exposed = -exposure * tonemaped; + cv::Mat tonemaped2; + cv::exp(exposed, tonemaped2); + tonemaped2 = cv::Scalar(1.0f, 1.0f, 1.0f) - tonemaped2; + if (gamma > 0.0f) { + cv::pow(tonemaped2, 1.0f / gamma, tonemaped2); + } + cv::Mat tonemapedRGB; + tonemaped2.convertTo(tonemapedRGB, CV_8UC3, 255.0f); + ldrImg.fromOpenCV(tonemapedRGB); +} + +int main(int ac, char** av) { + + // Parse Command-line Args + sibr::CommandLineArgs::parseMainArgs(ac, av); + + TonemapperAppArgs args; + + // Add the extension dot if needed. + std::string extension = args.outputExtension; + if (!extension.empty() && extension[0] != '.') { + extension = "." + extension; + } + + // Input/output paths. + const std::string inputPath = args.path; + std::string outputPath = args.output; + // If we output in the same dir, we want to avoid collisions. + if (outputPath.empty()) { + outputPath = inputPath; + extension = "_ldr" + extension; + } else { + sibr::makeDirectory(outputPath); + } + + const auto files = sibr::listFiles(inputPath, false, false, { "exr" }); + + for (const auto& file : files) { + const std::string src = inputPath + "/" + file; + const std::string dst = outputPath + "/" + sibr::removeExtension(file) + extension; + + sibr::ImageRGB32F hdrImg; + sibr::ImageRGB ldrImg; + hdrImg.load(src); + tonemap(hdrImg, ldrImg, args.exposure, args.gamma); + ldrImg.save(dst); + } + + return 0; +} + diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/unwrapMesh/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/unwrapMesh/CMakeLists.txt new file mode 100644 index 0000000000..10dfa9feb2 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/unwrapMesh/CMakeLists.txt @@ -0,0 +1,31 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(unwrapMesh) + +# Define build output for project +add_executable(${PROJECT_NAME} main.cpp) + +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + sibr_system + sibr_assets + sibr_graphics +) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/unwrapMesh/main.cpp b/SIBR_viewers/src/projects/dataset_tools/preprocess/unwrapMesh/main.cpp new file mode 100644 index 0000000000..6e59fa8698 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/unwrapMesh/main.cpp @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + + + +#include +#include +#include +#include + + +using namespace sibr; + +/** Options for mesh unwrapping. */ +struct UVMapperArgs : public AppArgs { + RequiredArg path = { "path", "path to the mesh" }; + Arg output = { "output", "", "path to the output mesh" }; + Arg size = { "size", 4096, "target UV map width (approx.)" }; + Arg visu = { "visu", "save visualisation" }; + Arg textureName = { "texture-name", "TEXTURE_NAME_TO_PUT_IN_THE_FILE", "name of the texture to reference in the output mesh (Meshlab compatible)" }; +}; + +int main(int ac, char ** av){ + + CommandLineArgs::parseMainArgs(ac, av); + UVMapperArgs args; + std::string outputFile = args.output; + if(outputFile.empty()) { + outputFile = sibr::removeExtension(args.path.get()) + "_output.obj"; + } + sibr::makeDirectory(sibr::parentDirectory(outputFile)); + + // Load object file. + Mesh mesh(false); + if(sibr::getExtension(args.path) == "xml") { + mesh.loadMtsXML(args.path); + } else { + mesh.load(args.path); + } + + UVUnwrapper unwrapper(mesh, uint32_t(args.size)); + auto finalMesh = unwrapper.unwrap(); + finalMesh->save(outputFile, true, args.textureName); + + // Output debug vis. + if (args.visu) { + const std::string baseName = sibr::removeExtension(outputFile); + const auto visuImgs = unwrapper.atlasVisualization(); + for (uint32_t i = 0; i < visuImgs.size(); i++) { + const std::string fileName = baseName + "_charts_atlas_" + std::to_string(i) + ".png"; + visuImgs[i]->save(fileName); + } + } + return EXIT_SUCCESS; +} diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/CMakeLists.txt b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/CMakeLists.txt new file mode 100644 index 0000000000..ba6a1d8b6e --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/CMakeLists.txt @@ -0,0 +1,19 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +project(dataset_tools_utils) + +file(GLOB SCRIPTS "*.py") + +add_custom_target(${PROJECT_NAME} ALL) + +include(install_runtime) +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/dataset_tools/preprocess") +ibr_install_rsc(${PROJECT_NAME} TYPE "scripts" FOLDER "utils" FILES ${SCRIPTS}) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/TaskPipeline.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/TaskPipeline.py new file mode 100644 index 0000000000..28999a4030 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/TaskPipeline.py @@ -0,0 +1,101 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +import subprocess +import os, sys +import re +import shutil +from importlib import import_module +from utils.convert import updateStringFromDict +from utils.commands import runCommand + +class TaskPipeline: + def __init__(self, args, steps, programs): + self.args = args + self.steps = steps + self.programs = programs + + def isExpressionValid(self, expression): + if not re.match(r"^((?:not|and|or|is|in|\$\{\w+\})+\s*)+$", expression): + print("Invalid expression '%s'." % expression) + + return eval(updateStringFromDict(expression, self.args)) + + def runProcessSteps(self): + for step in self.steps: +# print("RUN STEP ", step) + if "if" in step and not self.isExpressionValid(step["if"]): + print("Nothing to do on step %s. Skipping." % (step["name"])) + continue + + print("Running step %s..." % step["name"]) + command_args = [] + for i in range(5): + if "app" in step and "optional_arg"+str(i) in step and self.isExpressionValid(step["optional_arg"+str(i)][0]): + optional_arg = [] + for optional_arg in step["optional_arg"+str(i)][1:]: +# print("Parsing... ", optional_arg, " ", updateStringFromDict(optional_arg, self.args)) + command_args.append(updateStringFromDict(optional_arg, self.args)) + + if "app" in step: +# print("Parsing command args...") + for command_arg in step["command_args"]: +# print("Parsing... ", command_arg, " ", updateStringFromDict(command_arg, self.args)) + command_args.append(updateStringFromDict(command_arg, self.args)) + + # for optionally quitting + if "app" in step and "optional_final_arg" in step and self.isExpressionValid(step["optional_final_arg"][0]): + for command_arg in step["optional_final_arg"][1:]: +# print("Parsing... ", command_arg, " ", updateStringFromDict(command_arg, self.args)) + command_args.append(updateStringFromDict(command_arg, self.args)) + + if self.args["dry_run"]: + success = True + else: + completedProcess = runCommand(self.programs[step["app"]]["path"], command_args) + success = completedProcess.returncode == 0 + + elif "function" in step: + if '.' in step["function"]: + currentModuleName, currentFunctionName = step["function"].rsplit('.', 1) + currentFunction = getattr(import_module(currentModuleName), currentFunctionName) + else: + print("Missing module name for function %s. Aborting." % (step["function"])) + sys.exit(1) + + if self.args["dry_run"]: + print('function : %s(%s)' % (step["function"], ', '.join([ "%s=%s" % (key, ([updateStringFromDict(item, self.args) for item in val] + if type(val) is list else + updateStringFromDict(val, self.args))) + for key, val in step["function_args"].items()]))) + else: + ret = currentFunction(**{ key: ([updateStringFromDict(item, self.args) for item in val] + if type(val) is list else + updateStringFromDict(val, self.args)) + for key, val in step["function_args"].items() }) + if ret != None: + self.args[ret[0]] = ret[1] + print ("After step {}: Setting args[{}]={}".format( step["function"], ret[0] , ret[1], ret[0], self.args[ret[0]])) + + success = True + else: + print("Nothing to do on step %s. Skipping." % (step["name"])) + continue + + if success: + print("Step %s successful." % (step["name"])) + else: + sys.stdout.flush() + sys.stderr.flush() + print("Error on step %s. Aborting." % (step["name"])) + sys.exit(1) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/color.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/color.py new file mode 100755 index 0000000000..f6226392a5 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/color.py @@ -0,0 +1,22 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +import os +os.system("color") + +COLOR = { + "HEADER": "\033[95m", + "BLUE": "\033[94m", + "GREEN": "\033[92m", + "RED": "\033[91m", + "ENDC": "\033[0m", +} + +#print(COLOR["GREEN"], "Testing Green!!", COLOR["ENDC"]) diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/commands.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/commands.py new file mode 100644 index 0000000000..50025055cd --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/commands.py @@ -0,0 +1,71 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +import subprocess +import os, sys +from shutil import which +from utils.paths import getBinariesPath, getColmapPath, getMeshlabPath, getRCPath + +def getProcess(programName, binaryPath = getBinariesPath()): + suffixes = [ '', '_msr', '_rwdi', '_d'] + + print("BINARIES ", binaryPath) + for suffix in suffixes: + binary = os.path.join(binaryPath, programName + suffix + (".exe" if os.name == 'nt' else '')) + + if os.path.isfile(binary) or which(binary) is not None: + print("Program '%s' found in '%s'." % (programName, binary)) + return binary + +def getRCprocess(binaryPath = getRCPath()): + programName = "RealityCapture" + binary = os.path.join(binaryPath, programName + ".exe") + + if os.path.isfile(binary): + print("Program '%s' found in '%s'." % (programName, binary)) + return binary + + +def runCommand(binary, command_args): +# print("Running process '%s'" % (' '.join([binary, *command_args]))) + sys.stdout.flush() + completedProcess = subprocess.run([binary, *command_args]) + + if completedProcess.returncode == 0: + print("Process %s completed." % binary) + else: + sys.stdout.flush() + sys.stderr.flush() + print("Process %s failed with code %d." % (binary, completedProcess.returncode)) + + return completedProcess + +def getColmap(colmapPath = getColmapPath()): + colmapBinary = os.path.join(colmapPath, "COLMAP.bat" if os.name == 'nt' else 'colmap') + + if os.path.isfile(colmapBinary) or which(colmapBinary) is not None: + print("Program '%s' found in '%s'." % (colmapBinary, colmapPath)) + return colmapBinary + else: + print("Program '%s' not found in '%s'. Aborting." % (colmapBinary, colmapPath)) + return None + +def getMeshlabServer(meshlabPath = getMeshlabPath()): + meshlabserverBinary = os.path.join(meshlabPath, "meshlabserver" + ('.exe' if os.name == 'nt' else '')) + + if os.path.isfile(meshlabserverBinary) or which(meshlabserverBinary) is not None: + print("Program '%s' found in '%s'." % (meshlabserverBinary, meshlabPath)) + return meshlabserverBinary + else: + print("Program '%s' not found in '%s'. Aborting." % (meshlabserverBinary, meshlabPath)) + return None diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/convert.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/convert.py new file mode 100644 index 0000000000..a754e95751 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/convert.py @@ -0,0 +1,40 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +import os +import re + +def updateStringFromDict(string, map, format='${%s}', fix_paths=True): + newstring = string + + for keyword, value in map.items(): + newstring = newstring.replace(format % keyword, str(value)) + # if it's a path, get absolute path + if fix_paths and re.match(r"^(?:\w:[\\\/]*|[@A-Za-z_.0-9-]*[\\\/]+|\.{1,2}[\\\/])(?:[\\\/]|[@A-Za-z_.0-9-]+)*$", newstring): + newstring = os.path.abspath(newstring) + + return newstring + +def fixMeshEol(meshPath, newMeshPath): + with open(meshPath,"rb") as meshFile, open(newMeshPath, "wb") as newMeshFile: + meshBytes = meshFile.read() + endBytes = b"end_header" + badEol = b"\r\n" + newEol = b"\n" + + index = meshBytes.find(endBytes) + len(endBytes) + len(badEol) + + newMeshBytes = meshBytes[0:index].replace(badEol, newEol) + newMeshBytes += meshBytes[index:] + + newMeshFile.write(newMeshBytes) \ No newline at end of file diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/datasets.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/datasets.py new file mode 100644 index 0000000000..b7fd5b3526 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/datasets.py @@ -0,0 +1,33 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +import os +from enum import Enum, unique + +@unique +class DatasetType(Enum): + SIBR = 'sibr' + COLMAP = 'colmap' + CAPREAL = 'capreal' + +datasetStructure = { + "colmap": [ "colmap", "colmap/stereo", "colmap/sparse" ], + "capreal": [ "capreal", "capreal/undistorted" ], + "sibr": [ "cameras", "images", "meshes" ] +} + +def buildDatasetStructure(path, types): + for folder in [folder for type in types for folder in datasetStructure[type]]: + new_folder = os.path.abspath(os.path.join(path, folder)) + print("Creating folder %s..." % new_folder) + os.makedirs(new_folder, exist_ok=True) \ No newline at end of file diff --git a/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/paths.py b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/paths.py new file mode 100644 index 0000000000..4b822ae595 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/preprocess/utils/paths.py @@ -0,0 +1,29 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +import os + +def getBinariesPath(): + if os.path.exists(os.path.join(os.path.dirname(__file__), "../../bin")): + return os.path.abspath(os.path.join(os.path.dirname(__file__), "../../bin")) + else: + return os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../../../install/bin")) + +def getColmapPath(): + return os.environ['COLMAP_PATH'] if 'COLMAP_PATH' in os.environ else ("C:\\Program Files\\Colmap" if os.name == 'nt' else '') + +def getMeshlabPath(): + return os.environ['MESHLAB_PATH'] if 'MESHLAB_PATH' in os.environ else ("C:\\Program Files\\VCG\\Meshlab" if os.name == 'nt' else '') + +def getRCPath(): + return os.environ['RC_PATH'] if 'RC_PATH' in os.environ else "C:\\Program Files\\Capturing Reality\\RealityCapture\\" diff --git a/SIBR_viewers/src/projects/dataset_tools/scripts/processRC.py b/SIBR_viewers/src/projects/dataset_tools/scripts/processRC.py new file mode 100644 index 0000000000..a6d6e95cb5 --- /dev/null +++ b/SIBR_viewers/src/projects/dataset_tools/scripts/processRC.py @@ -0,0 +1,244 @@ + +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr +# + + +#!/usr/bin/env python +#! -*- encoding: utf-8 -*- + +""" @package dataset_tools_preprocess +This script processes images and creates an RealityCapture (RC) reconstruction, then creates a colmap version using the RC camera registration + +Parameters: -h help, + -path , + +Usage: python processRC.py -path + +""" + +import os, sys, shutil +os.sys.path.append('../preprocess/') +os.sys.path.append('../preprocess/realityCaptureTools') +os.sys.path.append('../preprocess/fullColmapProcess') +os.sys.path.append('../preprocess/converters') + +import json +import argparse +from utils.paths import getBinariesPath, getColmapPath, getMeshlabPath +from utils.commands import getProcess, getColmap, getRCprocess +from utils.TaskPipeline import TaskPipeline +import rc_tools +import colmap2nerf +import selective_colmap_process + +def find_file(filename): + fname = os.path.join(os.path.abspath(os.path.dirname(__file__)), filename) + if not os.path.exists(fname): + fname = os.path.join("../preprocess/fullColmapProcess", filename) + if not os.path.exists(fname): + fname = os.path.join("../preprocess/realityCaptureTools", filename) + if not os.path.exists(fname): + fname = os.path.join("../preprocess/converters", filename) + return fname + + +def main(): + parser = argparse.ArgumentParser() + + # common arguments + parser.add_argument("--sibrBinariesPath", type=str, default=getBinariesPath(), help="binaries directory of SIBR") + parser.add_argument("--colmapPath", type=str, default=getColmapPath(), help="path to directory colmap.bat / colmap.bin directory") + parser.add_argument("--quality", type=str, default='default', choices=['default', 'low', 'medium', 'average', 'high', 'extreme'], + help="quality of the reconstruction") + parser.add_argument("--path", type=str, required=True, help="path to your dataset folder") + parser.add_argument("--dry_run", action='store_true', help="run without calling commands") + parser.add_argument("--rc_path", type=str, required=False, help="path to rc dataset, containing bundle.out and images") + parser.add_argument("--out_path", type=str, required=False, help = "output path ") + parser.add_argument("--video_name", type=str, default='default', required=False, help = "name of video file to load") + parser.add_argument("--create_colmap", action='store_true', help="create colmap hierarchy") + parser.add_argument("--target_width", type=str, default='default', help="colmap_target_width") + parser.add_argument("--from_step", type=str, default='default', help="Run from this step to --to_step (or end if no to_step") + parser.add_argument("--to_step", type=str, default='default', help="up to but *excluding* this step (from --from_step); must be unique steps") + + # RC arguments + parser.add_argument("--do_mvs", action='store_false', help="use train folder") + parser.add_argument("--calib_only", action='store_true', help="only do calibration") + parser.add_argument("--hires_nerf", action='store_true', help="create hi res nerf") + parser.add_argument("--car_data", action='store_true', help="pre(pre)process car camera data ") + parser.add_argument("--do_train", action='store_false', help="use train folder") + parser.add_argument("--do_validation", action='store_false', help="use validation folder") + parser.add_argument("--no_validation_split", action='store_true', help="dont do validation split") + parser.add_argument("--do_video", action='store_true', help="use video folder (mp4)") + parser.add_argument("--do_test", action='store_true', help="use test folder (stills path)") + parser.add_argument("--auto_recon_area", action='store_true', help="automatically set recon area (no user intervention)") + + parser.add_argument("--config_folder", type=str, default='default', help="folder containing configuration files; usually cwd") + parser.add_argument("--model_name", type=str, default='default', help="Internal name of RC model") + parser.add_argument("--path_prefix", type=str, default='default', help="Internal prefix of path images") + parser.add_argument("--one_over_fps", type=str, default='default', help="Sampling rate for the video") + parser.add_argument("--valid_skip", type=str, default='default', help="skip every nth image for validation") + # "presets" + parser.add_argument("--images_only", action='store_false', help="just process images: no validation, no test") + parser.add_argument("--video_only", action='store_true', help="just process video: no photos, no test") + + parser.add_argument("--no_refl", action='store_true', help="dont densify mesh, dont convert_sibr, dont create nerf (def: false)") + + + # needed to avoid parsing issue for passing arguments to next command (TODO) + parser.add_argument("--video_filename", type=str, default='default', help="full path of video file (internal argument; do not set)") + parser.add_argument("--mesh_obj_filename", type=str, default='default', help="full path of obj mesh file (internal argument; do not set)") + parser.add_argument("--mesh_xyz_filename", type=str, default='default', help="full path of xyz point cloud file (internal argument; do not set)") + parser.add_argument("--mesh_ply_filename", type=str, default='default', help="full path of ply mesh file (internal argument; do not set)") + + # colmap + #colmap performance arguments + parser.add_argument("--numGPUs", type=int, default=2, help="number of GPUs allocated to Colmap") + + # Patch match stereo + parser.add_argument("--PatchMatchStereo.max_image_size", type=int, dest="patchMatchStereo_PatchMatchStereoDotMaxImageSize") + parser.add_argument("--PatchMatchStereo.window_radius", type=int, dest="patchMatchStereo_PatchMatchStereoDotWindowRadius") + parser.add_argument("--PatchMatchStereo.window_step", type=int, dest="patchMatchStereo_PatchMatchStereoDotWindowStep") + parser.add_argument("--PatchMatchStereo.num_samples", type=int, dest="patchMatchStereo_PatchMatchStereoDotNumSamples") + parser.add_argument("--PatchMatchStereo.num_iterations", type=int, dest="patchMatchStereo_PatchMatchStereoDotNumIterations") + parser.add_argument("--PatchMatchStereo.geom_consistency", type=int, dest="patchMatchStereo_PatchMatchStereoDotGeomConsistency") + + # Stereo fusion + parser.add_argument("--StereoFusion.check_num_images", type=int, dest="stereoFusion_CheckNumImages") + parser.add_argument("--StereoFusion.max_image_size", type=int, dest="stereoFusion_MaxImageSize") + + + args = vars(parser.parse_args()) + + from_step = args["from_step"] + to_step = args["to_step"] + + # Update args with quality values + fname = find_file("ColmapQualityParameters.json") + with open(fname, "r") as qualityParamsFile: + qualityParams = json.load(qualityParamsFile) + + for key, value in qualityParams.items(): + if not key in args or args[key] is None: + args[key] = qualityParams[key][args["quality"]] if args["quality"] in qualityParams[key] else qualityParams[key]["default"] + + # Get process steps + fname = find_file("processRCSteps.json") + with open(fname, "r") as processStepsFile: + steps = json.load(processStepsFile)["steps"] + + # Fixing path values + args["path"] = os.path.abspath(args["path"]) + args["sibrBinariesPath"] = os.path.abspath(args["sibrBinariesPath"]) + args["colmapPath"] = os.path.abspath(args["colmapPath"]) + args["gpusIndices"] = ','.join([str(i) for i in range(args["numGPUs"])]) + + args["mesh_obj_filename"] = os.path.join(args["path"], os.path.join("rcScene", os.path.join("meshes", "mesh.obj"))) + args["mesh_xyz_filename"] = os.path.join(args["path"], os.path.join("rcScene", os.path.join("meshes", "point_cloud.xyz"))) + args["mesh_ply_filename"] = os.path.join(args["path"], os.path.join("sibr", os.path.join("capreal", "mesh.ply"))) + + args["path_prefix"] = "test_" + + # fixed in preprocess + args["video_filename"] = os.path.join(args["path"], os.path.join("raw", os.path.join("videos", "XXX.mp4"))) + if args["config_folder"] == 'default': + if os.path.exists("registrationConfig.xml"): + args["config_folder"] = "." + elif os.path.exists("../preprocess/realityCaptureTools/registrationConfig.xml"): + args["config_folder"] = "../preprocess/realityCaptureTools/" + + if args["valid_skip"] == 'default' : + args["valid_skip"] = "10" + + if args["one_over_fps"] == 'default': + args["one_over_fps"] = "0.02" + + if args["target_width"] == 'default': + args["target_width"] = "1000" + print("TARGET WIDTH ", args["target_width"]) + + if args["no_validation_split"]: + args["do_validation_split"] = False + else: + args["do_validation_split"] = True + + # presets + + exclude_steps = [] + + if args["no_refl"] == True: + exclude_steps = [ "densify_mesh", "dense_mesh", "create_nerf", "convert_sibr_mesh" ] + print("No densification, no sibr, no nerf, exclude:", exclude_steps) + + if args["car_data"]: + print("Doing car data") + else: + print("No car data") + + if args["calib_only"]: + to_step = "colmap_patch_match_stereo" + args["do_mvs"] = False + exclude_steps = [ "densify_mesh", "dense_mesh" ] + + # either do video or do_test + if args["do_video"]: + args["path_prefix"] = "frame" + + if args["video_only"]: + args["do_train"] = False + args["do_validation"] = False + args["do_test"] = False + args["do_video"] = True + + if args["do_test"]: + args["path_prefix"] = "test_" + args["do_video"] = False + + + if args["video_only"] and args["calib_only"]: + exclude_steps = [ "densify_mesh", "dense_mesh", "rc_to_colmap_path_cameras", "rc_to_colmap_validation_cameras" ] + + programs = { + "colmap": { + "path": getColmap(args["colmapPath"]) + }, + "RC": { + "path": getRCprocess() + } + } + + # TODO: move to generic taskpipeline code; + if( from_step != 'default' or to_step != 'default' or exclude_steps != []): + # check if to_step exists + # select steps + newsteps = [] + if from_step != 'default': + adding_steps = False + else: + adding_steps = True + + for s in steps: + if s['name'] == from_step : + adding_steps = True + if s['name'] == to_step : + break + if adding_steps and (not (s['name'] in exclude_steps)): + newsteps.append(s) + + steps = newsteps + + pipeline = TaskPipeline(args, steps, programs) + + pipeline.runProcessSteps() + + print("selectiveColmapProcess has finished successfully.") + sys.exit(0) + +if __name__ == "__main__": + main() diff --git a/SIBR_viewers/src/projects/ulr/CMakeLists.txt b/SIBR_viewers/src/projects/ulr/CMakeLists.txt new file mode 100644 index 0000000000..741699a584 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/CMakeLists.txt @@ -0,0 +1,18 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + + +project(sibr_ulr_all) + +add_subdirectory(apps) +add_subdirectory(renderer) + +include(install_runtime) +subdirectory_target(${PROJECT_NAME} ${CMAKE_CURRENT_LIST_DIR} "projects/ulr") diff --git a/SIBR_viewers/src/projects/ulr/apps/CMakeLists.txt b/SIBR_viewers/src/projects/ulr/apps/CMakeLists.txt new file mode 100644 index 0000000000..7f1ce1a8ce --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/apps/CMakeLists.txt @@ -0,0 +1,15 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + + +project(SIBR_ulr_apps) + +add_subdirectory(ulr/) +add_subdirectory(ulrv2/) diff --git a/SIBR_viewers/src/projects/ulr/apps/ulr/CMakeLists.txt b/SIBR_viewers/src/projects/ulr/apps/ulr/CMakeLists.txt new file mode 100644 index 0000000000..c96496a3b3 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/apps/ulr/CMakeLists.txt @@ -0,0 +1,43 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + + +project(SIBR_ulr_app) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +file(GLOB RESOURCES "resources/*.ini") +source_group("Resources Files" FILES ${RESOURCES}) + +add_executable(${PROJECT_NAME} ${SOURCES}) +target_link_libraries(${PROJECT_NAME} + + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + sibr_view + sibr_assets + sibr_ulr + sibr_graphics +) +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/ulr/apps") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + RESOURCES ${RESOURCES} + RSC_FOLDER "ulr" + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/ulr/apps/ulr/main.cpp b/SIBR_viewers/src/projects/ulr/apps/ulr/main.cpp new file mode 100644 index 0000000000..761ca40709 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/apps/ulr/main.cpp @@ -0,0 +1,105 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include +#include +#include +#include +#include +#include + +#define PROGRAM_NAME "sibr_ulr_app" +using namespace sibr; + +const char* usage = "" + "Usage: " PROGRAM_NAME " -path " "\n" + ; + + + +int main( int ac, char** av ) +{ + { + + // Parse Commad-line Args + CommandLineArgs::parseMainArgs(ac, av); + BasicIBRAppArgs myArgs; + + const bool doVSync = !myArgs.vsync; + // rendering size + uint rendering_width = myArgs.rendering_size.get()[0]; + uint rendering_height = myArgs.rendering_size.get()[1]; + // window size + uint win_width = myArgs.win_width; + uint win_height = myArgs.win_height; + + // Window setup + sibr::Window window(PROGRAM_NAME, sibr::Vector2i(50, 50), myArgs, getResourcesDirectory() + "/ulr/" + PROGRAM_NAME + ".ini"); + + // Setup IBR + BasicIBRScene::Ptr scene(new BasicIBRScene(myArgs)); + + // check rendering size + rendering_width = (rendering_width <= 0) ? scene->cameras()->inputCameras()[0]->w() : rendering_width; + rendering_height = (rendering_height <= 0) ? scene->cameras()->inputCameras()[0]->h() : rendering_height; + Vector2u usedResolution(rendering_width, rendering_height); + + const unsigned int sceneResWidth = usedResolution.x(); + const unsigned int sceneResHeight = usedResolution.y(); + + ULRView::Ptr ulrView(new ULRView(scene, sceneResWidth, sceneResHeight)); + ulrView->setNumBlend(50, 50); + + // Raycaster. + std::shared_ptr raycaster = std::make_shared(); + raycaster->init(); + raycaster->addMesh(scene->proxies()->proxy()); + + // Camera handler for main view. + sibr::InteractiveCameraHandler::Ptr generalCamera(new InteractiveCameraHandler()); + generalCamera->setup(scene->cameras()->inputCameras(), Viewport(0, 0, (float)usedResolution.x(), (float)usedResolution.y()), raycaster); + + + // Add views to mvm. + MultiViewManager multiViewManager(window, false); + multiViewManager.addIBRSubView("ULR view", ulrView, usedResolution, ImGuiWindowFlags_ResizeFromAnySide); + multiViewManager.addCameraForView("ULR view", generalCamera); + + // Top view + const std::shared_ptr topView(new sibr::SceneDebugView(scene, generalCamera, myArgs)); + multiViewManager.addSubView("Top view", topView, usedResolution); + + if (myArgs.pathFile.get() != "" ) { + generalCamera->getCameraRecorder().loadPath(myArgs.pathFile.get(), usedResolution.x(), usedResolution.y()); + generalCamera->getCameraRecorder().recordOfflinePath(myArgs.outPath, multiViewManager.getIBRSubView("ULR view"), "ulr"); + if( !myArgs.noExit ) + exit(0); + } + + while (window.isOpened()) + { + sibr::Input::poll(); + window.makeContextCurrent(); + if (sibr::Input::global().key().isPressed(sibr::Key::Escape)) + window.close(); + + multiViewManager.onUpdate(sibr::Input::global()); + multiViewManager.onRender(window); + window.swapBuffer(); + CHECK_GL_ERROR + } + + } + + return EXIT_SUCCESS; +} diff --git a/SIBR_viewers/src/projects/ulr/apps/ulr/resources/sibr_ulr_app.ini b/SIBR_viewers/src/projects/ulr/apps/ulr/resources/sibr_ulr_app.ini new file mode 100644 index 0000000000..88a09fd74e --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/apps/ulr/resources/sibr_ulr_app.ini @@ -0,0 +1,26 @@ + +[Window][Camera ULR view] +Pos=50,50 +Size=900,300 +Collapsed=0 + +[Window][Top view settings] +Pos=950,50 +Size=450,300 +Collapsed=0 + +[Window][Metrics##0] +Pos=1400,50 +Size=450,300 +Collapsed=0 + +[Window][ULR view] +Pos=50,350 +Size=900,600 +Collapsed=0 + +[Window][Top view] +Pos=950,350 +Size=900,600 +Collapsed=0 + diff --git a/SIBR_viewers/src/projects/ulr/apps/ulrv2/CMakeLists.txt b/SIBR_viewers/src/projects/ulr/apps/ulrv2/CMakeLists.txt new file mode 100644 index 0000000000..47dfde990d --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/apps/ulrv2/CMakeLists.txt @@ -0,0 +1,45 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + + +project(SIBR_ulrv2_app) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +file(GLOB RESOURCES "resources/*.ini") +source_group("Resources Files" FILES ${RESOURCES}) + +add_executable(${PROJECT_NAME} ${SOURCES}) +target_link_libraries(${PROJECT_NAME} + + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + OpenMP::OpenMP_CXX + sibr_view + sibr_assets + sibr_ulr + sibr_renderer + sibr_graphics +) +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/ulr/apps") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + RESOURCES ${RESOURCES} + RSC_FOLDER "ulr" + STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/ulr/apps/ulrv2/main.cpp b/SIBR_viewers/src/projects/ulr/apps/ulrv2/main.cpp new file mode 100644 index 0000000000..0ae0bb8b96 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/apps/ulrv2/main.cpp @@ -0,0 +1,411 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include + +#include +#include +#include + +#include "projects/ulr/renderer/ULRView.hpp" +#include +#include + +#include +#include +#include + +#define PROGRAM_NAME "sibr_ulrv2_app" +using namespace sibr; + +const char* usage = "" +"Usage: " PROGRAM_NAME " -path " "\n" +; + + +int legacyV1main(ULRAppArgs & myArgs); +int legacyV2main(ULRAppArgs & myArgs); + + +int main(int ac, char** av) { + + // Parse Command-line Args + CommandLineArgs::parseMainArgs(ac, av); + ULRAppArgs myArgs; + myArgs.displayHelpIfRequired(); + + if (myArgs.version == 2) { + return legacyV2main(myArgs); + } + if (myArgs.version == 1) { + return legacyV1main(myArgs); + } + + const bool doVSync = !myArgs.vsync; + // rendering size + uint rendering_width = myArgs.rendering_size.get()[0]; + uint rendering_height = myArgs.rendering_size.get()[1]; + + // window size + uint win_width = myArgs.win_width; + uint win_height = myArgs.win_height; + + + // Window setup + sibr::Window window(PROGRAM_NAME, sibr::Vector2i(50, 50), myArgs, getResourcesDirectory() + "/ulr/" + PROGRAM_NAME + ".ini"); + + BasicIBRScene::Ptr scene(new BasicIBRScene(myArgs, true)); + + // Setup the scene: load the proxy, create the texture arrays. + const uint flags = SIBR_GPU_LINEAR_SAMPLING | SIBR_FLIP_TEXTURE; + + // Fix rendering aspect ratio if user provided rendering size + uint scene_width = scene->cameras()->inputCameras()[0]->w(); + uint scene_height = scene->cameras()->inputCameras()[0]->h(); + float scene_aspect_ratio = scene_width * 1.0f / scene_height; + float rendering_aspect_ratio = rendering_width * 1.0f / rendering_height; + + if ((rendering_width > 0) && !myArgs.force_aspect_ratio ) { + if (abs(scene_aspect_ratio - rendering_aspect_ratio) > 0.001f) { + if (scene_width > scene_height) { + rendering_height = rendering_width / scene_aspect_ratio; + } + else { + rendering_width = rendering_height * scene_aspect_ratio; + } + } + } + + + // check rendering size + rendering_width = (rendering_width <= 0) ? scene->cameras()->inputCameras()[0]->w() : rendering_width; + rendering_height = (rendering_height <= 0) ? scene->cameras()->inputCameras()[0]->h() : rendering_height; + Vector2u usedResolution(rendering_width, rendering_height); + std::cerr << " USED RES " << usedResolution << " scene w h " << scene_width << " : " << scene_height << + " NAME " << scene->cameras()->inputCameras()[0]->name() << std::endl; + + const unsigned int sceneResWidth = usedResolution.x(); + const unsigned int sceneResHeight = usedResolution.y(); + + + scene->renderTargets()->initRGBandDepthTextureArrays(scene->cameras(), scene->images(), scene->proxies(), flags, true, myArgs.force_aspect_ratio); + + // Create the ULR view. + ULRV3View::Ptr ulrView(new ULRV3View(scene, sceneResWidth, sceneResHeight)); + + // Check if masks are provided and enabled. + if (myArgs.masks) { + if (!myArgs.maskParams.get().empty()) { + if (!myArgs.maskParamsExtra.get().empty()) { + ulrView->getULRrenderer()->loadMasks(scene, myArgs.maskParams.get(), "", myArgs.maskParamsExtra.get()); + } + else { + ulrView->getULRrenderer()->loadMasks(scene, myArgs.maskParams.get(), "", ".png"); + } + } + else { + ulrView->getULRrenderer()->loadMasks(scene); + } + ulrView->getULRrenderer()->useMasks() = true; + } + + // Raycaster. + std::shared_ptr raycaster = std::make_shared(); + raycaster->init(); + raycaster->addMesh(scene->proxies()->proxy()); + + // Camera handler for main view. + sibr::InteractiveCameraHandler::Ptr generalCamera(new InteractiveCameraHandler()); + generalCamera->setup(scene->cameras()->inputCameras(), Viewport(0, 0, (float)usedResolution.x(), (float)usedResolution.y()), raycaster); + + // Add views to mvm. + MultiViewManager multiViewManager(window, false); + multiViewManager.addIBRSubView("ULR view", ulrView, usedResolution, ImGuiWindowFlags_ResizeFromAnySide); + multiViewManager.addCameraForView("ULR view", generalCamera); + + CHECK_GL_ERROR; + + if (myArgs.offscreen || myArgs.pathFile.get() != "" ) { + generalCamera->getCameraRecorder().loadPath(myArgs.pathFile.get(), usedResolution.x(), usedResolution.y()); + generalCamera->getCameraRecorder().recordOfflinePath(myArgs.outPath, multiViewManager.getIBRSubView("ULR view"), ""); + if( !myArgs.noExit ) + exit(0); + } + + // Top view + const std::shared_ptr topView(new sibr::SceneDebugView(scene, generalCamera, myArgs)); + multiViewManager.addSubView("Top view", topView, usedResolution); + + CHECK_GL_ERROR; + + // Main looooooop. + while (window.isOpened()) { + + sibr::Input::poll(); + window.makeContextCurrent(); + if (sibr::Input::global().key().isPressed(sibr::Key::Escape)) { + window.close(); + } + + multiViewManager.onUpdate(sibr::Input::global()); + multiViewManager.onRender(window); + + window.swapBuffer(); + CHECK_GL_ERROR; + } + + return EXIT_SUCCESS; +} + +/// Use ULRV2 view and renderer. +int legacyV2main(ULRAppArgs & myArgs) +{ + + { + + const bool doVSync = !myArgs.vsync; + // rendering size + uint rendering_width = myArgs.rendering_size.get()[0]; + uint rendering_height = myArgs.rendering_size.get()[1]; + // window size + uint win_width = myArgs.win_width; + uint win_height = myArgs.win_height; + + // Window setup + sibr::Window window(PROGRAM_NAME, sibr::Vector2i(50, 50), myArgs); + + BasicIBRScene::Ptr scene(new BasicIBRScene(myArgs)); + + + // check rendering size + rendering_width = (rendering_width <= 0) ? scene->cameras()->inputCameras()[0]->w() : rendering_width; + rendering_height = (rendering_height <= 0) ? scene->cameras()->inputCameras()[0]->h() : rendering_height; + Vector2u usedResolution(rendering_width, rendering_height); + + const unsigned int sceneResWidth = usedResolution.x(); + const unsigned int sceneResHeight = usedResolution.y(); + + ULRV2View::Ptr ulrView(new ULRV2View(scene, sceneResWidth, sceneResHeight)); + ulrView->setNumBlend(40, 40); + + // Raycaster. + std::shared_ptr raycaster = std::make_shared(); + raycaster->init(); + raycaster->addMesh(scene->proxies()->proxy()); + + // Camera handler for main view. + sibr::InteractiveCameraHandler::Ptr generalCamera(new InteractiveCameraHandler()); + generalCamera->setup(scene->cameras()->inputCameras(), Viewport(0, 0, (float)usedResolution.x(), (float)usedResolution.y()), raycaster); + + + // Add views to mvm. + MultiViewManager multiViewManager(window, false); + multiViewManager.addIBRSubView("ULR view", ulrView, usedResolution, ImGuiWindowFlags_ResizeFromAnySide); + multiViewManager.addCameraForView("ULR view", generalCamera); + + // Top view + const std::shared_ptr topView(new sibr::SceneDebugView(scene, generalCamera, myArgs)); + multiViewManager.addSubView("Top view", topView, usedResolution); + + // Soft Visibility masks + std::vector depths3D(scene->cameras()->inputCameras().size()); + if (myArgs.softVisibility) { + + int numImages = (int)scene->cameras()->inputCameras().size(); + + for (int imId = 0; imId < numImages; ++imId) { + + sibr::InputCamera cam = *scene->cameras()->inputCameras()[imId]; + sibr::Vector3f camPos = cam.position(); + int w = cam.w(); + int h = cam.h(); + + sibr::DepthRenderer rendererDepth(cam.w(), cam.h()); + + sibr::ImageL32F depthMapSIBR(w, h); + + rendererDepth.render(cam, scene->proxies()->proxy()); + rendererDepth._depth_RT->readBack(depthMapSIBR); + + depths3D[imId] = sibr::ImageL32F(w, h, 0); + + for (int i = 0; i < w; i++) { + for (int j = 0; j < h; j++) { + sibr::Vector2i pixelPos(i, j); + sibr::Vector3f pos3dMesh(cam.unprojectImgSpaceInvertY(pixelPos, depthMapSIBR(i, j).x())); + depths3D[imId](i, j).x() = (camPos - pos3dMesh).norm(); + } + } + //showFloat(depthMapSIBR); + //showFloat(depths3D[imId]); + } + } + + + if (myArgs.masks) { + if (!myArgs.maskParams.get().empty()) { + ulrView->loadMasks(scene, usedResolution.x(), usedResolution.y(), myArgs.maskParams.get(), "", ".png"); + } + else { + ulrView->loadMasks(scene, usedResolution.x(), usedResolution.y()); + } + + } + if (myArgs.invert) { + ulrView->_ulr->setDoInvertMasks(true); + } + if (myArgs.alphas) { + ulrView->_ulr->setAreMasksBinary(false); + } + if (myArgs.poisson) { + ulrView->noPoissonBlend(true); + } + + Texture2DArrayLum32F soft_visibility_textures; + if (myArgs.softVisibility) { + int numImages = (int)scene->cameras()->inputCameras().size(); + std::vector softVisibilities(numImages); + + int wSoft = depths3D[0].w(); + int hSoft = depths3D[0].h(); +#pragma omp parallel for + for (int imId = 0; imId < numImages; ++imId) { + + sibr::ImageRGBA tempVisibility; + ulrView->computeVisibilityMap(depths3D[imId], tempVisibility); + softVisibilities[imId] = std::move(sibr::convertRGBAtoL32F(tempVisibility)); + cv::Mat temp; + cv::resize(softVisibilities[imId].toOpenCV(), temp, cv::Size(wSoft, hSoft), 0, 0, cv::INTER_NEAREST); + softVisibilities[imId].fromOpenCV(temp); + } + + soft_visibility_textures.createFromImages(softVisibilities, SIBR_GPU_LINEAR_SAMPLING | SIBR_FLIP_TEXTURE); + + ulrView->_ulr->getSoftVisibilityMaps() = &soft_visibility_textures; + ulrView->_ulr->getSoftVisibilityThreshold() = 20.0f; + //ulrView->noPoissonBlend(true); + + } + + if (myArgs.pathFile.get() != "" ) { + generalCamera->getCameraRecorder().loadPath(myArgs.pathFile.get(), usedResolution.x(), usedResolution.y()); + generalCamera->getCameraRecorder().recordOfflinePath(myArgs.outPath, multiViewManager.getIBRSubView("ULR view"), "ulr"); + if( !myArgs.noExit ) + exit(0); + } + + CHECK_GL_ERROR; + while (window.isOpened()) + { + + + sibr::Input::poll(); + window.makeContextCurrent(); + if (sibr::Input::global().key().isPressed(sibr::Key::Escape)) + window.close(); + + if (sibr::Input::global().key().isPressed(sibr::Key::Z)) { + if (ulrView->_ulr->getSoftVisibilityMaps()) { + std::cout << " disabling soft visibility" << std::endl; + ulrView->_ulr->getSoftVisibilityMaps() = nullptr; + } + else { + std::cout << " enabling soft visibility" << std::endl; + ulrView->_ulr->getSoftVisibilityMaps() = &soft_visibility_textures; + } + } + + multiViewManager.onUpdate(sibr::Input::global()); + multiViewManager.onRender(window); + window.swapBuffer(); + CHECK_GL_ERROR; + } + } + + + return EXIT_SUCCESS; +} + +/// Use ULRV1 view and renderer. +int legacyV1main(ULRAppArgs & myArgs) +{ + + { + + const bool doVSync = !myArgs.vsync; + // rendering size + uint rendering_width = myArgs.rendering_size.get()[0]; + uint rendering_height = myArgs.rendering_size.get()[1]; + // window size + uint win_width = myArgs.win_width; + uint win_height = myArgs.win_height; + + // Window setup + sibr::Window window(PROGRAM_NAME, sibr::Vector2i(50, 50), myArgs); + + // Setup IBR + BasicIBRScene::Ptr scene(new BasicIBRScene(myArgs)); + + // check rendering size + rendering_width = (rendering_width <= 0) ? scene->cameras()->inputCameras()[0]->w() : rendering_width; + rendering_height = (rendering_height <= 0) ? scene->cameras()->inputCameras()[0]->h() : rendering_height; + Vector2u usedResolution(rendering_width, rendering_height); + + const unsigned int sceneResWidth = usedResolution.x(); + const unsigned int sceneResHeight = usedResolution.y(); + + ULRView::Ptr ulrView(new ULRView(scene, sceneResWidth, sceneResHeight)); + ulrView->setNumBlend(50, 50); + + // Raycaster. + std::shared_ptr raycaster = std::make_shared(); + raycaster->init(); + raycaster->addMesh(scene->proxies()->proxy()); + + // Camera handler for main view. + sibr::InteractiveCameraHandler::Ptr generalCamera(new InteractiveCameraHandler()); + generalCamera->setup(scene->cameras()->inputCameras(), Viewport(0, 0, (float)usedResolution.x(), (float)usedResolution.y()), raycaster); + + + // Add views to mvm. + MultiViewManager multiViewManager(window, false); + multiViewManager.addIBRSubView("ULR view", ulrView, usedResolution, ImGuiWindowFlags_ResizeFromAnySide); + multiViewManager.addCameraForView("ULR view", generalCamera); + + // Top view + const std::shared_ptr topView(new sibr::SceneDebugView(scene, generalCamera, myArgs)); + multiViewManager.addSubView("Top view", topView); + + if (myArgs.pathFile.get() != "" ) { + generalCamera->getCameraRecorder().loadPath(myArgs.pathFile.get(), usedResolution.x(), usedResolution.y()); + generalCamera->getCameraRecorder().recordOfflinePath(myArgs.outPath, multiViewManager.getIBRSubView("ULR view"), "ulr"); + if( !myArgs.noExit ) + exit(0); + } + + + while (window.isOpened()) + { + sibr::Input::poll(); + window.makeContextCurrent(); + if (sibr::Input::global().key().isPressed(sibr::Key::Escape)) + window.close(); + + multiViewManager.onUpdate(sibr::Input::global()); + multiViewManager.onRender(window); + window.swapBuffer(); + CHECK_GL_ERROR + } + + } + return EXIT_SUCCESS; +} diff --git a/SIBR_viewers/src/projects/ulr/apps/ulrv2/resources/sibr_ulrv2_app.ini b/SIBR_viewers/src/projects/ulr/apps/ulrv2/resources/sibr_ulrv2_app.ini new file mode 100644 index 0000000000..82428eae32 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/apps/ulrv2/resources/sibr_ulrv2_app.ini @@ -0,0 +1,36 @@ + +[Window][ULRV2 Settings (ULR view)] +Pos=50,50 +Size=350,300 +Collapsed=0 + +[Window][ULRV3 Settings (ULR view)] +Pos=50,50 +Size=350,300 +Collapsed=0 + +[Window][Camera ULR view] +Pos=400,50 +Size=550,300 +Collapsed=0 + +[Window][Top view settings] +Pos=950,50 +Size=450,300 +Collapsed=0 + +[Window][Metrics##0] +Pos=1400,50 +Size=450,300 +Collapsed=0 + +[Window][ULR view] +Pos=50,350 +Size=900,600 +Collapsed=0 + +[Window][Top view] +Pos=950,350 +Size=900,600 +Collapsed=0 + diff --git a/SIBR_viewers/src/projects/ulr/documentation/IBR_ULR.dox b/SIBR_viewers/src/projects/ulr/documentation/IBR_ULR.dox new file mode 100644 index 0000000000..96a28f5cc3 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/documentation/IBR_ULR.dox @@ -0,0 +1,146 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/*! +@page ulrPage Unstructured Lumigraph Rendering (ULR) + +\section ulr_intro Introduction + +This *Project* contains three specialized implementations of Unstructured Lumigraph Rendering \[Buelher 2001\]; we refer the reader to that paper for technical details. In contrast to the original paper, our method blends input images on a *per-pixel* basis. In a nutshell the rendering apps in this *Project* first render a depth buffer for the novel (current) view, then for a subset *S* of input images reproject each visible 3D point into each image in *S*, and then blend the result according to the blending weights as defined in the original paper. + +This *Project* contains two renderings apps: `SIBR_ulr_app` which is the original (slow) version, `SIBR_ulrv2_app` that contains the second and third versions of the ULR. + +The original version of ULR first selects a subset of the original images using angle and position criteria on the CPU, then uses a multi-pass ping-pong shader to rank the 4 best-cost images for each pixel, by storing these four color values and their weights in rendertargets and iteratively updating them while keeping them sorted. + +Version 2 removes the need for the ping-pong best-cost image update, by iterating on the selected cameras in one shader. The corresponding images and depth maps are passed as a list of textures. The maximum supported number of cameras is determined by the maximum texture slot count in fragment shaders. + +Version 3 stores images and depth maps as texture 2D arrays, and pack all cameras in a uniform buffer object. This allows all cameras to be considered and do the selection entirely on the GPU. The maximum supported number of cameras is determined by the maximum texture array layer count and uniform buffer object size. + +\subsection ulr_authors Authors + +This *Project* was written by: Gaurav Chaurasia, Sebastien Bonopera, Theo Thonat, Simon Rodriguez, Sebastien Bonopera, Jerome Esnault, Siddhant Prakashand George Drettakis, who also supervised the entire *Project*. + +
      + +\section ulr_howToUse How to use + +\subsection ulr_binary Use the binary distribution + +The easiest way to use *SIBR* to run ULR is to download the binary distribution. All steps described below, including all preprocessing for your datasets will work using this code. +Download the distribution from the page: https://sibr.gitlabpages.inria.fr/download.html (Core, 57Mb); unzip the file and rename the directory "install". + + +\subsection ulr_howToUse_checkout Checkout the code + +ULR is already available as part of the SIBR Core code. You will need to checkout SIBR Core as mentioned in \ref sibr_checkout . + +\subsection ulr_howToUse_configure Configuration + +As for most of the projects, ULR can be configured through SIBR Core CMake configuration by selecting `SIBR_IBR_ULR` variable before running the configuration (see \ref sibr_configure_cmake). + +\subsection ulr_howToUse_build Build & Install + +You can build and install ULR via running ALL_BUILD and/or INSTALL in sibr_projects.sln solution (as mentioned in \ref sibr_compile Compiling +) or through `sibr_ulr*` specific targets in sibr_projects.sln solution. +Dont forget to build INSTALL if you use ALL_BUILD. + +\subsection ulr_howToUse_run Run + +After installing ULR, several apps should be available in `install\bin`, notably : + +- sibr_ulr_app.exe (or sibr_ulr_app_d.exe / sibr_ulr_app_rwdi.exe depending on the configuration of the target) : this is the legacy version of ULR +- sibr_ulrv2_app.exe (or sibr_ulrv2_app_d.exe / sibr_ulrv2_app_rwdi.exe depending on the configuration of the target) : this updated version gives you the choice between three different implementations of ULR (with GPU optimization and other tweaks) + +Both can be run by running the executable with a path to a working dataset: + + sibr_ulrv2_app.exe --path PATH_TO_DATASET + +Our interactive viewer has a main view running the algorithm and a top view to visualize the position of the calibrated cameras. By default you are in WASD mode, and can toggle to trackball using the "y" key. Please see the page [Interface](https://sibr.gitlabpages.inria.fr/docs/develop/howto_sibr_useful_objects.html) for more details on the interface. + +For example datasets see below \ref ulr_howToUse_example_datasets. + +\subsection Playing paths from the command line + +Paths can be played by the ulr renderers by running the renderer in offscreen mode: +``` +SIBR_ulrv2_app.exe --path PATH_TO_DATASET --offscreen --pathFile path.(out|lookat|tst|path) [--outPath optionalOutputPath --noExit] +``` +By default, the application exits when this operation is performed. This is the easiest way to compare algorithms, although interactive options exist for some *Projects*. + +
      + +\subsection ulr_howToUse_dataset Datasets + +\subsubsection ulr_howToUse_dataset_structure Dataset structure + +A ULR dataset only requires standard SfM/MVS data to function: to generate such a dataset from your input images see: + +\ref howto_generate_dataset + +A standard SIBR dataset contains *cameras* and the *mesh* required for the algorithm to run; no additional preprocessing is required. + +\subsubsection ulr_howToUse_example_datasets Example Datasets + +Some example datasets can be found here: + https://repo-sam.inria.fr/fungraph/sibr-datasets/datasets.html + +You dan download the ULR only package for each dataset. +Feel free to download and experiment, for example with (now famous) Museum Front 27 dataset. Goto the install\bin directory: + +``` + wget https://repo-sam.inria.fr/fungraph/sibr-datasets/museum_front27_ulr.zip + sibr_ulrv2_app.exe --path museum_front27\sibr_cm +``` + +
      + +\subsubsection ulr_howToUse_run_cliOptions CLI options + + | name | type | Required | default value | description | + | -------------------- | --------- | --------- | ------------------------- | --------------------------------------------- | + | **Basic app options** ||||| + | appPath | string | false | "./" | define a custom app path | + | help | bool | false | false | display this help message | + | **Basic window options** ||||| + | width | int | false | 720 | initial window width | + | height | int | false | 480 | initial window height | + | vsync | int | false | 1 | enable vertical sync | + | fullscreen | bool | false | false | set the window to fullscreen | + | hd | bool | false | false | rescale UI elements for high-density screens | + | nogui | bool | false | false | do not use ImGui | + | gldebug | bool | false | false | enable OpenGL error callback | + | **Basic rendering options** ||||| + | scene | string | false | "scene_metadata.txt" | scene metadata file | + | rendering-size | Vector2i | false | { 0, 0 } | size at which rendering is performed | + | texture-width | int | false | 0 | size of the input data in memory | + | texture-ratio | float | false | 1.0f | | + | rendering-mode | int | false | RENDERMODE_MONO | select mono (0) or stereo (1) rendering mode | + | focal-pt | Vector3f | false | { 0.0f, 0.0f, 0.0f } | | + | colmap_fovXfovY_flag | Switch | false | false | | + | **Basic dataset options** ||||| + | path | string | true | | path to the dataset root | + | dataset_type | string | false | "" | type of dataset | + | **ULR specific options** ||||| + | v | int | false | 3 | ULR implementation version | + | soft-visibility | bool | false | false | generate and use soft visibility masks | + | masks | bool | false | false | use binary masks | + | masks-param | string | false | "" | | + | masks-param-extra | string | false | "" | | + | invert | bool | false | false | invert the masks | + | alphas | bool | false | false | | + | poisson-blend | bool | false | false | apply Poisson-filling to the ULR result | + + +\subsection ulr_references References +\[Buehler 2001\] C. Buehler, M. Bosse, L. McMillan, S. Gortler, and M. Cohen. "Unstructured lumigraph +rendering." In Proceedings SIGGRAPH 2001, pp. 425-432. ACM, 2001. https://www.ics.uci.edu/~gopi/ICS280Win02/UnstructuredLumigraph.pdf +*/ diff --git a/SIBR_viewers/src/projects/ulr/documentation/ulr_doc.cmake b/SIBR_viewers/src/projects/ulr/documentation/ulr_doc.cmake new file mode 100644 index 0000000000..d384ea0075 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/documentation/ulr_doc.cmake @@ -0,0 +1,13 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +set(PROJECT_PAGE "ulrPage") +set(PROJECT_LINK "https://gitlab.inria.fr/sibr/sibr_core") +set(PROJECT_TYPE "SAMPLES") \ No newline at end of file diff --git a/SIBR_viewers/src/projects/ulr/renderer/CMakeLists.txt b/SIBR_viewers/src/projects/ulr/renderer/CMakeLists.txt new file mode 100644 index 0000000000..6ee753b298 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/CMakeLists.txt @@ -0,0 +1,68 @@ +# Copyright (C) 2020, Inria +# GRAPHDECO research group, https://team.inria.fr/graphdeco +# All rights reserved. +# +# This software is free for non-commercial, research and evaluation use +# under the terms of the LICENSE.md file. +# +# For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + + +set(SIBR_PROJECT "ulr") +project(sibr_${SIBR_PROJECT}) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp") +source_group("Source Files" FILES ${SOURCES}) + +file(GLOB SHADERS "shaders/*.frag" "shaders/*.vert" "shaders/*.geom") +source_group("Source Files\\shaders" FILES ${SHADERS}) + +file(GLOB SOURCES "*.cpp" "*.h" "*.hpp" "shaders/*.frag" "shaders/*.vert" "shaders/*.geom") + + +## Specify target rules +add_library(${PROJECT_NAME} SHARED ${SOURCES}) + +include_directories(${Boost_INCLUDE_DIRS} .) +if(WIN32) +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + glfw3 + sibr_system + sibr_view + sibr_assets + sibr_renderer +) +else() +target_link_libraries(${PROJECT_NAME} + ${Boost_LIBRARIES} + ${ASSIMP_LIBRARIES} + ${GLEW_LIBRARIES} + ${OPENGL_LIBRARIES} + ${OpenCV_LIBRARIES} + ${GLFW_LIBRARY} + sibr_system + sibr_view + sibr_assets + sibr_renderer +) +endif + +add_definitions( -DSIBR_EXP_ULR_EXPORTS -DBOOST_ALL_DYN_LINK ) + +set_target_properties(${PROJECT_NAME} PROPERTIES FOLDER "projects/${SIBR_PROJECT}/renderer") + +## High level macro to install in an homogen way all our ibr targets +include(install_runtime) +ibr_install_target(${PROJECT_NAME} + INSTALL_PDB ## mean install also MSVC IDE *.pdb file (DEST according to target type) + SHADERS ${SHADERS} + RSC_FOLDER ${SIBR_PROJECT} + + #STANDALONE ${INSTALL_STANDALONE} ## mean call install_runtime with bundle dependencies resolution + COMPONENT ${PROJECT_NAME}_install ## will create custom target to install only this project +) diff --git a/SIBR_viewers/src/projects/ulr/renderer/Config.hpp b/SIBR_viewers/src/projects/ulr/renderer/Config.hpp new file mode 100644 index 0000000000..a4faaa8a57 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/Config.hpp @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include +# include + +# ifdef SIBR_OS_WINDOWS +# ifdef SIBR_STATIC_DEFINE +# define SIBR_EXPORT +# define SIBR_NO_EXPORT +# else +# ifndef SIBR_EXP_ULR_EXPORT +# ifdef SIBR_EXP_ULR_EXPORTS +/* We are building this library */ +# define SIBR_EXP_ULR_EXPORT __declspec(dllexport) +# else +/* We are using this library */ +# define SIBR_EXP_ULR_EXPORT __declspec(dllimport) +# endif +# endif +# ifndef SIBR_NO_EXPORT +# define SIBR_NO_EXPORT +# endif +# endif +# else +# define SIBR_EXP_ULR_EXPORT +# endif + +namespace sibr { + + /// Arguments for all ULR applications. + struct ULRAppArgs : + virtual BasicIBRAppArgs { + Arg version = { "v", 3, "ULR implementation version" }; + ArgSwitch softVisibility = { "soft-visibility", false, "generate and use soft visibility masks" }; + Arg masks = { "masks" , "use binary masks" }; + Arg maskParams = { "masks-param" , "" }; + Arg maskParamsExtra = { "masks-param-extra" , "" }; + Arg invert = { "invert", "invert the masks" }; + Arg alphas = { "alphas", "" }; + Arg poisson = { "poisson-blend", "apply Poisson-filling to the ULR result" }; + }; + +} + diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRRenderer.cpp b/SIBR_viewers/src/projects/ulr/renderer/ULRRenderer.cpp new file mode 100644 index 0000000000..9f0a327e17 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRRenderer.cpp @@ -0,0 +1,145 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +# include "Config.hpp" +# include +# include + +namespace sibr { +ULRRenderer::ULRRenderer(const uint w, const uint h) +{ + + std::cerr << "\n[ULRenderer] initializing" << std::endl; + std::cerr << "\n[ULRenderer] loading shaders" << std::endl; + _ulrShaderPass1 .init("ULR1", + sibr::loadFile(sibr::getShadersDirectory("ulr") + "/ulr.vert"), + sibr::loadFile(sibr::getShadersDirectory("ulr") + "/ulr1.frag")); + _ulrShaderPass2 .init("ULR2", + sibr::loadFile(sibr::getShadersDirectory("ulr") + "/ulr.vert"), + sibr::loadFile(sibr::getShadersDirectory("ulr") + "/ulr2.frag")); + _depthShader.init("Depth", + sibr::loadFile(sibr::getShadersDirectory("ulr") + "/ulr_intersect.vert"), + sibr::loadFile(sibr::getShadersDirectory("ulr") + "/ulr_intersect.frag")); + + _ulrShaderPass1_nCamPos .init(_ulrShaderPass1, "nCamPos"); + _ulrShaderPass1_iCamPos .init(_ulrShaderPass1, "iCamPos"); + _ulrShaderPass1_iCamDir .init(_ulrShaderPass1, "iCamDir"); + _ulrShaderPass1_iCamProj.init(_ulrShaderPass1, "iCamProj"); + _ulrShaderPass1_occlTest .init(_ulrShaderPass1, "occlTest"); + _ulrShaderPass1_masking .init(_ulrShaderPass1, "doMasking"); + _depthShader_proj.init(_depthShader,"proj"); + + std::cerr << "\n[ULRenderer] creating render targets" << std::endl; + + _ulr0_RT .reset(new sibr::RenderTargetRGBA32F(w,h,0,4)); + _ulr1_RT .reset(new sibr::RenderTargetRGBA32F(w,h,0,4)); + _depth_RT.reset(new sibr::RenderTargetRGBA32F(w,h)); + + _doOccl = true; +} + +void +ULRRenderer::process(std::vector& imgs_ulr, const sibr::Camera& eye, + const sibr::BasicIBRScene::Ptr scene, + std::shared_ptr& altMesh, + const std::vector >& inputRTs, + IRenderTarget& dst) +{ + // Get a new camera with z_near ~ 0 + sibr::Camera new_cam = eye; + new_cam.znear( 0.001f ); + + // render geometry to depth map + + glViewport(0,0, _depth_RT->w(), _depth_RT->h()); + _depth_RT->clear(); + _depth_RT->bind(); + + _depthShader.begin(); + _depthShader_proj.set(new_cam.viewproj()); + + glClear(GL_DEPTH_BUFFER_BIT); + + if( altMesh != nullptr ) + altMesh->render( true, true); // enable depth test - disable back culling + else + scene->proxies()->proxy().render( true, true); // enable depth test - disable back culling + + _depthShader.end(); + _depth_RT->unbind(); + + // ULR pass 1 + _ulr0_RT->clear(sibr::Vector4f(0,0,0,1e5)); + _ulr1_RT->clear(sibr::Vector4f(0,0,0,1e5)); + for (uint i=0; icameras()->inputCameras()[imgs_ulr[i]]->isActive()) { + const sibr::InputCamera& cam = *scene->cameras()->inputCameras()[imgs_ulr[i]]; + std::swap(_ulr0_RT, _ulr1_RT); + _ulrShaderPass1.begin(); + _ulr0_RT->bind(); + glViewport(0,0, _ulr0_RT->w(), _ulr0_RT->h()); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, inputRTs[imgs_ulr[i]]->texture()); + glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, _depth_RT->texture()); + glActiveTexture(GL_TEXTURE2); glBindTexture(GL_TEXTURE_2D, _ulr1_RT->texture(0)); + glActiveTexture(GL_TEXTURE3); glBindTexture(GL_TEXTURE_2D, _ulr1_RT->texture(1)); + glActiveTexture(GL_TEXTURE4); glBindTexture(GL_TEXTURE_2D, _ulr1_RT->texture(2)); + glActiveTexture(GL_TEXTURE5); glBindTexture(GL_TEXTURE_2D, _ulr1_RT->texture(3)); + if (useMasks()){ + glActiveTexture(GL_TEXTURE6); + glBindTexture(GL_TEXTURE_2D, getMasks()[imgs_ulr[i]]->texture()); + } + _ulrShaderPass1_masking.set(useMasks()); + _ulrShaderPass1_nCamPos.set(eye.position()); + _ulrShaderPass1_iCamPos.set(cam.position()); + _ulrShaderPass1_iCamDir.set(cam.dir()); + _ulrShaderPass1_iCamProj.set(cam.viewproj()); + _ulrShaderPass1_occlTest.set(_doOccl); + sibr::RenderUtility::renderScreenQuad(); + _ulr0_RT->unbind(); + _ulrShaderPass1.end(); + +#if 0 + { + sibr::ImageRGBA32F img2; + _ulr0_RT->readBack(img2); + show(img2); // DEBUG + } +#endif + } + } + + // ULR pass 2 + // enable depth test to ensure depth of proxy is written to + // depth buffer by the shader +// glEnable(GL_DEPTH_TEST); /// \todo TODO -- breaks with fences -- check + _ulrShaderPass2.begin(); + dst.clear(); + dst.bind(); + glViewport(0,0, dst.w(), dst.h()); + glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, _depth_RT->texture()); + glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, _ulr0_RT->texture(0)); + glActiveTexture(GL_TEXTURE2); glBindTexture(GL_TEXTURE_2D, _ulr0_RT->texture(1)); + glActiveTexture(GL_TEXTURE3); glBindTexture(GL_TEXTURE_2D, _ulr0_RT->texture(2)); + glActiveTexture(GL_TEXTURE4); glBindTexture(GL_TEXTURE_2D, _ulr0_RT->texture(3)); + sibr::RenderUtility::renderScreenQuad(); + dst.unbind(); + _ulrShaderPass2.end(); + +#if 0 + sibr::ImageRGB img; + dst.readBack(img); + show(img); // DEBUG +#endif + +} + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRRenderer.hpp b/SIBR_viewers/src/projects/ulr/renderer/ULRRenderer.hpp new file mode 100644 index 0000000000..a1154d264d --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRRenderer.hpp @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "Config.hpp" +# include +# include +# include +# include +# include +# include + +namespace sibr { + + /** Legacy ULR renderer. Process each input image separately and accumulate them. + **/ + class SIBR_EXP_ULR_EXPORT ULRRenderer : public RenderMaskHolder + { + SIBR_CLASS_PTR(ULRRenderer); + + /** Constructor. + *\param w rendering width + *\param h rendering height + */ + ULRRenderer(const uint w, const uint h); + + /** Render. + *\param imgs_ulr vector of selected image IDs + *\param eye novel viewpoint + *\param scene the scene to render + *\param altMesh optional alternative mesh + *\param inputRTs the RGBD input images + *\param output destination target + */ + void process(std::vector& imgs_ulr, const sibr::Camera& eye, + const sibr::BasicIBRScene::Ptr scene, + std::shared_ptr& altMesh, + const std::vector >& inputRTs, + IRenderTarget& output); + + /** Toggle occlusion testing. + *\param val should occlusion testing be performed + */ + void doOccl(bool val) { _doOccl = val; } + + private: + sibr::RenderTargetRGBA32F::Ptr _ulr0_RT; + sibr::RenderTargetRGBA32F::Ptr _ulr1_RT; + sibr::RenderTargetRGBA32F::Ptr _depth_RT; + + sibr::GLShader _ulrShaderPass1; + sibr::GLShader _ulrShaderPass2; + sibr::GLShader _depthShader; + + sibr::GLParameter _ulrShaderPass1_nCamPos; + sibr::GLParameter _ulrShaderPass1_iCamPos; + sibr::GLParameter _ulrShaderPass1_iCamDir; + sibr::GLParameter _ulrShaderPass1_iCamProj; + sibr::GLParameter _ulrShaderPass1_occlTest; + sibr::GLParameter _ulrShaderPass1_masking; + sibr::GLParameter _depthShader_proj; + + bool _doOccl; + + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRV2Renderer.cpp b/SIBR_viewers/src/projects/ulr/renderer/ULRV2Renderer.cpp new file mode 100644 index 0000000000..df0cdce6fb --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRV2Renderer.cpp @@ -0,0 +1,206 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +# include "Config.hpp" +# include +# include +# include "ULRV2Renderer.hpp" +#include "core/system/String.hpp" + +namespace sibr { + ULRV2Renderer::ULRV2Renderer(const std::vector & cameras, const uint w, const uint h, const unsigned int maxCams, const std::string & fShader, const std::string & vShader, const bool facecull) + { + + // Count how many cameras are active in the scene. + unsigned int numActiveCams = 0; + for (auto & cam : cameras) { + if (cam->isActive()) { + ++numActiveCams; + } + } + _numCams = maxCams == 0 ? numActiveCams : std::min(maxCams, numActiveCams); + + setupULRshader(fShader,vShader); + + _depthRT.reset(new sibr::RenderTargetRGBA32F(w, h)); + + _doOccl = true; + _areMasksBinary = true; + _doInvertMasks = false; + _discardBlackPixels = true; + _shouldCull = facecull; + _epsilonOcclusion = 1e-2f; + _soft_visibility_threshold = 30.0f; + soft_visibility_maps = nullptr; + } + + void ULRV2Renderer::setupULRshader(const std::string & fShader, const std::string & vShader) + { + std::cerr << "[ULRV2Renderer] Trying to initialize shaders for at most " << _numCams << " cameras." << std::endl; + /// \todo TODO SR: handle the case were we require more shader texture slots than we are allowed too. + /// Seems to be around 90 on Quadro K4200. We can either do multiple passes (fi 40 cams per pass), + /// or try to use texture arrays to avoid this problem. + /// If this happens to you, lower the maximum number of cameras picked by the ulr algo. + + GLShader::Define::List defines; + defines.emplace_back("NUM_CAMS", _numCams); + _ulrShader.init("ULRV2", + sibr::loadFile(sibr::getShadersDirectory("") + "/" + vShader + ".vert"), + sibr::loadFile(sibr::getShadersDirectory("") + "/" + fShader + ".frag", defines)); + _depthShader.init("ULRV2Depth", + sibr::loadFile(sibr::getShadersDirectory("ulr") + "/ulr_intersect.vert"), + sibr::loadFile(sibr::getShadersDirectory("ulr") + "/ulr_intersect.frag", defines)); + + _proj.init(_depthShader, "proj"); + _ncamPos.init(_ulrShader, "ncam_pos"); + _occTest.init(_ulrShader, "occ_test"); + _areMasksBinaryGL.init(_ulrShader, "is_binary_mask"); + _doInvertMasksGL.init(_ulrShader, "invert_mask"); + _discardBlackPixelsGL.init(_ulrShader, "discard_black_pixels"); + _doMask.init(_ulrShader, "doMasking"); + _camCount.init(_ulrShader, "camsCount"); + _use_soft_visibility.init(_ulrShader, "useSoftVisibility"); + _soft_visibility_threshold.init(_ulrShader, "softVisibilityThreshold"); + _epsilonOcclusion.init(_ulrShader, "epsilonOcclusion"); + + _icamProj.resize(_numCams); + _icamPos.resize(_numCams); + _icamDir.resize(_numCams); + _inputRGB.resize(_numCams); + _masks.resize(_numCams); + _selected_cams.resize(_numCams); + + _ulrShader.begin(); + for (uint i = 0; i<(uint)_numCams; i++) + { + _icamProj[i].init(_ulrShader, sibr::sprint("icam_proj[%d]", i)); + _icamPos[i].init(_ulrShader, sibr::sprint("icam_pos[%d]", i)); + _icamDir[i].init(_ulrShader, sibr::sprint("icam_dir[%d]", i)); + _selected_cams[i].init(_ulrShader, sibr::sprint("selected_cams[%d]", i)); + _inputRGB[i].init(_ulrShader, sibr::sprint("input_rgb[%d]", i)); + _inputRGB[i].set(i + 2); // location 0 and 1 reserved.s + _masks[i].init(_ulrShader, sibr::sprint("masks[%d]", i)); + _masks[i].set(GLuint(_numCams + i + 2)); + + } + _ulrShader.end(); + + } + + void + ULRV2Renderer::process(const std::vector& imgs_ulr, const sibr::Camera& eye, + const sibr::BasicIBRScene::Ptr& scene, + std::shared_ptr& altMesh, + const std::vector >& inputRTs, + IRenderTarget& dst) + { + // Get a new camera with z_near ~ 0 + sibr::Camera new_cam = eye; + //new_cam.znear(0.001f); + + + glViewport(0, 0, _depthRT->w(), _depthRT->h()); + _depthRT->bind(); + glClearColor(0, 0, 0, 1); + glClearDepth(1.0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + _depthShader.begin(); + _proj.set(new_cam.viewproj()); + if (altMesh != nullptr) { + altMesh->render(true, _shouldCull); // enable depth test - disable back culling + } else { + scene->proxies()->proxy().render(true, _shouldCull); + } + _depthShader.end(); + _depthRT->unbind(); + + glViewport(0, 0, dst.w(), dst.h()); + dst.clear(); + dst.bind(); + + _ulrShader.begin(); + + _ncamPos.set(eye.position()); + _occTest.set(_doOccl); + _areMasksBinaryGL.set(_areMasksBinary); + _doInvertMasksGL.set(_doInvertMasks); + _discardBlackPixelsGL.set(_discardBlackPixels); + _doMask.set(useMasks()); + _epsilonOcclusion.send(); + + CHECK_GL_ERROR + + _use_soft_visibility.set(soft_visibility_maps != nullptr && soft_visibility_maps->handle()); + + CHECK_GL_ERROR + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, _depthRT->texture()); + + CHECK_GL_ERROR + + if (_use_soft_visibility) { + //std::cout << "using soft visib" << std::endl; + _soft_visibility_threshold.send(); + + CHECK_GL_ERROR; + + glActiveTexture(GL_TEXTURE1); + glBindTexture(GL_TEXTURE_2D_ARRAY, soft_visibility_maps->handle()); + + CHECK_GL_ERROR; + } + + CHECK_GL_ERROR; + + int usedCamerasCount = 0; + + for (int i = 0; i < std::min(imgs_ulr.size(), _numCams); ++i) { + + if (!scene->cameras()->inputCameras()[imgs_ulr[i]]->isActive()) { + continue; + } + + auto& cam = *scene->cameras()->inputCameras()[imgs_ulr[i]]; + _icamPos[usedCamerasCount].set(cam.position()); + _icamDir[usedCamerasCount].set(cam.dir()); + _icamProj[usedCamerasCount].set(cam.viewproj()); + _selected_cams[usedCamerasCount].set((int)imgs_ulr[i]); + glActiveTexture(GL_TEXTURE0 + usedCamerasCount + 2); + glBindTexture(GL_TEXTURE_2D, inputRTs[imgs_ulr[i]]->texture()); + + if (useMasks()) { + glActiveTexture(GL_TEXTURE0 + (int)_numCams + usedCamerasCount + 2); + glBindTexture(GL_TEXTURE_2D, getMasks()[imgs_ulr[i]]->texture()); + } + ++usedCamerasCount; + } + + CHECK_GL_ERROR; + + _camCount.set(usedCamerasCount); + + CHECK_GL_ERROR; + + //glDisable(GL_DEPTH_TEST); + RenderUtility::renderScreenQuad(); + + CHECK_GL_ERROR; + + _ulrShader.end(); + dst.unbind(); + + } + + + + } /*namespace sibr*/ diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRV2Renderer.hpp b/SIBR_viewers/src/projects/ulr/renderer/ULRV2Renderer.hpp new file mode 100644 index 0000000000..812b3de12a --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRV2Renderer.hpp @@ -0,0 +1,140 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "Config.hpp" +# include +# include +# include +# include +# include + +namespace sibr { + + /** Second version of the ULR render. use separate samplers for each input image. + */ + class SIBR_EXP_ULR_EXPORT ULRV2Renderer : public RenderMaskHolder + { + SIBR_CLASS_PTR(ULRV2Renderer); + + /** Constructor. + *\param cameras input cameras + *\param w rendering width + *\param h rendering height + *\param maxCams maximum number of cameras selcted for rendering a frame + *\param fShader name of the fragment shader + *\param vShader name of the vertex shader + *\param facecull should backface culling be performed during the prepass. + **/ + ULRV2Renderer(const std::vector & cameras, const uint w, const uint h, const unsigned int maxCams = 0, const std::string & fShader = "ulr/ulr_v2", const std::string & vShader = "ulr/ulr_v2", const bool facecull = true); + + /** Setup the ULR shaders. + *\param fShader name of the fragment shader + *\param vShader name of the vertex shader + **/ + void setupULRshader(const std::string & fShader = "ulr/ulr_v2", const std::string & vShader = "ulr/ulr_v2"); + + /** Render. + *\param imgs_ulr vector of selected image IDs + *\param eye novel viewpoint + *\param scene the scene to render + *\param altMesh optional alternative mesh + *\param inputRTs the RGBD input images + *\param dst destination target + */ + void process(const std::vector& imgs_ulr, const sibr::Camera& eye, + const sibr::BasicIBRScene::Ptr& scene, + std::shared_ptr& altMesh, + const std::vector >& inputRTs, + IRenderTarget& dst); + + /** Should occlusion testing be performed. + *\param val true if testing should occur + */ + void doOccl(bool val) { _doOccl = val; } + + /** \return a reference to the occlusion threshold */ + float & epsilonOcclusion() { return _epsilonOcclusion; } + + /** Are the mask smooth values or binary. + *\param val true if they are binary + */ + void setAreMasksBinary(bool val) { _areMasksBinary = val; } + + /** Should the masks be inverted. + *\param val true if they should + */ + void setDoInvertMasks(bool val) { _doInvertMasks = val; } + + /** Should black pixels be ignored when accumulating colors. + *\param val true if they should be ignored + */ + void setDiscardBlackPixels(bool val) { _discardBlackPixels = val; } + + /** Should backface culling be performed. + *\param val true if it should + */ + void setCulling(bool val) { _shouldCull = val; } + + /** \return a pointer to the soft visibility texture array if it exists */ + Texture2DArrayLum32F * & getSoftVisibilityMaps(void) { return soft_visibility_maps; } + + /** \return a reference to the soft visibility threshold. */ + sibr::GLuniform & getSoftVisibilityThreshold() { return _soft_visibility_threshold; } + + /** \return a pointer to the ULR OpenGL program. */ + sibr::GLShader * getProgram() { return &_ulrShader; } + + /** \return the number of cameras */ + size_t getNumCams() { return _numCams; } + + public: + sibr::RenderTargetRGBA32F::Ptr _depthRT; ///< the prepass render target. + + private: + + sibr::GLShader _ulrShader; + sibr::GLShader _depthShader; + + std::vector _icamProj; + std::vector _icamPos; + std::vector _icamDir; + std::vector _inputRGB; + std::vector _masks; + std::vector > _selected_cams; + + Texture2DArrayLum32F * soft_visibility_maps; + sibr::GLuniform _soft_visibility_threshold; + sibr::GLuniform _use_soft_visibility; + + sibr::GLParameter _occTest; + sibr::GLParameter _areMasksBinaryGL; + sibr::GLParameter _doInvertMasksGL; + sibr::GLParameter _discardBlackPixelsGL; + sibr::GLParameter _doMask; + sibr::GLParameter _ncamPos; + sibr::GLParameter _camCount; + sibr::GLParameter _proj; + sibr::GLuniform _epsilonOcclusion; + + bool _doOccl; + bool _areMasksBinary; + bool _doInvertMasks; + bool _discardBlackPixels; + bool _shouldCull; + size_t _numCams; + + }; + +} /*namespace sibr*/ + diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRV2View.cpp b/SIBR_viewers/src/projects/ulr/renderer/ULRV2View.cpp new file mode 100644 index 0000000000..a89f664d1f --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRV2View.cpp @@ -0,0 +1,317 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/// \todo TODO: make shorter +#include "Config.hpp" +#include +#include +#include +#include +#include +#include + +namespace sibr { + ULRV2View::~ULRV2View( ) +{ + _altMesh.reset(); +} + +ULRV2View::ULRV2View( const sibr::BasicIBRScene::Ptr& ibrScene, uint render_w, uint render_h ) : + _scene(ibrScene), + sibr::ViewBase(render_w, render_h), + _renderMode(ULRV2View::RenderMode::NORMAL), _singleCamId(0) +{ + _altMesh.reset(); + _altMesh = nullptr; + _numDistUlr = 4, _numAnglUlr = 0; + std::cerr << "[ULR] setting number of images to blend "<< _numDistUlr << " " << _numAnglUlr << std::endl; + + _ulr.reset(new ULRV2Renderer(ibrScene->cameras()->inputCameras(), render_w, render_h, _numDistUlr + _numAnglUlr)); + uint w = render_w; + uint h = render_h; + _poissonRT.reset(new RenderTargetRGBA(w, h, SIBR_CLAMP_UVS)); + _blendRT.reset(new RenderTargetRGBA(w, h, SIBR_CLAMP_UVS)); + _poisson.reset(new PoissonRenderer(w,h)); + _poisson->enableFix() = true; + _inputRTs = ibrScene->renderTargets()->inputImagesRT(); + + testAltlULRShader = false; +} + +void ULRV2View::onRenderIBR( sibr::IRenderTarget& dst, const sibr::Camera& eye ) { + // Select subset of input images for ULR + //std::vector imgs_ulr = chosen_cameras(eye); + std::vector imgs_ulr = chosen_cameras_angdist(eye); + _scene->cameras()->debugFlagCameraAsUsed(imgs_ulr); + //std::cout << imgs_ulr.size() << " " << std::flush; + + if (_renderMode == RenderMode::ONLY_ONE_CAM) { + for (auto i : imgs_ulr) { + //std::cout << i << " "; + } + int id_cam = std::max(0, std::min((int)imgs_ulr.size()-1, _singleCamId)); + int cam = imgs_ulr[id_cam]; + imgs_ulr = std::vector(1, cam); + //std::cout << " -> ulr debug single cam, id : " << _singleCamId << ", cam : "; + //for (auto i : imgs_ulr) { + //std::cout << i << " "; + //} + //std::cout << std::endl; + } else if(_renderMode == RenderMode::LEAVE_ONE_OUT) { + std::vector new_imgs_ulr; + for(const auto & i : imgs_ulr) { + if(int(i) != _singleCamId) { + new_imgs_ulr.emplace_back(i); + } + } + imgs_ulr = new_imgs_ulr; + } + + if (_noPoissonBlend) { + _ulr->process( + imgs_ulr, + eye, + _scene, + _altMesh, + _inputRTs, + dst); + + } else { + _ulr->process( + /* input -- images chosen */ imgs_ulr, + /* input -- camera position */ eye, + /* input -- scene */ _scene, + /* input -- alt mesh if available */ _altMesh, + /* input -- input RTs -- can be RGB or alpha */ _inputRTs, + /* output */ *_blendRT); + + _poisson->process( + _blendRT, + _poissonRT); + + + blit(*_poissonRT, dst); + } +} + +void ULRV2View::onUpdate(Input & input) +{ + if (input.key().isReleased(sibr::Key::Tab)) { + testAltlULRShader = !testAltlULRShader; + if (testAltlULRShader) { + _ulr->setupULRshader("ulr_v2_alt"); + } else { + _ulr->setupULRshader(); + } + std::cout << "ULR using " << (testAltlULRShader ? "all cams" : "standard ulr") << std::endl; + } +} + +void ULRV2View::onGUI() { + const std::string guiName = "ULRV2 Settings (" + name() + ")"; + if(ImGui::Begin(guiName.c_str())) { + + ImGui::PushScaledItemWidth(80); + const bool v1_changed = ImGui::InputInt("#Dist", &_numDistUlr, 1, 10); + ImGui::SameLine(); + const bool v2_changed = ImGui::InputInt("#Angle", &_numAnglUlr, 1, 10); + ImGui::PopItemWidth(); + + if (v1_changed || v2_changed) { + setNumBlend(_numDistUlr, _numAnglUlr); + } + + + + ImGui::Checkbox("Disable Poisson", &_noPoissonBlend); + ImGui::Checkbox("Poisson fix", &_poisson->enableFix()); + + ImGui::PushScaledItemWidth(120); + ImGui::InputFloat("Epsilon occlusion", &_ulr->epsilonOcclusion(), 0.001f, 0.01f); + ImGui::Combo("Rendering mode", (int*)(&_renderMode), "Standard\0One image\0Leave one out\0\0"); + if (ImGui::InputInt("Selected image", &_singleCamId, 1, 10)) { + _renderMode = RenderMode::ONLY_ONE_CAM; + } + _singleCamId = sibr::clamp(_singleCamId, 0, (int)_scene->cameras()->inputCameras().size() - 1); + //ImGui::SliderInt("Selected image", &_singleCamId, 0, scene().inputCameras().size() - 1); + ImGui::PopItemWidth(); + + } + ImGui::End(); +} + +void ULRV2View::computeVisibilityMap(const sibr::ImageL32F & depthMap, sibr::ImageRGBA & out) +{ + const float threshold_3d = 2.5f; + const std::vector shifts = { { 1,0 },{ 0,1 },{ -1,0 },{ 0,-1 } }; + + sibr::ImageL8 edgeMap(depthMap.w(), depthMap.h(), 255); + for (uint i = 0; i < depthMap.h(); i++) { + for (uint j = 0; j < depthMap.w(); j++) { + sibr::Vector2i pos(j, i); + float currentDepth = depthMap(pos).x(); + for (const auto & shift : shifts) { + Vector2i npos = pos + shift; + if (!depthMap.isInRange(npos)) { continue; } + if (std::abs(depthMap(npos).x() - currentDepth) > threshold_3d) { + edgeMap(pos).x() = 0; + break; + } + } + } + } + + cv::Mat distance(depthMap.h(), depthMap.w(), CV_32FC1); + cv::distanceTransform(edgeMap.toOpenCVnonConst(), distance, cv::DIST_L2, cv::DIST_MASK_PRECISE); + + sibr::ImageL32F outF; + outF.fromOpenCV(distance); + out = sibr::convertL32FtoRGBA(outF); + +} + + // ----------------------------------------------------------------------- + +std::vector ULRV2View::chosen_cameras(const sibr::Camera& eye) { + std::vector imgs_id; + std::multimap distMap; // distance wise closest input cameras + std::multimap dang; // angular distance from inputs to novel camera + for (uint i=0; i< _scene->cameras()->inputCameras().size(); i++ ) { + const sibr::InputCamera& inputCam = *_scene->cameras()->inputCameras()[i]; + if (inputCam.isActive()) { + // Convert following to Eigen versions + float dist = sibr::distance(inputCam.position(), eye.position()); + float angle = sibr::dot(inputCam.dir(),eye.dir()); + distMap.insert(std::make_pair(dist,i)); // sort distances in increasing order + dang.insert(std::make_pair( acos(angle),i)); // sort angles in increasing order + } + } + for (uint i=0; i< _scene->cameras()->inputCameras().size(); i++) { + const sibr::InputCamera& inputCam = *_scene->cameras()->inputCameras()[i]; + if (inputCam.isActive() && distMap.size() <= (_numDistUlr+_numAnglUlr)/2 ) { + float dist = sibr::distance(inputCam.position(),eye.position()); + distMap.insert(std::make_pair(dist,i)); // sort distances in increasing order + } + } + + std::multimap::const_iterator d_it(distMap.begin()); // select the _numDistUlr closest cameras + for (int i=0; d_it!=distMap.end() && i<_numDistUlr; d_it++,i++) { + imgs_id.push_back(d_it->second); + } + + std::multimap::const_iterator a_it(dang.begin()); // select the NUM_ANG_ULR closest cameras + for (int i=0; a_it!=dang.end() && i<_numAnglUlr; a_it++,i++) { + imgs_id.push_back(a_it->second); + } + + std::sort( imgs_id.begin(), imgs_id.end() ); // Avoid repetitions + imgs_id.erase( std::unique( imgs_id.begin(), imgs_id.end() ), imgs_id.end() ); + + SIBR_ASSERT(imgs_id.size() <= _numDistUlr + _numAnglUlr); + return imgs_id; +} + +std::vector ULRV2View::chosen_cameras_angdist(const sibr::Camera & eye) +{ + const auto & cams = _scene->cameras()->inputCameras(); + std::vector out; + + // sort angle / dist combined + struct camAng + { + camAng() {} + camAng(float a, float d, int i) : ang(a), dist(d), id(i) {} + float ang, dist; + int id; + static bool compare(const camAng & a, const camAng & b) { return a.ang / a.dist > b.ang / b.dist; } + }; + + int total_size = _numAnglUlr + _numDistUlr; + + std::vector allAng; + for (int id = 0; id < (int)cams.size(); ++id) { + const auto & cam = *cams[id]; + float angle = sibr::dot(cam.dir(),eye.dir()); + // reject back facing + if( angle > 0.001 && cam.isActive()) { + float dist = (cam.position() - eye.position()).norm(); + allAng.push_back(camAng(angle, dist, id)); + } + } + + std::vector wasChosen(cams.size(), false); + + std::sort(allAng.begin(), allAng.end(), camAng::compare); + for (int id = 0; id < std::min((int)allAng.size(), total_size); ++id) { + out.push_back(allAng[id].id); + wasChosen[allAng[id].id] = true; + } + + for (int id = 0; id < (int)cams.size(); ++id) { + if (!wasChosen[id] && out.size() < total_size && cams[id]->isActive()) { + out.push_back(id); + } + } + + return out; +} + +std::vector ULRV2View::chosen_camerasNew(const sibr::Camera & eye) +{ + const auto & cams = _scene->cameras()->inputCameras(); + + struct camDist + { + camDist() {} + camDist(float d, int i) : dist(d), id(i) {} + float dist; + int id; + static bool compare(const camDist & a, const camDist & b) { return a.dist < b.dist; } + }; + + std::vector allDist; + for (int id = 0; id < (int)cams.size(); ++id) { + const auto & cam = *cams[id]; + allDist.push_back(camDist((cam.position() - eye.position()).norm(), id)); + } + std::sort(allDist.begin(), allDist.end(), camDist::compare); + std::vector out; + for (int id = 0; id < std::min((int)cams.size(),(int)_numDistUlr); ++id) { + out.push_back(allDist[id].id); + } + return out; +} + +void ULRV2View::setNumBlend(short int dist, short int angle) +{ + // Backup masks. + auto copyMasks = _ulr->getMasks(); + + _numDistUlr = dist, _numAnglUlr = angle; + std::cerr << "[ULR] setting number of images to blend " << _numDistUlr << " " << _numAnglUlr << std::endl; + _ulr.reset(new ULRV2Renderer(_scene->cameras()->inputCameras(), _scene->cameras()->inputCameras()[0]->w(), _scene->cameras()->inputCameras()[0]->h(), _numDistUlr + _numAnglUlr)); + _ulr->setMasks(copyMasks); + +} + +void ULRV2View::loadMasks(const sibr::BasicIBRScene::Ptr& ibrScene, int w, int h, const std::string& maskDir, const std::string& preFileName, const std::string& postFileName +) { + std::string finalMaskDir = (maskDir == "" ? ibrScene->data()->basePathName() + "/masks/" : maskDir); + std::string finalPostFileName = (postFileName == "" ? "-mask.jpg" : postFileName); + _ulr->loadMasks(ibrScene, finalMaskDir, preFileName, finalPostFileName, w, h); +} + +void ULRV2View::setMasks( const std::vector& masks ) { + _ulr->setMasks(masks); +} + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRV2View.hpp b/SIBR_viewers/src/projects/ulr/renderer/ULRV2View.hpp new file mode 100644 index 0000000000..574322e96d --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRV2View.hpp @@ -0,0 +1,175 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "Config.hpp" +# include +# include +# include +# include "core/scene/BasicIBRScene.hpp" +# include +# include +# include + +namespace sibr { + + /** View associated to ULRRenderer v2, providing interface and options. */ + class SIBR_EXP_ULR_EXPORT ULRV2View : public sibr::ViewBase + { + SIBR_CLASS_PTR(ULRV2View); + + /** Camera selection mode. */ + enum class RenderMode { NORMAL = 0, ONLY_ONE_CAM = 1, LEAVE_ONE_OUT = 2 }; + + public: + + /** Constructor. + *\param ibrScene the scene + *\param render_w rendering width + *\param render_h rendering height + **/ + ULRV2View( const sibr::BasicIBRScene::Ptr& ibrScene, uint render_w, uint render_h ); + + /** Destructor. */ + ~ULRV2View(); + + /** Render using the ULR algorithm. + *\param dst destination target + *\param eye novel viewpoint + **/ + virtual void onRenderIBR( sibr::IRenderTarget& dst, const sibr::Camera& eye ); + + /** Update state absed on user inputs. + *\param input the view input + **/ + virtual void onUpdate(Input& input); + + /** Display GUI. */ + virtual void onGUI() override; + + /** Select input cameras to use for rendering. + *\param eye the current viewpoint + *\return a list of camera indices. + **/ + virtual std::vector chosen_cameras(const sibr::Camera& eye) ; + + /** Select input cameras to use for rendering, based only on distance. + *\param eye the current viewpoint + *\return a list of camera indices. + **/ + virtual std::vector chosen_camerasNew(const sibr::Camera& eye); + + /** Select input cameras to use for rendering. + *\param eye the current viewpoint + *\return a list of camera indices. + **/ + virtual std::vector chosen_cameras_angdist(const sibr::Camera& eye); + + /** Set the altMesh and use instead of scene proxy. + *\param m mesh to use + **/ + void altMesh(std::shared_ptr m) { _altMesh = m; } + + /** Toggle occlusion testing. + *\param val should occlusion testing be performed + */ + void doOccl(bool val) { _ulr->doOccl(val); } + + /** \return a pointer to the alt mesh if it exists */ + std::shared_ptr altMesh() { return _altMesh; } + + /** Set the number of cmaeras to select for blending. + *\param dist number of cameras for the distance criterion + *\param angle number of cameras for the angle criterion + **/ + void setNumBlend(short int dist, short int angle); + + /** Set the input RGBD textures. + *\param iRTs the new textures to use. + */ + void inputRTs(const std::vector >& iRTs) { _inputRTs = iRTs;} + + /** Set the masks for ignoring some regions of the input images. + *\param masks the new masks + **/ + void setMasks( const std::vector& masks ); + + /** Load masks from disk. + *\param ibrScene the scene + *\param w resolution width + *\param h resolution height + *\param maskDir masks directory path + *\param preFileName mask files prefix + *\param postFileName mask files suffix and extension + */ + void loadMasks( + const sibr::BasicIBRScene::Ptr& ibrScene, int w, int h, + const std::string& maskDir = "", + const std::string& preFileName = "", + const std::string& postFileName = "" + ); + + /** Set the camera selection mode. + *\param mode the new mode. + */ + void setRenderMode(RenderMode mode) { _renderMode = mode; } + /** \return the camera selection mode. */ + RenderMode getRenderMode() const { return _renderMode; } + + /** Set the view ID when in single view mode. + *\param id the camera id to use + */ + void setSingleViewId(int id) { _singleCamId = id; } + /** \return the current selected camera ID in single view mode. */ + int getSingleViewId(void) const { return _singleCamId; } + + /** Toggle poisson blending. + *\param val if true, Poisson blending is disabled. + */ + void noPoissonBlend(bool val) { _noPoissonBlend = val; } + /** \return true if pOisson blending is disabled. */ + bool noPoissonBlend() const { return _noPoissonBlend; } + + /** Compute soft visibility map. + *\param depthMap view depth map + *\param out will contain the soft visibility map + */ + void computeVisibilityMap(const sibr::ImageL32F & depthMap, sibr::ImageRGBA & out); + + /** \return a pointer to the scene */ + const std::shared_ptr & getScene() const { return _scene; } + + public: + ULRV2Renderer::Ptr _ulr; ///< ULRV2 renderer. + PoissonRenderer::Ptr _poisson; ///< Poisson filling renderer. + + protected: + + std::shared_ptr _scene; ///< the current scene. + std::shared_ptr _altMesh; ///< For the cases when using a different mesh than the scene + int _numDistUlr, _numAnglUlr; ///< Number of cameras to select for each criterion. + + std::vector > _inputRTs; ///< input RTs -- usually RGB but can be alpha or other + + bool _noPoissonBlend = false; ///< Runtime status of the poisson blend. + + RenderTargetRGBA::Ptr _blendRT; ///< ULR destination RT. + RenderTargetRGBA::Ptr _poissonRT; ///< Poisson filling destination RT. + + RenderMode _renderMode; ///< Current camera selection mode. + int _singleCamId; ///< Selected camera in single view mode. + + bool testAltlULRShader; ///< TT: to switch with alternate shader with tab + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRV3Renderer.cpp b/SIBR_viewers/src/projects/ulr/renderer/ULRV3Renderer.cpp new file mode 100644 index 0000000000..aa8df0322c --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRV3Renderer.cpp @@ -0,0 +1,274 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include + + + +sibr::ULRV3Renderer::ULRV3Renderer(const std::vector & cameras, const uint w, const uint h, const std::string & fShader, const std::string & vShader, const bool facecull) +{ + _backFaceCulling = facecull; + fragString = fShader; + vertexString = vShader; + _maxNumCams = cameras.size(); + _camsCount = int(_maxNumCams); + + // Populate the cameraInfos array (will be uploaded to the GPU). + _cameraInfos.clear(); + _cameraInfos.resize(_maxNumCams); + for (size_t i = 0; i < _maxNumCams; ++i) { + const auto & cam = *cameras[i]; + _cameraInfos[i].vp = cam.viewproj(); + _cameraInfos[i].pos = cam.position(); + _cameraInfos[i].dir = cam.dir(); + _cameraInfos[i].selected = cam.isActive(); + } + + // Compute the max number of cameras allowed. + GLint maxBlockSize = 0, maxSlicesSize = 0; + glGetIntegerv(GL_MAX_UNIFORM_BLOCK_SIZE, &maxBlockSize); + glGetIntegerv(GL_MAX_ARRAY_TEXTURE_LAYERS, &maxSlicesSize); + // For each camera we store a matrix, 2 vecs3, 2 floats (including padding). + const unsigned int bytesPerCamera = 4 * (16 + 2 * 3 + 2); + const unsigned int maxCamerasAllowed = std::min((unsigned int)maxSlicesSize, (unsigned int)(maxBlockSize / bytesPerCamera)); + std::cout << "[ULRV3Renderer] " << "MAX_UNIFORM_BLOCK_SIZE: " << maxBlockSize << ", MAX_ARRAY_TEXTURE_LAYERS: " << maxSlicesSize << ", meaning at most " << maxCamerasAllowed << " cameras." << std::endl; + + // Create UBO. + _uboIndex = 0; + glGenBuffers(1, &_uboIndex); + glBindBuffer(GL_UNIFORM_BUFFER, _uboIndex); + glBufferData(GL_UNIFORM_BUFFER, sizeof(CameraUBOInfos)*_maxNumCams, &_cameraInfos[0], GL_DYNAMIC_DRAW); + glBindBuffer(GL_UNIFORM_BUFFER, 0); + + // Setup shaders and uniforms. + setupShaders(fragString, vertexString); + + // Create the intermediate rendertarget. + _depthRT.reset(new sibr::RenderTargetRGBA32F(w, h)); + + CHECK_GL_ERROR; +} + + +void sibr::ULRV3Renderer::setupShaders(const std::string & fShader, const std::string & vShader) +{ + // Create shaders. + std::cout << "[ULRV3Renderer] Setting up shaders for " << _maxNumCams << " cameras." << std::endl; + GLShader::Define::List defines; + defines.emplace_back("NUM_CAMS", _maxNumCams); + defines.emplace_back("ULR_STREAMING", 0); + + _ulrShader.init("ULRV3", + sibr::loadFile(sibr::getShadersDirectory("") + "/" + vShader + ".vert"), + sibr::loadFile(sibr::getShadersDirectory("") + "/" + fShader + ".frag", defines)); + _depthShader.init("ULRV3Depth", + sibr::loadFile(sibr::getShadersDirectory("ulr") + "/ulr_intersect.vert"), + sibr::loadFile(sibr::getShadersDirectory("ulr") + "/ulr_intersect.frag", defines)); + + // Setup uniforms. + _nCamProj.init(_depthShader, "proj"); + _nCamPos.init(_ulrShader, "ncam_pos"); + _occTest.init(_ulrShader, "occ_test"); + _useMasks.init(_ulrShader, "doMasking"); + _discardBlackPixels.init(_ulrShader, "discard_black_pixels"); + _epsilonOcclusion.init(_ulrShader, "epsilonOcclusion"); + _areMasksBinary.init(_ulrShader, "is_binary_mask"); + _invertMasks.init(_ulrShader, "invert_mask"); + _flipRGBs.init(_ulrShader, "flipRGBs"); + _showWeights.init(_ulrShader, "showWeights"); + _winnerTakesAll.init(_ulrShader, "winner_takes_all"); + _camsCount.init(_ulrShader, "camsCount"); + _gammaCorrection.init(_ulrShader, "gammaCorrection"); + + CHECK_GL_ERROR; +} + +void sibr::ULRV3Renderer::process( + const sibr::Mesh & mesh, + const sibr::Camera & eye, + IRenderTarget & dst, + const sibr::Texture2DArrayRGB::Ptr & inputRGBs, + const sibr::Texture2DArrayLum32F::Ptr & inputDepths, + bool passthroughDepth +) { + // Render the proxy positions in world space. + process(mesh, eye, dst, inputRGBs->handle(), inputDepths, passthroughDepth); +} + +void sibr::ULRV3Renderer::process( + const sibr::Mesh & mesh, + const sibr::Camera & eye, + IRenderTarget & dst, + uint inputRGBHandle, + const sibr::Texture2DArrayLum32F::Ptr & inputDepths, + bool passthroughDepth +) { + if (_profiling) { + _depthPassTimer.tic(); + } + // Render the proxy positions in world space. + renderProxyDepth(mesh, eye); + if (_profiling) { + glFinish(); + //std::cout << "\nDepth Pass: " << _depthPassTimer.deltaTimeFromLastTic() << " ms" << std::endl; + _depthCost.push_back(_depthPassTimer.deltaTimeFromLastTic()); + } + if (_profiling) { + _blendPassTimer.tic(); + } + // Perform ULR blending. + renderBlending(eye, dst, inputRGBHandle, inputDepths, passthroughDepth); + if (_profiling) { + glFinish(); + //std::cout << "\nBlend Pass: " << _blendPassTimer.deltaTimeFromLastTic() << " ms" << std::endl; + _blendCost.push_back(_blendPassTimer.deltaTimeFromLastTic()); + } +} + +void sibr::ULRV3Renderer::updateCameras(const std::vector & camIds) { + // Reset all cameras. + for(auto & caminfos : _cameraInfos) { + caminfos.selected = 0; + } + // Enabled the ones passed as indices. + for (const auto & camId : camIds) { + _cameraInfos[camId].selected = 1; + } + + // Update the content of the UBO. + glBindBuffer(GL_UNIFORM_BUFFER, _uboIndex); + glBufferSubData(GL_UNIFORM_BUFFER, 0, sizeof(CameraUBOInfos)*_maxNumCams, &_cameraInfos[0]); + glBindBuffer(GL_UNIFORM_BUFFER, 0); +} + +void sibr::ULRV3Renderer::stopProfile() +{ + const std::vector names = { "Depth Cost: ", "Blend Cost: "}; + const std::vector> counts = { + _depthCost, _blendCost}; + std::string profileStr = ""; + //profileStr = ""; + + for (int i = 0; i < names.size(); ++i) { + // Compute metrics: min, max, avg, variance. + double miniF = std::numeric_limits::max(); + double maxiF = 0.0; + double avgF = 0.0; + for (size_t tid = 0; tid < counts[i].size(); ++tid) { + const double ft = double(counts[i][tid]); + avgF += ft; + miniF = std::min(miniF, ft); + maxiF = std::max(maxiF, ft); + } + avgF /= double(counts[i].size()); + double varF = 0.0; + for (size_t tid = 0; tid < counts[i].size(); ++tid) { + const double residualF = double(counts[i][tid]) - avgF; + varF += residualF * residualF; + } + varF /= double(int(counts[i].size()) - 1); + profileStr += "-----------\n"; + profileStr += names[i] + " num frames: " + std::to_string(counts[i].size()) + "\n"; + profileStr += names[i] + " min/max: " + std::to_string(miniF) + "/" + std::to_string(maxiF) + "\n"; + profileStr += names[i] + " avg/stddev: " + std::to_string(avgF) + "/" + std::to_string(std::sqrt(varF)) + "\n"; + } + + std::cout << profileStr << std::endl; +} + +void sibr::ULRV3Renderer::renderProxyDepth(const sibr::Mesh & mesh, const sibr::Camera & eye) +{ + // Bind and clear RT. + _depthRT->bind(); + glViewport(0, 0, _depthRT->w(), _depthRT->h()); + glClearColor(0, 0, 0, 1); + glClearDepth(1.0); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + + // Render the mesh from the current viewpoint, output positions. + _depthShader.begin(); + _nCamProj.set(eye.viewproj()); + + mesh.render(true, _backFaceCulling); + + _depthShader.end(); + _depthRT->unbind(); +} + +void sibr::ULRV3Renderer::renderBlending( + const sibr::Camera & eye, + IRenderTarget & dst, + uint inputRGBHandle, + const sibr::Texture2DArrayLum32F::Ptr & inputDepths, + bool passthroughDepth +) { + // Bind and clear destination rendertarget. + glViewport(0, 0, dst.w(), dst.h()); + if (_clearDst) { + dst.clear(); + } + dst.bind(); + + _ulrShader.begin(); + + // Uniform values. + _nCamPos.set(eye.position()); + _occTest.send(); + _areMasksBinary.send(); + _invertMasks.send(); + _discardBlackPixels.send(); + _useMasks.send(); + _epsilonOcclusion.send(); + _flipRGBs.send(); + _showWeights.send(); + _camsCount.send(); + _winnerTakesAll.send(); + _gammaCorrection.send(); + + // Textures. + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, _depthRT->handle()); + + glActiveTexture(GL_TEXTURE1); + glBindTexture(GL_TEXTURE_2D_ARRAY, inputRGBHandle); + + glActiveTexture(GL_TEXTURE2); + glBindTexture(GL_TEXTURE_2D_ARRAY, inputDepths->handle()); + + // Pass the masks if enabled and available. + if (_useMasks && _masks.get()) { + glActiveTexture(GL_TEXTURE3); + glBindTexture(GL_TEXTURE_2D_ARRAY, _masks->handle()); + } + + // Bind UBO to shader, after all possible textures. + glBindBuffer(GL_UNIFORM_BUFFER, _uboIndex); + glBindBufferBase(GL_UNIFORM_BUFFER, 4, _uboIndex); + glBindBuffer(GL_UNIFORM_BUFFER, 0); + + if (passthroughDepth) { + glEnable(GL_DEPTH_TEST); + } else { + glDisable(GL_DEPTH_TEST); + } + + // Perform ULR rendering. + RenderUtility::renderScreenQuad(); + glDisable(GL_DEPTH_TEST); + + _ulrShader.end(); + dst.unbind(); +} + +void sibr::ULRV3Renderer::resize(const unsigned w, const unsigned h) { + _depthRT.reset(new sibr::RenderTargetRGBA32F(w, h)); +} diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRV3Renderer.hpp b/SIBR_viewers/src/projects/ulr/renderer/ULRV3Renderer.hpp new file mode 100644 index 0000000000..58b0feb0ae --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRV3Renderer.hpp @@ -0,0 +1,226 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "Config.hpp" +# include +# include +# include +# include +# include +# include +# include + +namespace sibr { + + /** + * \class ULRV3Renderer + * \brief Perform per-pixel Unstructured Lumigraph Rendering (Buehler et al., 2001). No selection is done on the CPU side. + * Relies on texture arrays and uniform buffer objects to support a high number of cameras. + */ + class SIBR_EXP_ULR_EXPORT ULRV3Renderer : public RenderMaskHolderArray + { + SIBR_CLASS_PTR(ULRV3Renderer); + + public: + + /** + * Constructor. + * \param cameras The input cameras to use. + * \param w The width of the internal rendertargets. + * \param h The height of the internal rendertargets. + * \param fShader An optional name of the fragment shader to use (default to ulr_v3). + * \param vShader An optional name of the vertex shader to use (default to ulr_v3). + * \param facecull Should the mesh be renderer with backface culling. + */ + ULRV3Renderer(const std::vector & cameras, + const uint w, const uint h, + const std::string & fShader = "ulr/ulr_v3", + const std::string & vShader = "ulr/ulr_v3", + const bool facecull = true + ); + + /** + * Change the shaders used by the ULR renderer. + * \param fShader The name of the fragment shader to use. + * \param vShader The name of the vertex shader to use. + */ + virtual void setupShaders( + const std::string & fShader = "ulr/ulr_v3", + const std::string & vShader = "ulr/ulr_v3" + ); + + /** + * Performs ULR rendering to a given destination rendertarget. + * \param mesh The mesh to use as geometric proxy. + * \param eye The novel viewpoint. + * \param dst The destination rendertarget. + * \param inputRGBs A texture array containing the input RGB images. + * \param inputDepths A texture array containing the input depth maps. + * \param passthroughDepth If true, depth from the position map will be output to the depth buffer for ulterior passes. + */ + virtual void process( + const sibr::Mesh & mesh, + const sibr::Camera& eye, + IRenderTarget& dst, + const sibr::Texture2DArrayRGB::Ptr & inputRGBs, + const sibr::Texture2DArrayLum32F::Ptr & inputDepths, + bool passthroughDepth = false + ); + + /** + * Performs ULR rendering to a given destination rendertarget. + * \param mesh The mesh to use as geometric proxy. + * \param eye The novel viewpoint. + * \param dst The destination rendertarget. + * \param inputRGBHandle The handle of a texture array containing the input RGB images. + * \param inputDepths A texture array containing the input depth maps. + * \param passthroughDepth If true, depth from the position map will be output to the depth buffer for ulterior passes. + */ + virtual void process( + const sibr::Mesh & mesh, + const sibr::Camera& eye, + IRenderTarget& dst, + uint inputRGBHandle, + const sibr::Texture2DArrayLum32F::Ptr & inputDepths, + bool passthroughDepth = false + ); + + /** + * Update which cameras should be used for rendering, based on the indices passed. + * \param camIds The indices to enable. + **/ + void updateCameras(const std::vector & camIds); + + /// Set the epsilon occlusion threshold. + float & epsilonOcclusion() { return _epsilonOcclusion.get(); } + + /// Enable or disable the masks. + bool & useMasks() { return _useMasks.get(); } + + /// Flip the RGB images before using them. + bool & flipRGBs() { return _flipRGBs.get(); } + + /// Enable or diable occlusion testing. + bool& occTest() { return _occTest.get(); } + + /// Show debug weights. + bool & showWeights() { return _showWeights.get(); } + + /// Set winner takes all weights strategy + bool & winnerTakesAll() { return _winnerTakesAll.get(); } + + /// Apply gamma correction to the output. + bool & gammaCorrection() { return _gammaCorrection.get(); } + + /// Apply backface culling to the mesh. + bool & backfaceCull() { return _backFaceCulling; } + + /** Resize the internal rendertargets. + *\param w the new width + *\param h the new height + **/ + void resize(const unsigned int w, const unsigned int h); + + /// Should the final RT be cleared or not. + bool & clearDst() { return _clearDst; } + + /// \return The ID of the first pass position map texture. + uint depthHandle() const { return _depthRT->texture(); } + + void startProfile() { + _profiling = true; + _depthCost.clear(); + _blendCost.clear(); + } + + void stopProfile(); + + /** + * Render the world positions of the proxy points in an intermediate rendertarget. + * \param mesh the proxy mesh. + * \param eye The novel viewpoint. + */ + virtual void renderProxyDepth(const sibr::Mesh & mesh, const sibr::Camera& eye); + + /** + * Perform ULR blending. + * \param eye The novel viewpoint. + * \param dst The destination rendertarget. + * \param inputRGBHandle The handle to a texture array containing the input RGB images. + * \param inputDepths A texture array containing the input depth maps. + * \param passthroughDepth If true, depth from the position map will be output to the depth buffer for ulterior passes. + */ + virtual void renderBlending( + const sibr::Camera& eye, + IRenderTarget& dst, + uint inputRGBHandle, + const sibr::Texture2DArrayLum32F::Ptr & inputDepths, + bool passthroughDepth + ); + + + protected: + /// Shader names. + std::string fragString, vertexString; + + sibr::GLShader _ulrShader; + sibr::GLShader _depthShader; + + sibr::RenderTargetRGBA32F::Ptr _depthRT; + GLuniform _nCamProj; + GLuniform _nCamPos; + + GLuniform + _occTest = true, + _useMasks = false, + _discardBlackPixels = true, + _areMasksBinary = true, + _invertMasks = false, + _flipRGBs = false, + _showWeights = false, + _winnerTakesAll = false, + _gammaCorrection = false; + + size_t _maxNumCams = 0; + GLuniform _camsCount = 0; + + GLuniform _epsilonOcclusion = 0.01f; + bool _backFaceCulling = true; + bool _clearDst = true; + + /** Camera infos data structure shared between the CPU and GPU. + We have to be careful about alignment if we want to send those struct directly into the UBO. */ + struct CameraUBOInfos { + Matrix4f vp; ///< Matrix viewproj. + Vector3f pos; ///< Camera position. + int selected = 0; ///< Is the camera selected (0/1). + Vector3f dir; ///< Camera direction. + float dummy = 0.0f; ///< Padding to a multiple of 16 bytes for alignment on the GPU. + }; + + std::vector _cameraInfos; + GLuint _uboIndex; + + bool _profiling = false; + sibr::Timer _depthPassTimer; + sibr::Timer _blendPassTimer; + int _numFramesProfiling = 100; + std::string _profileStr = ""; + std::vector _depthCost, _blendCost; + + }; + + +} /*namespace sibr*/ + diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRV3View.cpp b/SIBR_viewers/src/projects/ulr/renderer/ULRV3View.cpp new file mode 100644 index 0000000000..ab67e46a17 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRV3View.cpp @@ -0,0 +1,199 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#include +#include + +sibr::ULRV3View::ULRV3View(const sibr::BasicIBRScene::Ptr & ibrScene, uint render_w, uint render_h) : + _scene(ibrScene), + sibr::ViewBase(render_w, render_h) +{ + const uint w = render_w; + const uint h = render_h; + + // Renderers. + _ulrRenderer.reset(new ULRV3Renderer(ibrScene->cameras()->inputCameras(), w, h)); + _poissonRenderer.reset(new PoissonRenderer(w, h)); + _poissonRenderer->enableFix() = true; + + // Rendertargets. + _poissonRT.reset(new RenderTargetRGBA(w, h, SIBR_CLAMP_UVS)); + _blendRT.reset(new RenderTargetRGBA(w, h, SIBR_CLAMP_UVS)); + + // Tell the scene we are a priori using all active cameras. + std::vector imgs_ulr; + const auto & cams = ibrScene->cameras()->inputCameras(); + for(size_t cid = 0; cid < cams.size(); ++cid) { + if(cams[cid]->isActive()) { + imgs_ulr.push_back(uint(cid)); + } + } + _scene->cameras()->debugFlagCameraAsUsed(imgs_ulr); +} + +void sibr::ULRV3View::setScene(const sibr::BasicIBRScene::Ptr & newScene) { + _scene = newScene; + const uint w = getResolution().x(); + const uint h = getResolution().y(); + + std::string shaderName = "ulr_v3"; + if (_weightsMode == VARIANCE_BASED_W) { + shaderName = "ulr_v3_alt"; + } + else if (_weightsMode == ULR_FAST) { + shaderName = "ulr_v3_fast"; + } + + _ulrRenderer.reset(new ULRV3Renderer(newScene->cameras()->inputCameras(), w, h, shaderName)); + + // Tell the scene we are a priori using all active cameras. + std::vector imgs_ulr; + const auto & cams = newScene->cameras()->inputCameras(); + for (size_t cid = 0; cid < cams.size(); ++cid) { + if (cams[cid]->isActive()) { + imgs_ulr.push_back(uint(cid)); + } + } + _scene->cameras()->debugFlagCameraAsUsed(imgs_ulr); +} + +void sibr::ULRV3View::setMode(const WeightsMode mode) { + _weightsMode = mode; + if (_weightsMode == VARIANCE_BASED_W) { + _ulrRenderer->setupShaders("ulr/ulr_v3_alt"); + } + else if (_weightsMode == ULR_FAST) { + _ulrRenderer->setupShaders("ulr/ulr_v3_fast"); + } + else { + _ulrRenderer->setupShaders(); + } +} + +void sibr::ULRV3View::onRenderIBR(sibr::IRenderTarget & dst, const sibr::Camera & eye) +{ + // Perform ULR rendering, either directly to the destination RT, or to the intermediate RT when poisson blending is enabled. + _ulrRenderer->process( + _scene->proxies()->proxy(), + eye, + _poissonBlend ? *_blendRT : dst, + _scene->renderTargets()->getInputRGBTextureArrayPtr(), + _scene->renderTargets()->getInputDepthMapArrayPtr() + ); + + // Perform Poisson blending if enabled and copy to the destination RT. + if (_poissonBlend) { + _poissonRenderer->process(_blendRT, _poissonRT); + blit(*_poissonRT, dst); + } + +} + +void sibr::ULRV3View::onUpdate(Input & input) +{ +} + +void sibr::ULRV3View::onGUI() +{ + const std::string guiName = "ULRV3 Settings (" + name() + ")"; + if (ImGui::Begin(guiName.c_str())) { + + // Poisson settings. + ImGui::Checkbox("Poisson ", &_poissonBlend); ImGui::SameLine(); + ImGui::Checkbox("Poisson fix", &_poissonRenderer->enableFix()); + + // Other settings. + ImGui::Checkbox("Flip RGB ", &getULRrenderer()->flipRGBs()); + ImGui::PushScaledItemWidth(150); + ImGui::InputFloat("Epsilon occlusion", &_ulrRenderer->epsilonOcclusion(), 0.001f, 0.01f); + + ImGui::Separator(); + // Rendering mode selection. + if(ImGui::Combo("Rendering mode", (int*)(&_renderMode), "Standard\0One image\0Leave one out\0Every N\0\0")) { + updateCameras(true); + } + + // Get the desired index, make sure it falls in the cameras range. + if (_renderMode == ONE_CAM || _renderMode == LEAVE_ONE_OUT) { + const bool changedIndex = ImGui::InputInt("Selected image", &_singleCamId, 1, 10); + _singleCamId = sibr::clamp(_singleCamId, 0, (int)_scene->cameras()->inputCameras().size() - 1); + if (changedIndex) { + // If we are in "leave one out" or "one camera only" mode, we have to update the list of enabled cameras. + updateCameras(false); + } + } + + if (_renderMode == EVERY_N_CAM) { + if (ImGui::InputInt("Selection step", &_everyNCamStep, 1, 10)) { + _everyNCamStep = std::max(1, _everyNCamStep); + updateCameras(false); + } + } + ImGui::Separator(); + // Switch the shaders for ULR rendering. + if (ImGui::Combo("Weights mode", (int*)(&_weightsMode), "Standard ULR\0Variance based\0Fast ULR\0\0")) { + setMode(_weightsMode); + } + + ImGui::Checkbox("Occlusion Testing", &_ulrRenderer->occTest()); + ImGui::Checkbox("Debug weights", &_ulrRenderer->showWeights()); + ImGui::Checkbox("Gamma correction", &_ulrRenderer->gammaCorrection()); + ImGui::PopItemWidth(); + } + ImGui::End(); +} + +void sibr::ULRV3View::updateCameras(bool allowResetToDefault) { + // If we are here, the rendering mode or the selected index have changed, we need to update the enabled cameras. + std::vector imgs_ulr; + const auto & cams = _scene->cameras()->inputCameras(); + + // Compute the cameras indices based on the new mode. + if (_renderMode == RenderMode::ONE_CAM) { + // We only use the given camera (if it is active). + if (cams[_singleCamId]->isActive()) { + imgs_ulr = { (uint)_singleCamId }; + } else { + std::cerr << "The camera is not active, using all cameras." << std::endl; + } + } else if (_renderMode == RenderMode::LEAVE_ONE_OUT) { + // We use all active cameras apart from the one given. + for (size_t cid = 0; cid < cams.size(); ++cid) { + if (cid != (size_t)_singleCamId && cams[cid]->isActive()) { + imgs_ulr.push_back(uint(cid)); + } + } + } + else if (_renderMode == RenderMode::EVERY_N_CAM) { + // We pick one camera every N + for (size_t cid = 0; cid < cams.size(); ++cid) { + if ((cid % _everyNCamStep == 0) && cams[cid]->isActive()) { + imgs_ulr.push_back(uint(cid)); + } + } + } else if(allowResetToDefault){ + // We use all active cameras. + for (size_t cid = 0; cid < cams.size(); ++cid) { + if (cams[cid]->isActive()) { + imgs_ulr.push_back(uint(cid)); + } + } + } + // Only update if there is at least one camera enabled. + if(!imgs_ulr.empty()) { + // Update the shader informations in the renderer. + _ulrRenderer->updateCameras(imgs_ulr); + // Tell the scene which cameras we are using for debug visualization. + _scene->cameras()->debugFlagCameraAsUsed(imgs_ulr); + } + +} diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRV3View.hpp b/SIBR_viewers/src/projects/ulr/renderer/ULRV3View.hpp new file mode 100644 index 0000000000..53d9722e2b --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRV3View.hpp @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "Config.hpp" +# include +# include +# include +# include +# include +# include + +namespace sibr { + + /** + * \class ULRV3View + * \brief Wrap a ULR renderer with additional parameters and information. + */ + class SIBR_EXP_ULR_EXPORT ULRV3View : public sibr::ViewBase + { + SIBR_CLASS_PTR(ULRV3View); + + /// Rendering mode: default, use only one camera, use all cameras but one. + enum RenderMode { ALL_CAMS, ONE_CAM, LEAVE_ONE_OUT, EVERY_N_CAM }; + + /// Blending mode: keep the four best values per pixel, or aggregate them all. + enum WeightsMode { ULR_W , VARIANCE_BASED_W, ULR_FAST}; + + public: + + /** + * Constructor + * \param ibrScene The scene to use for rendering. + * \param render_w rendering width + * \param render_h rendering height + */ + ULRV3View(const sibr::BasicIBRScene::Ptr& ibrScene, uint render_w, uint render_h); + + /** Replace the current scene. + *\param newScene the new scene to render */ + void setScene(const sibr::BasicIBRScene::Ptr & newScene); + + /** + * Perform rendering. Called by the view manager or rendering mode. + * \param dst The destination rendertarget. + * \param eye The novel viewpoint. + */ + void onRenderIBR(sibr::IRenderTarget& dst, const sibr::Camera& eye) override; + + /** + * Update inputs (do nothing). + * \param input The inputs state. + */ + void onUpdate(Input& input) override; + + /** + * Update the GUI. + */ + void onGUI() override; + + /** \return a reference to the renderer. */ + const ULRV3Renderer::Ptr & getULRrenderer() const { return _ulrRenderer; } + + /** Set the renderer blending weights mode. + *\param mode the new mode to use + *\sa WeightsMode + **/ + void setMode(const WeightsMode mode); + + /** \return a reference to the scene */ + const std::shared_ptr & getScene() const { return _scene; } + + protected: + + /** + * Update the camera informations in the ULR renderer based on the current rendering mode and selected index. + * \param allowResetToDefault If true, when the rendering mode is ALL_CAMS, the cameras information will be updated. + */ + void updateCameras(bool allowResetToDefault); + + std::shared_ptr _scene; ///< The current scene. + ULRV3Renderer::Ptr _ulrRenderer; ///< The ULR renderer. + PoissonRenderer::Ptr _poissonRenderer; ///< The poisson filling renderer. + + RenderTargetRGBA::Ptr _blendRT; ///< ULR destination RT. + RenderTargetRGBA::Ptr _poissonRT; ///< Poisson filling destination RT. + + bool _poissonBlend = false; ///< Should Poisson filling be applied. + + RenderMode _renderMode = ALL_CAMS; ///< Current rendering mode. + WeightsMode _weightsMode = ULR_W; ///< Current blend weights mode. + int _singleCamId = 0; ///< Selected camera for the single view mode. + int _everyNCamStep = 1; ///< Camera step size for the every other N mode. + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRView.cpp b/SIBR_viewers/src/projects/ulr/renderer/ULRView.cpp new file mode 100644 index 0000000000..7d24f35868 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRView.cpp @@ -0,0 +1,111 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +/// \todo TODO: make shorter +#include "Config.hpp" +#include +#include +#include +#include +#include +#include + +namespace sibr { + +ULRView::~ULRView( ) +{ + _altMesh.reset(); +} + +ULRView::ULRView( const sibr::BasicIBRScene::Ptr& ibrScene, uint render_w, uint render_h ) : + _scene(ibrScene), + sibr::ViewBase(render_w, render_h) +{ + _altMesh.reset(); + _altMesh = nullptr; + _numDistUlr = 10, _numAnglUlr = 14; + std::cerr << "\n[ULRenderer] setting number of images to blend "<< _numDistUlr << " " << _numAnglUlr << std::endl; + + _ulr.reset(new ULRRenderer(render_w, render_h)); + + _inputRTs = ibrScene->renderTargets()->inputImagesRT(); +} + +void ULRView::onRenderIBR( sibr::IRenderTarget& dst, const sibr::Camera& eye ) { + // Select subset of input images for ULR + std::vector imgs_ulr = chosen_cameras(eye); + _scene->cameras()->debugFlagCameraAsUsed(imgs_ulr); + _ulr->process( + /* input -- images chosen */ imgs_ulr, + /* input -- camera position */ eye, + /* input -- scene */ _scene, + /* input -- alt mesh if available */ _altMesh, + /* input -- input RTs -- can be RGB or alpha */ _inputRTs, + /* output */ dst); +} + +// ----------------------------------------------------------------------- +/// \todo Select a subset from imput images speed up URL +/// \todo TODO: This function needs serious cleanup +// +std::vector ULRView::chosen_cameras(const sibr::Camera& eye) { + std::vector imgs_id; + std::multimap distMap; // distance wise closest input cameras + std::multimap dang; // angular distance from inputs to novel camera + for (uint i=0; i<_scene->cameras()->inputCameras().size(); i++ ) { + const sibr::InputCamera& inputCam = *_scene->cameras()->inputCameras()[i]; + if (inputCam.isActive()) { + // Convert following to Eigen versions + float dist = sibr::distance(inputCam.position(), eye.position()); + float angle = sibr::dot(inputCam.dir(),eye.dir()); + // if (angle > 0.707) { // cameras with 45 degrees + distMap.insert(std::make_pair(dist,i)); // sort distances in increasing order + dang.insert(std::make_pair( acos(angle),i)); // sort angles in increasing order +// } + } + } + + // HACK GD -- should really look at camera angles as well and sort them +//// bool not_enough = false; + // if you have < 2 cameras, choose the (NUM_DIST+NUM_ANGL)/2 closest ones +//// if( dang.size() + distMap.size() < 2 ) +//// not_enough = true; + for (uint i=0; i< _scene->cameras()->inputCameras().size(); i++) { + const sibr::InputCamera& inputCam = *_scene->cameras()->inputCameras()[i]; + if (inputCam.isActive() && distMap.size() <= (_numDistUlr+_numAnglUlr)/2 ) { + float dist = sibr::distance(inputCam.position(),eye.position()); + distMap.insert(std::make_pair(dist,i)); // sort distances in increasing order + } + } + + std::multimap::const_iterator d_it(distMap.begin()); // select the _numDistUlr closest cameras + for (int i=0; d_it!=distMap.end() && i<_numDistUlr; d_it++,i++) { + imgs_id.push_back(d_it->second); + } + + std::multimap::const_iterator a_it(dang.begin()); // select the NUM_ANG_ULR closest cameras + for (int i=0; a_it!=dang.end() && i<_numAnglUlr; a_it++,i++) { + imgs_id.push_back(a_it->second); + } + + std::sort( imgs_id.begin(), imgs_id.end() ); // Avoid repetitions + imgs_id.erase( std::unique( imgs_id.begin(), imgs_id.end() ), imgs_id.end() ); + + SIBR_ASSERT(imgs_id.size() <= _numDistUlr + _numAnglUlr); + return imgs_id; +} + +void ULRView::setMasks( const std::vector& masks ) { + _ulr->setMasks(masks); +} + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/projects/ulr/renderer/ULRView.hpp b/SIBR_viewers/src/projects/ulr/renderer/ULRView.hpp new file mode 100644 index 0000000000..ced556dbee --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/ULRView.hpp @@ -0,0 +1,93 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#pragma once + +# include "Config.hpp" +# include +# include +# include +# include +# include +# include + +namespace sibr { + + /** View associated to ULRRenderer v1, providing interface and options. */ + class SIBR_EXP_ULR_EXPORT ULRView : public sibr::ViewBase + { + SIBR_CLASS_PTR( ULRView ); + + public: + + /** Constructor. + *\param ibrScene the scene + *\param render_w rendering width + *\param render_h rendering height + **/ + ULRView( const sibr::BasicIBRScene::Ptr& ibrScene, uint render_w, uint render_h ); + + /** Destructor. */ + ~ULRView(); + + /** Render using the ULR algorithm. + *\param dst destination target + *\param eye novel viewpoint + **/ + virtual void onRenderIBR( sibr::IRenderTarget& dst, const sibr::Camera& eye ); + + /** Select input cameras to use for rendering. + *\param eye the current viewpoint + *\return a list of camera indices. + **/ + virtual std::vector chosen_cameras(const sibr::Camera& eye) ; + + /** Set the altMesh and use instead of scene proxy. + *\param m mesh to use + **/ + void altMesh(std::shared_ptr m) { _altMesh = m; } + + /** Toggle occlusion testing. + *\param val should occlusion testing be performed + */ + void doOccl(bool val) { _ulr->doOccl(val); } + + /** \return a pointer to the alt mesh if it exists */ + std::shared_ptr altMesh() { return _altMesh; } + + /** Set the number of cmaeras to select for blending. + *\param dist number of cameras for the distance criterion + *\param angle number of cameras for the angle criterion + **/ + void setNumBlend(short int dist, short int angle) { _numDistUlr = dist, _numAnglUlr = angle; } + + /** Set the input RGBD textures. + *\param iRTs the new textures to use. + */ + void inputRTs(const std::vector >& iRTs) { _inputRTs = iRTs;} + + /** Set the masks for ignoring some regions of the input images. + *\param masks the new masks + **/ + void setMasks( const std::vector& masks); + + protected: + + ULRRenderer::Ptr _ulr; ///< Renderer. + std::shared_ptr _scene; ///< Scene. + std::shared_ptr _altMesh; ///< For the cases when using a different mesh than the scene + short int _numDistUlr, _numAnglUlr; ///< max number of selected cameras for each criterion. + std::vector > _inputRTs; ///< input RTs -- usually RGB but can be alpha or other + + }; + +} /*namespace sibr*/ diff --git a/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr.vert b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr.vert new file mode 100644 index 0000000000..4623dec2c7 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr.vert @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location = 0) in vec3 in_vertex; +layout(location = 2) in vec3 in_normal; + +out vec3 vertex_coord; + +void main(void) { + gl_Position = vec4(in_vertex,1.0); + vertex_coord = in_vertex; +} diff --git a/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr1.frag b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr1.frag new file mode 100644 index 0000000000..ad009b5729 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr1.frag @@ -0,0 +1,140 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +layout(location=0) out vec4 out_color0; +layout(location=1) out vec4 out_color1; +layout(location=2) out vec4 out_color2; +layout(location=3) out vec4 out_color3; + +layout(binding=0) uniform sampler2D image; // input image with camera-proxy distance in alpha +layout(binding=1) uniform sampler2D proxy; // intersection point with proxy with depth in alpha +layout(binding=2) uniform sampler2D texture0; // best candidate for each pixel +layout(binding=3) uniform sampler2D texture1; // second best candidate for each pixel +layout(binding=4) uniform sampler2D texture2; // third best candidate for each pixel +layout(binding=5) uniform sampler2D texture3; // fourth best candidate for each pixel +layout(binding=6) uniform sampler2D mask; // masking texture. + +uniform mat4 iCamProj; // input camera projection +uniform vec3 iCamPos; // input camera position +uniform vec3 iCamDir; // novel camera projection +uniform vec3 nCamPos; // novel camera position +uniform bool occlTest; // do occlusion test +uniform bool doMasking; // do masking + +// vertex coordinates of the 2D screen size quad, +// used for computing texture coordinates +in vec3 vertex_coord; + +#define EPSILON 1e-2 +#define BETA 1e-1 /* Relative importance of resolution penalty */ + +vec3 project(vec3 point, mat4 proj) { + vec4 p1 = proj * vec4(point, 1.0); + vec3 p2 = (p1.xyz/p1.w); + return (p2.xyz*vec3(0.5) + vec3(0.5)); +} + +bool frustumTest(vec3 p, vec2 uv) { + vec3 d1 = iCamDir; + vec3 d2 = p - iCamPos; + bool r = dot(d1,d2)>0.0 && uv.x<1.0 && uv.x>0.0 && uv.y<1.0 && uv.y>0.0; + return r; +} + +void main(void) { + + float penalty_res = 0; /* Resolution penalty */ + float penalty_ang = 0; /* Angular penalty */ + + vec2 texcoord = (vertex_coord.xy + vec2(1.0)) / 2.0; + + vec4 point = texture(proxy, texcoord); + vec4 color0 = texture(texture0, texcoord); + vec4 color1 = texture(texture1, texcoord); + vec4 color2 = texture(texture2, texcoord); + vec4 color3 = texture(texture3, texcoord); + + vec3 uvd = project(point.xyz, iCamProj); + vec2 uv = uvd.xy; + + vec4 color = texture(image, uv); + + out_color0 = color0; + out_color1 = color1; + out_color2 = color2; + out_color3 = color3; + + if(doMasking){ + float masked = texture(mask, uv).r; + if(masked < 0.5){ + return; + } + } + + if (frustumTest(point.xyz, uv)) + { + float dist_i2p = distance(point.xyz, iCamPos); + float dist_n2p = distance(point.xyz, nCamPos); + penalty_res = max(0.0001, (dist_i2p - dist_n2p)/dist_i2p ); + + //if (abs(dist-color.w) < EPSILON) { + + vec3 v1 = normalize(point.xyz - iCamPos); + vec3 v2 = normalize(point.xyz - nCamPos); + if (occlTest && abs(uvd.z-color.w) < EPSILON) { /* occlusion test */ + //color.w = max(0.0001, acos(dot(v1,v2))); + penalty_ang = max(0.0001, acos(dot(v1,v2))); + } else if( occlTest ) { + return;; + //color.w = 5.0 + max(0.001, acos(dot(v1,v2))); /* increase the penalty */ + } + if (all(equal(color.xyz, vec3(0,0,0)))){ + return; + } + + color.w = penalty_ang + BETA*penalty_res; + + // compare with best four candiates and insert at the + // appropriate rank + bool done = false; + if (!done && color.w0.0; +} + + + + +void main(void){ + + vec4 point = texture(proxy, vertex_coord); + // discard if there was no intersection with the proxy + if ( point.w >= 1.0) { + discard; + } + + vec4 color0 = vec4(0.0,0.0,0.0,INFTY_W); + vec4 color1 = vec4(0.0,0.0,0.0,INFTY_W); + vec4 color2 = vec4(0.0,0.0,0.0,INFTY_W); + vec4 color3 = vec4(0.0,0.0,0.0,INFTY_W); + + // We need to keep the uvs of the selected colors for the fov blending. + vec4 uvs01 = vec4(0.0,0.0,0.0,0.0); + vec4 uvs23 = vec4(0.0,0.0,0.0,0.0); + + for(int cam_id = 0; cam_id < NUM_CAMS; cam_id++){ + if(cam_id >= camsCount){ + break; + } + vec3 uvd = project(point.xyz, icam_proj[cam_id]); + vec2 ndc = abs(2.0*uvd.xy-1.0); + + if (frustumTest(point.xyz, ndc, cam_id)) + { + vec4 color = texture(input_rgb[cam_id], uvd.xy); + + + if(doMasking){ + + float masked = texture(masks[cam_id], uvd.xy).r; + + if( invert_mask ){ + masked = 1.0 - masked; + } + + if( is_binary_mask ){ + if( masked < 0.5) { + continue; + } + } else { + color.xyz = masked*color.xyz; + } + + } + + + /// \todo Separate uniform and per-pixel branching. TODO SR: test impact. + + if (discard_black_pixels){ + if(all(equal(color.xyz, vec3(0.0)))){ + continue; + } + } + + if (occ_test){ + if(abs(uvd.z-color.w) >= epsilonOcclusion) { + continue; + } + } + + vec3 v1 = (point.xyz - icam_pos[cam_id]); + vec3 v2 = (point.xyz - ncam_pos); + float dist_i2p = length(v1); + float dist_n2p = length(v2); + + float penalty_ang = float(occ_test) * max(0.0001, acos(dot(v1,v2)/(dist_i2p*dist_n2p))); + + float penalty_res = max(0.0001, (dist_i2p - dist_n2p)/dist_i2p ); + + color.w = penalty_ang + BETA*penalty_res; + + if(useSoftVisibility){ + + //vec4 dist_from_edge = vec4(2.0,2.0,2.0,2.0); // texture(soft_visibility_maps, vec3(uvd.xy, cam_true_id)); + vec4 dist_from_edge = texture(soft_visibility_maps, vec3(uvd.xy, selected_cams[cam_id])); + float weight_visibility = min(dist_from_edge.x/softVisibilityThreshold,1.0); + color.w /= weight_visibility; + + } + + + // compare with best four candiates and insert at the + // appropriate rank + if (color.w0.0; +} + +void main(void){ + + vec4 point = texture(proxy, vertex_coord); + // discard if there was no intersection with the proxy + if ( point.w >= 1.0) { + discard; + } + + vec4 color_sum = vec4(0.0,0.0,0.0,0.0); + //vec3 color_sum_simple = vec3(0.0,0.0,0.0); + //vec3 color_sum_square = vec3(0.0,0.0,0.0); + //vec3 color_sum_square_w = vec3(0.0,0.0,0.0); + //float num = 0.0; + + vec3 v2 = (point.xyz - ncam_pos); + float dist_n2p = length(v2); + + for(int cam_id = 0; cam_id < NUM_CAMS; cam_id++){ + + if(cam_id >= camsCount){ + break; + } + vec3 uvd = project(point.xyz, icam_proj[cam_id]); + vec2 ndc = abs(2.0*uvd.xy-1.0); + + if (!frustumTest(point.xyz, ndc, cam_id)) { + continue; + } + + vec4 color = texture(input_rgb[cam_id], uvd.xy); + + if(doMasking){ + float masked = texture(masks[cam_id], uvd.xy).r; + + if( invert_mask ){ + masked = 1.0 - masked; + } + + if( is_binary_mask ){ + if( masked < 0.5) { + continue; + } + } else { + color.xyz = masked*color.xyz; + } + } + + if (discard_black_pixels){ + if(all(equal(color.xyz, vec3(0.0)))){ + continue; + } + } + + if (occ_test){ + if(abs(uvd.z-color.w) >= EPSILON) { + continue; + } + } + + vec3 v1 = (point.xyz - icam_pos[cam_id]); + float dist_i2p = length(v1); + + float penalty_ang = float(occ_test) * max(0.0001, acos(dot(v1,v2)/(dist_i2p*dist_n2p))); + + float penalty_res = max(0.0001, (dist_i2p - dist_n2p)/dist_i2p ); + + color.w = penalty_ang + BETA*penalty_res; + + if(useSoftVisibility){ + vec4 dist_from_edge = texture(soft_visibility_maps, vec3(uvd.xy, selected_cams[cam_id])); + float weight_visibility = min(dist_from_edge.x/softVisibilityThreshold,1.0); + color.w /= (weight_visibility*weight_visibility); + } + + color.w = 1.0 / color.w; + + color_sum.xyz += color.w * color.xyz; + color_sum.w += color.w; + + //color_sum_simple += color.xyz; + //color_sum_square += color.xyz*color.xyz; + //color_sum_square_w += color.w * color.xyz*color.xyz; + //num++; + } + + //vec3 mean = color_sum_simple / num; + //vec3 variance = color_sum_square / num - mean*mean; + //vec3 deviation = sqrt(variance); + + //vec3 mean = color_sum.xyz / color_sum.w; + //vec3 variance = color_sum_square_w / color_sum.w - mean*mean; + //vec3 deviation = 3.0*sqrt(variance); + + color_sum.xyz /= color_sum.w; + + // blending + out_color.w = 1.0; + out_color.xyz = color_sum.xyz; + //out_color.xyz = deviation; + + gl_FragDepth = point.w; +} diff --git a/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3.frag b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3.frag new file mode 100644 index 0000000000..2f4a5650f6 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3.frag @@ -0,0 +1,345 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +#define NUM_CAMS (12) +#define ULR_STREAMING (0) + +in vec2 vertex_coord; +layout(location = 0) out vec4 out_color; + +// 2D proxy texture. +layout(binding=0) uniform sampler2D proxy; + +// Input cameras. +struct CameraInfos +{ + mat4 vp; + vec3 pos; + int selected; + vec3 dir; +}; +// They are stored in a contiguous buffer (UBO), lifting most limitations on the number of uniforms. +layout(std140, binding=4) uniform InputCameras +{ + CameraInfos cameras[NUM_CAMS]; +}; + +// Uniforms. +uniform int camsCount; +uniform vec3 ncam_pos; +uniform bool occ_test = true; +uniform bool invert_mask = false; +uniform bool is_binary_mask = true; +uniform bool discard_black_pixels = true; +uniform bool doMasking = false; +uniform bool flipRGBs = false; +uniform bool showWeights = false; +uniform float epsilonOcclusion = 1e-2; +uniform bool winner_takes_all = false; + +// for uv derivatives blending +uniform bool useUVDerivatives = false; +uniform float uvDerivativesAlphaBlending = 0.5f; +uniform float uvDerivativesScaleFactor = 1.0f; +uniform vec2 rtResolution = vec2(1.0); + +#define INFTY_W 100000.0 +#define BETA 1e-1 /* Relative importance of resolution penalty */ + +// Textures. +// To support both the regular version (using texture arrays) and the streaming version (using 2D RTs), +// we wrap the texture accesses in two helpers that hide the difference. + +#if ULR_STREAMING + +uniform sampler2D input_rgbds[NUM_CAMS]; +uniform sampler2D input_masks[NUM_CAMS]; + +vec4 getRGBD(vec3 xy_camid){ + if(flipRGBs){ + xy_camid.y = 1.0 - xy_camid.y; + } + vec4 rgbd = texture(input_rgbds[int(xy_camid.z)], xy_camid.xy); + if(flipRGBs){ + xy_camid.y = 1.0 - xy_camid.y; + } + return rgbd; +} + +float getMask(vec3 xy_camid){ + return texture(input_masks[int(xy_camid.z)], xy_camid.xy).r; +} + +#else + +layout(binding=1) uniform sampler2DArray input_rgbs; +layout(binding=2) uniform sampler2DArray input_depths; +layout(binding=3) uniform sampler2DArray input_masks; + +vec4 getRGBD(vec3 xy_camid){ + if(flipRGBs){ + xy_camid.y = 1.0 - xy_camid.y; + } + vec3 rgb = texture(input_rgbs, xy_camid).rgb; + if(flipRGBs){ + xy_camid.y = 1.0 - xy_camid.y; + } + float depth = texture(input_depths, xy_camid).r; + return vec4(rgb,depth); +} + +float getMask(vec3 xy_camid){ + return texture(input_masks, xy_camid).r; +} + +#endif + +// Helpers. + +vec3 project(vec3 point, mat4 proj) { + vec4 p1 = proj * vec4(point, 1.0); + vec3 p2 = (p1.xyz/p1.w); + return (p2.xyz*0.5 + 0.5); +} + +bool frustumTest(vec3 p, vec2 ndc, int i) { + vec3 d1 = cameras[i].dir; + vec3 d2 = p - cameras[i].pos; + return !any(greaterThan(ndc, vec2(1.0))) && dot(d1,d2)>0.0; +} + +vec3 getRandomColor(int x); + +void main(void){ + + vec4 point = texture(proxy, vertex_coord); + // discard if there was no intersection with the proxy + if ( point.w >= 1.0) { + discard; + } + + vec4 color0 = vec4(0.0,0.0,0.0,INFTY_W); + vec4 color1 = vec4(0.0,0.0,0.0,INFTY_W); + vec4 color2 = vec4(0.0,0.0,0.0,INFTY_W); + vec4 color3 = vec4(0.0,0.0,0.0,INFTY_W); + + bool atLeastOneValid = false; + + for(int i = 0; i < NUM_CAMS; i++){ + if(i>=camsCount){ + continue; + } + if(cameras[i].selected == 0){ + continue; + } + + vec3 uvd = project(point.xyz, cameras[i].vp); + vec2 ndc = abs(2.0*uvd.xy-1.0); + + vec2 uv_ddx = dFdx(uvd.xy * rtResolution); + vec2 uv_ddy = dFdy(uvd.xy * rtResolution); + + + if (frustumTest(point.xyz, ndc, i)){ + vec3 xy_camid = vec3(uvd.xy,i); + + + vec4 color = getRGBD(xy_camid); + + + + if(doMasking){ + float masked = getMask(xy_camid); + + if( invert_mask ){ + masked = 1.0 - masked; + } + + if( is_binary_mask ){ + if( masked < 0.5) { + continue; + } + } else { + color.xyz = masked*color.xyz; + } + + } + + if (discard_black_pixels){ + if(all(equal(color.xyz, vec3(0.0)))){ + continue; + } + } + + if (occ_test){ + if(abs(uvd.z-color.w) >= epsilonOcclusion) { + continue; + } + } + + // Support output weights as random colors for debug. + if(showWeights){ + color.xyz = getRandomColor(i); + } + + float penaltyValue = 0; + + if (!useUVDerivatives) { + // classic ulr + vec3 v1 = (point.xyz - cameras[i].pos); + vec3 v2 = (point.xyz - ncam_pos); + float dist_i2p = length(v1); + float dist_n2p = length(v2); + + float penalty_ang = float(occ_test) * max(0.0001, acos(dot(v1,v2)/(dist_i2p*dist_n2p))); + + float penalty_res = max(0.0001, (dist_i2p - dist_n2p)/dist_i2p ); + + penaltyValue = penalty_ang + BETA*penalty_res; + } else { + /// use uv derivatives + /// \todo TODO: check if uv needs to be scale by screen size as needed in unity hlsl + + vec3 crossProduct = cross(vec3(uv_ddx, 0), vec3(uv_ddy, 0)); + float transformScale = length (crossProduct); + float weight = 1.0f / transformScale; + penaltyValue = weight; + } + + atLeastOneValid = true; + color.w = penaltyValue; + + // compare with best four candiates and insert at the + // appropriate rank + if (color.w> 1U)^(p)); + uint h32 = 1103515245U*((p)^(p>>3U)); + return h32^(h32 >> 16); +} + +/** Generate a random vec3 from an index seed (see http://random.mat.sbg.ac.at/results/karl/server/node4.html). + \param x the seed + \return a random vec3 +*/ +vec3 getRandomColor(int x) { + // Color 0 is black, so we shift everything. + x = x+1; + uint n = baseHash(uint(x)); + uvec3 rz = uvec3(n, n*16807U, n*48271U); + return vec3(rz & uvec3(0x7fffffffU))/float(0x7fffffff); +} diff --git a/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3.vert b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3.vert new file mode 100644 index 0000000000..4182bac4e8 --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3.vert @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + + +layout(location = 0) in vec3 in_vertex; + +out vec2 vertex_coord; + +void main(void) { + gl_Position = vec4(in_vertex,1.0); + vertex_coord = in_vertex.xy * 0.5 + 0.5; +} diff --git a/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3_alt.frag b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3_alt.frag new file mode 100644 index 0000000000..7f9bed7c1a --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3_alt.frag @@ -0,0 +1,247 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +#define NUM_CAMS (12) +#define ULR_STREAMING (0) + +in vec2 vertex_coord; +layout(location = 0) out vec4 out_color; + +// 2D proxy texture. +layout(binding=0) uniform sampler2D proxy; + +// Input cameras. +struct CameraInfos +{ + mat4 vp; + vec3 pos; + int selected; + vec3 dir; +}; +// They are stored in a contiguous buffer (UBO), lifting most limitations on the number of uniforms. +layout(std140, binding=4) uniform InputCameras +{ + CameraInfos cameras[NUM_CAMS]; +}; + +// Uniforms. +uniform int camsCount; +uniform vec3 ncam_pos; +uniform bool occ_test = true; +uniform bool invert_mask = false; +uniform bool is_binary_mask = true; +uniform bool discard_black_pixels = true; +uniform bool doMasking = false; +uniform bool flipRGBs = false; +uniform bool showWeights = false; +uniform float epsilonOcclusion = 1e-2; +#define INFTY_W 100000.0 +#define BETA 1e-1 /* Relative importance of resolution penalty */ + +// Textures. +// To support both the regular version (using texture arrays) and the streaming version (using 2D RTs), +// we wrap the texture accesses in two helpers that hide the difference. + +#if ULR_STREAMING + +uniform sampler2D input_rgbds[NUM_CAMS]; +uniform sampler2D input_masks[NUM_CAMS]; + +vec4 getRGBD(vec3 xy_camid){ + if(flipRGBs){ + xy_camid.y = 1.0 - xy_camid.y; + } + vec4 rgbd = texture(input_rgbds[int(xy_camid.z)], xy_camid.xy); + if(flipRGBs){ + xy_camid.y = 1.0 - xy_camid.y; + } + return rgbd; +} + +float getMask(vec3 xy_camid){ + return texture(input_masks[int(xy_camid.z)], xy_camid.xy).r; +} + +#else + +layout(binding=1) uniform sampler2DArray input_rgbs; +layout(binding=2) uniform sampler2DArray input_depths; +layout(binding=3) uniform sampler2DArray input_masks; + +vec4 getRGBD(vec3 xy_camid){ + if(flipRGBs){ + xy_camid.y = 1.0 - xy_camid.y; + } + vec3 rgb = texture(input_rgbs, xy_camid).rgb; + if(flipRGBs){ + xy_camid.y = 1.0 - xy_camid.y; + } + float depth = texture(input_depths, xy_camid).r; + return vec4(rgb,depth); +} + +float getMask(vec3 xy_camid){ + return texture(input_masks, xy_camid).r; +} + +#endif + +// Helpers. + +vec3 project(vec3 point, mat4 proj) { + vec4 p1 = proj * vec4(point, 1.0); + vec3 p2 = (p1.xyz/p1.w); + return (p2.xyz*0.5 + 0.5); +} + +bool frustumTest(vec3 p, vec2 ndc, int i) { + vec3 d1 = cameras[i].dir; + vec3 d2 = p - cameras[i].pos; + return !any(greaterThan(ndc, vec2(1.0))) && dot(d1,d2)>0.0; +} + +vec3 getRandomColor(int x); + +void main(void){ + + vec4 point = texture(proxy, vertex_coord); + // discard if there was no intersection with the proxy + if ( point.w >= 1.0) { + discard; + } + + vec4 color_sum = vec4(0.0,0.0,0.0,0.0); + //vec3 color_sum_simple = vec3(0.0,0.0,0.0); + //vec3 color_sum_square = vec3(0.0,0.0,0.0); + //vec3 color_sum_square_w = vec3(0.0,0.0,0.0); + //float num = 0.0; + + vec3 v2 = (point.xyz - ncam_pos); + float dist_n2p = length(v2); + + for(int i = 0; i < NUM_CAMS; i++){ + if(i>=camsCount){ + continue; + } + if(cameras[i].selected == 0){ + break; + } + + vec3 uvd = project(point.xyz, cameras[i].vp); + vec2 ndc = abs(2.0*uvd.xy-1.0); + + if (!frustumTest(point.xyz, ndc, i)) { + continue; + } + + vec3 xy_camid = vec3(uvd.xy,i); + vec4 color = getRGBD(xy_camid); + + // Support output weights as random colors for debug. + if(showWeights){ + color.xyz = getRandomColor(i); + } + + if(doMasking){ + float masked = getMask(xy_camid); + + if( invert_mask ){ + masked = 1.0 - masked; + } + + if( is_binary_mask ){ + if( masked < 0.5) { + continue; + } + } else { + color.xyz = masked*color.xyz; + } + } + + if (discard_black_pixels){ + if(all(equal(color.xyz, vec3(0.0)))){ + continue; + } + } + + if (occ_test){ + if(abs(uvd.z-color.w) >= epsilonOcclusion) { + continue; + } + } + + vec3 v1 = (point.xyz - cameras[i].pos); + float dist_i2p = length(v1); + + float penalty_ang = float(occ_test) * max(0.0001, acos(dot(v1,v2)/(dist_i2p*dist_n2p))); + + float penalty_res = max(0.0001, (dist_i2p - dist_n2p)/dist_i2p ); + + color.w = penalty_ang + BETA*penalty_res; + + color.w = 1.0 / color.w; + + color_sum.xyz += color.w * color.xyz; + color_sum.w += color.w; + + //color_sum_simple += color.xyz; + //color_sum_square += color.xyz*color.xyz; + //color_sum_square_w += color.w * color.xyz*color.xyz; + //num++; + } + + //vec3 mean = color_sum_simple / num; + //vec3 variance = color_sum_square / num - mean*mean; + //vec3 deviation = sqrt(variance); + + //vec3 mean = color_sum.xyz / color_sum.w; + //vec3 variance = color_sum_square_w / color_sum.w - mean*mean; + //vec3 deviation = 3.0*sqrt(variance); + + color_sum.xyz /= color_sum.w; + + // blending + out_color.w = 1.0; + out_color.xyz = color_sum.xyz; + //out_color.xyz = deviation; + + gl_FragDepth = point.w; +} + + +// Random number generation: +// "Quality hashes collection" (https://www.shadertoy.com/view/Xt3cDn) +// by nimitz 2018 (twitter: @stormoid) +// The MIT License +// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +/** Compute the based hash for a given index. + \param p the index + \return the hash +*/ +uint baseHash(uint p) { + p = 1103515245U*((p >> 1U)^(p)); + uint h32 = 1103515245U*((p)^(p>>3U)); + return h32^(h32 >> 16); +} + +/** Generate a random vec3 from an index seed (see http://random.mat.sbg.ac.at/results/karl/server/node4.html). + \param x the seed + \return a random vec3 +*/ +vec3 getRandomColor(int x) { + uint n = baseHash(uint(x)); + uvec3 rz = uvec3(n, n*16807U, n*48271U); + return vec3(rz & uvec3(0x7fffffffU))/float(0x7fffffff); +} diff --git a/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3_fast.frag b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3_fast.frag new file mode 100644 index 0000000000..16e402640f --- /dev/null +++ b/SIBR_viewers/src/projects/ulr/renderer/shaders/ulr_v3_fast.frag @@ -0,0 +1,267 @@ +/* + * Copyright (C) 2020, Inria + * GRAPHDECO research group, https://team.inria.fr/graphdeco + * All rights reserved. + * + * This software is free for non-commercial, research and evaluation use + * under the terms of the LICENSE.md file. + * + * For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr + */ + + +#version 420 + +#define NUM_CAMS (12) +#define ULR_STREAMING (0) + +in vec2 vertex_coord; +layout(location = 0) out vec4 out_color; + +// 2D proxy texture. +layout(binding=0) uniform sampler2D proxy; + +// Input cameras. +struct CameraInfos +{ + mat4 vp; + vec3 pos; + int selected; + vec3 dir; +}; +// They are stored in a contiguous buffer (UBO), lifting most limitations on the number of uniforms. +layout(std140, binding=4) uniform InputCameras +{ + CameraInfos cameras[NUM_CAMS]; +}; + +// Uniforms. +uniform int camsCount; +uniform vec3 ncam_pos; +uniform bool occ_test = true; +uniform bool invert_mask = false; +uniform bool is_binary_mask = true; +uniform bool discard_black_pixels = true; +uniform bool doMasking = false; +uniform bool flipRGBs = false; +uniform bool showWeights = false; +uniform bool gammaCorrection = false; +uniform float epsilonOcclusion = 1e-2; + + +#define INFTY_W 100000.0 +/* Relative importance of resolution penalty */ +#define BETA 1e-1 +/* Relative importance of edges penalty */ +#define BETA_UV 0.0 + +// Textures. +// To support both the regular version (using texture arrays) and the streaming version (using 2D RTs), +// we wrap the texture accesses in two helpers that hide the difference. + +layout(binding=1) uniform sampler2DArray input_rgbs; +layout(binding=2) uniform sampler2DArray input_depths; +layout(binding=3) uniform sampler2DArray input_masks; + + +float getMask(vec3 xy_camid){ + return texture(input_masks, xy_camid).r; +} + + +// Helpers. + +vec3 project(vec3 point, mat4 proj) { + vec4 p1 = proj * vec4(point, 1.0); + vec3 p2 = (p1.xyz/p1.w); + return (p2.xyz*0.5 + 0.5); +} + +bool frustumTest(vec3 p, vec2 ndc, int i) { + vec3 d1 = cameras[i].dir; + vec3 d2 = p - cameras[i].pos; + return !any(greaterThan(ndc, vec2(1.0))) && dot(d1,d2)>0.0; +} + +vec3 getRandomColor(int x); + +void main(void){ + + vec4 point = texture(proxy, vertex_coord); + // discard if there was no intersection with the proxy + if ( point.w >= 1.0) { + discard; + } + + vec4 color0 = vec4(0.0,0.0,0.0,INFTY_W); + vec4 color1 = vec4(0.0,0.0,0.0,INFTY_W); + vec4 color2 = vec4(0.0,0.0,0.0,INFTY_W); + vec4 color3 = vec4(0.0,0.0,0.0,INFTY_W); + vec4 masks = vec4(1.0); + for(int i = 0; i < NUM_CAMS; i++){ + if(i>=camsCount){ + continue; + } + if(cameras[i].selected == 0){ + continue; + } + + vec3 uvd = project(point.xyz, cameras[i].vp); + vec2 ndc = abs(2.0*uvd.xy-1.0); + + if (frustumTest(point.xyz, ndc, i)){ + vec3 xy_camid = vec3(uvd.xy,i); + + float inputDepth = texture(input_depths, xy_camid).r; + + if (occ_test){ + if(abs(uvd.z-inputDepth) >= epsilonOcclusion) { + continue; + } + } + + + + float masked = 1.0; + if(doMasking){ + masked = getMask(xy_camid); + + if( invert_mask ){ + masked = 1.0 - masked; + } + + if( is_binary_mask ){ + if( masked < 0.5) { + continue; + } + } + } + + float penaltyValue = 0; + + + // classic ulr + vec3 v1 = (point.xyz - cameras[i].pos); + vec3 v2 = (point.xyz - ncam_pos); + float dist_i2p = length(v1); + float dist_n2p = length(v2); + + float penalty_ang = float(occ_test) * max(0.0001, acos(dot(v1,v2)/(dist_i2p*dist_n2p))); + + float penalty_res = max(0.0001, (dist_i2p - dist_n2p)/dist_i2p ); + + vec2 fc = vec2(1.0) - smoothstep(vec2(0.7), vec2(1.0), abs(2.0*uvd.xy-1.0)); + float penalty_uv = 1.0 - fc.x * fc.y; + + penaltyValue = penalty_ang + BETA*penalty_res + BETA_UV*penalty_uv; + + + + vec4 color = vec4(xy_camid, penaltyValue); + if(flipRGBs){ + color.y = 1.0 - color.y; + } + + // compare with best four candiates and insert at the + // appropriate rank + if (color.w> 1U)^(p)); + uint h32 = 1103515245U*((p)^(p>>3U)); + return h32^(h32 >> 16); +} + +/** Generate a random vec3 from an index seed (see http://random.mat.sbg.ac.at/results/karl/server/node4.html). + \param x the seed + \return a random vec3 +*/ +vec3 getRandomColor(int x) { + // Color 0 is black, so we shift everything. + x = x+1; + uint n = baseHash(uint(x)); + uvec3 rz = uvec3(n, n*16807U, n*48271U); + return vec3(rz & uvec3(0x7fffffffU))/float(0x7fffffff); +}

      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≦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%0DQku-M1U4m)T}+O?kEODY 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 z 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�aaBwp}$$bn$Sy6NR$?y{w197mJhguxMqLRF_nquqR zV)N2!$}?>9I_%k{W34f4^=|cne}oMUmz2Ubk+IfpL5WLX zNx(s-7RW%9R;Jt|j26x>Uqp~4uho6Yv~3Z@7Jk2gFe9uq$8)$TM|3Y)!2D z1gruWi*~n{!SPi9S=jD$dS4~*V87Ao@^)|z;-X2(UP(H8$Bww=i9vx`?}usu?2uGfP9qC?a{y3OkRD1+|3p8 z)8kpo+SBgbt=pLIv`I;+a*E#+sFIRqX1V@-dA+fmydTQ`Z&l>b`~Ox&XWiZ1tJ@wO z!NGS`RZx-K;n_La$%uV0$r(xFu7LrJde*)mjR8)S_4+FeS8iq)*;sk^`7{wnsXJaw9b2v!pXP3Kng$2g>C3fXC zrslRrmi9Yl=I(R#p*K!Z)4U$_ITDL$gqjI0xn#lq+yJx z5R-4#967*mw7hJ-nQ9q(ipBn6qES~FfPgbVOG=zH4waNVNhcx#fxhSx7`isLx(p8Q zukh7`^NJa6KKML!kDfp6R~)*zagV#Y*?x~vSkl_~>cPJ?AN}i53m}6gey3HX-z%hc zR&fRz4FuCe{Ig@?X=w&kerw4q`E2tiI>PI_WX zRa8c95)1~1BqWEz>4*Gg3zRLQw86t{czU{p3N5PGd3o^DRgl=mg%%ln)JA)b#Cr>3 z+PZ!e?8Kl&f(q0MpoRH~Ri_47r=_98D7{xHQEg-)2YHPoF`8l=CprznpZ-x~&SRpT zEMcGz$FSdY9Yy4c|3g&VT%HQ$)tq1!iIY+nlP+S036x=kQ&VckSYur((r!m3bxldD zS?38=pEKa8TPb)=qoW*Ks%s{uyUAE#yLHviOsm_!t07~aY>u1jtq}kh#j;1u#w1=5 zH?oIteO+H41rVORw2M$!lvG)hlfM-?mo@4|c^+P?eDktqC?vPQ`;5yF5y-+KzOKTE z{cVpPZ`3FNGD3F0S4E;1sqT`SgHa=Bff73zi9__SBA8ME?-}nvYCw?U`_C@}zIbhE z;|x-^m4I(C4ZfTqt0xb?n>#w)Fu=c3PSQ;9`;$?c(H@r;dm0CyAZ=#!^58XQU^K$A z2`kw>Ikp@VpzN?1oY9a2##OXw^e_p?<@VLF{+jL2JD+*Txw5beV>wFtyTB-Gt1qt2 zOfT}zEj~1tJm_m)0wy^!PIzBbBnx8U#%no`l*!-Jo&D6e>d^$JRrTFaT$ay{ z&;lJmle)CMY+X$m|LJS#ZlU^0bTc3AR6o_%bZ5G&%GD6v&>+`GpHf_!qK04l1tL5qKHLX@?a2qEE%&>xhvG;N|B?I2GZ zcS2*doq@9S&|&ND*Z#Rry?d{7bFa6zuY0#^M~`zrCE3#B?cD9_$jRWLVi!Ob!1TNA zjAfSNUC>xaN&QcV;Nhnxl3adj-uVzT`N1(kklxA4ViJiQ4UX`zcQS^2A@%WcgXN>? z{yH@{W`v0|$Ji{jJTk~>(cKngM|nc{S#x39V{P;l+`>Z3W(3n{a@?@o0{bOuem=IT zNxl@ed*O0r<#Fc*(y1Ql8mF$bEkb?cvDf;dvAT*rOl}jU{`!yg|pCDLl9jHVDv$En>r-*Ej81p%!iu#nE zQ#mtN$(q@1nXouE@Q6g)#M{E|De!sP6wesxx7OcIw7i)2<<_&EOvGz9e&V$Z_s{zZvhvbJ@1Lf$?IK}_CJ8Kq8SniocC7bf22BTr@UuI zpHA_N@QqzwcHw%%@2b#GSIIDkT3?Vy*5QBR?(;qXJz(@#m?lf1L9gp;uurpiMu)q2 zQo9!y#%LJ#e&pmTxVvVFrZ6!MlGJD6=w0MUxHlEKU@-#^Oy!q9O21xFXdd#m3^3n= z27aKcZ8>}vhQv{DHpZS;hu{-=j9|9Gb+7*c9f}M)V31J8vSudNz{Qnx6$69^6d0D4 zoMI9HbYoVUftKFtvhT;~#8B6n-=n#yDRDN7=eZhHk`{r%=?HF!t-76;xtlfsL-kVk z0xT1f>e}Y=l5T$TelGf^s`}!p`hHY8%x!Q6^Wz9^sBTSnZcT1HJUsJPP&QWdOl(Xn z448-^f(k&4NyGSSta5^;k{UP(tn<9-e&2OY`01F0;NtWLyu-xc^FfsJUQGboFGqH` zlmYxY&j2jin!-{oH83U~PIQ_t$2G+$HolV_0lhLrtKQe7OwImbQ%9tKM8TLzw8d5uZM>>ZmlQ!6!BN z>X0V&jC}tlCnr0hAXj2xQI~!uMiiT!DK|QjZ*Fb@l-JV%?=&UF#mX)sJi~n!^RVng zXjcyhe{3*E_-Dg zbV3GFM8w3>VVmwG{hYly9s{OB@oZ9P#by8q4Xh+WS%H(B5@|dUN&6eTNf}KQuuRUt z!N>YF@mE?ue#+orVtc#ag|NTlzvlt$!>sc-UF{_zfRaG83d-)ZbKBidSADQmT(9GI z8l3}+O7@*4WE?}DBI_&~@ag&5+8tDyJBz7qZkKlMVxErLq#6>f8Ypo!EpXJ$@ib3y z{o!#IwDjBg8N99??cxz9pkM3OY6fzdS?ldt8k?9J+vr~F=^hiETr$v|RFRkeSW=V~ z{-W1Z-(}*pc{79E1;QuG5p)@v{@32}MhL{ou~p^710rGbO*lw36gOowHKiAA+~*!f(f2q^d&K zhtMClv(uO8*00Lzw*u+~4s-II>b&n7lV_!MMPYTJadqj{WubvBMTw!wbw#mdO;w>; z!LhMfO<5i1SucNTHvT@J?T>Od2E2d^b$yL_`kGSg$bCIg21R;?Wc3~x18Rmtq$1oj6WA5( zFpIQFU~aiBWT?Lhl{tS`#e-^v35!C)BTv$V5xfRq>%%+QekCsk$-)ktWUP#elJu!D zehJG6dvn01!2euiK5t?T+YA;({#EI40UjAJvv3S!a#Bndw|J3HW`5oCVce#@+`t^qDm z(y#um$0GyehLb=r9T1U@Z_hM>tT^%LbQu4pIi|k|#z{o&I!Bi_-Y$jEJN)m@aus|<5=(V};uH0n;w03~cFj2MYLE#_uySp8@Jl;EA&@U;acjAE!_WRNC zO}JvVkpBr(%cNm@5CM|-om^@)5Y5{@TXq39q3U?q{#~8UjD=LLI0bt&;(p=j){LYS=k&h6FK^i5^}eA zYYZ;X`MSbCv>$)G-+e%~Z+Juh^Pl-3G5()P)dzuCb46Q8M_XHcXB^eu;oiQ5x#i*P zF$yhq7`2VPy@dkWwQxpac6zdW(ZNB_thSmOBb({`#MGcDR|ff3D!1|osxECYC%?CeR)vkva)L6d{$wyChNi5k!tNuxjU1tnvK+; z#dmOU<}oC8fRJu=v?MEM<1g01eqss$X#0tQEBB37^(R)+PpqHdx=6(B5b)8X73Xhr z&auOvYj4o@n=LnIJwksD>iT8D{Cc!Yy}4p*d@CwMMo1DN>NzeU@kSjdC6OA$HD{?z}b2=6}Gpk8H92K zs3R%D?yD2@M1dD9A~-zi?h;hg;ax)U(y$>IPct5PjnM-47RsMBFmeS8bMd{+Nyhkc zQ7G-E_n<@YtT1SLnPFT)Mz&M&aO<812I^;KIMYAX)jIP*1OaOJ0v-dC4k$Xd1B%g2 zO=+-N)R4sZL@0Z{Xj`|)#H7%Or_>hhJ6=rTnnda`5AZ{>=!6C!Xpd2AM5HZqrimFh zR(`r8UT|Y4kq%*o3&bElfW}~95_73HfsEqw#RHaal92qtNt$4&J$z2lhayU`&)9zW zq5fB_A<+@q)7ML%zP4#~A0Uw*h>YzU!?l|`>dTs`M@h~|Eb;5p%tWd1=@82Yv4qh| zZe&dr_25lE?{xpkZ-(M0yg^@`nVDV{2pKc=*>t}HaySpBXj(72D?Ua#a0BI_3>%~J zhoX;)lLR_#Sew%f&}oKEBE-sjm$@nNbokSfi3Ys}!JxZ|Mb&zmP~{HO`vqRa>a=Ao z0+J5iaKbe#Nt!m3i5dsF1vaFtnBpDG$_Ckmfjp2vid8c4LwR8AbB}E}WgLbYn znWD96Dd|GyDmj0ST^$HW({sHNvOCwWBA{DsR|J1%I*XPb0=$$5bj1gBmUzYfeT`yT zFyAMc6(^Yizzp-r+05-45(3xF=&XyJlDUbuzlFV*Hy(|`r06qJFI3pm{PENLaLaz( zv1IqvUhmc34tQ?nXl`byG3d8GOpGE+jQm8r{CJ%Fc&z+HPh$5*NuIf_i>-;fv$wIA z`EIJ=`}OfGn*av;=;V3qd~#^|_?rP@AVAhfjk6Zw~0n40=NLmSv)|w zc9ei3`d?j|Y0&<@dgaW@3DPw`GKYzUCdGz`TzZvlHzYG_4I6Vc1$h*J$kWv_fMphq z;j`3|njln4=GlYx0Qvd(_>t6=%5?i)+Z)l=5$s1X`#prlp3C?50eZ5o7o>#gGSJpp zWQDp<>Fn-fx=G;fV2YiXN1WMqS~~8hgU8W8fcQe(jG_DNFDxZh^D@S;^7^xLa>?X) zl|V9D5aR3=SBp}1D0fT!AvbypVu9CPW5MI|0~4htgrVL7rRa8(hO#6D`Q;xgX`l%b zHmwhOFU7;$*x2Mz-vI#Dsmg)md<;Lfy0^N!MT7;Zg~;O-YA)W*-40Xl)+aN4x@@~X z%n$q61biX_*F~>u=>0!N?=R?JXIoTPayfi z1kR*Cy)g_-Y&aE2+h-mew!fqx2kF`NaHAlFx07{hwZFrKmNDm>;Ks0M5WqAtXHvoj zEYFy9!^9}R;hLJ_hMXCG^?k(EUdaz#6j8dWMZ$6?%faxML}8{he)va-^}x662j674 z<0m2jFc-`nd_Zo-_7={*Hds!z5ph75eB|&jFj4kwJkv zsX&xNO4wLqk&3+Ll*b%*-uy`VZ+X2l!LLMYinCK7gdnVIpbrFhv=-MiHfMA+7nSrw zZEu)tPHZx^idNNiRaugLMM+W`I5}C!Vo|ZB4hNL!P)O5P+S=F!@H$>%5K-|zXJo8^ z%1?`Oosz+xl;7%rS}Bw)E8(Ld)iNHK4Vy)+}u^dh;h+wMi^U-&a#_ZY1ev6;jp+A$Ki(O=h?c8%wFd^yLCJ*LbD8I&iS0(4b!TrzZb0=Vq``100ftxc_R!nr`cvW;``3pTaUit`meuNZt zk&vvw$NO%M8iH&a&W~r~MPA{vC)xD(4ybb`s7qZ&)vO+hIxn@jfI)1|N22e65iE0i zQH_ro{7`m6s6yiMLgFkyhKLFq8k!24HNNiQM9{{c2)ux4*Y@29Txf97+lb%+2kNou*8?hWv?rbV0fjFv~02+FI#^ zM5mxrtBiDF9Ua2VOyZ>#t)BF>jBH3~&o7EbQH&F8^n+$x>~Z14_?+}0D@^>9C}cUt z3J`JTbeogoNw;lI%2~Q-@7pi z%~6mLW94N6hMB%QMajyU0-Rbq)RMoF@qpuN|DXiSV-6F`L`4My6T|Q@I0ilb zTEKs0*1YT7KvS-*qZlTLDE<2k*PNTPo3mpbFV7+u_w+Q^42IQgIuurt;sjXE{l3=H zk-iHG`}a(G+QBbTDYPnXtmHVze+>~jMO=_LaDyFUaW3^JcsmA8LuPn*({ZSWD)D8B;~}%T+uX zx$}s071Ke5W;?Poe=LyiTJ-GjiZ@@yCzyckh3 zC^PdVip~zK%8Q52k69l#aY1STAOHKy{w_WS z5iUti#?Qo5O)U)#bvA3OU}I5n-9Lqh3TgJ*mWCdeM#3>twN@M*;-(}*(2gm+pIWNx zni|_%%j;WP+c|~!Xm}X-n1ra1?F+Q|BqfW$RbLo*SSf%p3InqsKRK|4rWWKDWcy;wIGBKgiA#(@5R|_bDg^@nDnjP`P?+nbM^^8QwD}|gN!9Bs@D5$7_x&aEjx4wvp_f7of z!^R?_{W12M=%3_BdcP^&`P?P?GoJj1@@smkC!gR#rArXfxG^*H2F!^f z{w{>AXoR&k(@N0^qM4P@;;HWe=e2=CNg8vSJ^aJu6x?|LH^|G2n}TO?xSy}7P)wM`MzUIAWdOxt6^`TQT>HU@poco=I>;}%%4BA zvyzxtL#DO$EQ;U0{^^K|ga7^D-Et=6(O-cBXAgTtgVSfcFP2wIT~n&2rkw znm^NPBBJfYP%q8EP(ja9!^~8}7|y1t5-zj!TudaQ@8YJ9Euyj*V&Ep7_o{3B2?Ex$ zo>HYodj%o5_cNhjB!zTHWo3i>LMT`w#zvxM+f5!J!Y%{s(BGAaJ`i+i2?!Ym9~ZdKKvHsZw||8HODqG{;w zA1KC|s}lw!>%W8#j>2Uu$;3$J0!XH`X{NEz zae|k%^hl9~`#)1ekESFh_k+QEMRJP{o8FGdT$%%K>WQhRu|BCaYZoVkK-QC(P)L~H z9kUp!~f+Ob!^U!nAc&wE%flu z<@zAs0^8qM1ntr;mxt|jpZJUa!_zqiRsKF~JZ#pcQyVw8+1jwVHruvsZyQf;vu)e9 zZEUu&`T73-FP@oZYMRcAb7nf{zU~X3&Aywq=+D=lhduP>S3!0iFWZwHA-F^vu-VTc zYjhRuwCzsPOkh-4=pBP55}YaBPRBPjp$Fb@O@4lUZe|Cf_-qD47M1>PS+WHhj7q3% zUcM$a);8Wq_vL+y2NW~Pp}@8#1u5}1*=f_}1+ZjzC4oN;1;VPfiQ;ID$G0vN8^l&6#=0A~dB zpZ%Y>_hi6ldd%Uj4v_v|whV!_8KLU>cEAL5UrumY-*<&!t^+3Pa7o&lqp*6M#(-{5 zGcstVIe8W&%AutZD5IJf+wJOOgEWAlwI>ZM=+Yv^ng~bYq&RcFn~d|aCuu8U8U8AeZl|Gz~VthB71n4 zaQ&k9x}y&cb@@k+P6A$5H)d&TY~|v6JL`G-4-SzI@Huu8*4!?)L?h00Bsl*Xdb~Q` zpHErY@!OH?xTN{|JR&F**a-+4v>m9mi>1@C{j2W0w>8;4KRF1wU&=x!d3l%v2Al-! zI-b7VL@s4<==p8-kK!sImBlDQk~(dDm38$}=*;81R{0p{c9*a(ep7PVWE@>~4W8;@$iM;^t8peb+^b-^w+;KN? %Yt*e8J50!swX26^b+8r*} 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

    !B8u9d8XDZ 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 z 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�= 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%0Aa9XbOaU%dwdQ3DQptT2b# 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�igc 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πs+sgNw&BLEc;H!faO6ldI*m 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

    0WA8OuPQC0Kz#TY@_pZ?@!l;1E$97AuH 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� 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/jesnault_git_cheat_sheet.png b/SIBR_viewers/docs/img/jesnault_git_cheat_sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..aa8b4836e7d6efcab8a10fc8d68878fce0ec1999 GIT binary patch literal 403423 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%0A^%jtZP*>+MK3fKFLLudi6gfcmS-}ayHQx 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

    yr1zYiv=}mAHA40`{o^ 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 literal 0 HcmV?d00001 diff --git a/SIBR_viewers/docs/img/diagramas/sequence/Unity/seq_unity_ulr_texture_upload.pdf b/SIBR_viewers/docs/img/diagramas/sequence/Unity/seq_unity_ulr_texture_upload.pdf new file mode 100644 index 0000000000000000000000000000000000000000..495b4695d53557b80ddda234cda6957a3c6ee740 GIT binary patch literal 616251 zcmcGX+m3BVa$VogSJaE)8&s;=bvFb7g4#CV3)EK2_JiODnti%SnU^-nw&1Vyga5$( z5sxuvWUf`4l-$Ol`EodS=E@Zrml=_<*536Ge))@k@kjT!k01WQ|N7tm<9~kmaDQ`m z^X-5Bn-4cPH-GXcH~zzafBaWp{_xeun}76=7yh%~|M11P-<>}A)$jlF-+cW1htntj z`s089+i$=7_4lWb{`|X-pZ(xv|L*r+e*Rx>e)aLc{{G`PpMSjh#h0J`_Pfu%zWL|B z{*vK+lV5)K?XQ3T`A6n|``vGEfAihPk6(QJ-7PbJ_r;f=fB)sTx4--KZ*CF)U(P3& zU)=oV$N%;vBj4;ba!Wq=#b-Yt|1bX8i|MuHo z|6vpVid+8fdIhNXH8Q{`-$>%DUt~eEIQjKYsVi?>_$K z<990b`+=Rcr@o4B z&Bt$k`@v-_Lhe*fY2l6$}Z=eytj z^yh#1FF)MBlXV38$q$kE-*K;>9Q(-+x!`((gZBnz!`FDGef42&@ZA>YX7B%Di|;=e z#1^lG_ zxZ;SpJ^zS1{~GuDpDo(guHV9Whn9-BmM-_>%QOEP->>{;Z{I ztT-7z`|_vz(!;}W;`q|wt);hn>wqyH|8tG^{GUflE_c?_;H@QZf7a49-t(81K1D+> z38SaGt)V!~U_}akeOi9h`PX>Q|5OdJJX?3U(NG*_aK&N3+gC%Ke~tJ2pF>0CpO^ck zp|@ykFd_}+WHde$zIwUFz5Zw5qhtYZUk!14{%3H-5p(-$2=RXk_xksI^mo^YGy+^@ z*NB7v;H>e7UH=Jw{CXE6ynh)!d@b<}{_4Zv%O%DEcm6fr^FPs#T^@b89RGZs+aI{% zfW1BcRGgo{bNzcOeY%#OF5}CimBCv}uMbm6kCv|Sp8xY`$>rGm*3#guC2xP$(ly@m ze}-sZ8hM-=@wH{dQ?VkYEP1{2q^RNQXV-Yo|5Ob%VY=LCC~-Kr;xORttD(-n#(VzH zqM>Nud28qrXBmu0#V<`1TVvOF&;Mi%m6^7NxIL8>+}8f2OoZthN6*&mDlg@->7kJ1}jqV+huCQrLil#=YOIfXZfexel*1G zHy&}&5VwyX&-`nwI2k|tu_wxx*PDB4g4cVrzwzVk!yBc-?c4J`qYt;27n@Hn{Buul z>GApI^A9htw~ucZ@cr%c)6L7W^(B%o*xqW_h-TPb6=a30lhstdbxdhxOsiNy}T&{bMBq{c>Da|x}>dFM_)4fc>9VB3q2us z=XR7mXYMo0-&43eJZIhKXVB~IUF7Ai_wM{PclB<{@OFD)E|MUM2<0Hd<@TP|qWFzb zcKX2HXc%(I(nAqCd%Jyod0L~O`zP02x>RYk;!{gkQ(TCe-9Os@s zF+Q;omb~lSjzUrQjy}bk9&aDxFPB*7LHV-o9j>g$Jm3=-_N4R|H4eHw)VDBx+__-%P>&`C@6}o5BmYgL+(i%UiqWNQ;_>l7SjTn0 z`0)CSKe2LJ&elGI*#V(S+JwHJ^@M9oEIfDoDRGJqvy0c;`$Qu5#vdtipWHtN8!i~3;Y`i-xIB^Ne z{@@%Ugt_2nefQ}WV~B>4*yKj&KrdOiy7@|(PP#fUesj5?i#5*LEDE}NRjMZ$OoVwv zQhfM(dD6l#E$oSQ zkUQLZjbZp`58K{pnQM%Op1hu&KGkyXF(tB|NC&sqU*lJIoBKaJtK%!YcCh4K_=^ws zl(QtN9UBX;Sh%NkEx-NL-c5jkyEv?I9g9^h$3-fL*)MO!Nf+e5t-Nss>kY#&J|5;EWEU( zjEAnM69%u?*f_DVca+!=#os43f}1gj4N-KF*bs%QCpN@RYHUQS!vv_$)35uR*bpZM zgSE#*8L=UPvYngQ5XT!68(KQMM+peF(8R{Vhc3>3W0iRCc}OW?ZgZeGF-)Z668F%( zo+Vq%C{oMh7CnP?ybA{!D<5&Vn(AQg>dwg{MTr4wJ*yez4a-wexGv+4$+! zqH&EjG!Dd0-_4bD8I8|`!$rf(xQcV}f<_`WRIFMw(o+(|GpjRFqdUhlXK(sHVWGFN z?~dUl)mbtao?0!Xo=xmTgUu@Vv~yFU8PQ||qte2Tm5KP;JYGpGseR1Z`#>PQR(e5- zi*qTRypnJ$N+yAk>K`U0Mw836O{`HaLk|bDRWGsYjA9$Tk}F61?wob4Pt@tu2<{a$ z61gDlX+r>sD9W7++g3se5JZ9IDD`-dcfnH8cU#-hgC3DWDq8B?um=86o6l%e=Lu*q z&dQP^r68-!O6n|OS(!9G*d>{(Fd!8T(ynEV*(;meEW&Q1CuX}J7^Ev(Qi;54_{2KS zPsXcpx-v}kO5Bb2sT*^AVkfx==cuJwrlWc_mUb)5m4@^_Eeongv;5AtU0mc4YYDslIXmSjV!B(Fr( z+C9j*kl)5eVXD<$2^yUa6Wnz!cjb0y^j_OpUk9ajMX)jqv9Fe(*v^gi38Bs%l+(t0 z+cX~#fK05dwHC=6r5v^|UbPbiUn_~Joi-*lz8KexOPR!tMf80NQjrb>f@}xrXTu3I zis^b~B)4G9Tr}WZwyO?^de=o2t^_0KQ#B5#ynl~*${)#Mam_@SGFZZLB|Ox)hVQf> zG3H9xOc`Kn{y7lqD8r26RYnc#dL^Rp4>F{l;lm}bE`jwqle<&T1!z^}qKAn$kn55T zYJ-d-8k4+IiE5vEm~+qe+7?t7Ec%#uE2SD2%7wig#n;svWsXu29?duuL26?-18dbo zbxow2T3~jBwYsB>Vy&Wh9oFhPB=)hED-lZ74bEYtj;4Z;x2%RRj;30Uot3xs7YIW+UjAGzk8Ft4@l^#`fE?Ux->4`?i)u;z-HC~kS zAPmR5e>&EVnZY|oE>oke7#X}{>fQCR;l;x-_a}za4ZMs;$7)0scuowO3lty5*F?CZ zkurT5acm6TIEq%->3AN62xi&&+|$`xPI8I1`emDH{__!icQUj3lZS) z=!IL!c%>TbVF9!%j_?-`JJJE+WBeV7Qqh$YkT>;Gkn+Z97N4+FYs}#qw6gjk@fCG8 zcU8htDKc2PEwp^_z;1b=W~>8o;#Y=}4m$^H8*sflE3+GA!bE(?SbQ=%tG=h&Hc_zG zVSN`E+ZgGIA#n5(yzIy*ch$zJR*BonL`k3w+^3`ILJ(N)=ImR^&`PYwz;gArskegN zQIiL{k^t1QvpI_umXyY zCwIk&pqwm`$Q_;KcSrBu;Kaju*n6}7d3k+g1>br6sn2=m5$E^4wd2v`yGND2lsQlR z=2<9>!@N0%u3r3)Sk~cZ0BT1v=753eI=CnrWe74U_gX01(+8@L4v@;%Y zTRLr6j}%Hz{+V>Z()O7_7t}KS)j{-6U>a(RHR@rX78n$2XRv){&@1H5T!PV+u6<@2R}VOZ>%!YU zdx7dBgMDW33w53n!6m%vaM@`^?OLWl`j?&&*mrDo`rOmit~HitNBXGuVx=1N+R%NKLeMTZCrXXI`T$!8UUx zbK7TjU1W^L?K68aGPGHRb$pM`5cE{KOHU*_6p2J>Q~ zceT%qH@%^FkbP#*Ga8P(_L;#C6wT9T24zzF%!8r_`^Cm{pBemsp_ps;6!c74Fo@;!uia-J-O#CI;Lz29IlB<^8?&0aW43)}&?9M0 z1c`uTtmwi%GdRZL5|WED>)906-GPsDGS@ycqtEarqZDD;E$rbXdKG&wm!K3PXt3%d zj=fSs#4Lmyi0>r0E^ex)AQOjS(CC7%^DKne>NIm5-MV=1H&$%~m-MhbX|TM@#?$AO zT7HCK_;%?bF>id0)sSbY=`%-TC#+)ed&YbHk1%3UiRAwFnHB3DuIDrUPX5%P?KAHk zO`jP>H8!Tt{3E<#!(Jt<&$vD;;_wDCHm1)!h{}O}DLG(|Qa54a#)e~h$BGSmyd(o~ z*G-=ps~Q`QQMG~^8)CKI*bosiAY(&>qv}wJjbP?BHiF`@#>ODD+t^rmX-^q-`fI#m zW5!uq-K`xpHbnaSij83O*4PlKi^hgXHm0;oY>26e!N$h)nL$Rw^qB{#8~8tT#3`rjraZHU{n3SoqkxndH#L?lY5{WcS@?2Iqki{SNF4%IYA@0eb6` z0x*e3&DtEIZ({Axj4whPgWMrIKaG+K$eyfZok$;1|M&196Q<{w`#gANWfTPx1bN)N zk@ZUFcJwaYCFX`aU*gx$2zMdH)&jQxQ!qAqp~>SE9jW6{{)drl-WH@xWOIY<+_6JaK_6 zQ-~$oJRs{4)714|nDSV-^v+*sGhb-c?WJzoHc2caM#a3#LlHNftK0g3i z>y|ZUuZ{B@o7}tp&ukeJ)Rmv?a)>e}pX3zFC-rJ8(cNc8>N`r7cwfsM8z*=hu4II= zGIs{I29H-`TY8O*=5-g4Tn3^%bFTg@escF9HVSHvz;}YI^g9>VXSDp2PBNM@+r*#P zEn3`jWis>?&x8qr@?wd133IuZu4^rVmTit8J(qwI>mVg6>fSKS8pZdhR=qM_0heT* z#RTayBZDUsbxfaGi4aVLpvns`urAmFk}M%BkM{A_tXo^ifQjxIg%7aJ?o#3jwf*ih z57x)z_oG&_>t-dfYN>_MH_wxtpFXp3;&TLgf0R@^!qR6Rq~zs<6@UB-6A^#$eO5?i z@rs`~7dxcV=F8r!i|vUF?1H>=2J@pILj3rjacXminfB=E;ufi0<6zy6H3T(e#;F ziPwj@3*DHkqlY=Scx8AqdRjh6sfTL8VxzRz(`Uvz=#FMJiWSh~blKBq2EXO$S^CVg z2c>E)uy&L_^B%=okt;9%*bin$cxcWmu@=7WDOZlbJMeYSxazp5K3K~-+Uhx1hVvew z96dyy#h%T)VAP9c^V$^16Q7aq-qL3tRIQp5*J%38pckJ`q9Zex*{3m-KC@mynX)v9 zM61(}2CLsNT>HdF%oHCn(Z2FEK4R+K^`|~F`s&#?oz8GMy-1^qUT04X;cJl9iQJAy z)9K@M2WnqNtc}~3nf~PRt@bhpp`-Sh_bBykSSbE&Ke)_Z@3&hVo7x+i&a#ZkB@4k? ztrVFnYf!tS*PTAIRwT_hcPb7}+seRQ6X|bOC+#yY#;{Y#I%NpwrZK!n(`N?paw%6* z5u~n}szIH_ljPLt9V?Ob5@W6Y+ATS-@-H+QYvx*0wWmwnpS&a1HsE-7S7tYfguF_` zm^sUA8wPQAFbdUwG?6~DcEqXOo4vQqAYj`D$Eb~gcEz-@)oKrl>V;|w8MqH=LcqRxOlMFBqdCb;G`(?Lm7W!ehR2W>X^H+N+aqZ^ zo8X~)_DY#IDBUy*u49xJZ=x(??G<{~@3v)09AW=zKw5zd+GF2rP3 zx~9FWK@~);aWUYmckH*~xMC_N5e_0E@HV2YD5q|WQ~GwDGG?u7Y@_i!?me=j>_BOQ zq6>CnmC0I`;UkxQ#u>$hKo1-Y9HW3>u4RFHur1+ecVOwD#&u)IK+L5WfJz2y4?J{T zNr`|;_PW^4W2IQfwlRR!d~HHL3>ZO73ELT}HsA z*&EuAt=yxwcqVsxR~7^<&qk4%8(h2N8Snfcp0O-VG30YER;VXn8MMrL;S{1Q=#8*e z8)%i)k&Kc#+Th+6P!lOg4bk)D-Ld33@Zujm$j1&Htsb#s)=g#4`p+B{ybtu?-7@OK zi390Z%CJUhJGLx{4D15yaXkUA7ob4qa#vKQ&$tp2WpC<4M3T!GD0_Q`fSv28#bABW zW*`PeD4KVFHI{ zx8J1L+8Fd0DYG)@F03*BNHTvOo%b;Qkp0G!8M~vZj-OkBk#Amy$sj|MY+?%N#$LOJzh7bFQ`{zlABuOI*ngQ+

    x1I~Q5_*ozuw^q?mCCgm->rN%NzvouMfo_mvaQwvaB7nf43-Rx=~zcEoUan!tV{Yhmou(aJq{*cYonAk z(1i5foRln?w|~>MU&`7*f)#wHBL1?sv#c^6RFTDEbf<6t2;k2 z_m1TmKjzjtpeN3`H>iE)ofL`N&8#l@o!C|;WBgk#)uB6q5)<%O;rd%H%O9hNFRR*n zkxia3yra~Xem8<^tDHUi>#xKti;=kdxNh=$EzIc3;Uv7dU-GlACj)6`bP`PX9&LKw zLVX*$3V~>wd({O?JNHKN-5OW@;oyzglI0+Da7yF2FAGdcR~ z{x^ELDvLR0Zc@7Ev5QgSx!=suqgwWN{6^u;{~h<@nHJ+M9cwI`kAB1F!SDRp?-SLB z-}~M5zv1!fXMHejR~FRT6mM8pdrmhrJ^RW$9gR3@cPN4#LH1WN&7!0f4jV&w>PC$j z!fp&k=DKdg(OgFhyO5swj*s%1ziQ)CFYZfBk=K~UC!b)NCp6Mj$IHkC%0KX&zPZR->{IFW!-1RrZ{!O2Y5xWP!>sqB)Z2Gf`VGX;}-;I+wc|4F$6jecpQMuiqd8W2@6@W2dw_ji&YTtJ7Ge zH#?p>ta=z^L?x)Ef3TJALG6*h5Y#hyJ3D9tXtdR~)t?z{XtVl5Ar%p3 zXS3Nm{wAWZ1iH3+UDbPh^He?XS4~v&x0ln$`LQ^4U3mQ~KCsJTno{rBC$?5a)}c|i z@vPCt3|Td7w1K%7{-Pj=Tn(f~AnycPT?F6B3FTdXHJ3CRf&k-*_(^@e_D1paMk&}? z%6KA;@(7k=iS8;R(Hosav+?!TMJ9}E>-=)E8Xd-#%O4!=I7Wm6Y~an@bwsF=$3of? z5%l1VBCH-nO*NvHFUwa83`FgYtBkSZ&Gj^(&Kq*F>+Wksb6nr^>{kv&O(i;nn6bwP zTc^F!x%dNHu&y$IP}z04tCoVSTo;LqdMNVbomFY>r`xmF)R$=L+{-5Hpp8S$<#yiZ zMlYi)FnYBTG_FtSyk z`B>9;`?3B9<43hd==x{giLS?a@y;{f`9JPIi6|4Y0<`;=727wz<@K<4L?UCO@-*Cj zhSGrle4kr+D>D9dq)sf@>eqky#N{c{6H1GX;(gnks8z4^-$Hx9OjjO!u-|!;% zb~oQzucNyP;+v{*wt$_~c%cxQJK?JJnzN1DnsLqu(Zgblg5{m5y7|pKK z9kt>7z?^FVQCZKe>l)FfeSV^;c{WFEqFEcwyF2p*cj8x3_3wtn`6%pN;ATBd$jlB< zkQr8~a!J`ux-Ukv1n$+# zrwvGZqpNlZITvyrQ{L$HOl%OeXc_yks1`O}_~*+h(RNpi^;`n^m)$S6Lv_@y^*I#G_KS)j^Tpr3vQ3Fj1w*YNG<1z$Z{57-4C|k2DP`^IXOt5j(0ZK zog~=a2nl2Jos)yw1yd3qzPQs?s6frz(QWT=c7WGcv9+1&-spV6T{suh+IAnH&dJTc zc8(NK?aNsX)@CS{BKUfw9eX%g;2MdG0SQr_;SQzw! zh0*4Vh0*+rg|*Q)3xmH{*zZ@2uCcIRcPvUT5^4R#)xturTHfGWqTD9fMtlFWT>vUG;UqEvws|-c~U5Bhj zoiHvB(UqUt|U&2aMoQ92#xD4?rLNbIIfFCLvn`lt|J67*Ej#oq;-9uJB1=` zwMr*cgho{ZeDQC6)uLY6*8WA@dUJ0y`QOn+?Q>=Q_vF1erAX1&A%DAA8b?`R#X-YM?g3A9rt@a?CeN_FtgW5qNY&(Um6 z`{O}7Rc*1+SR6|kPqFx{Ob~Wgs|6CDM6>Zn{^bw-r&hymb2Gmt(wfh6vj@NPXTQ(&hu{0(^}k^v zjHEJRHV*c=nMiAoDL|JI5aQW)(diz9(cSe?|${%_YYB zYdvFQBti!M9?W&-_W7V9ks}$`rS?w-$ke&8-L56tMAzA>+XtN;|K(Py`9c zBV!@&YLsERNm%!^K7q0B!nsqsK=56Q6V*IUt>e%t*IlEq@=_LMisNqfQOZ!)qkY{g zfW|R+>UttdwSKeGGD?vbbxunkHowvC*w+w9&ZSrl`GovIRGLNNjkbkwrJhfbcE;LO zG+ruNgrl-7NE>CeU>>c+(VlgPJ*-Sd!<8Mt@f=Rj4wQ|J%K4z|iMtj%XQi+{uA}2h z=i+~*uaTRNd#>8&!g{LHVkAOS5X7#0tCYVIv~xU1+4(q1n`bi0DH)k(|ufbp=;D zAY8q%>_j32|3a_5PhNW*=3bvpFp6Xp<6(X*`KxA(;*HxYxPL+VJCCOK(B6~;?L=MF zYItLD$4X`6B9_3NZ!UscX;19Q8lMyD3nPG#TArY?u}@fUv>pesT^B>@^Tc%BVYnu4 z>6rFmCD$G69uM6~^STSXSVbhji~#a@)f6sq-JKa*5!I~&jHe3*;jlx_g#_g{Tx})5 zZ*tbI)V|hT7I^ZnIi6^mev`BNAhn~} zhCtt3Gl{wD2N->xAa3;WkDjIO&0FgS4!`{Xe;eyg9@if{_^Id5{NM4@51?aDNS=P+ z!SDRpj~qge*{jTb>i;wUH;i}I58OD|en6yE)(?m-63a5Nc7g1S@SP5dWDuIp*%xaY zUF<7nU;6=&X9if*iVvy+hBo)<2{-C)z`1(nJ3baMq?A1ie(lW$-}yHW9}DokKuqyF z?m!g_F@AlpbqCZr4lK#NL3Wg^MMH>We2Wm*u@=4twKLhC2Glu1XmexK8zrq|8LlL5 z`QG7q3ol*)cfLjQ+xu~>brsE?08|g1#G)!=X!mL58^!!;5Bidyb*lkthZn4>cmWj4 zU3+;okGB5GoZxQh9lfn1Q z-VVgKf}M?lMMTT;Z*Mz+i%N{-D4}d*jkowqH+pPH$tY+q78NVoC-Y6pb(-5JgRk2{ zD}B`2$@a+)diKc=-agqY<+1IPT^H%i`SQfO&iD3d_qTS41a9tM=Bev>qlSwXy^Z1; z>l)Dr)1bGk%et%n+U)LXOkq*-M1Q&Np=Y1`!35Sjx_$C9M&h(5MScXmUeOEzyE2^Z zwP=G(c+&0#bZ5F33Gd#?%tpIA-zmb*Hx(Xz1CP$Hjh-L3Pi8DX#wN}!WMiU5M7{X- z$&7tsD^5^iEnc*;Pj-fO46D)D2wS;N2F1zSCxhw_2(o#PRMHy!$H=ELxH7_u@ZS24 z^|0!zrEU~kY}9?SmfAWb=pwV6@2QQW)-@&4#^3U*(cgR#pij&QcRk``P@FEhs)^D5 z_Dcg}J`(Zo7wvq-Y;dU9}srIvL7{TJy;phqZHYZrRi^ ziMrJ>k_uW}e5d=|N2CRb2|`0u#}3l#*-)8EG3^`YQhfeq?x*jwD!e!@_(C+kUkFWq z%;m9`qqpaw?-L~vp|8!v7frY*i7vL3o?V&Jmo(0W(vEYcTeXNL$9O>R&FyqtTotR@ zXtU~60NeRllhT5>uv@+y?*su(-EWH67Q zgy~9E8zvMS%^R_zy53lEr(JF*02Yq&(4qRYtm zUwjfGzsS>Pr02+AlzkxwV>E08*8+*GGN2;sMP>RsN)zoF(1XXIA?p`RXKZmT5}N0W zEl#-|C0Lc1tr6Y$SgjUiv1h*1ZMzjRFOa^z#U z6Xz_d@2PNF@^=g)c=ql1#d;olPf%!p{^mQFr|X!c5ol`}2~e+bak+`h_4V~HfBU@? zUbs>IT1;<2A_Z51+WptfpcU9UMTVJ;{?!?or!yT<5mxp&x2>3?#P;8Qtzl)I416Kd zY0x7BxD&w}g#lzg7{R-+(^g*Yna98<1JUVdyi=Bcp?aGKFW<1CU$K~*`QU@88SGTP zFs6nbnO&q)?+=*;@JAkI)SWDH!5PjqmO&U(R3^T*_|ye$f%fY%U}!DVc?;n&{iqYu z_eRggu)8*Wo@SQC;7%o|1j;~i$bWStFQOin#W(uVeLI5RF;};v(bw%C3QJKwL3<;r z^iFqA7mA_9g?96sIW3h&qON@OBN~gh8zoX_3${5%YW*>G8%yDsjnV^~0q2hx4K*D@ zzGWOv(;sz+&V5cf&5svdJ-z+O69+$Xvux!p_?~3m?&ojc>|gE^={d zvXcnzlGjLpvJu=9q)O!9er+JDtX~7QLw~wCzPq>zfzkfv8dL4)xpMWlQvf1S{spF zfqtv5sNFo5C1^wEITqAY`3A2p(GE(Ssqnvf2BQiptf5pdJ=}1?{KCx9L zS7I5j-42zU8F5_LXe-Q~*apQlT!fS$&lB+_oV+`?8zP6~8p^cZBin{Liweon=sN~) zbhcn_?04B#&^eb_Tz*+|l~|TKuKAWfjW`_7u1~c)Oq{IRaiCo1`8$p=)wttl<(Anz zepb%TctkNK^&!UOpWBJC7LtMLoi8GJ2jM$j8Lcb4(HdRXh06cdNb1C0^0zmib;gJe zjPY@f_rbtQXtxRa!T8|2_C~LN$MLWHShg5cJAKqP*3oKiK`pwcDiDF*-AOZZIpYzf zYjN_07TY)aGW-vpjO8HDWj@4W+#P$(70VKj?O3FQ~J~0Uuwr?s8^z z$GKIKN)wR-_GyQFMMm)#nz}1|Mf8fiC&UtmfU8kai=)SxEbt)v|0426KlVq)JxQ-i=kw>ov1tfdV=pbu6v&+9*puuB^aWJV~H(LCvf!ZSd4E` zJO^Yg+8(S6zVmPS40JwLGyaZ6^)^m*?&5`O8%4Zz2>P49V`1M!HgEsM->T@@DSHUl zg+(WkwF|@o@*<_gbrELxMmuq*Xklx{4l!kO!|Y+bD_1Vc^o#2*+EHn9izKpDI}mfr zF;AJ0x4D_hxzsJA4lht^&{S42)%7mRwE6r_%wp9^Vh@faW;=3P<;)aq z^PXC+BLW})Gz!CL<+CH=$z0@a)l|>B65EQ!K_{)`#;hD_YcMMx_LS|ev^3~F)-^Io z)2cuC_6V(XJ4ssO$$M3Jdjz#XCZexVc3MN8WH5H;xpaccfR%P1&v70La-KMwee7Gm z!`C|xPy0;k?+5eG?HBxhM{Cf@lU*RQ>xrA~mxjDEZSGf8ZHHvsm=g%F=vM6(uP*Sab|ii_kl z^I%@+;QP&zHZ7tusG@oZ3;geFolTZBw{m3XZxvdCNb0ew)}wR!^g!DGwC^=DAfl2z z;YTYV5dLfKKtyJumA(8%)wwZbW~y=T(!5oxvKpsrky(3?@#L2ph%k3#c(A+qU5P)9 zbk}X%w@!Iiy-lCnQP~khKWe0=V-Bjv&i=wtG_4oBQakAR>^YsALl<#!@me$-d=VwF z`NdzVJ03N^5Vn@#AJOVNh5W})$TTMiTCJFLKgf` zc<^NEhQD%SJ?+yJP_lp~8>U3J_$r5iuFIZ8-+|2_-nMK^Sm!`{{??}{+R%*8fsFPw z@<5nbWN!s310RfwwEjl<$9TC2O_kwdPccD}mzXG8G(nY}3xybK6dApk6Z=LU=$w+J z3q^iw?c!418hJiV0VVp0;8Y^8b&9#rp3 zSsS)DVBMZ~fD`fAMmoA|uya6$oQ)uMbwy(R2)lJO-Y74k>&6y$DSd}EvEg>O@IdU_ zbw~l_Z@pmM=(-%F9ri8+LUXxKQ^1qZo(Z&lSNIlGR-iO>-E@FSJm-cFv67K>(b#7A zJWbg+nd13{$Q(-_|HCJ@)(7=zintjVZh|e%v35y}>DTh~bZsuPgud$Op|jP8@ND+_ zG)3fGh*3MShvP4cY7{NQV20$~qOTe2*&`lF1w2nv@MbL6rzxQLy-!m>+`@HmlTt1# zL!CxN>0_=Cp{Ea_VXjwhagt>^CL#pM(LG} zI1o}Z=E)rQfqXjG{R-Ha;xmb<7E}c1qIM%JZ=D4{R%X=RQ`=zW2lZ*fu>6%Lj>PtM zW4|$hR{gq~eDMqKt+VK4yr$4-4|EjY`L*9a@VWn)|ACPn(>?2fDSBDGey14?x|-Hz zGBhMX^iX`_J`S4Cgku$A7mv0ky~m+v^EN&1Er(!0eH`4X3kqAOyUMzFz-X$x z2=HPtO0Mr#k6dLrYMMmY5Y>2HP8X2@$#r-Y$Hk(_f-3Ww`% zH1c1>0!p;8G{eq?+weP@<1&2%E*EEIY*Mi~sOMqpwFTM=d= zR|7>O{;0Op))Q@c%14)B{*-g|t*E_iky4_s*KTw@UQhJ3lvYLQ^kP_bHC)~Y61%iR=^k-0$4yi}wh2Uz{nj4lqiY5@{>1 zv!VM;y%wZ)J{GM$_JN>OGe@mIV3J?t$pQ$qM48JTUEMPm z8F?T}PE{W}P%uOheOx)4RFTZXN)-Fr!kw)Tb8ELq$d$F5eAsoJn?w|I-}%S;B90nh zK3BpdKS9<9Q1o$>{}Gd1S*h9)k-y`>*!bct7d6Ck)Ioj?;b7>(PcD4%d{qtc*l(Qq zj=!(BzMsGFm7&_|nQoiUB z*En}59mB=6D|QTDJ{@mV{l?c~yZ!@LT(3tbeVDL#Fsj$${!e52H@^4p^+en5Kb-dW zwH}njFHCqhtwKM-cZG{wJDSeE>H?YZjl+z34kY5+%R!z+VWV^m`eyc}V~D3VO6D+pXtZb>Q zBKJKYGWm;}xTE0OMgmV}tq+K}dl6O5$6}uPZhqcS`|>GpEts=?aqfL&;hA~j?ySc* z0w($|PMMpo%G$RSs=Ih`n-^J%J^A&u9=S#Ntqsrox9yUDw4%Q_;^4yxJgxl25eFZR zIP-_$i2bGa#6JgLox0++;a0pdp84@_WyFKaX-T zpBS>Gd9OfwLGgK39DY`OU!N6y3ie)c_{!w7u3sw_-xYsd-xYgm%xg&y2zKPj6zb|* za}#9sC9esfFP=)JveB{HZHdD=gd5q%H+*>phQ(Y@acb2mzp2wV7!qFDzGyH4VsoC^bh?O8}ZYdUEB zfLoO>Ig`_z${Str9T|!?snR6sOSd5AqPbl(R(2Gtq%NoIiITfH5qBMJg>)6HESWp_P`yDk;Q z2w5}*Rkvu<(W7avJa%AR_f^+Qc`aEqiz?BB2;^AYCrbL~=`C8Za(nb#J$Ohco<(#COg!2{n@gG=GT?dmVEgP$hkKkpgl*I57fYBsGR|GgKj z8KqKchvowo3}>8t0H@b#J{)T|9}bEy>K*t`8LxMSn-AC@N8HFn&1Tx-mT-1-Q4L$` zt3~`YxcPv7l{wkc^TKmw&jYk#^MNeXJIzAuwA!0|7((7-#f)-bWj^f6UwfXSz*;X?<;oW@L7uolCqGlu>o(Fp-F`oBa3|oWb`Gb%*Rqf#N zJSaPc@;vK=V-L@RvwJMhgL0}+o=3jyOAgP2v(Ld&-WAd|Tie+j-44&Ad01zooEo)$ zz;$2PXggtUruWJ7RwDbJW9{<%LGeX+o~u)Ru6KsZ^Nfz!?R$_Syngr?91Y6zAk24o z{%CM`Ui~U_vIyN<^X!7b(pRBMb3Dibf1w}lrxB+%9NGwC;_21lmh2Qe%8&t2kq8@87Cl_41XF! zBI7Mexh}5iC&V286;Y5jSA1CO_~2o!eJ2Ff4&m9Y`3(}@Et_4q8|*%tUPO)s zd5TTnLOUi(w@TjUZmgAVl~w}Y0)=6l%YHvfC82{;GIluTNk{q4h-lo74&>WU+@+b$ zcScxykRd+m6KW*HC;k@fx^KjG-HX}ciF`JJ?Vu}>&sofqMonHh&?oY&-(q1*5pP-@ z#%r(Cb0OqC5$5PBdSgi48p*7K3`g^gVil!_+lfualDTOjoJ%rkQIY{~g2HJ`sRdsH1dVR_-2ayg_V6z$lnT1v=Q<8 zhv02C$Oe3KN1`;*uT+Gu-XYhViz3RrY#^P?;UMP{%&$?p1MS92UdjHkcUg2%_tc2x z^&|{suAm=wdJr3R*S({hQj4<3Lch+;Gy^e~`Wd|@UXHelg7qLZQ8^mmcr)hAd=(bZp2;1C%1$rg1<+{TV zme#*0S#}Yc{+dfLICpsieTgCw&acg=p34;aNc@%@Omc}(^RaT676NcCzNt)h zU&s{3hKs5z5*tgco5vgDt(`swDO196bu?BpD!Fpj?>c!;$X`VcOHfDE4rZ-IBRxH; z@vx`Vj!r_#rD%OJ1SN`nVVlM%xOPcIfaHu+#>_1uaFutXm?Ith!D(?asuTpEu|=P( zgt)h{1$LA?*J^NH>rw2Ttyc0nOvSZ1-#ImwcuM9F%IX7Z_L6#{hffZ}EUFn8!!!#$ zsWkf3msi2YAxcGtp3I8n(9k$WF?HZTsh-}6KEbUumX&0C^LgvKFEkc=mw9h7lS>>8 zR}s$M7a)iH4xnaKI~j1;nze`oP;A-Uyw+{u*pUV z7vptT5)kb_FdCNSn?_QnxGQl2${Agb2EO?IlH@JS(z!c-Oe^>0cb`;3YbWT}`J>P8 z^~z)*D`dZRJv{&2d3-xB@MIu5{SDCMNV5Ee&|7&odh*NX(E9fi({t438;46_M`!Er zyqqt}UH~2qCyUG9q^zTfW!$30iKC9q7EfK!Tijk-!2B>Aw#ZI3NSO&+ZL!fjY7|j+ zwDI;e8fbeP zZsxiyq0Q6bigJd{rb~-o)OvdGwMAY%xN*^6l1(iksLfV?X*2f@4e?zj;CO<41>Z>n z%DFK?E@A_uh7gauAx@u8&^rnxXuI@p`2}93UN`5j?56T>l)~IvLe2GebbV7r*3;_Z zL>V&h-B6&Mx};UO2uHcExHwdBuf)83(~|2NHyEk%rX4WbuLz~|7kqzF__A{|8u{-iL8wH#GF0VU+7&GttZ%@sj2m1T zZA7?;?`s03D~Qd!7JI8Zbw*1NjrANXetm;ijWBU`<-yUs)fvLn$BFW!t8>?fFFtPN zqh)gJi7hL6BsNFL)kfQRHdu|o-Yc;!ij?_!hTN%kgp+&cyoEq|@GVowJYHfyCc^ab zbR!6Ty%x_qiY;yy$5PAjdM}fdfokYzSSnoeTmEW90J~N)%={T%b@TUf(|La4R1Y<# z?`urLY@*0XMCv6ffKpQ*WE62aF4j`A^;nC@y%7`ST=u8NU`P4qR68OPlwB})iNDWi zx^89SX_nU}ghV;VjKrchMA^&YD66VC zu}#)=rLaZf#Id1Nzl+Cm*9XJI9Z8YQA)@nr$fk@w&mPrZ-i;(Ql0*k65e|!mQ3zIU z6AvS`p{u{jTL_=}5QNk!^BTn{%^d9P@8OO+%P3fVJ+N^GTE0T5FO)s%3)5r=$wefK zb9aVBvcz)WWP0|fxobH?n==;P+8$M$8ik6ki(}L@dsGpEiAb#KmUAsI-?PVPESSx+ zR>`UP_Ne(SV`~P&5uS^J${+Aa>Hy=5>g-Vy^J?5m&OgyN{}_F->h`F5GnUI9RTL|ynG)sX1!Q*{ z&uevp+kD1=Wdio7qVyq21m`YhvPTV4W&|}`7%R#i^@Zu>vXZ%ki=8`G+a6V%P6I2K z36d=_wYo*3AZ1uxzN6{Db|nTdo>;fuTD|A4>V_I>O3-_TD zigyAdCHjUtz~SFuf9H66e@vF&pf+NN$n8KN7e$M2wYD@0;Bl!wadnvPS=cMfBBa%_ZE>pd!VIp6Mt z0-2azwP1(Y3NVkb57zV404=&bB_t+OUqm_@K^N0#iE^?_`0APMRYR4XyVC-$Rl-<5 zG%Ff!L&45n|1oaMf->nJD{w#iZ zuF}fX-Z-f-%Yn5vOW#L4*Hby8qO^AI*pyr_|K_Q3KPYu1{g}SVK|>hajEhpq)fa-m z$`>0Y>y=@=n{Ap7z+`_O#fn zJDk*w`GW4azDV`u1fc!GP6OdLeL?1GLF8?&rs}2sq-Od7&GCP}#~z&1G1d+XgJU@= zvQl!wTsh*cd7ZIpGzJg$*P_#JfaEy1NUyVQc7xzVP%FD{7@JA?e1LPqv$P8J>`u5^ zu^8QZb9Sc>nzuGe{Ck@2Z*22F$(CO@l;HU0e_*y$1gYcbL>92!p(Z~Vwt!N^v)?Da z_wV&)YwtfyEAw6-|8RtqyVYB=u=mzC_%8KUtS(e18HD<%FF-N~0@l9m?!dDz^y?@| zkt%QIke{xTa|olB4E3(TA_`iN8TpQnM2zoh%PHiU?@i}7(#5SDjPBWzx$no()PT@W zY=Ywr(i*Awu;5{IbmtqD5PiF4q}sPJ$@h+?*$PV&O}@?T+#DV`cU>_|hTTA6NVZ2r z$U(@P$UB(Yixoj(nD|4K&Vl99>4C#I^c6(E-_umP$-_!itC8f&0M#^u-5ntPE1!>U zC!hV8aKazvF^>XIV&*yWTlnl=`VbyC@KJk(hBVt&6dE*X8DB_wGtdWGv>7&J9A|W5r=> z5~H~i3f88qtHm*1^1-{d{>raPw7O`7ESdlu z&7zU$BBDPQ=Uv^zG(4B{w1df}Fa$XL988Bsyr-Z1D9`hjcxvp43-Igg!nek)z^sf_ zLF;OJk^^4t$+~1(qtU&CZ?%_CAulunM?>Nmzk_mD(gaI^VmG`MtBSpAww;dV95S2I zi*QS%tSV5Qjv1XyuEki5}mUdG8{WaTQo?XYPYgq zRw7)~fY|KZWO$J4vODVBjLsj;aK_Rf-E|k&kc2DYNuzuc5skG|xsB26U9ptffSik^ z$kPWkau2?Cf_L=ZCr(UJWtjiOm{0h={Wc=k&)c=I@WFQls;^pp;slW^a@MEq2_j>Q z>f!yfEfIx*2%^+=-kwheu$J*c$5tOlGrCcEAS{h_{oWkqDri&s0s8hMQOFBVt z`Xm0#y1c)9auRm+ZDu2we-gpqJe{D*bTs`!j=Y>Z1a&CGa9ki-71b}GWEchy-+=Sf zhit_TNR+;t&I2X}WiFYU>V-Dh4dWGZ3>0ma$?QOs_hvFyl2h(z_GQat?Au($%tqv` z-JU^#_5{Zc9<<2DU7Z^ozw5_$95gcKc|zAW=Y2-Y1?xR~6im4m1Nwem(Ga5Cpyi4*l6p;M+_ z1aViZU8o`+F(X;Pn8qWm2OupMliktvKyi5NU=$M!@ks!8#GknH9e-aRANoxz+KYkoSO>Sq0;OMo6166`HREDp{c@jg z+hg%6<>E|UEodf^zT?REC4=lBf*8B?9SU`9fZ7zql57< z*$Rp$+GByn^X;*~VWKiHX!&T5r9_R#_E_NPx(p=8)Vw){F465|Ae!eCY@>VIg58%f zmj?^Rd3!7^S}wQ8I@WHFbx?d!fAfUh=(ye)M%(&h{aRw3eNH34J(l0jqs+?_diXLy za%dXd3`4(GaYxnNyY@=Zc0pYi9PhNp0)>r`s8SgXgN&wWv(ag~D`yAREuZh5x%ODZ>@2E84>~=TZ;H1wh5X2{=k0Y2 zBudTcvm?-UGf){)@#c8WM$5gvBmcwo9w& z>Ze7FR5}G>;6Y{W2UFtmyV*utyCBw0+-5tWygR*(D7mYev$?1Y$xyf_m4mrEAF*;E zJ(G+}9v0@;#Fd`5xcSQshRtp`$#rReyppi#t^vkUhRZ+DpeS`3!HgG-(<{rt2lv_0 zgWP*Pi2CokyO!e^xE&OEVOCL3yR{4^Xy39tPbSak-kx;WQV>QJu9u{V&=UBj zGVzZnHJ&uBu1G8o&|x_`Z;X|Av@3SM3bGeT_2mLgE zSyYq1Wf(3?-YxpHO`jd%pIDU)t%kJx9Zgh|*3E8QoaoadI6R$&(Wkx%N=IYIRt`{3 zRtSc4Lg1}C{s~v*?9ON#>h9yg?*F{fTq1PLtO%OQan?=8h4y0tx(epi!~rSchq>x zU#nK;_!@5=9F6cjcsoG%ZGQg68q7_w2I%PvSe?(JlrvvaYr#-c!e0jo`+Ww@!;?m_tCy7 zINp_P5}m&L%oX46*IzBi5})|yE!RK3t+(j{Ti4nRqjNA>gJnT`!^!h*bX?@qi`Bc4 zv|SUUIYl5&vYN=N@k=#T11-xx#{$DN z^^WGs_FJy&+*B0hU4?1aghc7;TGy0UiB8o+n`pjKLcnO;l?j1oN28VWCr(!LYf-cB zL8ss1^F7HCtkz$*rC@vYc`D#1s>I|UdBEpU(jS1Zl%Ma}ShNQx1~*E{Q%VqV#V2A2 zzN{M#2OoxarTaZLP*6~Ls!s(NoqyyaP)-lv9&+YEsDV`vMzqu*KBtp9^NBH1&g{u0}DeC~JVe`3ft=VWIbE`hN`T9nu$enjK;^lIRAMo=>y zfXJ8z5s9G01b$522G73w9kerC849#BLXb8iSL*YPo@WMn<{clYpZsN=Xmj-7?pXO; z$o7(U$9_tronC7f@9M`J*|hi@)2VFbAwDgTxD8S&3b;JFQR;Y+J61onpv0#G;}Z|* z*b}V&B5&TI>yGsx$f}XIQ8+~_(p%KxG8!no1C^|np;IdFd)nyR_>D_h+5V5VN|u9WfEz;5Q$pO|Y6TF0H%A4y@Y< znU%U@Jr;}`u00=%^9^>Z=+pqdca!&?Q+v~j@lA-}y;*`e^ZS&wjdAR^-!+CPU0Bsm zA+!>i;k?nG{Aj=8`~5d&oXgJ5l{UKFF1$^Y@Lv6@Uw4Gy<4f0FR%UA@%6TghmEH~< z*5MK|0+jQ2Cc!cXQLNH+9E=BuW3TKPlZ*sPW}$wp3Qjk`V`tZe3DCwDTD1c==So-> zR#mt5qIM3hODd2NAR|#bw5tF)x6hl;XtUcZi8bu&xh@E6JD1K4dvjNAu4gjJ!8YGf z35p$H@~+Dy?VHXA=I7dVSa$n($_!?u*gLlqv03##?4n=_@1qnwrvt^J$WNRWIT!8J zeWPjQb0tiT9r8??#<1~m8PjeItEHwQczvE-5j()zFafw8!nyGc45X@ zFq;zR=6pMc3d)<-{dBuX7=}d9%A0OH2Qkj2IF&!$_oHdv`yz0?3!!Rl2y!k~D!XPB z3ocJw7nW{^4K+HK^Qf`5k+v*Cux8kkk5(*yAv3!x4DWNhgN+euy1!v6m%XtSuGrtP zlvhN2ldHd^x4Bwb>^_N6{_OAY88aa2hsY=OpmbYepSIv>xXs@JR6|f=vFFer8dKNh zcFiUHB}yNRr@hNXTX&eIpYO0`G;vD{$@iRcPqU70Fz*G4(B z1McuzjObn2c^G+g6GiepqNE<5-`fO}lcMBvDC?rwLESo9yJ?s9#h+Na<=d1uj$#B` zekW9^AWNcwv2=>uH(moHka7{Ij%I&@qqKM$0>{|aDhCZg^+VYFu4!#d1=DWHIs&}w za`S4R(e)eGJNz-Wu;Ru)&dt&0i4x@HW*0@b&V6DiImg>(iG+20{+48L`f*XZb^gKE zzSE}67$F`5%U&3mbDST(FEYMP$DLp1YmTKxguKbIGm3wR1W-B^DA_AlBk)H!0h~PoRwkxE@nup$`SL8ADc0cgi-pE2 zQNVX&CLmOwm@gB{d4Awwss)mcq{$5C`_IX{CX$Ixe>r@qbpMP@b0ce)W+M^<!W+Au29^gb(`ZIrJFi!`eGGYuAAB3E+4mh8{#X4vVip1QEh!c5F ztkZSDb_#jY;%Igs(6-VKVbDa>!LbcYs*JAni4n(dJi6mJz}2P^B%;h?LzE7Sfzv&Z z^JD@jwm@d03bd2Vb|Kg;r>!}r`~hW0n14isaN?%xVnCyJqdPa^N-e|5P`iTky!tk| z$<57N+VRFGOmk7pWdv^Y=zij4n0n1SfzcszCQST7Y$PY?|2{K03_1)3r2v_Qxw47cEK{|KOZ^5p#oecY_ zqV!oDbtL2crcteiC`Mb_8&Tqk+-d#K-pkRjTS!}!T!BU5Zc*p9(xO{-6({eIF(*_P zj>tqJ(APx^HR$g zO?TbiQjh6t4C-7K)D}VYbt>o`O&86TX5~Ak!hpOfw0$j#6J-aVDBGJsH*OD(`_%Y- zed2b1!3Nzy9eiz;z>)`ZD(Y{arDmSoI`g00;vJoM_pUg6R`3lhZTE=}OZ&Fab^zD_ zG|skf<4vzHMjVOtcn>4T3ge#K2`6dO949L`oENNeNAa4DnPU3vlnI=e|C3PgxzZnzYjEaqBA z@pyd^AHU-x{OH>pUY(dSVu~*x`V{@WFCWGN@U0q?_ex6O>dl_ff#e>Ze(#j99U?f@ zXQSLw$*{H7VP914$vZyc?C^1z)}a6^B}OuCDbLNm?%~1f7~R8zQvb5OyNJS;ihf3; zukyq1-uDw{{%f3euTn-M5?nb5|1#oaM!(6Wm)ImdEP!Q_*|;v9oNpLxN8m~+*6PO} zMaj}MhDHiD?z$`?T8~SPh?05HwsY5cvdwWceMUABFT?_!o6)QLI~KwxJhkQ~#%OEZ z7lGc0X48&!z}uy<&-`I_Vu4n$D1N{wiFcmyrY2xCN4b}*-(4opcvItpkj!WHT6UuZ zmn@KHLO(pW9jB2nYSDA-lV!98N|>VJSP(@cEPim_+PYVgB4mo|mZ#azDFb)4_v0UY zqC`bTHu5GP6Uok{S}0*78?=)Ia{{Yu$3n(97h|^i$-!Dw-)2K}QMR|8JO8<(K65#X zR-#>rixSz$nu3Zcw$)Q{Ij8Pe(l?(^5SpYQ09r)4R|yDRFxjC^$&VMBZq` z6ZKO=a|V1cw@CfqiG0}i6QBBX=KmA7AKy6j&E5iJ^#{>h2VoHq4?ED3QG0Hf9rua! zxRnsj1nrc+y*p3A-H|gY--7H}K%S@gguLr?-@|iP>)ILZzSt|Vw9jO>PGTSI>5KI^ z)dOs9h`kT493s9!a*Jcx*Kl9^sA8qCTLa}jNZ54|R9*2}bw|mdj=Pd!xwi8^@nKPH`S?66%2QKW6Ir_lIr!{Bc;>oidOiC-`0PQ>{9$(E`^&A` z2Va@H;-kaxm9Y|?s^^M3G0Y5d@8G*)$oFNHVVsgm!1L&JYM!Hk(gBhzMk3F#Wjul` zwGW)V0&5$I+vk@%ee2-ztlnYwC!gQZR9vn!UI-1m%oqppotxaurWU^7+U&a1=87<{ zezP)y)}w>G7Afl0j3VLYzT{`!Mk3lZ>+Qz4GVwqf6pf>nNf^|1vtjt*xqS9!VTc#P z9LliK>!r6(8cEbMa)MgNP4E)ma2U%{?UGMoEs{3O(VgI{6W_=dNmw*F0*>{{+@RR1 ztj@Q>#X5)c!IZtj`JlZOV+X>s?A4MoBsjH^+Cn7wRb#es)rcOlLF3W)dnVMo%i%rdDS})(p|TF0JbV&hwNP_%XstHh|-j31h2*#jiB^i zh;5Xx6E_Y}u@T0(jGm{QbTl?Y6nTa8R9@(#5p}V>BBP0UVn|-x*$75Yo%BAfIb5p@ zi%oY(pq#njzRU&hlW2B>pzJP_Tk)~-<&U*P_Df`szTkFcHhUOQo?j)ioQvSSHlqZr z+OU#V!2rE-HrrWh^PAD_h9SNmo{6t}tsTItan@7Nx?&U-$=lehXLGESbDJ(q2hNvu-<_kM7&+XOv86wiBwcp*hC7%@a&uY}Iqv zJ6%0dy_IR`Dp&Zck(@%tLDhtTzxnLD>u+9+t-F1UcN5h*cJNs&vdN3xee!Knyw=*+q(aC=2oU#ndCC5Io-zUEJ z@AbFCI@h05mIp(GxtrGRDGOuCe|Kofzmhpr%hzt#) zl)1Eg;2c=85>5&t^n=RG z;g#UZi@qQdBr8=0b|eR7T}tD@fBYwUxKhY6NV{-Pc`&##@bnV|X)+2I|M^DgrtWBL zt_@jpx#cf(UK~n!VLbJ>GE7ph78OlX5rPB&M4ZNbYt|36IW@DpF$ ztK-=y2etZe1Rm7rBcrl5xyIUwRYp133aWnO>_M4Jr+P4R8>w8W|3K9pme|~CPru42 z-5Xa@?7oV;C-TW)8Px-5zfonNBF5r0D?yBHuK2OVD>v=3iHt@*-09~ogS8g#R=7G$ zqa>M67OZM`^?|s`NRW3vwMwaX}3 z+O>3-u|ED|UD#qsiE>yTdExG0I)X@~Rj5c|7W$flGWW!7N3mV6j6{c<7j3f(-Q%pZ zoE_2^c)$}H?phzy{Wc51olSYpXl1JPu|V#cQ$f)mkQ*AOz zWMnk#j4#w?y8^DIt{w~`CxSRt3sOGTwTlYweX8rJ5S5<7%-lTY$XtqTF!FO{xh#A0 zATLsa?lV!E|T5s`1bw&nyel^B;S08-4H^0d47e0Lo^~9Lu)i}MK zU2c#}1Z&9&j43(UUET+KZ#Y7qfxI(3vAJ57TG06Q6-MwQ$IWy5Zmy3VX~$%@I7PyCYTb^TU+ z-6Ja&KRRD*)>zhU&E*v^=dP3HMYL9zbkd;mG2e zm)l8$D?>VIUYt?4b7=pgy=Ufj_q9%%QSY)&dgyl2!;kLu z^e4u{t>L~3nAK9}d=)S#owTn4M#gp0i=lPWAfxYSP|gU7%tX^`w2{gcG8%DP-PZ?! zt9?3YGNArQCk+~-l>L?;>!d--uul4-^)|y-cU~L3+1_mBE6Vg|DxcX3)*9=ief=yb zois>q-%c8=tyo>o=Jm32O*&~%nQNUiFOYekb<)00)|I@{*U5s`N&B*0a4HbUyR4JG zXr1)M>7+qQzfKzDI=7Pst9|Ooz3Vz@B+}EjlLmWNayvOu&RQouU2Z20)=KN7(Oem* zzg`JaZ&2&!Y`9L^FNn)%`X*3)x%xRwq}t0}6t=i%5p;2S4v?N&Ck;}f+ew2P)#;>> z$h+cOBNMcoEfXUDd$fChu82g3n-^`f%Q|ULWuW$9ZQlQjMC+vIo7+i)J3GB7s4P?K zpFQ|GY1XQY932}h{uZ8h~qw_}iIJ$Ohafj~S^^DdxTsiA2-|eKaVegYp z+Ar^8boBz{y0?=Ct2^~b1_im&I%$yh4X?`@7dIl#Xnk|gI_b^5o%HZJ>5I}ygVc>Y zFZ*7cP8!q)=+k?Brn5Pc4Vq?2ZB_p!Hhug+f@)$63eT4$Z~qHmov z{!tDxw4F4#8QiEYORke93e39ONrS!fI%$x1WgnQT)mXfpG^1TNo%GN;>5JA$Uz|=F zr1#cIgR1R1X>j>6{qSOMy)sCNf@0NnD`&Lb3jSFZZrypS8M{t;7F;I{QWv~FhH37v zlb-eSjPCm4cG4ToE@$;j_OovJAP$93(Z%Ys+`)J=qsq(4P$IYI zerVXe7%u`Z3o^HLCs7~i)h#IUR<|?Sev5rdWN1&!-&(Q%t2Sk?BomTdjoUI(5gwS$ z4rZ^z-0rr>sYFG0{^ZX*-Q5>V5^g)484vckvVJ4RW`}l{>AIth8Ge|qz6hExw9*-^ zwdrQuJ7V8*8QGq>#aY)K2(Q5QTDakbk)}J8jS~w>397eJ(?Cj2M4=S!tSYxPp%j*-9%533^*tyw)-J*NXOoB2O37C6ETRYE{^%tG_ z)@=ryyB_9i1ur7{7EuQiHSx9HfnSm>%?_C8X3Of>EZz#(N>zE&Q$*f#w$#z{oT72t zlYnPkwCY`#0a}oqOFa3qZ!ON(ASxqy(&sjONuTkDw!Za3gw>9CRqryp8P4lIL1hD& zT`B+F)#-0DTF-O6{@^wD=KuOxUrpyeXS5ZP)pKPT8E)+PJFk#?S7cBJP%Bg7c!<8U zrwPOB`F3S&!E0J@oe><3ikTI;YGu0bpx%iS zo*Qk;ADIRJcxQYYRE>hB(R;L>CXS*Jch8mU3W*XkhP#@VAY%`SqR~tKX;h{pUwmJQ z`DF_%IR0*p#3GTa{D8F*H|>7HJ4(sR{q;&L4U*sH1<*3DHIbL#n|tw~ugGU^cDx`p zVBN-;FZ~Cn-voIj{AP4sw2txOJVV%(^nIJFeCdTEZ}XBKQEj-Z@?v@IhP-9&^)g^t zDX|+XnZsmlqOmrDMO$nA0@93z-}w4bHQ(+K)GK$E3HGk=TP#|Hmy*#3<&6REdN9vg zFTz&wOlv@5A`x?TP+Xh2%D{eoek)hAXU^RE9F4PX>n#2n(lgZe`K>;NSF8zG<;5zX z&fR_ri+Z0i5=hON6Z_W3xl4ReuOfpM#c$5#`rM^4jDNZ(WmMlR{`o*eb0ZxosMRCy zD`ll(Dvue;wazA@wAvyKS=$43T#5>?TrHoam#}a2rFHHLpR{lE1%Gh%!A31FxvLTVzdC@* zfT`ZT;?5XdRO<>@{~%W)yiy*G$`X%8?TpXp>5jq!d^|=e=?%uhXIInA>0X4tC39MF z`R}5u&tH*0-s(y3PQ?5`4C@lL&4yvJE)ml!vBzs&qO+ZpAH(T;+F3UhmG?l>BO@>C z@}z<)5pSi7@ySKj&67h=>rL!Xl(}K>Gl~VVzE_$JAhHUyX9IrVATngX0CJRkHwr-d z@v`N7!!E4PmB7X#l`(z{XLxO5FPs6wqLYca;5>EUgE7hkQ%Cbuf}-h4eB9A=+g_Or zjaNa$f97`2j*eOBbb{d*>|6Oy<)zXiFFckC*$5yulUD~FKNgdx8}&*uKUvpx$@IlX zdwhDHNoYjSV+<(+cV6bV!$i*cvANw&p%szUHuq#WrSAhOI()T95Ft2RQ|;oqN&N9VVLfGaPBx>lQ*rDV{IY9Lp!nEOs~YRY(q$!1wfamH z>)r8tce;n!u99w#ifrv8Qd2<6oj&4f0n^M{9VJ7P$?c!W(5>6NC7PpE_*_fR0x&Kp z)gJkpi^!X~^*ubCxrt`xrY~F61U=U3=*wEu-AciS85$47oz~%F60%X^%qxnqKdkY> zFtMKWLlsy6p4Q8Lqyj|VwPu0!I{9Lhg0v-Uq1=4*p?NoU0(UfBmtSDW+|?029^>3w zWxz(r8GU)2b=%94J(Hn*AY7iiwhof}L8l7BMq0~{7_n~l{y}DFYUV|;!{#=}map8m zto{pYx1LjVoYnF?;-XYLkos}o$x$7)bM>P>8HE>-gUAn}ABr4wMqo6GjgdAe6%0FR zMc8cXmQjOQsrC4Hr+fD7g0e34KKBXpHA;{^wQnf8W$r76nsdH(%hlN#8CAR>TU*j! z8AZN8oz;^YzD#@MWUTp!JoO;Bqd5`aRc7^{?|D)AS7h+2xl*6eV~uomz6zhatoDOz z*W{cpnlqY?0~w0$)4Pik^&q1jj~hiGb)k!GEdnbc%%{IVN<@v91$-4gXr2Zuf9gA< zJz3cPX1WDwkBs0zU*%%Lo*R(lGS}ZIiu+*W_zSB_i(MF^w~X;zc_h1 z>ytOe7cyu=@}?0rnb0*-G@`a=nfyVKzuKMAdWtI};o<0=aATLsl&l5m8+;ObAG8yr zjV9KRuvc=g$lG;clX54c%N9Ga*&C_jo5oVm?5zxEv~fr7#H(d5u4om-N=5|vmC;5& z9c|=&sF@ot-mcW@tRMD6MbqGjcrF*{MmO-ZdxNpmsXzDZyF| z9*ZT;`z3bc%3v(PMbotsBWXtKjq;Yd>8ZnNT0&o)(PjcyzO2u>sRY`z_o=R}e0@gl zSb4VW&clYpGxsJcMQV!G5-nw6IBoVmxDjzseREKEFs`JP_;21eJ-D^{LGBPl>PDU~ zwhs10(9vd~_7)i*uzHy4=o(DL6n8DN>_MJhh?FUOav7#kP5x4UwX)VB?_SY|giC?JC$e&T` z%2^4vokX<+x{T$@m!3sBS54_A7kjl#Prr;lt$ap%@`T-T<$20-n4lTUT_bNTnB5+C zX$OGU$1r6AI=IX&YDIEx?EnM57>4MzqoxPvm}tD+XHEx`1?joP&6(dAMo2fs)?=|= zkKJA%In*8;t4z}NTCAN&XkT`+@9bDw6DW|8{EU_n&Xs2`*xe3FEW_jykv@XQj8>45 zp6t^C{9n1zHylO!WOsqPn&Xo}o_>vJuY*-f%Q794BAGMF;tY zqhs|v^)u1l7)q=%+RkD6ff^Un4}A5_+(wBf2*!BrbZT#R3FsS6Xpa>SWN!V@&kCLV zK>K7TdPRHB9UUv`>CnNC?yuZzw!&FTeV%ar0h^Q)@wQAo+$UTj>n0tjTG*Qft(yav zpM1jQs5-(&%ISLx2gRd3K{%uDlc_&=_rP`7%ay}@7a=&+0;Gg}!sXne@%_c=TXrR^ zod`VL+lkiG-Nh$JsBW--a=!9XH`)cDjginNT-w37Cu5VFwHX}P%E+kl)A?m3y6m7- zV6_Swe}db;`Go5a&>}n8bx@z|JflA0619g(Z?|<5nXzv@O;%-H?95&JgiGlg)qTQs zdikCy>E2PN?SL(laobcd**f*3bQYk8Ud@t_^Q~wt>RjqTJ4!Tf%z8enm9zuh>pZ1=#CqrMvm@k! z5iw7#Q=6x4_AM)6xy7^V1ifr_Mr-}_zr~eDiYhB{JSs09U?0mofL*#cl*o*xU#2-cBs=wU`VGl4T<|4LQB5M7Y zjVk&V{rA7bejCR#>US^n$}ieW(od9i#RQ=kJBy%ACF0aTL;ys7<15%}$-}=gic|k$ z5>|H%GlKQRY!a1j}9%)BtXEF#JO9x1suigQz=-wL6#Us?G3>cgZ>8#aZ`%uy@jY_qjMWwyWN_R^{|m zgg7GHBH|cAzb4vi`~?nOO%R8mEEFW<1JQ9pzTU6k>7XOx?;k4cNLK)Mjy#|5z*&9 z=7kBCTxlFoX`3y0LzJgBj?&sJ`XW&gyb*c-&KRf`#~+CrV-rn_7Pl0=yKW-ac;l{S zz_lp;cp>bo#lLivQlWw0etj{iqUQ+*^Cv9(@^^IpfE0`<>PD}mg%@GG z&ZQV93iJ-~(-?pvL~PF-#M{`C2U z?{-8d{X$Lgjev{q{Mhex{V<;E{h2twzHp-HwZ0gF$m&{@Y$2bu=hd_}i(O!RGMG^k z&bb7yDAfT!CSvf-D;xBbo?(=j(2KPv$aRUX`h275=$Km{Kk<ARzBT8gv|V??TBIaB-ML)Ij- zo+b}OB%O$xiD)84{NuVb5RD3=Jg6B&z+MC)-nlXwaqOE4-j}1)Pb>#8|Bff?D`oso z*1I;f);p18;Q%l%B1A6O1nr{{vEy7qLR$nWGX%6qW>mXXKhjf_3PSMJqu99X+WRmX zRz(Kx0!kgGUZ&%9lhmq>>96O4SRI7n|Gqyoi1Kq+ZI7fo-24;!y< z%TobyBxx7KN1S7uTAhzhb4&e2;X@MeEDQePW7hgE_o-RQB)1CC;qaj0Do7KEa`OS>R&>Snv3W9@c92cereW)6|B-4*Z`b7;6-5GcFO z_9LL|Tuv8+RI97@G9Zkb$|;I>hU%SkdF_!Hon>+*dnqk**M&jb$C;Pd2@X76&_N*w z*WGA>N;JRP1%WV$UTzoUUG+NoGK-J%jF3fB61x^3dlLNWwz%}l+9B&ELTV*3seCP1 zi5PqA8;kP+PeSKmt%FkoVE{k4yl#cnK$ONs!WUoCz=OqCT#z=mTmJIv9~M!106u7? zh3M5N44_Bk2T*z$wyN49Iqn!+lFm&G5yyHUuQjClYYX~1?}@ikSH$&}yIYZbfWdlY zn2^9pr_j-dk&$sVw;j>JF_E^|I9m@_L!-t?vJ2Gv5~9kyP9t)O(h<_RnWrhn(IB-2 zyq!ZRoPxx=At?7|0u6IH+QVoJNcV=OG}hol>I#4~yB$9CIY69%rxX@@M5vole? zD?DdsUwpKiM$gj?f&wkUISmN;iLx^Pz(#)XTWbY5mxBzgc}LSZ?n>fHf8KSe*S*%W zGd}n@39Uk)_4|2pBwlCe*_o(0V-*oK@(C_w$fNp1zH`^{r)v;l;#qFGZPx*3Yo&54 z#3u?1lc}lQ+O%D8jJv#$K6^RKoN)s)ze?*S((m6W=C(CU8P3YV(iuEbwuldX$uUU$WRR+4&uu4v%>BgW%687>G<=CVcUc*z}yIbMzy! z%^~xGk2}I{iF70b5gEynSkjM1cF*9R#gCY_uXN`J%5L-Q{J^KT$Ic*_F#30H5c-Ex zJNhs<_rb)U_}Te&+||ferOa7k3YmzqtslDcL%;PsI6&>A5t*(WG-U0+%d1!lx{XI2 z#ctIPiWfma@ozi|CY*8~=Hh{{3o>vQ5F3PPtM>`a?lHo6^Ims;$9HGvSN!N+-(O7E z%7?;IRS@3yDaCmT1FdpzK7y4VJ^zUOtp}J2LPHYpIx2flKA@G1V*z~cNAPa9#aurg z_w-jFoRyWdBV@4JkafY7B1dUv9bH#sMS4&x=!03%(VXtK%KW6GfEt-Zfd2 z=D{m-;>16VPWl9`j%cn+_pUE#O7tZjF#fP|PSC&{EeDgkXr7qiW?ZRN^j0=!wHYN& ztZrBv(~0CeP&#EIIeYwrIdUXJ9%LnW5Y@_ccP)>dw0@qc7&D}~Ar!u@wA@JhP zT;wI>y^)-zZr7_c+RB7^8cS^S#3Wo+ZZ5g|Jd_LsWb3q{3S3haM}D(u2}d(ne-9yz_W6n`aS5 za@75i(Wh-djVQ8m*=}|x=^gbMgt4eqxgDFM=F@cq*JcjfbXsEjF%sxzzLkCB5C6%Q%9TPyg?O1$` za`<)YuPX+>R>;ji@oUBR^;yx6?3r!Ri52-MS*kL|PY3Ns%humvEl~FI?F2!XMLXjR zEWldxpuIaN=kKjyd>|})(je!uw{It9h2x`f^R;J3pmfFO?1+yfX0O|`BhaE;wm9h2 zng{c+#Zl-eOxd|CFQN!4!=Apuz?C7aiBr@RiOSvO668&k!(fhvx@53iiEgs<>D;RM z9fg)%iA#uiZC3u83~+UMp3HMJj7yJHYp-`9fNS5pWx)O{yJPONZpJmnR*{H&yVL7;RMm1`GV@3)L?osN7Lb3A>3_(!sINM-6nPlchf&B1AV!Cl&bqe zn6mcHX!FM_n|T=4b!o`WG%7@8$Zjlc(d?a!)-Kq)y%U~tZnU|hxVJo#$ifctZ5l}D z5~DpEiRZ|NMz?j9u_qV8w|vNrzhvcfbbjcqEM!Lq;uem2D$a-J5~Zi31BW}(mN@## z20q}Io!!X>KBO8>YOa9rhwB;zet@-iL1HyX$KiIRilg3?nTn!O;`#r4{3qxAGzr5&AmcZ>w7&1fDRmA9}Ng33iko)**>r=!DD zslTVA1E-b~+Vy$jv>hGSu8(X-2i|_qjt-QSc<>_1AyK%fx*~D8$&T)LqpXIm8*AKQ zm-uy~_{NB6N2f*0fS5yFbAIJ$bj=$OYOeH*o#&FtbnqnPc8+GHc66ZhC3vd#274du z02eu`^jJyXT-1*4;M36+n<;j5pk#JCI+3h^%TgKm*e~sw*b{q^Io6I2loRY!_33(R zGMyu9VW-SipBx}%C8O!hCx>Ac)u=-KWyZQIJ36DUeV82`DBOEGI{dXR&3y`JJ2X2w zQ1&UOqXVN+vc37db?xYkKCOB>I%B4I{1dKfN9R~OqIPr-wywBRNA2i9Gy>}0j!v0o zLsz1C8&uE|J=*6J8rH zv?4J#zBnD-!B0oWN0rleo{p|KS&(-p_(1YbFX0_yVHie8Hw9j-$74{}dI9SP`|W1b zIClFsGR#PTdOK>};&-BwuZ=9YZHt%@2l-dLuV~`v{>f$|(E+F}c$F_}{B zLD^YzrP;Z+yojOJUJ7UU@@la=Jd@ zpVbEInerNs`J;2UC&9_;mS9P*XSBvfBHAG5k{n*k60VeB5m|vjsq8UM=OzoXyrY;W zzBRipBKSLZqcDV{*=;2@MPm;lvvaef;?KQndZTQnolDU&ZZWHKk$IRDx1Pzl|_?KbT6XeG$#M-D9F+IP2^{F=cwSjm8(QYX@jfwHt<St)yHWx}1QA=P#Dl2CB&ypg(~uJ1jxc6#>EqGt~siy99JA!Oj=mIx|VSI{I< zdQeykF=c4+B;y-5z@5G8e@|^z5O7x}U=v z-X}ZG>;Z(XRw7A>uYsczJv1$W+FseuLDj;~82M!)&ALi(EK8=nElX?l<`I6mGeS$?~;Z{PVhwwaPz0}h*zZ>}3+lM$%9 zqVq;Yq6WNdv`+wyv*`Ck;lebY$^b6!7-6FB?~Iy*2ui!0;a46&iq}@^9xS)x{TF7x zK@rrw?(z|`XjkO!fw_rols1!5x~!WnPMj_Yo142-K$(b}t6$E)hLrj4m8GYH}9XE+2el+f35hCee$R*bCGY*Y- z3d}bsU03>rZ$5XBnt!?na8CR-3cq?~&KSP=+(Fn0?y~>+=JNwky}3iMiRgHfNm??S zD02hVoJ*cHo9Tc>iLsQ+i}<6v`xho{b7lQyU2)wa0RO5|e4p$-^-~lYSx#=&(@h11FeQ~mP#VPtCxppe*!6dhz zBKqc25jg2SsT_X1eSEo79(e;QUH9!f;TNMimR09+5B(bJErh3F%3+v@l8bVI;uZ;qdvSB!e$`+3yS4~dY|OvMk%xQ%X!cp3FS_dIcuP_De-ze9&fnr z5G0%kd~mC$GW87OH$FZ(^MB)4-o1SumPPBF?%^fh(bg)#CzJVfNp{7bIP>xHnLkWi z^)I{UYsC{MXT{(6k@45{l@W8?b5K_detHVttj`I?U2*vI6uybSUfX!0+P6=TA$fZ~ zr-rAe0H+$3Awh{mRwmzkL%vtGrvRU`ch`j&x=XUB070W>Q=^Nw=b`Im*SGJ|H_PoQ zK-vGDo};mw-c4wJM_~Iu|-G6a56o<+Pe$oRd9B=$fQ*% zKedHD#X+a1D1O=E9XE-jzLWgK=E0|@0K<7!2eXkkkDpT$5!~XnloxWIH;-}1u!xGc zmA`qn7^ZQZ_7vcC5%v_IR5Pd@1~_kppPs@u!CT$zDL{#__7n%5p5npw6kb_>8LgnO zU7B0v9lwzbu8TyCR=E&#YW>mebOuU@rgCg^LOYa$dfEbhWekYqI6VdS+}!pQ;8i|* z3efhoaw;gfc6y3~5A*QOKF1g`eS3`JS)52`eomrN&+2Ws%y^Eq;0?44Zcm}k-S^m2 zpyO&iPOW!|yVFxJ%D(4x4d}R?S9=ODZoZ@Fyesud_AK@g?J2G-?tV*#un+ za>8U>yzQI4I&XHT${&j#4BMaqD7!}(1k3pTc=-fNa3^q1e+UEC=G}C{>%<&CoP^Vd zoJ(eVZ6nejz$zjDzWrIK>P}niT=sg?NEz-qG|6!h@}}ONQ6hw_0EJ5-V6PrlA}qBjOGfb#8B6hl{D5Bo_C>vezpP2uJHu#Of1G>}(c$kod-`T@G$?0*Xd_R=9}Ut|tHF4) zJvO$OWsDgR{hIke>eq^RM=XP3#Zc40$v5Oa}m`i#@9iob18oKTN%x-@poi)?Q98iQp@-u6})YpAUu)ePqN52IlQ3y`LiI+ zD|e@$WG~|DQSM!)LIkzgDF)Af97TxQUB2<1<1$sd9Nt=f^+4wx=7iceZ#<*;!$#+g zXlfmN$q(eD115yE)eyBU9mc_ZHgVpa#$Q@8>&EJpcX^*;`K?5^|4`oS(h~LRMqm2M z5l(OPZRl9NvoAXx23E=wZ0?GLpj?Rou){%cPpZg+<<^6G2K^xNM;W-CksCAP8zjz? zU2d<1(Wd>Kr|cj?Nk3vUuT7VuO=F4sq|V*#@y+2`bR|;{3m-qS1+G`Qnd{=?`TU6w zEJ4wAl(f+F#i5PM)79ce31A=RK136DfgOCyo_q;|==TG;+7^etXHyZgad9kbo;(Y)|2{lnN z4Tq`4b?wMku#T^-W+`A z$9`r~PabN|*Zp@rrl~x^N>A@}*B9f4Sg_rNOrbrmrn7H5EuUL58um&gi_$;f$Jz{1 zuOIC$7+v3G_8=qf)1DyL%~ohwM2!g2Gw=9l#K4PQopNEs1V8%^-{O^r&VJ344Sm*~e_JdnzO48{U<+wKEx z^*;XU>4vA>$6ItG#@Kv$>T&U7i~9azPPuqzj^{1ORX;oM?HioM7+f^AvD$+;=5%gr zpKr;HU7U+MYIo}|D9=XEDFg4lg{gzTc{_P*f{8@A^1S!po6L=OpBMVpb92ny)`JKw zEq6!pW{}--S{B#ED5CBc!RyMcLf%z=r}h=)90>Irok*y^`rZT5$3HnN`UYhemqb#A zv|P@09}2>PBHw$!4tu+dOPm`UIvU+5%bn{}ZhVoa4Mb)mXt=$_8O7*Y<&ME)u6wZ^ zD=6~f1QAMg*UPYm@y8D0^&Zs4J~XbZ5b6`UJKK z*abwRVrFY^5Pls?OxN`ZWl*}Na)iAAmLbBuHvIYKlhmIRndv~wFtKZUPOKb#F|Sz& z32QlmxlxT-v<8bB$JESbH*ON8k4n?0l*>x8-Ia*GUg@3b zAY+}|_a4mWcHVYh*cZBp*UK<5r5F_*4W|&GojZgm%COP+Ci^oU@6hN(qx6?P{Hc`f zFTvqv3L#ld(~$GTbd(~Rro>IW2j=vA_?x%QPxomoryKA-{1HjO>D`GybA-;J)=)zb zLF?T1mteR;tgS@#p1k;=_Ls%sujUBO*uMA|KK!t@1rEd&DXq`;<1>#kEDz>`il#4d6D4h!tB`?Ou#s__ZzJR$}`{@(38FZep#sk@-Zs{qs zZ@L~<(kl3PT|;e#-((;5Qd*RLw9=F0qU{N02fChWj;@YwuYo8*?UwRX*85;ey9oM( z|4A%uj{pHjigtKx&P21>bR{C%t-w%f7j57tue{GxK(z};!eLWKIlCN})=F@;V|kJq z3s<{%juKG`2?WQ6FlE;rW{;Cmt&cY537+yUc?Gg_6I(eja}*OeigQJKiw!f+kF`_m zJwFnK&P}cwlSGSi@tpUeZ#OEjs4@`G^%OxQBBY#4f7-dwifEk(O2jvgQCb^IIJ-R! zt<4W_O6Jryo4TR!Qs-t=Oj^1UrW4W2igrp#ZdQg>Od4KCQ)>zO#@+T;Sf#q5R2WhF z!b+{v^gFYIV>v0+hPh9$h=L)5(J7fjdB-xT@46|$;Ww?6(i3@&jyLC8DSmig_SuQU z!o_9-j7QY^(VUa`|3~keB(y+a5<9ro|;-Tig<@D440FzAJDik zyV4)tj^h*~Rwj3SSFZY^_C?4W9zCPfWb_9SOy&*cK$QIyx3(J-!_VfJ^^m)+SCgMX z><=B|kCpeF$aq(FfX#aIyt+Mk?mM4$lg)Dwf#pha4K^FsWCtte=1Rz;)oX3Gxvu;6 zMf02ki?ZdsGmN(SgOFD$v@J?sind`uMxy~OLcK%wg)$7sSwf*?*)@l!Hhgrd~24rpwL42zQ z+9Ir#Y)h>GClZ+J=sHahGJ_B{>o$(zo!&;x0cS6hlHus0Ao+1o zc5NFCv$$*e;VsqV>~>8TpGwiy%+pqqgAu_~dv(m2%XV!S-}$lM>-yn)zg_$hd=$H?e$hIT@7tTTTY$JmzpRc<)BZ$=r3Gkdu{YIT1EN-t0ZGw0GT!QCYXT zjf3$ac3_V+EK1~*lYQT`>{m_()1Vkfa`LfuIr*UYqW-4mYd<^h440F+6D1hm(&6WOevk{nQ{>ZC{*>Wm3uRx_N+e?@G;iIGMRYXizI&ECVu{ zcU#KIuB+D%CwtfSB{HiLxo%ik>CgTqoLp`0Xfze&%GlxI zD2^q3vhvfn55?|kKx1q>Al^WuRdFm&R>YKuWSesnEGH^>ACf43Vg}5%mXGhICCi zv_u9l2FPBDbwR0uq#IF;F4>FH38of-v)Asa0%$S8freIr;an$AR$@cD+&o#)zKAB` z99^_$GF+kz!=Z~8k{6yaO!aH7T|A?CV$)t46p2XjL@79Ilm{b9l-+(K4@4ncq`B_S zQ#P8gaMX@az1xL%j}9it9QEu1n`K9t{yr9L^tWHc7umUz8$MZyuet}uw9XE#+U?UX?qYusU%_;sWBrd>5h8nI~CArQ0+ ztY`GV=;}%iHkTv)&bCPDa5kfp5c!>(T>-k$fBZk%-d^XHW!tjy&r_6*1NZ81);=Z{ zHei-8P@w|jBJuP760Nm9V$N@^TOPvNyRXQM9KU^xh>V#Zh-5NbS4+jp4@(#kp!Hk! zVqdh?%ERo7)qf1jRFtWIaz?d1KiuFyykgBK|tsMFldQ zmGu{~w;gMF48+5<+IExB_1;-D%1UfA(bgJmXVVW8;8H#7YM9Zh`lPk!PLkfdP;vU_WsHizUKO$W%wdQdayyd>7vdDb*gI|cY%i4I*)@dLY}^3G*j zY{0x`Z42?uOCJ!sIq$vID~m;hnPWKIYp;i^y;ale3}F&c86J;#E#~$)$1Byd7)g&% zqmEaKc7O39>Lw)-5MhWA*i%-;8?jZ?dOK`nG+XBhF zOvN=HM4&xuu{5rJ&OY3!Kjk#%9d|-j^TO=|<$EL=W5=va=sZ=q>4xTq({x_w&bEVM z?D5V;2LDm>k43Y}2fcoaQ|`t6oh;!`(;mOuQLXQ|7hszkI)ro)g-ngC2k?{>iE97zAdT2U-OsgI1+KFlT6< z$jpZ@Sb6a9dK6}=Dv~-x%;wFClb7|ARz)=DrM8(-%L?SnJ1=L{W_e*op(*WNcak$8 z%;~)A2ejGz4qIl?`JLs!2bGfA0ed@|{2#Ph^v0+~^$tkbu47o=fW4QLb!KchPPW>D zaLU=t=b+tXhnAqCe)fbuz9}2LHi~)K@%%_5Gq2w6I@5VAJUK2bAF#`EhXtf#-`J}5 zB1JV3dTRab70VZ}8iDQhS{jOO2R4m*l4Hvs5hq?G7;`Q&J} z@J`78?5eFFVhb$Bv;6^IN$ zO3s_p1-zU9A;7WaKRI81`xNYscr8r4jIlm>`uxj%oF{KR{OS`J6B!F-0eruxu|6>t zdiCjxtxq5_Jngjw^O`TOKKazKlI*NR>(ue3=)AM~JwUBwr)S* z;ngQ~zWo60LBcFER-eGtk@XOu_;3{njfv08IJIJBdtIy6I{xEMd;+3hEwhVl@by=e z&Sch>xSZHl1JSEbUrbOtQ&~dN;a%rlq%Xg~_ddWXqeR~dq`dPr>AJ{$?=LTavQAJD2T+9=1l8|_ zc(Nz;?bAM^^$*;Mr5LLlWGPx){X%Lz(94^Dg4$EcB%;^?4>08;7t@Y_wr+V1YdOGejgMP+T zQO3#QW`11|r;_vV>w>`XD?K4PaP{r%sS)UMcU=&thmWc4f>tpe}0Bvmr0-vfqHEkYqe;m{v3J-(-A9`KT!|Q@}r@Sry^OSaX=`HJmeCoVu z7o~%rNONr>ISD`taML0_}{ML{mFR=k+ z&2!0SV}zte>@i(0V=R!QdI6pz8$qwniFx^*Lfy-avbV5(S~&5a{=#8(krcy6U@YZx z-1z~WKi!AmR|lx#7`J$BZ(77O5FuqCmC?_!p}k2P&W`P5fuCJ}!;b;q^?zcRt2b## z)(Qb-V#tR-*Jr;kqk2AnzJV^Z-`$U2e_*BmIlmagdUd@;Q6E}Hpy_OuU1}(`e)SV1 zmqEO}z!f#fr-w&~>1z>);spGg>bTnvcKnVZ{9Bzx{&{Mwx&0@Uq_?`3K=I zqj|vBzkm^@`hgKwTyptty@@^i`f5Hyvw&#GggQsw~lfogAV?p@GYcZbJ@yADc8}~i-Hx5(sC1IP9Srxa4 zT=n2rOzYh3eTp%k2y==ETA!PK)EoIpj8XoTL*R5rYUBzDgp}#0cS7@>tU9cvikOOM zR`e-Vx!Jgg;UfJ^SWQAACgfAf74yftJ*`Blqt>z~47DyUJY^~k56LDVLT6IBQw_$> zWs3;AsXHx?^M>XjlISyvlO63&E#cYAH?Np*7V}h*oF^?9)rW{aBkBhxSh`a?(Ks$! zJe>%NSsb;`SoCG_A$TKsm5(UVlWF5q!y@Yc-KotWxzD`fti)5zfR9CKc7Gu3tHpoO zS{A!eF<%^in84EWu%Wg5~(y;f#`i zzxV=U`HtZii!hzf!BWaVGq|iR#t$K{Jn|Vmf3QH*G99yU%$;Wt!Mtm!$$4GxoZadw zMD9EjA@n+43kN9!>}5U>qC<4JYHAn3SpBY;AUmv;+%aG#nkOw-KDYVgyi}XX#G>e9 zZ3?6F{`AGXL(u8lk9Q8E?fiiw(ssxmS8ZiYrAmWXR8%J6r1>fhLS9=6Ds!V0r)39e zp(SY5f6RN#h>d+J&8{{@qFoz8-e<+bIM{3B9B4|LLQ`6iRl;(Ir~b$XBy!#&{$ugW zhmSU&(ThuXT>EDS=3RvJp3UdrU`NlQN%TP^br$CYTa1d;?D>9y-KW7alxFxDTx=2- z_zz_NZ1F(UsTWc!C1;3>lf!X-R;t@zu{MJ-u-`ITJUw|7z=!4T2`FXB8U(^2w?)o3N%^0uF|753gX9Q(Dndw6GA#%YcXrD%?>9s5a zv_(jnSteX0GpgODAL%J7OLi3Kn9)yD)ZonI$r!$S6I*Zyaxko#q%YI zkT6o_+mG(&`-iEooIZ?qUvxbD^21Yp^DtqhwGJb>Z>q%SDcKfu-68b-%X58;2DT}+ z2!t>!4}!AS>M^L?`9x9;y!x^pHsvpv8ad* zO{Ql4j9yIQ7q3nJ0@rKFS$$ZeDk{?ohA1KYij3 z_%FT-nk28zKD;gnBwLkpz5}b=|

    g2$+HL8|OQVs*Cc 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 diff --git a/assets/all_results_SSIM.png b/assets/all_results_SSIM.png deleted file mode 100644 index 983eb019e91968e62ed96a92804d8b7e5b7e761c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 82608 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 z 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ͧVd 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 literal 0 HcmV?d00001 diff --git a/assets/charts/accel_default_PSNR.png b/assets/charts/accel_default_PSNR.png new file mode 100644 index 0000000000000000000000000000000000000000..77a18bf8a6371584d486593fbe63d8767a508f45 GIT binary patch literal 60452 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 literal 0 HcmV?d00001 diff --git a/assets/charts/accel_default_SSIM.png b/assets/charts/accel_default_SSIM.png new file mode 100644 index 0000000000000000000000000000000000000000..fc9e4cb4cc68149c24b98581f5475bc3ca05c709 GIT binary patch literal 54992 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

  • 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

    -5H!Ce;?T2D!KKooN|cG@1u8*ivrUdp0m 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
    6yC^7O*60$cYxJv!R#sCCDDU(GNm_?X?VH^<9 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
    HnJjjC@G5@+_Pbt+9j3 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