Skip to content

Commit 127f953

Browse files
author
David Svitov
committed
First commit
0 parents  commit 127f953

21 files changed

+5082
-0
lines changed

.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
build/
2+
diff_bbsplat_rasterization.egg-info/
3+
dist/
4+
*.so
5+
.vscode
6+
**__pycache__**
7+
*.pyc

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "third_party/glm"]
2+
path = third_party/glm
3+
url = https://github.com/g-truc/glm.git

CMakeLists.txt

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#
2+
# Copyright (C) 2023, Inria
3+
# GRAPHDECO research group, https://team.inria.fr/graphdeco
4+
# All rights reserved.
5+
#
6+
# This software is free for non-commercial, research and evaluation use
7+
# under the terms of the LICENSE.md file.
8+
#
9+
# For inquiries contact [email protected]
10+
#
11+
12+
cmake_minimum_required(VERSION 3.20)
13+
14+
project(DiffRast LANGUAGES CUDA CXX)
15+
16+
set(CMAKE_CXX_STANDARD 17)
17+
set(CMAKE_CXX_EXTENSIONS OFF)
18+
set(CMAKE_CUDA_STANDARD 17)
19+
20+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
21+
22+
add_library(CudaRasterizer
23+
cuda_rasterizer/backward.h
24+
cuda_rasterizer/backward.cu
25+
cuda_rasterizer/forward.h
26+
cuda_rasterizer/forward.cu
27+
cuda_rasterizer/auxiliary.h
28+
cuda_rasterizer/rasterizer_impl.cu
29+
cuda_rasterizer/rasterizer_impl.h
30+
cuda_rasterizer/rasterizer.h
31+
cuda_rasterizer/utils.h
32+
)
33+
34+
set_target_properties(CudaRasterizer PROPERTIES CUDA_ARCHITECTURES "70;75;86")
35+
36+
target_include_directories(CudaRasterizer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/cuda_rasterizer)
37+
target_include_directories(CudaRasterizer PRIVATE third_party/glm ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES})

LICENSE.md

+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
Gaussian-Splatting License
2+
===========================
3+
4+
**Inria** and **the Max Planck Institut for Informatik (MPII)** hold all the ownership rights on the *Software* named **gaussian-splatting**.
5+
The *Software* is in the process of being registered with the Agence pour la Protection des
6+
Programmes (APP).
7+
8+
The *Software* is still being developed by the *Licensor*.
9+
10+
*Licensor*'s goal is to allow the research community to use, test and evaluate
11+
the *Software*.
12+
13+
## 1. Definitions
14+
15+
*Licensee* means any person or entity that uses the *Software* and distributes
16+
its *Work*.
17+
18+
*Licensor* means the owners of the *Software*, i.e Inria and MPII
19+
20+
*Software* means the original work of authorship made available under this
21+
License ie gaussian-splatting.
22+
23+
*Work* means the *Software* and any additions to or derivative works of the
24+
*Software* that are made available under this License.
25+
26+
27+
## 2. Purpose
28+
This license is intended to define the rights granted to the *Licensee* by
29+
Licensors under the *Software*.
30+
31+
## 3. Rights granted
32+
33+
For the above reasons Licensors have decided to distribute the *Software*.
34+
Licensors grant non-exclusive rights to use the *Software* for research purposes
35+
to research users (both academic and industrial), free of charge, without right
36+
to sublicense.. The *Software* may be used "non-commercially", i.e., for research
37+
and/or evaluation purposes only.
38+
39+
Subject to the terms and conditions of this License, you are granted a
40+
non-exclusive, royalty-free, license to reproduce, prepare derivative works of,
41+
publicly display, publicly perform and distribute its *Work* and any resulting
42+
derivative works in any form.
43+
44+
## 4. Limitations
45+
46+
**4.1 Redistribution.** You may reproduce or distribute the *Work* only if (a) you do
47+
so under this License, (b) you include a complete copy of this License with
48+
your distribution, and (c) you retain without modification any copyright,
49+
patent, trademark, or attribution notices that are present in the *Work*.
50+
51+
**4.2 Derivative Works.** You may specify that additional or different terms apply
52+
to the use, reproduction, and distribution of your derivative works of the *Work*
53+
("Your Terms") only if (a) Your Terms provide that the use limitation in
54+
Section 2 applies to your derivative works, and (b) you identify the specific
55+
derivative works that are subject to Your Terms. Notwithstanding Your Terms,
56+
this License (including the redistribution requirements in Section 3.1) will
57+
continue to apply to the *Work* itself.
58+
59+
**4.3** Any other use without of prior consent of Licensors is prohibited. Research
60+
users explicitly acknowledge having received from Licensors all information
61+
allowing to appreciate the adequacy between of the *Software* and their needs and
62+
to undertake all necessary precautions for its execution and use.
63+
64+
**4.4** The *Software* is provided both as a compiled library file and as source
65+
code. In case of using the *Software* for a publication or other results obtained
66+
through the use of the *Software*, users are strongly encouraged to cite the
67+
corresponding publications as explained in the documentation of the *Software*.
68+
69+
## 5. Disclaimer
70+
71+
THE USER CANNOT USE, EXPLOIT OR DISTRIBUTE THE *SOFTWARE* FOR COMMERCIAL PURPOSES
72+
WITHOUT PRIOR AND EXPLICIT CONSENT OF LICENSORS. YOU MUST CONTACT INRIA FOR ANY
73+
UNAUTHORIZED USE: [email protected] . ANY SUCH ACTION WILL
74+
CONSTITUTE A FORGERY. THIS *SOFTWARE* IS PROVIDED "AS IS" WITHOUT ANY WARRANTIES
75+
OF ANY NATURE AND ANY EXPRESS OR IMPLIED WARRANTIES, WITH REGARDS TO COMMERCIAL
76+
USE, PROFESSIONNAL USE, LEGAL OR NOT, OR OTHER, OR COMMERCIALISATION OR
77+
ADAPTATION. UNLESS EXPLICITLY PROVIDED BY LAW, IN NO EVENT, SHALL INRIA OR THE
78+
AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
79+
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
80+
GOODS OR SERVICES, LOSS OF USE, DATA, OR PROFITS OR BUSINESS INTERRUPTION)
81+
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
82+
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING FROM, OUT OF OR
83+
IN CONNECTION WITH THE *SOFTWARE* OR THE USE OR OTHER DEALINGS IN THE *SOFTWARE*.

