Repository: TY424/AbsGS Branch: main Commit: 87d7a5aac21c Files: 1513 Total size: 16.5 MB Directory structure: gitextract_iv7jw_c9/ ├── .gitignore ├── .gitmodules ├── LICENSE.md ├── README.md ├── arguments/ │ └── __init__.py ├── convert.py ├── environment.yml ├── full_eval.py ├── gaussian_renderer/ │ ├── __init__.py │ └── network_gui.py ├── lpipsPyTorch/ │ ├── __init__.py │ └── modules/ │ ├── lpips.py │ ├── networks.py │ └── utils.py ├── metrics.py ├── render.py ├── scene/ │ ├── __init__.py │ ├── cameras.py │ ├── colmap_loader.py │ ├── dataset_readers.py │ └── gaussian_model.py ├── submodules/ │ ├── diff-gaussian-rasterization-abs/ │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── CMakeLists.txt │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── cuda_rasterizer/ │ │ │ ├── auxiliary.h │ │ │ ├── backward.cu │ │ │ ├── backward.h │ │ │ ├── config.h │ │ │ ├── forward.cu │ │ │ ├── forward.h │ │ │ ├── rasterizer.h │ │ │ ├── rasterizer_impl.cu │ │ │ └── rasterizer_impl.h │ │ ├── diff_gaussian_rasterization_abs/ │ │ │ └── __init__.py │ │ ├── ext.cpp │ │ ├── rasterize_points.cu │ │ ├── rasterize_points.h │ │ ├── setup.py │ │ └── third_party/ │ │ ├── glm/ │ │ │ ├── .appveyor.yml │ │ │ ├── .gitignore │ │ │ ├── .travis.yml │ │ │ ├── CMakeLists.txt │ │ │ ├── cmake/ │ │ │ │ └── cmake_uninstall.cmake.in │ │ │ ├── copying.txt │ │ │ ├── doc/ │ │ │ │ ├── api/ │ │ │ │ │ ├── a00001_source.html │ │ │ │ │ ├── a00002_source.html │ │ │ │ │ ├── a00003_source.html │ │ │ │ │ ├── a00004_source.html │ │ │ │ │ ├── a00005_source.html │ │ │ │ │ ├── a00006_source.html │ │ │ │ │ ├── a00007.html │ │ │ │ │ ├── a00007_source.html │ │ │ │ │ ├── a00008.html │ │ │ │ │ ├── a00008_source.html │ │ │ │ │ ├── a00009.html │ │ │ │ │ ├── a00009_source.html │ │ │ │ │ ├── a00010.html │ │ │ │ │ ├── a00010_source.html │ │ │ │ │ ├── a00011.html │ │ │ │ │ ├── a00011_source.html │ │ │ │ │ ├── a00012.html │ │ │ │ │ ├── a00012_source.html │ │ │ │ │ ├── a00013.html │ │ │ │ │ ├── a00013_source.html │ │ │ │ │ ├── a00014.html │ │ │ │ │ ├── a00014_source.html │ │ │ │ │ ├── a00015.html │ │ │ │ │ ├── a00015_source.html │ │ │ │ │ ├── a00016.html │ │ │ │ │ ├── a00016_source.html │ │ │ │ │ ├── a00017.html │ │ │ │ │ ├── a00017_source.html │ │ │ │ │ ├── a00018.html │ │ │ │ │ ├── a00018_source.html │ │ │ │ │ ├── a00019_source.html │ │ │ │ │ ├── a00020_source.html │ │ │ │ │ ├── a00021.html │ │ │ │ │ ├── a00021_source.html │ │ │ │ │ ├── a00022.html │ │ │ │ │ ├── a00022_source.html │ │ │ │ │ ├── a00023.html │ │ │ │ │ ├── a00023_source.html │ │ │ │ │ ├── a00024.html │ │ │ │ │ ├── a00024_source.html │ │ │ │ │ ├── a00025.html │ │ │ │ │ ├── a00025_source.html │ │ │ │ │ ├── a00026.html │ │ │ │ │ ├── a00026_source.html │ │ │ │ │ ├── a00027.html │ │ │ │ │ ├── a00027_source.html │ │ │ │ │ ├── a00028.html │ │ │ │ │ ├── a00028_source.html │ │ │ │ │ ├── a00029.html │ │ │ │ │ ├── a00029_source.html │ │ │ │ │ ├── a00030.html │ │ │ │ │ ├── a00030_source.html │ │ │ │ │ ├── a00031.html │ │ │ │ │ ├── a00031_source.html │ │ │ │ │ ├── a00032.html │ │ │ │ │ ├── a00032_source.html │ │ │ │ │ ├── a00033.html │ │ │ │ │ ├── a00033_source.html │ │ │ │ │ ├── a00034.html │ │ │ │ │ ├── a00034_source.html │ │ │ │ │ ├── a00035_source.html │ │ │ │ │ ├── a00036.html │ │ │ │ │ ├── a00036_source.html │ │ │ │ │ ├── a00037.html │ │ │ │ │ ├── a00037_source.html │ │ │ │ │ ├── a00038.html │ │ │ │ │ ├── a00038_source.html │ │ │ │ │ ├── a00039.html │ │ │ │ │ ├── a00039_source.html │ │ │ │ │ ├── a00040.html │ │ │ │ │ ├── a00040_source.html │ │ │ │ │ ├── a00041.html │ │ │ │ │ ├── a00041_source.html │ │ │ │ │ ├── a00042.html │ │ │ │ │ ├── a00042_source.html │ │ │ │ │ ├── a00043.html │ │ │ │ │ ├── a00043_source.html │ │ │ │ │ ├── a00044.html │ │ │ │ │ ├── a00044_source.html │ │ │ │ │ ├── a00045.html │ │ │ │ │ ├── a00045_source.html │ │ │ │ │ ├── a00046.html │ │ │ │ │ ├── a00046_source.html │ │ │ │ │ ├── a00047_source.html │ │ │ │ │ ├── a00048.html │ │ │ │ │ ├── a00048_source.html │ │ │ │ │ ├── a00049.html │ │ │ │ │ ├── a00049_source.html │ │ │ │ │ ├── a00050.html │ │ │ │ │ ├── a00050_source.html │ │ │ │ │ ├── a00051.html │ │ │ │ │ ├── a00051_source.html │ │ │ │ │ ├── a00052.html │ │ │ │ │ ├── a00052_source.html │ │ │ │ │ ├── a00053.html │ │ │ │ │ ├── a00053_source.html │ │ │ │ │ ├── a00054.html │ │ │ │ │ ├── a00054_source.html │ │ │ │ │ ├── a00055.html │ │ │ │ │ ├── a00055_source.html │ │ │ │ │ ├── a00056.html │ │ │ │ │ ├── a00056_source.html │ │ │ │ │ ├── a00057.html │ │ │ │ │ ├── a00057_source.html │ │ │ │ │ ├── a00058.html │ │ │ │ │ ├── a00058_source.html │ │ │ │ │ ├── a00059.html │ │ │ │ │ ├── a00059_source.html │ │ │ │ │ ├── a00060.html │ │ │ │ │ ├── a00060_source.html │ │ │ │ │ ├── a00061.html │ │ │ │ │ ├── a00061_source.html │ │ │ │ │ ├── a00062.html │ │ │ │ │ ├── a00062_source.html │ │ │ │ │ ├── a00063.html │ │ │ │ │ ├── a00063_source.html │ │ │ │ │ ├── a00064.html │ │ │ │ │ ├── a00064_source.html │ │ │ │ │ ├── a00065.html │ │ │ │ │ ├── a00065_source.html │ │ │ │ │ ├── a00066.html │ │ │ │ │ ├── a00066_source.html │ │ │ │ │ ├── a00067.html │ │ │ │ │ ├── a00067_source.html │ │ │ │ │ ├── a00068.html │ │ │ │ │ ├── a00068_source.html │ │ │ │ │ ├── a00069.html │ │ │ │ │ ├── a00069_source.html │ │ │ │ │ ├── a00070.html │ │ │ │ │ ├── a00070_source.html │ │ │ │ │ ├── a00071.html │ │ │ │ │ ├── a00071_source.html │ │ │ │ │ ├── a00072.html │ │ │ │ │ ├── a00072_source.html │ │ │ │ │ ├── a00073.html │ │ │ │ │ ├── a00073_source.html │ │ │ │ │ ├── a00074.html │ │ │ │ │ ├── a00074_source.html │ │ │ │ │ ├── a00075.html │ │ │ │ │ ├── a00075_source.html │ │ │ │ │ ├── a00076.html │ │ │ │ │ ├── a00076_source.html │ │ │ │ │ ├── a00077.html │ │ │ │ │ ├── a00077_source.html │ │ │ │ │ ├── a00078.html │ │ │ │ │ ├── a00078_source.html │ │ │ │ │ ├── a00079.html │ │ │ │ │ ├── a00079_source.html │ │ │ │ │ ├── a00080.html │ │ │ │ │ ├── a00080_source.html │ │ │ │ │ ├── a00081.html │ │ │ │ │ ├── a00081_source.html │ │ │ │ │ ├── a00082.html │ │ │ │ │ ├── a00082_source.html │ │ │ │ │ ├── a00083.html │ │ │ │ │ ├── a00083_source.html │ │ │ │ │ ├── a00084.html │ │ │ │ │ ├── a00084_source.html │ │ │ │ │ ├── a00085.html │ │ │ │ │ ├── a00085_source.html │ │ │ │ │ ├── a00086.html │ │ │ │ │ ├── a00086_source.html │ │ │ │ │ ├── a00087.html │ │ │ │ │ ├── a00087_source.html │ │ │ │ │ ├── a00088.html │ │ │ │ │ ├── a00088_source.html │ │ │ │ │ ├── a00089.html │ │ │ │ │ ├── a00089_source.html │ │ │ │ │ ├── a00090.html │ │ │ │ │ ├── a00090_source.html │ │ │ │ │ ├── a00091.html │ │ │ │ │ ├── a00091_source.html │ │ │ │ │ ├── a00092.html │ │ │ │ │ ├── a00092_source.html │ │ │ │ │ ├── a00093.html │ │ │ │ │ ├── a00093_source.html │ │ │ │ │ ├── a00094.html │ │ │ │ │ ├── a00094_source.html │ │ │ │ │ ├── a00095_source.html │ │ │ │ │ ├── a00096.html │ │ │ │ │ ├── a00096_source.html │ │ │ │ │ ├── a00097.html │ │ │ │ │ ├── a00097_source.html │ │ │ │ │ ├── a00098.html │ │ │ │ │ ├── a00098_source.html │ │ │ │ │ ├── a00099.html │ │ │ │ │ ├── a00099_source.html │ │ │ │ │ ├── a00100.html │ │ │ │ │ ├── a00100_source.html │ │ │ │ │ ├── a00101.html │ │ │ │ │ ├── a00101_source.html │ │ │ │ │ ├── a00102.html │ │ │ │ │ ├── a00102_source.html │ │ │ │ │ ├── a00103.html │ │ │ │ │ ├── a00103_source.html │ │ │ │ │ ├── a00104.html │ │ │ │ │ ├── a00104_source.html │ │ │ │ │ ├── a00105.html │ │ │ │ │ ├── a00105_source.html │ │ │ │ │ ├── a00106.html │ │ │ │ │ ├── a00106_source.html │ │ │ │ │ ├── a00107.html │ │ │ │ │ ├── a00107_source.html │ │ │ │ │ ├── a00108.html │ │ │ │ │ ├── a00108_source.html │ │ │ │ │ ├── a00109.html │ │ │ │ │ ├── a00109_source.html │ │ │ │ │ ├── a00110.html │ │ │ │ │ ├── a00110_source.html │ │ │ │ │ ├── a00111.html │ │ │ │ │ ├── a00111_source.html │ │ │ │ │ ├── a00112.html │ │ │ │ │ ├── a00112_source.html │ │ │ │ │ ├── a00113.html │ │ │ │ │ ├── a00113_source.html │ │ │ │ │ ├── a00114.html │ │ │ │ │ ├── a00114_source.html │ │ │ │ │ ├── a00115.html │ │ │ │ │ ├── a00115_source.html │ │ │ │ │ ├── a00116.html │ │ │ │ │ ├── a00116_source.html │ │ │ │ │ ├── a00117.html │ │ │ │ │ ├── a00117_source.html │ │ │ │ │ ├── a00118.html │ │ │ │ │ ├── a00118_source.html │ │ │ │ │ ├── a00119.html │ │ │ │ │ ├── a00119_source.html │ │ │ │ │ ├── a00120.html │ │ │ │ │ ├── a00120_source.html │ │ │ │ │ ├── a00121.html │ │ │ │ │ ├── a00121_source.html │ │ │ │ │ ├── a00122.html │ │ │ │ │ ├── a00122_source.html │ │ │ │ │ ├── a00123.html │ │ │ │ │ ├── a00123_source.html │ │ │ │ │ ├── a00124_source.html │ │ │ │ │ ├── a00125.html │ │ │ │ │ ├── a00125_source.html │ │ │ │ │ ├── a00126.html │ │ │ │ │ ├── a00126_source.html │ │ │ │ │ ├── a00127.html │ │ │ │ │ ├── a00127_source.html │ │ │ │ │ ├── a00128.html │ │ │ │ │ ├── a00128_source.html │ │ │ │ │ ├── a00129.html │ │ │ │ │ ├── a00129_source.html │ │ │ │ │ ├── a00130.html │ │ │ │ │ ├── a00130_source.html │ │ │ │ │ ├── a00131.html │ │ │ │ │ ├── a00131_source.html │ │ │ │ │ ├── a00132.html │ │ │ │ │ ├── a00132_source.html │ │ │ │ │ ├── a00133.html │ │ │ │ │ ├── a00133_source.html │ │ │ │ │ ├── a00134.html │ │ │ │ │ ├── a00134_source.html │ │ │ │ │ ├── a00135.html │ │ │ │ │ ├── a00135_source.html │ │ │ │ │ ├── a00136.html │ │ │ │ │ ├── a00136_source.html │ │ │ │ │ ├── a00137.html │ │ │ │ │ ├── a00137_source.html │ │ │ │ │ ├── a00138.html │ │ │ │ │ ├── a00138_source.html │ │ │ │ │ ├── a00139.html │ │ │ │ │ ├── a00139_source.html │ │ │ │ │ ├── a00140.html │ │ │ │ │ ├── a00140_source.html │ │ │ │ │ ├── a00141.html │ │ │ │ │ ├── a00141_source.html │ │ │ │ │ ├── a00142.html │ │ │ │ │ ├── a00142_source.html │ │ │ │ │ ├── a00143.html │ │ │ │ │ ├── a00143_source.html │ │ │ │ │ ├── a00144.html │ │ │ │ │ ├── a00144_source.html │ │ │ │ │ ├── a00145.html │ │ │ │ │ ├── a00145_source.html │ │ │ │ │ ├── a00146.html │ │ │ │ │ ├── a00146_source.html │ │ │ │ │ ├── a00147.html │ │ │ │ │ ├── a00147_source.html │ │ │ │ │ ├── a00148.html │ │ │ │ │ ├── a00148_source.html │ │ │ │ │ ├── a00149.html │ │ │ │ │ ├── a00149_source.html │ │ │ │ │ ├── a00150.html │ │ │ │ │ ├── a00150_source.html │ │ │ │ │ ├── a00151.html │ │ │ │ │ ├── a00151_source.html │ │ │ │ │ ├── a00152.html │ │ │ │ │ ├── a00152_source.html │ │ │ │ │ ├── a00153_source.html │ │ │ │ │ ├── a00154.html │ │ │ │ │ ├── a00154_source.html │ │ │ │ │ ├── a00155.html │ │ │ │ │ ├── a00155_source.html │ │ │ │ │ ├── a00156.html │ │ │ │ │ ├── a00156_source.html │ │ │ │ │ ├── a00157.html │ │ │ │ │ ├── a00157_source.html │ │ │ │ │ ├── a00158.html │ │ │ │ │ ├── a00158_source.html │ │ │ │ │ ├── a00159.html │ │ │ │ │ ├── a00159_source.html │ │ │ │ │ ├── a00160.html │ │ │ │ │ ├── a00160_source.html │ │ │ │ │ ├── a00161.html │ │ │ │ │ ├── a00161_source.html │ │ │ │ │ ├── a00162.html │ │ │ │ │ ├── a00162_source.html │ │ │ │ │ ├── a00163_source.html │ │ │ │ │ ├── a00164_source.html │ │ │ │ │ ├── a00165.html │ │ │ │ │ ├── a00165_source.html │ │ │ │ │ ├── a00166.html │ │ │ │ │ ├── a00166_source.html │ │ │ │ │ ├── a00167.html │ │ │ │ │ ├── a00167_source.html │ │ │ │ │ ├── a00168.html │ │ │ │ │ ├── a00168_source.html │ │ │ │ │ ├── a00169.html │ │ │ │ │ ├── a00169_source.html │ │ │ │ │ ├── a00170.html │ │ │ │ │ ├── a00170_source.html │ │ │ │ │ ├── a00171.html │ │ │ │ │ ├── a00171_source.html │ │ │ │ │ ├── a00172.html │ │ │ │ │ ├── a00172_source.html │ │ │ │ │ ├── a00173.html │ │ │ │ │ ├── a00173_source.html │ │ │ │ │ ├── a00174.html │ │ │ │ │ ├── a00174_source.html │ │ │ │ │ ├── a00175.html │ │ │ │ │ ├── a00175_source.html │ │ │ │ │ ├── a00176.html │ │ │ │ │ ├── a00176_source.html │ │ │ │ │ ├── a00177.html │ │ │ │ │ ├── a00177_source.html │ │ │ │ │ ├── a00178.html │ │ │ │ │ ├── a00178_source.html │ │ │ │ │ ├── a00179.html │ │ │ │ │ ├── a00179_source.html │ │ │ │ │ ├── a00180.html │ │ │ │ │ ├── a00180_source.html │ │ │ │ │ ├── a00181.html │ │ │ │ │ ├── a00181_source.html │ │ │ │ │ ├── a00182.html │ │ │ │ │ ├── a00182_source.html │ │ │ │ │ ├── a00183.html │ │ │ │ │ ├── a00183_source.html │ │ │ │ │ ├── a00184.html │ │ │ │ │ ├── a00184_source.html │ │ │ │ │ ├── a00185.html │ │ │ │ │ ├── a00185_source.html │ │ │ │ │ ├── a00186.html │ │ │ │ │ ├── a00186_source.html │ │ │ │ │ ├── a00187.html │ │ │ │ │ ├── a00187_source.html │ │ │ │ │ ├── a00188.html │ │ │ │ │ ├── a00188_source.html │ │ │ │ │ ├── a00189.html │ │ │ │ │ ├── a00189_source.html │ │ │ │ │ ├── a00190.html │ │ │ │ │ ├── a00190_source.html │ │ │ │ │ ├── a00191.html │ │ │ │ │ ├── a00191_source.html │ │ │ │ │ ├── a00192.html │ │ │ │ │ ├── a00192_source.html │ │ │ │ │ ├── a00193.html │ │ │ │ │ ├── a00193_source.html │ │ │ │ │ ├── a00194.html │ │ │ │ │ ├── a00194_source.html │ │ │ │ │ ├── a00195.html │ │ │ │ │ ├── a00195_source.html │ │ │ │ │ ├── a00196.html │ │ │ │ │ ├── a00196_source.html │ │ │ │ │ ├── a00197.html │ │ │ │ │ ├── a00197_source.html │ │ │ │ │ ├── a00198.html │ │ │ │ │ ├── a00198_source.html │ │ │ │ │ ├── a00199.html │ │ │ │ │ ├── a00199_source.html │ │ │ │ │ ├── a00200.html │ │ │ │ │ ├── a00200_source.html │ │ │ │ │ ├── a00201.html │ │ │ │ │ ├── a00201_source.html │ │ │ │ │ ├── a00202.html │ │ │ │ │ ├── a00202_source.html │ │ │ │ │ ├── a00203.html │ │ │ │ │ ├── a00203_source.html │ │ │ │ │ ├── a00204.html │ │ │ │ │ ├── a00204_source.html │ │ │ │ │ ├── a00205.html │ │ │ │ │ ├── a00205_source.html │ │ │ │ │ ├── a00206.html │ │ │ │ │ ├── a00206_source.html │ │ │ │ │ ├── a00207.html │ │ │ │ │ ├── a00207_source.html │ │ │ │ │ ├── a00208.html │ │ │ │ │ ├── a00208_source.html │ │ │ │ │ ├── a00209.html │ │ │ │ │ ├── a00209_source.html │ │ │ │ │ ├── a00210.html │ │ │ │ │ ├── a00210_source.html │ │ │ │ │ ├── a00211.html │ │ │ │ │ ├── a00211_source.html │ │ │ │ │ ├── a00212.html │ │ │ │ │ ├── a00212_source.html │ │ │ │ │ ├── a00213.html │ │ │ │ │ ├── a00213_source.html │ │ │ │ │ ├── a00214.html │ │ │ │ │ ├── a00214_source.html │ │ │ │ │ ├── a00215.html │ │ │ │ │ ├── a00215_source.html │ │ │ │ │ ├── a00216.html │ │ │ │ │ ├── a00216_source.html │ │ │ │ │ ├── a00217.html │ │ │ │ │ ├── a00217_source.html │ │ │ │ │ ├── a00218.html │ │ │ │ │ ├── a00218_source.html │ │ │ │ │ ├── a00219.html │ │ │ │ │ ├── a00219_source.html │ │ │ │ │ ├── a00220.html │ │ │ │ │ ├── a00220_source.html │ │ │ │ │ ├── a00221.html │ │ │ │ │ ├── a00221_source.html │ │ │ │ │ ├── a00222.html │ │ │ │ │ ├── a00222_source.html │ │ │ │ │ ├── a00223.html │ │ │ │ │ ├── a00223_source.html │ │ │ │ │ ├── a00224.html │ │ │ │ │ ├── a00224_source.html │ │ │ │ │ ├── a00225.html │ │ │ │ │ ├── a00225_source.html │ │ │ │ │ ├── a00226.html │ │ │ │ │ ├── a00226_source.html │ │ │ │ │ ├── a00227.html │ │ │ │ │ ├── a00227_source.html │ │ │ │ │ ├── a00228.html │ │ │ │ │ ├── a00228_source.html │ │ │ │ │ ├── a00229.html │ │ │ │ │ ├── a00229_source.html │ │ │ │ │ ├── a00230.html │ │ │ │ │ ├── a00230_source.html │ │ │ │ │ ├── a00231.html │ │ │ │ │ ├── a00231_source.html │ │ │ │ │ ├── a00232.html │ │ │ │ │ ├── a00232_source.html │ │ │ │ │ ├── a00233.html │ │ │ │ │ ├── a00233_source.html │ │ │ │ │ ├── a00234.html │ │ │ │ │ ├── a00234_source.html │ │ │ │ │ ├── a00235.html │ │ │ │ │ ├── a00235_source.html │ │ │ │ │ ├── a00241.html │ │ │ │ │ ├── a00242.html │ │ │ │ │ ├── a00243.html │ │ │ │ │ ├── a00244.html │ │ │ │ │ ├── a00245.html │ │ │ │ │ ├── a00246.html │ │ │ │ │ ├── a00247.html │ │ │ │ │ ├── a00248.html │ │ │ │ │ ├── a00249.html │ │ │ │ │ ├── a00250.html │ │ │ │ │ ├── a00251.html │ │ │ │ │ ├── a00252.html │ │ │ │ │ ├── a00253.html │ │ │ │ │ ├── a00254.html │ │ │ │ │ ├── a00255.html │ │ │ │ │ ├── a00256.html │ │ │ │ │ ├── a00257.html │ │ │ │ │ ├── a00258.html │ │ │ │ │ ├── a00259.html │ │ │ │ │ ├── a00260.html │ │ │ │ │ ├── a00261.html │ │ │ │ │ ├── a00262.html │ │ │ │ │ ├── a00263.html │ │ │ │ │ ├── a00264.html │ │ │ │ │ ├── a00265.html │ │ │ │ │ ├── a00266.html │ │ │ │ │ ├── a00267.html │ │ │ │ │ ├── a00268.html │ │ │ │ │ ├── a00269.html │ │ │ │ │ ├── a00270.html │ │ │ │ │ ├── a00271.html │ │ │ │ │ ├── a00272.html │ │ │ │ │ ├── a00273.html │ │ │ │ │ ├── a00274.html │ │ │ │ │ ├── a00275.html │ │ │ │ │ ├── a00276.html │ │ │ │ │ ├── a00277.html │ │ │ │ │ ├── a00278.html │ │ │ │ │ ├── a00279.html │ │ │ │ │ ├── a00280.html │ │ │ │ │ ├── a00281.html │ │ │ │ │ ├── a00282.html │ │ │ │ │ ├── a00283.html │ │ │ │ │ ├── a00284.html │ │ │ │ │ ├── a00285.html │ │ │ │ │ ├── a00286.html │ │ │ │ │ ├── a00287.html │ │ │ │ │ ├── a00288.html │ │ │ │ │ ├── a00289.html │ │ │ │ │ ├── a00290.html │ │ │ │ │ ├── a00291.html │ │ │ │ │ ├── a00292.html │ │ │ │ │ ├── a00293.html │ │ │ │ │ ├── a00294.html │ │ │ │ │ ├── a00295.html │ │ │ │ │ ├── a00296.html │ │ │ │ │ ├── a00297.html │ │ │ │ │ ├── a00298.html │ │ │ │ │ ├── a00299.html │ │ │ │ │ ├── a00300.html │ │ │ │ │ ├── a00301.html │ │ │ │ │ ├── a00302.html │ │ │ │ │ ├── a00303.html │ │ │ │ │ ├── a00304.html │ │ │ │ │ ├── a00305.html │ │ │ │ │ ├── a00306.html │ │ │ │ │ ├── a00307.html │ │ │ │ │ ├── a00308.html │ │ │ │ │ ├── a00309.html │ │ │ │ │ ├── a00310.html │ │ │ │ │ ├── a00311.html │ │ │ │ │ ├── a00312.html │ │ │ │ │ ├── a00313.html │ │ │ │ │ ├── a00314.html │ │ │ │ │ ├── a00315.html │ │ │ │ │ ├── a00316.html │ │ │ │ │ ├── a00317.html │ │ │ │ │ ├── a00318.html │ │ │ │ │ ├── a00319.html │ │ │ │ │ ├── a00320.html │ │ │ │ │ ├── a00321.html │ │ │ │ │ ├── a00322.html │ │ │ │ │ ├── a00323.html │ │ │ │ │ ├── a00324.html │ │ │ │ │ ├── a00325.html │ │ │ │ │ ├── a00326.html │ │ │ │ │ ├── a00327.html │ │ │ │ │ ├── a00328.html │ │ │ │ │ ├── a00329.html │ │ │ │ │ ├── a00330.html │ │ │ │ │ ├── a00331.html │ │ │ │ │ ├── a00332.html │ │ │ │ │ ├── a00333.html │ │ │ │ │ ├── a00334.html │ │ │ │ │ ├── a00335.html │ │ │ │ │ ├── a00336.html │ │ │ │ │ ├── a00337.html │ │ │ │ │ ├── a00338.html │ │ │ │ │ ├── a00339.html │ │ │ │ │ ├── a00340.html │ │ │ │ │ ├── a00341.html │ │ │ │ │ ├── a00342.html │ │ │ │ │ ├── a00343.html │ │ │ │ │ ├── a00344.html │ │ │ │ │ ├── a00345.html │ │ │ │ │ ├── a00346.html │ │ │ │ │ ├── a00347.html │ │ │ │ │ ├── a00348.html │ │ │ │ │ ├── a00349.html │ │ │ │ │ ├── a00350.html │ │ │ │ │ ├── a00351.html │ │ │ │ │ ├── a00352.html │ │ │ │ │ ├── a00353.html │ │ │ │ │ ├── a00354.html │ │ │ │ │ ├── a00355.html │ │ │ │ │ ├── a00356.html │ │ │ │ │ ├── a00357.html │ │ │ │ │ ├── a00358.html │ │ │ │ │ ├── a00359.html │ │ │ │ │ ├── a00360.html │ │ │ │ │ ├── a00361.html │ │ │ │ │ ├── a00362.html │ │ │ │ │ ├── a00363.html │ │ │ │ │ ├── a00364.html │ │ │ │ │ ├── a00365.html │ │ │ │ │ ├── a00366.html │ │ │ │ │ ├── a00367.html │ │ │ │ │ ├── a00368.html │ │ │ │ │ ├── a00369.html │ │ │ │ │ ├── a00370.html │ │ │ │ │ ├── a00371.html │ │ │ │ │ ├── a00372.html │ │ │ │ │ ├── a00373.html │ │ │ │ │ ├── a00374.html │ │ │ │ │ ├── dir_033f5edb0915b828d2c46ed4804e5503.html │ │ │ │ │ ├── dir_3a581ba30d25676e4b797b1f96d53b45.html │ │ │ │ │ ├── dir_44e5e654415abd9ca6fdeaddaff8565e.html │ │ │ │ │ ├── dir_4c6bd29c73fa4e5a2509e1c15f846751.html │ │ │ │ │ ├── dir_5189610d3ba09ec39b766fb99b34cd93.html │ │ │ │ │ ├── dir_6b66465792d005310484819a0eb0b0d3.html │ │ │ │ │ ├── dir_9e5fe034a00e89334fd5186c3e7db156.html │ │ │ │ │ ├── dir_a8bee7be44182a33f3820393ae0b105d.html │ │ │ │ │ ├── dir_cef2d71d502cb69a9252bca2297d9549.html │ │ │ │ │ ├── dir_d9496f0844b48bc7e53b5af8c99b9ab2.html │ │ │ │ │ ├── dir_f35778ec600a1b9bbc4524e62e226aa2.html │ │ │ │ │ ├── doxygen.css │ │ │ │ │ ├── dynsections.js │ │ │ │ │ ├── files.html │ │ │ │ │ ├── index.html │ │ │ │ │ ├── jquery.js │ │ │ │ │ ├── modules.html │ │ │ │ │ ├── search/ │ │ │ │ │ │ ├── all_0.html │ │ │ │ │ │ ├── all_0.js │ │ │ │ │ │ ├── all_1.html │ │ │ │ │ │ ├── all_1.js │ │ │ │ │ │ ├── all_10.html │ │ │ │ │ │ ├── all_10.js │ │ │ │ │ │ ├── all_11.html │ │ │ │ │ │ ├── all_11.js │ │ │ │ │ │ ├── all_12.html │ │ │ │ │ │ ├── all_12.js │ │ │ │ │ │ ├── all_13.html │ │ │ │ │ │ ├── all_13.js │ │ │ │ │ │ ├── all_14.html │ │ │ │ │ │ ├── all_14.js │ │ │ │ │ │ ├── all_15.html │ │ │ │ │ │ ├── all_15.js │ │ │ │ │ │ ├── all_16.html │ │ │ │ │ │ ├── all_16.js │ │ │ │ │ │ ├── all_2.html │ │ │ │ │ │ ├── all_2.js │ │ │ │ │ │ ├── all_3.html │ │ │ │ │ │ ├── all_3.js │ │ │ │ │ │ ├── all_4.html │ │ │ │ │ │ ├── all_4.js │ │ │ │ │ │ ├── all_5.html │ │ │ │ │ │ ├── all_5.js │ │ │ │ │ │ ├── all_6.html │ │ │ │ │ │ ├── all_6.js │ │ │ │ │ │ ├── all_7.html │ │ │ │ │ │ ├── all_7.js │ │ │ │ │ │ ├── all_8.html │ │ │ │ │ │ ├── all_8.js │ │ │ │ │ │ ├── all_9.html │ │ │ │ │ │ ├── all_9.js │ │ │ │ │ │ ├── all_a.html │ │ │ │ │ │ ├── all_a.js │ │ │ │ │ │ ├── all_b.html │ │ │ │ │ │ ├── all_b.js │ │ │ │ │ │ ├── all_c.html │ │ │ │ │ │ ├── all_c.js │ │ │ │ │ │ ├── all_d.html │ │ │ │ │ │ ├── all_d.js │ │ │ │ │ │ ├── all_e.html │ │ │ │ │ │ ├── all_e.js │ │ │ │ │ │ ├── all_f.html │ │ │ │ │ │ ├── all_f.js │ │ │ │ │ │ ├── files_0.html │ │ │ │ │ │ ├── files_0.js │ │ │ │ │ │ ├── files_1.html │ │ │ │ │ │ ├── files_1.js │ │ │ │ │ │ ├── files_10.html │ │ │ │ │ │ ├── files_10.js │ │ │ │ │ │ ├── files_11.html │ │ │ │ │ │ ├── files_11.js │ │ │ │ │ │ ├── files_12.html │ │ │ │ │ │ ├── files_12.js │ │ │ │ │ │ ├── files_13.html │ │ │ │ │ │ ├── files_13.js │ │ │ │ │ │ ├── files_14.html │ │ │ │ │ │ ├── files_14.js │ │ │ │ │ │ ├── files_2.html │ │ │ │ │ │ ├── files_2.js │ │ │ │ │ │ ├── files_3.html │ │ │ │ │ │ ├── files_3.js │ │ │ │ │ │ ├── files_4.html │ │ │ │ │ │ ├── files_4.js │ │ │ │ │ │ ├── files_5.html │ │ │ │ │ │ ├── files_5.js │ │ │ │ │ │ ├── files_6.html │ │ │ │ │ │ ├── files_6.js │ │ │ │ │ │ ├── files_7.html │ │ │ │ │ │ ├── files_7.js │ │ │ │ │ │ ├── files_8.html │ │ │ │ │ │ ├── files_8.js │ │ │ │ │ │ ├── files_9.html │ │ │ │ │ │ ├── files_9.js │ │ │ │ │ │ ├── files_a.html │ │ │ │ │ │ ├── files_a.js │ │ │ │ │ │ ├── files_b.html │ │ │ │ │ │ ├── files_b.js │ │ │ │ │ │ ├── files_c.html │ │ │ │ │ │ ├── files_c.js │ │ │ │ │ │ ├── files_d.html │ │ │ │ │ │ ├── files_d.js │ │ │ │ │ │ ├── files_e.html │ │ │ │ │ │ ├── files_e.js │ │ │ │ │ │ ├── files_f.html │ │ │ │ │ │ ├── files_f.js │ │ │ │ │ │ ├── functions_0.html │ │ │ │ │ │ ├── functions_0.js │ │ │ │ │ │ ├── functions_1.html │ │ │ │ │ │ ├── functions_1.js │ │ │ │ │ │ ├── functions_10.html │ │ │ │ │ │ ├── functions_10.js │ │ │ │ │ │ ├── functions_11.html │ │ │ │ │ │ ├── functions_11.js │ │ │ │ │ │ ├── functions_12.html │ │ │ │ │ │ ├── functions_12.js │ │ │ │ │ │ ├── functions_13.html │ │ │ │ │ │ ├── functions_13.js │ │ │ │ │ │ ├── functions_14.html │ │ │ │ │ │ ├── functions_14.js │ │ │ │ │ │ ├── functions_15.html │ │ │ │ │ │ ├── functions_15.js │ │ │ │ │ │ ├── functions_16.html │ │ │ │ │ │ ├── functions_16.js │ │ │ │ │ │ ├── functions_2.html │ │ │ │ │ │ ├── functions_2.js │ │ │ │ │ │ ├── functions_3.html │ │ │ │ │ │ ├── functions_3.js │ │ │ │ │ │ ├── functions_4.html │ │ │ │ │ │ ├── functions_4.js │ │ │ │ │ │ ├── functions_5.html │ │ │ │ │ │ ├── functions_5.js │ │ │ │ │ │ ├── functions_6.html │ │ │ │ │ │ ├── functions_6.js │ │ │ │ │ │ ├── functions_7.html │ │ │ │ │ │ ├── functions_7.js │ │ │ │ │ │ ├── functions_8.html │ │ │ │ │ │ ├── functions_8.js │ │ │ │ │ │ ├── functions_9.html │ │ │ │ │ │ ├── functions_9.js │ │ │ │ │ │ ├── functions_a.html │ │ │ │ │ │ ├── functions_a.js │ │ │ │ │ │ ├── functions_b.html │ │ │ │ │ │ ├── functions_b.js │ │ │ │ │ │ ├── functions_c.html │ │ │ │ │ │ ├── functions_c.js │ │ │ │ │ │ ├── functions_d.html │ │ │ │ │ │ ├── functions_d.js │ │ │ │ │ │ ├── functions_e.html │ │ │ │ │ │ ├── functions_e.js │ │ │ │ │ │ ├── functions_f.html │ │ │ │ │ │ ├── functions_f.js │ │ │ │ │ │ ├── groups_0.html │ │ │ │ │ │ ├── groups_0.js │ │ │ │ │ │ ├── groups_1.html │ │ │ │ │ │ ├── groups_1.js │ │ │ │ │ │ ├── groups_2.html │ │ │ │ │ │ ├── groups_2.js │ │ │ │ │ │ ├── groups_3.html │ │ │ │ │ │ ├── groups_3.js │ │ │ │ │ │ ├── groups_4.html │ │ │ │ │ │ ├── groups_4.js │ │ │ │ │ │ ├── groups_5.html │ │ │ │ │ │ ├── groups_5.js │ │ │ │ │ │ ├── groups_6.html │ │ │ │ │ │ ├── groups_6.js │ │ │ │ │ │ ├── groups_7.html │ │ │ │ │ │ ├── groups_7.js │ │ │ │ │ │ ├── groups_8.html │ │ │ │ │ │ ├── groups_8.js │ │ │ │ │ │ ├── groups_9.html │ │ │ │ │ │ ├── groups_9.js │ │ │ │ │ │ ├── nomatches.html │ │ │ │ │ │ ├── pages_0.html │ │ │ │ │ │ ├── pages_0.js │ │ │ │ │ │ ├── search.css │ │ │ │ │ │ ├── search.js │ │ │ │ │ │ ├── searchdata.js │ │ │ │ │ │ ├── typedefs_0.html │ │ │ │ │ │ ├── typedefs_0.js │ │ │ │ │ │ ├── typedefs_1.html │ │ │ │ │ │ ├── typedefs_1.js │ │ │ │ │ │ ├── typedefs_2.html │ │ │ │ │ │ ├── typedefs_2.js │ │ │ │ │ │ ├── typedefs_3.html │ │ │ │ │ │ ├── typedefs_3.js │ │ │ │ │ │ ├── typedefs_4.html │ │ │ │ │ │ ├── typedefs_4.js │ │ │ │ │ │ ├── typedefs_5.html │ │ │ │ │ │ ├── typedefs_5.js │ │ │ │ │ │ ├── typedefs_6.html │ │ │ │ │ │ ├── typedefs_6.js │ │ │ │ │ │ ├── typedefs_7.html │ │ │ │ │ │ ├── typedefs_7.js │ │ │ │ │ │ ├── typedefs_8.html │ │ │ │ │ │ ├── typedefs_8.js │ │ │ │ │ │ ├── typedefs_9.html │ │ │ │ │ │ ├── typedefs_9.js │ │ │ │ │ │ ├── typedefs_a.html │ │ │ │ │ │ ├── typedefs_a.js │ │ │ │ │ │ ├── typedefs_b.html │ │ │ │ │ │ ├── typedefs_b.js │ │ │ │ │ │ ├── typedefs_c.html │ │ │ │ │ │ ├── typedefs_c.js │ │ │ │ │ │ ├── typedefs_d.html │ │ │ │ │ │ └── typedefs_d.js │ │ │ │ │ └── tabs.css │ │ │ │ ├── man.doxy │ │ │ │ └── theme/ │ │ │ │ └── doxygen.css │ │ │ ├── glm/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── common.hpp │ │ │ │ ├── detail/ │ │ │ │ │ ├── _features.hpp │ │ │ │ │ ├── _fixes.hpp │ │ │ │ │ ├── _noise.hpp │ │ │ │ │ ├── _swizzle.hpp │ │ │ │ │ ├── _swizzle_func.hpp │ │ │ │ │ ├── _vectorize.hpp │ │ │ │ │ ├── compute_common.hpp │ │ │ │ │ ├── compute_vector_relational.hpp │ │ │ │ │ ├── func_common.inl │ │ │ │ │ ├── func_common_simd.inl │ │ │ │ │ ├── func_exponential.inl │ │ │ │ │ ├── func_exponential_simd.inl │ │ │ │ │ ├── func_geometric.inl │ │ │ │ │ ├── func_geometric_simd.inl │ │ │ │ │ ├── func_integer.inl │ │ │ │ │ ├── func_integer_simd.inl │ │ │ │ │ ├── func_matrix.inl │ │ │ │ │ ├── func_matrix_simd.inl │ │ │ │ │ ├── func_packing.inl │ │ │ │ │ ├── func_packing_simd.inl │ │ │ │ │ ├── func_trigonometric.inl │ │ │ │ │ ├── func_trigonometric_simd.inl │ │ │ │ │ ├── func_vector_relational.inl │ │ │ │ │ ├── func_vector_relational_simd.inl │ │ │ │ │ ├── glm.cpp │ │ │ │ │ ├── qualifier.hpp │ │ │ │ │ ├── setup.hpp │ │ │ │ │ ├── type_float.hpp │ │ │ │ │ ├── type_half.hpp │ │ │ │ │ ├── type_half.inl │ │ │ │ │ ├── type_mat2x2.hpp │ │ │ │ │ ├── type_mat2x2.inl │ │ │ │ │ ├── type_mat2x3.hpp │ │ │ │ │ ├── type_mat2x3.inl │ │ │ │ │ ├── type_mat2x4.hpp │ │ │ │ │ ├── type_mat2x4.inl │ │ │ │ │ ├── type_mat3x2.hpp │ │ │ │ │ ├── type_mat3x2.inl │ │ │ │ │ ├── type_mat3x3.hpp │ │ │ │ │ ├── type_mat3x3.inl │ │ │ │ │ ├── type_mat3x4.hpp │ │ │ │ │ ├── type_mat3x4.inl │ │ │ │ │ ├── type_mat4x2.hpp │ │ │ │ │ ├── type_mat4x2.inl │ │ │ │ │ ├── type_mat4x3.hpp │ │ │ │ │ ├── type_mat4x3.inl │ │ │ │ │ ├── type_mat4x4.hpp │ │ │ │ │ ├── type_mat4x4.inl │ │ │ │ │ ├── type_mat4x4_simd.inl │ │ │ │ │ ├── type_quat.hpp │ │ │ │ │ ├── type_quat.inl │ │ │ │ │ ├── type_quat_simd.inl │ │ │ │ │ ├── type_vec1.hpp │ │ │ │ │ ├── type_vec1.inl │ │ │ │ │ ├── type_vec2.hpp │ │ │ │ │ ├── type_vec2.inl │ │ │ │ │ ├── type_vec3.hpp │ │ │ │ │ ├── type_vec3.inl │ │ │ │ │ ├── type_vec4.hpp │ │ │ │ │ ├── type_vec4.inl │ │ │ │ │ └── type_vec4_simd.inl │ │ │ │ ├── exponential.hpp │ │ │ │ ├── ext/ │ │ │ │ │ ├── _matrix_vectorize.hpp │ │ │ │ │ ├── matrix_clip_space.hpp │ │ │ │ │ ├── matrix_clip_space.inl │ │ │ │ │ ├── matrix_common.hpp │ │ │ │ │ ├── matrix_common.inl │ │ │ │ │ ├── matrix_double2x2.hpp │ │ │ │ │ ├── matrix_double2x2_precision.hpp │ │ │ │ │ ├── matrix_double2x3.hpp │ │ │ │ │ ├── matrix_double2x3_precision.hpp │ │ │ │ │ ├── matrix_double2x4.hpp │ │ │ │ │ ├── matrix_double2x4_precision.hpp │ │ │ │ │ ├── matrix_double3x2.hpp │ │ │ │ │ ├── matrix_double3x2_precision.hpp │ │ │ │ │ ├── matrix_double3x3.hpp │ │ │ │ │ ├── matrix_double3x3_precision.hpp │ │ │ │ │ ├── matrix_double3x4.hpp │ │ │ │ │ ├── matrix_double3x4_precision.hpp │ │ │ │ │ ├── matrix_double4x2.hpp │ │ │ │ │ ├── matrix_double4x2_precision.hpp │ │ │ │ │ ├── matrix_double4x3.hpp │ │ │ │ │ ├── matrix_double4x3_precision.hpp │ │ │ │ │ ├── matrix_double4x4.hpp │ │ │ │ │ ├── matrix_double4x4_precision.hpp │ │ │ │ │ ├── matrix_float2x2.hpp │ │ │ │ │ ├── matrix_float2x2_precision.hpp │ │ │ │ │ ├── matrix_float2x3.hpp │ │ │ │ │ ├── matrix_float2x3_precision.hpp │ │ │ │ │ ├── matrix_float2x4.hpp │ │ │ │ │ ├── matrix_float2x4_precision.hpp │ │ │ │ │ ├── matrix_float3x2.hpp │ │ │ │ │ ├── matrix_float3x2_precision.hpp │ │ │ │ │ ├── matrix_float3x3.hpp │ │ │ │ │ ├── matrix_float3x3_precision.hpp │ │ │ │ │ ├── matrix_float3x4.hpp │ │ │ │ │ ├── matrix_float3x4_precision.hpp │ │ │ │ │ ├── matrix_float4x2.hpp │ │ │ │ │ ├── matrix_float4x2_precision.hpp │ │ │ │ │ ├── matrix_float4x3.hpp │ │ │ │ │ ├── matrix_float4x3_precision.hpp │ │ │ │ │ ├── matrix_float4x4.hpp │ │ │ │ │ ├── matrix_float4x4_precision.hpp │ │ │ │ │ ├── matrix_int2x2.hpp │ │ │ │ │ ├── matrix_int2x2_sized.hpp │ │ │ │ │ ├── matrix_int2x3.hpp │ │ │ │ │ ├── matrix_int2x3_sized.hpp │ │ │ │ │ ├── matrix_int2x4.hpp │ │ │ │ │ ├── matrix_int2x4_sized.hpp │ │ │ │ │ ├── matrix_int3x2.hpp │ │ │ │ │ ├── matrix_int3x2_sized.hpp │ │ │ │ │ ├── matrix_int3x3.hpp │ │ │ │ │ ├── matrix_int3x3_sized.hpp │ │ │ │ │ ├── matrix_int3x4.hpp │ │ │ │ │ ├── matrix_int3x4_sized.hpp │ │ │ │ │ ├── matrix_int4x2.hpp │ │ │ │ │ ├── matrix_int4x2_sized.hpp │ │ │ │ │ ├── matrix_int4x3.hpp │ │ │ │ │ ├── matrix_int4x3_sized.hpp │ │ │ │ │ ├── matrix_int4x4.hpp │ │ │ │ │ ├── matrix_int4x4_sized.hpp │ │ │ │ │ ├── matrix_integer.hpp │ │ │ │ │ ├── matrix_integer.inl │ │ │ │ │ ├── matrix_projection.hpp │ │ │ │ │ ├── matrix_projection.inl │ │ │ │ │ ├── matrix_relational.hpp │ │ │ │ │ ├── matrix_relational.inl │ │ │ │ │ ├── matrix_transform.hpp │ │ │ │ │ ├── matrix_transform.inl │ │ │ │ │ ├── matrix_uint2x2.hpp │ │ │ │ │ ├── matrix_uint2x2_sized.hpp │ │ │ │ │ ├── matrix_uint2x3.hpp │ │ │ │ │ ├── matrix_uint2x3_sized.hpp │ │ │ │ │ ├── matrix_uint2x4.hpp │ │ │ │ │ ├── matrix_uint2x4_sized.hpp │ │ │ │ │ ├── matrix_uint3x2.hpp │ │ │ │ │ ├── matrix_uint3x2_sized.hpp │ │ │ │ │ ├── matrix_uint3x3.hpp │ │ │ │ │ ├── matrix_uint3x3_sized.hpp │ │ │ │ │ ├── matrix_uint3x4.hpp │ │ │ │ │ ├── matrix_uint3x4_sized.hpp │ │ │ │ │ ├── matrix_uint4x2.hpp │ │ │ │ │ ├── matrix_uint4x2_sized.hpp │ │ │ │ │ ├── matrix_uint4x3.hpp │ │ │ │ │ ├── matrix_uint4x3_sized.hpp │ │ │ │ │ ├── matrix_uint4x4.hpp │ │ │ │ │ ├── matrix_uint4x4_sized.hpp │ │ │ │ │ ├── quaternion_common.hpp │ │ │ │ │ ├── quaternion_common.inl │ │ │ │ │ ├── quaternion_common_simd.inl │ │ │ │ │ ├── quaternion_double.hpp │ │ │ │ │ ├── quaternion_double_precision.hpp │ │ │ │ │ ├── quaternion_exponential.hpp │ │ │ │ │ ├── quaternion_exponential.inl │ │ │ │ │ ├── quaternion_float.hpp │ │ │ │ │ ├── quaternion_float_precision.hpp │ │ │ │ │ ├── quaternion_geometric.hpp │ │ │ │ │ ├── quaternion_geometric.inl │ │ │ │ │ ├── quaternion_relational.hpp │ │ │ │ │ ├── quaternion_relational.inl │ │ │ │ │ ├── quaternion_transform.hpp │ │ │ │ │ ├── quaternion_transform.inl │ │ │ │ │ ├── quaternion_trigonometric.hpp │ │ │ │ │ ├── quaternion_trigonometric.inl │ │ │ │ │ ├── scalar_common.hpp │ │ │ │ │ ├── scalar_common.inl │ │ │ │ │ ├── scalar_constants.hpp │ │ │ │ │ ├── scalar_constants.inl │ │ │ │ │ ├── scalar_int_sized.hpp │ │ │ │ │ ├── scalar_integer.hpp │ │ │ │ │ ├── scalar_integer.inl │ │ │ │ │ ├── scalar_packing.hpp │ │ │ │ │ ├── scalar_packing.inl │ │ │ │ │ ├── scalar_reciprocal.hpp │ │ │ │ │ ├── scalar_reciprocal.inl │ │ │ │ │ ├── scalar_relational.hpp │ │ │ │ │ ├── scalar_relational.inl │ │ │ │ │ ├── scalar_uint_sized.hpp │ │ │ │ │ ├── scalar_ulp.hpp │ │ │ │ │ ├── scalar_ulp.inl │ │ │ │ │ ├── vector_bool1.hpp │ │ │ │ │ ├── vector_bool1_precision.hpp │ │ │ │ │ ├── vector_bool2.hpp │ │ │ │ │ ├── vector_bool2_precision.hpp │ │ │ │ │ ├── vector_bool3.hpp │ │ │ │ │ ├── vector_bool3_precision.hpp │ │ │ │ │ ├── vector_bool4.hpp │ │ │ │ │ ├── vector_bool4_precision.hpp │ │ │ │ │ ├── vector_common.hpp │ │ │ │ │ ├── vector_common.inl │ │ │ │ │ ├── vector_double1.hpp │ │ │ │ │ ├── vector_double1_precision.hpp │ │ │ │ │ ├── vector_double2.hpp │ │ │ │ │ ├── vector_double2_precision.hpp │ │ │ │ │ ├── vector_double3.hpp │ │ │ │ │ ├── vector_double3_precision.hpp │ │ │ │ │ ├── vector_double4.hpp │ │ │ │ │ ├── vector_double4_precision.hpp │ │ │ │ │ ├── vector_float1.hpp │ │ │ │ │ ├── vector_float1_precision.hpp │ │ │ │ │ ├── vector_float2.hpp │ │ │ │ │ ├── vector_float2_precision.hpp │ │ │ │ │ ├── vector_float3.hpp │ │ │ │ │ ├── vector_float3_precision.hpp │ │ │ │ │ ├── vector_float4.hpp │ │ │ │ │ ├── vector_float4_precision.hpp │ │ │ │ │ ├── vector_int1.hpp │ │ │ │ │ ├── vector_int1_sized.hpp │ │ │ │ │ ├── vector_int2.hpp │ │ │ │ │ ├── vector_int2_sized.hpp │ │ │ │ │ ├── vector_int3.hpp │ │ │ │ │ ├── vector_int3_sized.hpp │ │ │ │ │ ├── vector_int4.hpp │ │ │ │ │ ├── vector_int4_sized.hpp │ │ │ │ │ ├── vector_integer.hpp │ │ │ │ │ ├── vector_integer.inl │ │ │ │ │ ├── vector_packing.hpp │ │ │ │ │ ├── vector_packing.inl │ │ │ │ │ ├── vector_reciprocal.hpp │ │ │ │ │ ├── vector_reciprocal.inl │ │ │ │ │ ├── vector_relational.hpp │ │ │ │ │ ├── vector_relational.inl │ │ │ │ │ ├── vector_uint1.hpp │ │ │ │ │ ├── vector_uint1_sized.hpp │ │ │ │ │ ├── vector_uint2.hpp │ │ │ │ │ ├── vector_uint2_sized.hpp │ │ │ │ │ ├── vector_uint3.hpp │ │ │ │ │ ├── vector_uint3_sized.hpp │ │ │ │ │ ├── vector_uint4.hpp │ │ │ │ │ ├── vector_uint4_sized.hpp │ │ │ │ │ ├── vector_ulp.hpp │ │ │ │ │ └── vector_ulp.inl │ │ │ │ ├── ext.hpp │ │ │ │ ├── fwd.hpp │ │ │ │ ├── geometric.hpp │ │ │ │ ├── glm.hpp │ │ │ │ ├── gtc/ │ │ │ │ │ ├── bitfield.hpp │ │ │ │ │ ├── bitfield.inl │ │ │ │ │ ├── color_space.hpp │ │ │ │ │ ├── color_space.inl │ │ │ │ │ ├── constants.hpp │ │ │ │ │ ├── constants.inl │ │ │ │ │ ├── epsilon.hpp │ │ │ │ │ ├── epsilon.inl │ │ │ │ │ ├── integer.hpp │ │ │ │ │ ├── integer.inl │ │ │ │ │ ├── matrix_access.hpp │ │ │ │ │ ├── matrix_access.inl │ │ │ │ │ ├── matrix_integer.hpp │ │ │ │ │ ├── matrix_inverse.hpp │ │ │ │ │ ├── matrix_inverse.inl │ │ │ │ │ ├── matrix_transform.hpp │ │ │ │ │ ├── matrix_transform.inl │ │ │ │ │ ├── noise.hpp │ │ │ │ │ ├── noise.inl │ │ │ │ │ ├── packing.hpp │ │ │ │ │ ├── packing.inl │ │ │ │ │ ├── quaternion.hpp │ │ │ │ │ ├── quaternion.inl │ │ │ │ │ ├── quaternion_simd.inl │ │ │ │ │ ├── random.hpp │ │ │ │ │ ├── random.inl │ │ │ │ │ ├── reciprocal.hpp │ │ │ │ │ ├── round.hpp │ │ │ │ │ ├── round.inl │ │ │ │ │ ├── type_aligned.hpp │ │ │ │ │ ├── type_precision.hpp │ │ │ │ │ ├── type_precision.inl │ │ │ │ │ ├── type_ptr.hpp │ │ │ │ │ ├── type_ptr.inl │ │ │ │ │ ├── ulp.hpp │ │ │ │ │ ├── ulp.inl │ │ │ │ │ └── vec1.hpp │ │ │ │ ├── gtx/ │ │ │ │ │ ├── associated_min_max.hpp │ │ │ │ │ ├── associated_min_max.inl │ │ │ │ │ ├── bit.hpp │ │ │ │ │ ├── bit.inl │ │ │ │ │ ├── closest_point.hpp │ │ │ │ │ ├── closest_point.inl │ │ │ │ │ ├── color_encoding.hpp │ │ │ │ │ ├── color_encoding.inl │ │ │ │ │ ├── color_space.hpp │ │ │ │ │ ├── color_space.inl │ │ │ │ │ ├── color_space_YCoCg.hpp │ │ │ │ │ ├── color_space_YCoCg.inl │ │ │ │ │ ├── common.hpp │ │ │ │ │ ├── common.inl │ │ │ │ │ ├── compatibility.hpp │ │ │ │ │ ├── compatibility.inl │ │ │ │ │ ├── component_wise.hpp │ │ │ │ │ ├── component_wise.inl │ │ │ │ │ ├── dual_quaternion.hpp │ │ │ │ │ ├── dual_quaternion.inl │ │ │ │ │ ├── easing.hpp │ │ │ │ │ ├── easing.inl │ │ │ │ │ ├── euler_angles.hpp │ │ │ │ │ ├── euler_angles.inl │ │ │ │ │ ├── extend.hpp │ │ │ │ │ ├── extend.inl │ │ │ │ │ ├── extended_min_max.hpp │ │ │ │ │ ├── extended_min_max.inl │ │ │ │ │ ├── exterior_product.hpp │ │ │ │ │ ├── exterior_product.inl │ │ │ │ │ ├── fast_exponential.hpp │ │ │ │ │ ├── fast_exponential.inl │ │ │ │ │ ├── fast_square_root.hpp │ │ │ │ │ ├── fast_square_root.inl │ │ │ │ │ ├── fast_trigonometry.hpp │ │ │ │ │ ├── fast_trigonometry.inl │ │ │ │ │ ├── float_notmalize.inl │ │ │ │ │ ├── functions.hpp │ │ │ │ │ ├── functions.inl │ │ │ │ │ ├── gradient_paint.hpp │ │ │ │ │ ├── gradient_paint.inl │ │ │ │ │ ├── handed_coordinate_space.hpp │ │ │ │ │ ├── handed_coordinate_space.inl │ │ │ │ │ ├── hash.hpp │ │ │ │ │ ├── hash.inl │ │ │ │ │ ├── integer.hpp │ │ │ │ │ ├── integer.inl │ │ │ │ │ ├── intersect.hpp │ │ │ │ │ ├── intersect.inl │ │ │ │ │ ├── io.hpp │ │ │ │ │ ├── io.inl │ │ │ │ │ ├── log_base.hpp │ │ │ │ │ ├── log_base.inl │ │ │ │ │ ├── matrix_cross_product.hpp │ │ │ │ │ ├── matrix_cross_product.inl │ │ │ │ │ ├── matrix_decompose.hpp │ │ │ │ │ ├── matrix_decompose.inl │ │ │ │ │ ├── matrix_factorisation.hpp │ │ │ │ │ ├── matrix_factorisation.inl │ │ │ │ │ ├── matrix_interpolation.hpp │ │ │ │ │ ├── matrix_interpolation.inl │ │ │ │ │ ├── matrix_major_storage.hpp │ │ │ │ │ ├── matrix_major_storage.inl │ │ │ │ │ ├── matrix_operation.hpp │ │ │ │ │ ├── matrix_operation.inl │ │ │ │ │ ├── matrix_query.hpp │ │ │ │ │ ├── matrix_query.inl │ │ │ │ │ ├── matrix_transform_2d.hpp │ │ │ │ │ ├── matrix_transform_2d.inl │ │ │ │ │ ├── mixed_product.hpp │ │ │ │ │ ├── mixed_product.inl │ │ │ │ │ ├── norm.hpp │ │ │ │ │ ├── norm.inl │ │ │ │ │ ├── normal.hpp │ │ │ │ │ ├── normal.inl │ │ │ │ │ ├── normalize_dot.hpp │ │ │ │ │ ├── normalize_dot.inl │ │ │ │ │ ├── number_precision.hpp │ │ │ │ │ ├── number_precision.inl │ │ │ │ │ ├── optimum_pow.hpp │ │ │ │ │ ├── optimum_pow.inl │ │ │ │ │ ├── orthonormalize.hpp │ │ │ │ │ ├── orthonormalize.inl │ │ │ │ │ ├── pca.hpp │ │ │ │ │ ├── pca.inl │ │ │ │ │ ├── perpendicular.hpp │ │ │ │ │ ├── perpendicular.inl │ │ │ │ │ ├── polar_coordinates.hpp │ │ │ │ │ ├── polar_coordinates.inl │ │ │ │ │ ├── projection.hpp │ │ │ │ │ ├── projection.inl │ │ │ │ │ ├── quaternion.hpp │ │ │ │ │ ├── quaternion.inl │ │ │ │ │ ├── range.hpp │ │ │ │ │ ├── raw_data.hpp │ │ │ │ │ ├── raw_data.inl │ │ │ │ │ ├── rotate_normalized_axis.hpp │ │ │ │ │ ├── rotate_normalized_axis.inl │ │ │ │ │ ├── rotate_vector.hpp │ │ │ │ │ ├── rotate_vector.inl │ │ │ │ │ ├── scalar_multiplication.hpp │ │ │ │ │ ├── scalar_relational.hpp │ │ │ │ │ ├── scalar_relational.inl │ │ │ │ │ ├── spline.hpp │ │ │ │ │ ├── spline.inl │ │ │ │ │ ├── std_based_type.hpp │ │ │ │ │ ├── std_based_type.inl │ │ │ │ │ ├── string_cast.hpp │ │ │ │ │ ├── string_cast.inl │ │ │ │ │ ├── texture.hpp │ │ │ │ │ ├── texture.inl │ │ │ │ │ ├── transform.hpp │ │ │ │ │ ├── transform.inl │ │ │ │ │ ├── transform2.hpp │ │ │ │ │ ├── transform2.inl │ │ │ │ │ ├── type_aligned.hpp │ │ │ │ │ ├── type_aligned.inl │ │ │ │ │ ├── type_trait.hpp │ │ │ │ │ ├── type_trait.inl │ │ │ │ │ ├── vec_swizzle.hpp │ │ │ │ │ ├── vector_angle.hpp │ │ │ │ │ ├── vector_angle.inl │ │ │ │ │ ├── vector_query.hpp │ │ │ │ │ ├── vector_query.inl │ │ │ │ │ ├── wrap.hpp │ │ │ │ │ └── wrap.inl │ │ │ │ ├── integer.hpp │ │ │ │ ├── mat2x2.hpp │ │ │ │ ├── mat2x3.hpp │ │ │ │ ├── mat2x4.hpp │ │ │ │ ├── mat3x2.hpp │ │ │ │ ├── mat3x3.hpp │ │ │ │ ├── mat3x4.hpp │ │ │ │ ├── mat4x2.hpp │ │ │ │ ├── mat4x3.hpp │ │ │ │ ├── mat4x4.hpp │ │ │ │ ├── matrix.hpp │ │ │ │ ├── packing.hpp │ │ │ │ ├── simd/ │ │ │ │ │ ├── common.h │ │ │ │ │ ├── exponential.h │ │ │ │ │ ├── geometric.h │ │ │ │ │ ├── integer.h │ │ │ │ │ ├── matrix.h │ │ │ │ │ ├── neon.h │ │ │ │ │ ├── packing.h │ │ │ │ │ ├── platform.h │ │ │ │ │ ├── trigonometric.h │ │ │ │ │ └── vector_relational.h │ │ │ │ ├── trigonometric.hpp │ │ │ │ ├── vec2.hpp │ │ │ │ ├── vec3.hpp │ │ │ │ ├── vec4.hpp │ │ │ │ └── vector_relational.hpp │ │ │ ├── manual.md │ │ │ ├── readme.md │ │ │ ├── test/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── bug/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── bug_ms_vec_static.cpp │ │ │ │ ├── cmake/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ └── test_find_glm.cpp │ │ │ │ ├── core/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── core_cpp_constexpr.cpp │ │ │ │ │ ├── core_cpp_defaulted_ctor.cpp │ │ │ │ │ ├── core_force_aligned_gentypes.cpp │ │ │ │ │ ├── core_force_arch_unknown.cpp │ │ │ │ │ ├── core_force_compiler_unknown.cpp │ │ │ │ │ ├── core_force_ctor_init.cpp │ │ │ │ │ ├── core_force_cxx03.cpp │ │ │ │ │ ├── core_force_cxx98.cpp │ │ │ │ │ ├── core_force_cxx_unknown.cpp │ │ │ │ │ ├── core_force_depth_zero_to_one.cpp │ │ │ │ │ ├── core_force_explicit_ctor.cpp │ │ │ │ │ ├── core_force_inline.cpp │ │ │ │ │ ├── core_force_left_handed.cpp │ │ │ │ │ ├── core_force_platform_unknown.cpp │ │ │ │ │ ├── core_force_pure.cpp │ │ │ │ │ ├── core_force_quat_xyzw.cpp │ │ │ │ │ ├── core_force_size_t_length.cpp │ │ │ │ │ ├── core_force_unrestricted_gentype.cpp │ │ │ │ │ ├── core_force_xyzw_only.cpp │ │ │ │ │ ├── core_func_common.cpp │ │ │ │ │ ├── core_func_exponential.cpp │ │ │ │ │ ├── core_func_geometric.cpp │ │ │ │ │ ├── core_func_integer.cpp │ │ │ │ │ ├── core_func_integer_bit_count.cpp │ │ │ │ │ ├── core_func_integer_find_lsb.cpp │ │ │ │ │ ├── core_func_integer_find_msb.cpp │ │ │ │ │ ├── core_func_matrix.cpp │ │ │ │ │ ├── core_func_noise.cpp │ │ │ │ │ ├── core_func_packing.cpp │ │ │ │ │ ├── core_func_swizzle.cpp │ │ │ │ │ ├── core_func_trigonometric.cpp │ │ │ │ │ ├── core_func_vector_relational.cpp │ │ │ │ │ ├── core_setup_force_cxx98.cpp │ │ │ │ │ ├── core_setup_force_size_t_length.cpp │ │ │ │ │ ├── core_setup_message.cpp │ │ │ │ │ ├── core_setup_platform_unknown.cpp │ │ │ │ │ ├── core_setup_precision.cpp │ │ │ │ │ ├── core_type_aligned.cpp │ │ │ │ │ ├── core_type_cast.cpp │ │ │ │ │ ├── core_type_ctor.cpp │ │ │ │ │ ├── core_type_int.cpp │ │ │ │ │ ├── core_type_length.cpp │ │ │ │ │ ├── core_type_mat2x2.cpp │ │ │ │ │ ├── core_type_mat2x3.cpp │ │ │ │ │ ├── core_type_mat2x4.cpp │ │ │ │ │ ├── core_type_mat3x2.cpp │ │ │ │ │ ├── core_type_mat3x3.cpp │ │ │ │ │ ├── core_type_mat3x4.cpp │ │ │ │ │ ├── core_type_mat4x2.cpp │ │ │ │ │ ├── core_type_mat4x3.cpp │ │ │ │ │ ├── core_type_mat4x4.cpp │ │ │ │ │ ├── core_type_vec1.cpp │ │ │ │ │ ├── core_type_vec2.cpp │ │ │ │ │ ├── core_type_vec3.cpp │ │ │ │ │ └── core_type_vec4.cpp │ │ │ │ ├── ext/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── ext_matrix_clip_space.cpp │ │ │ │ │ ├── ext_matrix_common.cpp │ │ │ │ │ ├── ext_matrix_int2x2_sized.cpp │ │ │ │ │ ├── ext_matrix_int2x3_sized.cpp │ │ │ │ │ ├── ext_matrix_int2x4_sized.cpp │ │ │ │ │ ├── ext_matrix_int3x2_sized.cpp │ │ │ │ │ ├── ext_matrix_int3x3_sized.cpp │ │ │ │ │ ├── ext_matrix_int3x4_sized.cpp │ │ │ │ │ ├── ext_matrix_int4x2_sized.cpp │ │ │ │ │ ├── ext_matrix_int4x3_sized.cpp │ │ │ │ │ ├── ext_matrix_int4x4_sized.cpp │ │ │ │ │ ├── ext_matrix_integer.cpp │ │ │ │ │ ├── ext_matrix_projection.cpp │ │ │ │ │ ├── ext_matrix_relational.cpp │ │ │ │ │ ├── ext_matrix_transform.cpp │ │ │ │ │ ├── ext_matrix_uint2x2_sized.cpp │ │ │ │ │ ├── ext_matrix_uint2x3_sized.cpp │ │ │ │ │ ├── ext_matrix_uint2x4_sized.cpp │ │ │ │ │ ├── ext_matrix_uint3x2_sized.cpp │ │ │ │ │ ├── ext_matrix_uint3x3_sized.cpp │ │ │ │ │ ├── ext_matrix_uint3x4_sized.cpp │ │ │ │ │ ├── ext_matrix_uint4x2_sized.cpp │ │ │ │ │ ├── ext_matrix_uint4x3_sized.cpp │ │ │ │ │ ├── ext_matrix_uint4x4_sized.cpp │ │ │ │ │ ├── ext_quaternion_common.cpp │ │ │ │ │ ├── ext_quaternion_exponential.cpp │ │ │ │ │ ├── ext_quaternion_geometric.cpp │ │ │ │ │ ├── ext_quaternion_relational.cpp │ │ │ │ │ ├── ext_quaternion_transform.cpp │ │ │ │ │ ├── ext_quaternion_trigonometric.cpp │ │ │ │ │ ├── ext_quaternion_type.cpp │ │ │ │ │ ├── ext_scalar_common.cpp │ │ │ │ │ ├── ext_scalar_constants.cpp │ │ │ │ │ ├── ext_scalar_int_sized.cpp │ │ │ │ │ ├── ext_scalar_integer.cpp │ │ │ │ │ ├── ext_scalar_packing.cpp │ │ │ │ │ ├── ext_scalar_reciprocal.cpp │ │ │ │ │ ├── ext_scalar_relational.cpp │ │ │ │ │ ├── ext_scalar_uint_sized.cpp │ │ │ │ │ ├── ext_scalar_ulp.cpp │ │ │ │ │ ├── ext_vec1.cpp │ │ │ │ │ ├── ext_vector_bool1.cpp │ │ │ │ │ ├── ext_vector_common.cpp │ │ │ │ │ ├── ext_vector_iec559.cpp │ │ │ │ │ ├── ext_vector_int1_sized.cpp │ │ │ │ │ ├── ext_vector_int2_sized.cpp │ │ │ │ │ ├── ext_vector_int3_sized.cpp │ │ │ │ │ ├── ext_vector_int4_sized.cpp │ │ │ │ │ ├── ext_vector_integer.cpp │ │ │ │ │ ├── ext_vector_integer_sized.cpp │ │ │ │ │ ├── ext_vector_packing.cpp │ │ │ │ │ ├── ext_vector_reciprocal.cpp │ │ │ │ │ ├── ext_vector_relational.cpp │ │ │ │ │ ├── ext_vector_uint1_sized.cpp │ │ │ │ │ ├── ext_vector_uint2_sized.cpp │ │ │ │ │ ├── ext_vector_uint3_sized.cpp │ │ │ │ │ ├── ext_vector_uint4_sized.cpp │ │ │ │ │ └── ext_vector_ulp.cpp │ │ │ │ ├── glm.cppcheck │ │ │ │ ├── gtc/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── gtc_bitfield.cpp │ │ │ │ │ ├── gtc_color_space.cpp │ │ │ │ │ ├── gtc_constants.cpp │ │ │ │ │ ├── gtc_epsilon.cpp │ │ │ │ │ ├── gtc_integer.cpp │ │ │ │ │ ├── gtc_matrix_access.cpp │ │ │ │ │ ├── gtc_matrix_integer.cpp │ │ │ │ │ ├── gtc_matrix_inverse.cpp │ │ │ │ │ ├── gtc_matrix_transform.cpp │ │ │ │ │ ├── gtc_noise.cpp │ │ │ │ │ ├── gtc_packing.cpp │ │ │ │ │ ├── gtc_quaternion.cpp │ │ │ │ │ ├── gtc_random.cpp │ │ │ │ │ ├── gtc_reciprocal.cpp │ │ │ │ │ ├── gtc_round.cpp │ │ │ │ │ ├── gtc_type_aligned.cpp │ │ │ │ │ ├── gtc_type_precision.cpp │ │ │ │ │ ├── gtc_type_ptr.cpp │ │ │ │ │ ├── gtc_ulp.cpp │ │ │ │ │ ├── gtc_user_defined_types.cpp │ │ │ │ │ └── gtc_vec1.cpp │ │ │ │ ├── gtx/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── gtx.cpp │ │ │ │ │ ├── gtx_associated_min_max.cpp │ │ │ │ │ ├── gtx_closest_point.cpp │ │ │ │ │ ├── gtx_color_encoding.cpp │ │ │ │ │ ├── gtx_color_space.cpp │ │ │ │ │ ├── gtx_color_space_YCoCg.cpp │ │ │ │ │ ├── gtx_common.cpp │ │ │ │ │ ├── gtx_compatibility.cpp │ │ │ │ │ ├── gtx_component_wise.cpp │ │ │ │ │ ├── gtx_dual_quaternion.cpp │ │ │ │ │ ├── gtx_easing.cpp │ │ │ │ │ ├── gtx_euler_angle.cpp │ │ │ │ │ ├── gtx_extend.cpp │ │ │ │ │ ├── gtx_extended_min_max.cpp │ │ │ │ │ ├── gtx_extented_min_max.cpp │ │ │ │ │ ├── gtx_exterior_product.cpp │ │ │ │ │ ├── gtx_fast_exponential.cpp │ │ │ │ │ ├── gtx_fast_square_root.cpp │ │ │ │ │ ├── gtx_fast_trigonometry.cpp │ │ │ │ │ ├── gtx_functions.cpp │ │ │ │ │ ├── gtx_gradient_paint.cpp │ │ │ │ │ ├── gtx_handed_coordinate_space.cpp │ │ │ │ │ ├── gtx_hash.cpp │ │ │ │ │ ├── gtx_int_10_10_10_2.cpp │ │ │ │ │ ├── gtx_integer.cpp │ │ │ │ │ ├── gtx_intersect.cpp │ │ │ │ │ ├── gtx_io.cpp │ │ │ │ │ ├── gtx_load.cpp │ │ │ │ │ ├── gtx_log_base.cpp │ │ │ │ │ ├── gtx_matrix_cross_product.cpp │ │ │ │ │ ├── gtx_matrix_decompose.cpp │ │ │ │ │ ├── gtx_matrix_factorisation.cpp │ │ │ │ │ ├── gtx_matrix_interpolation.cpp │ │ │ │ │ ├── gtx_matrix_major_storage.cpp │ │ │ │ │ ├── gtx_matrix_operation.cpp │ │ │ │ │ ├── gtx_matrix_query.cpp │ │ │ │ │ ├── gtx_matrix_transform_2d.cpp │ │ │ │ │ ├── gtx_mixed_product.cpp │ │ │ │ │ ├── gtx_norm.cpp │ │ │ │ │ ├── gtx_normal.cpp │ │ │ │ │ ├── gtx_normalize_dot.cpp │ │ │ │ │ ├── gtx_number_precision.cpp │ │ │ │ │ ├── gtx_optimum_pow.cpp │ │ │ │ │ ├── gtx_orthonormalize.cpp │ │ │ │ │ ├── gtx_pca.cpp │ │ │ │ │ ├── gtx_perpendicular.cpp │ │ │ │ │ ├── gtx_polar_coordinates.cpp │ │ │ │ │ ├── gtx_projection.cpp │ │ │ │ │ ├── gtx_quaternion.cpp │ │ │ │ │ ├── gtx_random.cpp │ │ │ │ │ ├── gtx_range.cpp │ │ │ │ │ ├── gtx_rotate_normalized_axis.cpp │ │ │ │ │ ├── gtx_rotate_vector.cpp │ │ │ │ │ ├── gtx_scalar_multiplication.cpp │ │ │ │ │ ├── gtx_scalar_relational.cpp │ │ │ │ │ ├── gtx_simd_mat4.cpp │ │ │ │ │ ├── gtx_simd_vec4.cpp │ │ │ │ │ ├── gtx_spline.cpp │ │ │ │ │ ├── gtx_string_cast.cpp │ │ │ │ │ ├── gtx_texture.cpp │ │ │ │ │ ├── gtx_type_aligned.cpp │ │ │ │ │ ├── gtx_type_trait.cpp │ │ │ │ │ ├── gtx_vec_swizzle.cpp │ │ │ │ │ ├── gtx_vector_angle.cpp │ │ │ │ │ ├── gtx_vector_query.cpp │ │ │ │ │ └── gtx_wrap.cpp │ │ │ │ └── perf/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── perf_matrix_div.cpp │ │ │ │ ├── perf_matrix_inverse.cpp │ │ │ │ ├── perf_matrix_mul.cpp │ │ │ │ ├── perf_matrix_mul_vector.cpp │ │ │ │ ├── perf_matrix_transpose.cpp │ │ │ │ └── perf_vector_mul_matrix.cpp │ │ │ └── util/ │ │ │ ├── autoexp.txt │ │ │ └── glm.natvis │ │ └── stbi_image_write.h │ └── simple-knn/ │ ├── dist/ │ │ └── simple_knn-0.0.0-py3.8-linux-x86_64.egg │ ├── ext.cpp │ ├── setup.py │ ├── simple_knn/ │ │ └── .gitkeep │ ├── simple_knn.cu │ ├── simple_knn.egg-info/ │ │ ├── PKG-INFO │ │ ├── SOURCES.txt │ │ ├── dependency_links.txt │ │ └── top_level.txt │ ├── simple_knn.h │ ├── spatial.cu │ └── spatial.h ├── train.py └── utils/ ├── camera_utils.py ├── general_utils.py ├── graphics_utils.py ├── image_utils.py ├── loss_utils.py ├── sh_utils.py └── system_utils.py ================================================ FILE CONTENTS ================================================ ================================================ FILE: .gitignore ================================================ # 默认忽略的文件 .idea /shelf/ /workspace.xml /output ================================================ FILE: .gitmodules ================================================ [submodule "submodules/simple-knn"] path = submodules/simple-knn url = https://gitlab.inria.fr/bkerbl/simple-knn.git [submodule "submodules/diff-gaussian-rasterization-abs"] path = submodules/diff-gaussian-rasterization-abs ================================================ FILE: LICENSE.md ================================================ Gaussian-Splatting License =========================== **Inria** and **the Max Planck Institut for Informatik (MPII)** hold all the ownership rights on the *Software* named **gaussian-splatting**. The *Software* is in the process of being registered with the Agence pour la Protection des Programmes (APP). The *Software* is still being developed by the *Licensor*. *Licensor*'s goal is to allow the research community to use, test and evaluate the *Software*. ## 1. Definitions *Licensee* means any person or entity that uses the *Software* and distributes its *Work*. *Licensor* means the owners of the *Software*, i.e Inria and MPII *Software* means the original work of authorship made available under this License ie gaussian-splatting. *Work* means the *Software* and any additions to or derivative works of the *Software* that are made available under this License. ## 2. Purpose This license is intended to define the rights granted to the *Licensee* by Licensors under the *Software*. ## 3. Rights granted For the above reasons Licensors have decided to distribute the *Software*. Licensors grant non-exclusive rights to use the *Software* for research purposes to research users (both academic and industrial), free of charge, without right to sublicense.. The *Software* may be used "non-commercially", i.e., for research and/or evaluation purposes only. Subject to the terms and conditions of this License, you are granted a non-exclusive, royalty-free, license to reproduce, prepare derivative works of, publicly display, publicly perform and distribute its *Work* and any resulting derivative works in any form. ## 4. Limitations **4.1 Redistribution.** You may reproduce or distribute the *Work* only if (a) you do so under this License, (b) you include a complete copy of this License with your distribution, and (c) you retain without modification any copyright, patent, trademark, or attribution notices that are present in the *Work*. **4.2 Derivative Works.** You may specify that additional or different terms apply to the use, reproduction, and distribution of your derivative works of the *Work* ("Your Terms") only if (a) Your Terms provide that the use limitation in Section 2 applies to your derivative works, and (b) you identify the specific derivative works that are subject to Your Terms. Notwithstanding Your Terms, this License (including the redistribution requirements in Section 3.1) will continue to apply to the *Work* itself. **4.3** Any other use without of prior consent of Licensors is prohibited. Research users explicitly acknowledge having received from Licensors all information allowing to appreciate the adequacy between of the *Software* and their needs and to undertake all necessary precautions for its execution and use. **4.4** The *Software* is provided both as a compiled library file and as source code. In case of using the *Software* for a publication or other results obtained through the use of the *Software*, users are strongly encouraged to cite the corresponding publications as explained in the documentation of the *Software*. ## 5. Disclaimer THE USER CANNOT USE, EXPLOIT OR DISTRIBUTE THE *SOFTWARE* FOR COMMERCIAL PURPOSES WITHOUT PRIOR AND EXPLICIT CONSENT OF LICENSORS. YOU MUST CONTACT INRIA FOR ANY UNAUTHORIZED USE: stip-sophia.transfert@inria.fr . ANY SUCH ACTION WILL CONSTITUTE A FORGERY. THIS *SOFTWARE* IS PROVIDED "AS IS" WITHOUT ANY WARRANTIES OF ANY NATURE AND ANY EXPRESS OR IMPLIED WARRANTIES, WITH REGARDS TO COMMERCIAL USE, PROFESSIONNAL USE, LEGAL OR NOT, OR OTHER, OR COMMERCIALISATION OR ADAPTATION. UNLESS EXPLICITLY PROVIDED BY LAW, IN NO EVENT, SHALL INRIA OR 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 FROM, OUT OF OR IN CONNECTION WITH THE *SOFTWARE* OR THE USE OR OTHER DEALINGS IN THE *SOFTWARE*. ================================================ FILE: README.md ================================================ -
Zongxin Ye+ · Wenyu Li+ · Sidun Liu · Peng Qiao · Yong Dou
This repository contains code for "AbsGS: Recovering Fine Details for 3D Gaussian Splatting" (ACM MM 2024).
We reveal that the original adaptive density control strategy in 3D Gaussian Splatting (3D-GS) has the flaw of gradient collision which results in degradation, and propose homodirectional gradient as the guidance for densification. (a) Our method recovers fine details and achieves higher quality novel view synthesis results. SSIM, PSNR, LPIPS are inset. (b) Our proposed method yields more reasonable distribution of Gaussion points with comparable number of Gaussians and memory consumption with 3D-GS. (c) By adopting our method, the large Gaussians in over-reconstructed regions that lead to blur are eliminated.