README.md

+41
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# Differential BBSplat Rasterization
2+
3+
This is the rasterization engine for the paper "BillBoard Splatting (BBSplat): Learnable Textured Primitives for Novel View Synthesis". If you can make use of it in your own research, please be so kind to cite us.
4+
5+
<section class="section" id="BibTeX">
6+
<div class="container is-max-desktop content">
7+
<h2 class="title">BibTeX</h2>
8+
<pre><code>@article{svitov2024billboard,
9+
title={BillBoard Splatting (BBSplat): Learnable Textured Primitives for Novel View Synthesis},
10+
author={Svitov, David and Morerio, Pietro and Agapito, Lourdes and Del Bue, Alessio},
11+
journal={arXiv preprint arXiv:2411.08508},
12+
year={2024}
13+
}</code></pre>
14+
</div>
15+
</section>
16+
17+
This implementation is based on the implementation of 3D and 2D Gaussian splatting. Please also consider citing their works.
18+
19+
<section class="section" id="BibTeX">
20+
<div class="container is-max-desktop content">
21+
<h2 class="title">2DGS/3DGS BibTeX</h2>
22+
<pre><code>@inproceedings{Huang2DGS2024,
23+
title={2D Gaussian Splatting for Geometrically Accurate Radiance Fields},
24+
author={Huang, Binbin and Yu, Zehao and Chen, Anpei and Geiger, Andreas and Gao, Shenghua},
25+
publisher = {Association for Computing Machinery},
26+
booktitle = {SIGGRAPH 2024 Conference Papers},
27+
year = {2024},
28+
doi = {10.1145/3641519.3657428}
29+
}
30+
@Article{kerbl3Dgaussians,
31+
author = {Kerbl, Bernhard and Kopanas, Georgios and Leimk{\"u}hler, Thomas and Drettakis, George},
32+
title = {3D Gaussian Splatting for Real-Time Radiance Field Rendering},
33+
journal = {ACM Transactions on Graphics},
34+
number = {4},
35+
volume = {42},
36+
month = {July},
37+
year = {2023},
38+
url = {https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/}
39+
}</code></pre>
40+
</div>
41+
</section>

0 commit comments

Comments
 (0)